1 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
4 Also allow white space for names so we don't break
5 backwards compatibility.
7 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
9 * docs/design/part-TODO.txt:
10 * docs/design/part-segments.txt:
11 * docs/design/part-streams.txt:
14 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
16 * docs/gst/gstreamer-sections.txt:
17 Fixed documentation from my previous commit (added new API add
18 gst_value_set_structure(), add gst_value_get_structure() and
19 GST_VALUE_HOLDS_STRUCTURE).
21 2007-10-22 Stefan Kost <ensonic@users.sf.net>
23 * gst/gstdebugutils.c:
24 Reflow code to fix uninitialized variable warning.
26 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
28 * gst/gstcaps.c: (gst_caps_to_string),
29 (gst_caps_from_string_inplace):
30 * gst/gststructure.c: (gst_structure_get_abbrs),
31 (gst_structure_to_string), (gst_structure_from_string):
32 * gst/gstvalue.c: (gst_value_set_structure),
33 (gst_value_get_structure), (gst_value_serialize_structure),
34 (gst_value_deserialize_structure), (_gst_value_initialize):
36 * tests/check/gst/gststructure.c: (GST_START_TEST),
37 (gst_structure_suite):
38 * tests/check/gst/gstvalue.c: (GST_START_TEST):
39 Added GstStructure to gst_value_table and its related functions.
40 Changed gst_structure_to_string to print ';' in the end.
41 Changed gst_caps_to_string to not print ';' beteween its
42 fields (structures) anymore and remove the lastes ';' from latest
43 structure. Now it is possible to have nested structures.
44 In addition, backward compatibilty is assured by accepting '\0' as
45 end delimiter. Fixes: #487969.
46 API: add gst_value_set_structure()
47 API: add gst_value_get_structure()
48 API: add GST_VALUE_HOLDS_STRUCTURE
50 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
53 When no GSource callback has been set up, tell developer
54 to use a function that actually exists.
56 2007-10-17 Stefan Kost <ensonic@users.sf.net>
58 * docs/gst/gstreamer-sections.txt:
62 * gst/gstdebugutils.c:
63 * gst/gstdebugutils.h:
67 Allow dumping pipelines as dot graphs. Fixes #456573.
69 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
72 Allow '+' as well, it can be part of media or mime types
73 such as image/svg+xml.
75 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
77 * docs/gst/gstreamer-sections.txt:
80 API: add gst_bus_pop_filtered
81 API: add gst_bus_timed_pop_filtered
82 Two new functions for waiting for specific message types on the
83 bus for a specified amount of time without iterating any main
84 loops or main contexts.
86 * tests/check/gst/gstbus.c:
87 Some tests for the new functions.
89 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
91 * docs/libs/gstreamer-libs-sections.txt:
92 Make gtk-doc ignore stuff it should ignore.
94 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
96 * libs/gst/check/gstcheck.c:
97 * libs/gst/check/gstcheck.h:
98 Allow runtime selection of unit tests to run via the GST_CHECKS
99 environment variable (test case function names, comma-separated).
101 2007-10-16 Stefan Kost <ensonic@users.sf.net>
103 * gst/gststructure.c:
104 * tests/check/gst/gststructure.c:
105 Revert serialisation change and constrain structure-names after
106 consensus on irc. Update api documentation to reflect the change.
108 2007-10-16 Stefan Kost <ensonic@users.sf.net>
110 * gst/gststructure.c:
111 Improve serialization and fix tests.
113 * tests/check/gst/gststructure.c:
114 Add another test that covers why I actually did the previous structure
117 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
119 * tools/gst-inspect.c: (print_element_info):
120 Don't crash when inspecting an element.
122 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
124 * tests/check/gst/gststructure.c:
125 Add unit test for escaping of structure name when serialising
126 and deserialising to/from strings.
128 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
130 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
131 (gst_single_queue_new):
132 * plugins/elements/gstqueue.c: (gst_queue_init),
133 (gst_queue_push_one):
134 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
135 upstream is tricked into thinking it can suggest a format downstream
136 while downstream does not support that format. The real problem is that
137 core calls acceptcaps when pushing a buffer with new caps, for which we
138 do a little workaround by setting the caps on the srcpad ourselves
139 before pushing the buffer (until this is figured out). Fixes #486758.
141 2007-10-15 Stefan Kost <ensonic@users.sf.net>
143 * gst/gststructure.c:
145 Add some more comments and debug output. Quote structure name to fix
146 deserialisation of some strings.
148 2007-10-15 Stefan Kost <ensonic@users.sf.net>
151 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
152 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
154 2007-10-15 Stefan Kost <ensonic@users.sf.net>
156 * tools/gst-inspect.c:
157 Save approx. 400 1 byte allocs when printing. Use API to acces element
163 * tools/gst-xmlinspect.c:
164 Use API to acces element details.
166 2007-10-15 Stefan Kost <ensonic@users.sf.net>
169 Fix some spelling errors.
171 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
173 * gst/gstbin.c: (bin_handle_async_done):
174 Correctly set the next state if all of our async children commited their
175 state. This makes sure we can actually cancel the state change in
176 progress. Fixes a regression in Rhythmbox when seeking.
178 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
181 Don't shadow local variable.
184 Don't shadow global function name.
186 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
188 * gst/gstelementfactory.c:
189 * gst/gstpluginfeature.c:
190 * gst/gstpluginfeature.h:
191 * gst/gstregistrybinary.c:
192 * gst/gstregistryxml.c:
194 Use already-interned string for the private GstPluginFeature
197 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
199 * docs/libs/gstreamer-libs-sections.txt:
200 Add new API to docs; fixes the build.
202 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
204 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
206 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
207 (gst_base_sink_event):
208 * libs/gst/base/gstbasesink.h:
209 Add function to wait for EOS, subclasses can use this to correctly wait
210 for devices to drain before performing the EOS logic. Fixes #485343.
211 API: gst_base_sink_wait_eos()
213 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
216 Cast description string constants in GST_PLUGIN_DEFINE macros
217 to a (gchar*) to make C++ code using these macros compile
218 without warning with g++-4.2 (see #462737). Even if slightly
219 ugly, this seems preferable to putting the description strings
220 into the GLib quark table or making the structure member a
221 const gchar * and doing casts in core code that allocs and
222 frees these strings, or requiring a cast in the C++ code.
224 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
227 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
228 to print the entire class/function signature into the log
229 file for C++ code. This only affects C++ code, for C code
230 everything remains the same.
232 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
234 * gst/gstbin.c: (remove_from_queue):
235 Work around a problem with pipelines containing (semi)loops until a
236 proper, more complicated solution is ready. See #475455.
238 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
242 * gst/gstregistrybinary.c:
243 * gst/gstregistryxml.c:
244 Put more strings into the GLib quark table. No need to keep
245 a hundred-something copies of identical version strings,
246 license strings, package name strings and package origin
249 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
251 * docs/manual/advanced-dataaccess.xml:
252 Don't imply that it's okay to unconditionally change
253 buffer data or buffer metadata in a pad probe callback,
254 and a bunch of other comments. Fixes #430031.
256 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
258 * win32/common/gstenumtypes.c:
259 * win32/common/gstenumtypes.h:
260 * win32/common/gstversion.h:
261 Update generated files.
263 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
265 * docs/manual/advanced-autoplugging.xml:
266 Prefix section with broken code with a warning (see #342432).
268 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
270 * docs/manual/appendix-integration.xml:
271 * docs/manual/basics-init.xml:
272 Call g_thread_init() before g_option_context_new() to
273 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
275 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
277 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
278 (gst_base_sink_queue_object_unlocked),
279 (gst_base_sink_queue_object), (gst_base_sink_event),
280 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
281 When we received EOS and are waiting for when to post the EOS message,
282 our state is prerolled and we should not return ASYNC.
283 Reorganize some code paths to implement this behavior.
285 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
287 Add unit test to verify above EOS fix.
289 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
291 * plugins/elements/gsttypefindelement.c:
292 (gst_type_find_element_have_type), (gst_type_find_element_init),
293 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
294 Move detecting the input caps of the sinkpad to the setcaps function.
295 This allows us to update the output caps when we receive new input caps
296 instead of always using the first detected caps.
298 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
300 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
301 (gst_base_sink_get_position):
302 Don't try to preroll non-async elements after a flush.
303 Subtract latency form clock times when reporting position.
305 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
307 * gst/gstpad.c: (gst_pad_pause_task):
309 Small comment and documentation update.
311 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
313 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
314 (gst_base_src_set_live), (gst_base_src_is_live),
315 (gst_base_src_query_latency), (gst_base_src_perform_seek),
316 (gst_base_src_default_event), (gst_base_src_wait),
317 (gst_base_src_do_sync), (gst_base_src_get_range),
318 (gst_base_src_pad_get_range), (gst_base_src_loop),
319 (gst_base_src_unlock), (gst_base_src_unlock_stop),
320 (gst_base_src_set_flushing), (gst_base_src_set_playing),
321 (gst_base_src_activate_push), (gst_base_src_activate_pull),
322 (gst_base_src_change_state):
323 Rework the locking of basesrc in a similar fashion to basesink. We
324 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
325 us to handle live sources and semi live ones much better.
327 Fix unlocking when seeking, shutting down and pausing in live sources.
329 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
331 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
332 Fix compilation again.
334 2007-10-03 Stefan Kost <ensonic@users.sf.net>
337 Use meaningful categories for the logs to clean the default one.
339 2007-10-03 Stefan Kost <ensonic@users.sf.net>
341 * tests/check/pipelines/cleanup.c:
342 Print message name and not just number.
344 2007-10-03 Stefan Kost <ensonic@users.sf.net>
346 * docs/design/draft-tagreading.txt:
347 Add some more thoughts.
349 2007-10-03 Stefan Kost <ensonic@users.sf.net>
351 * tests/check/pipelines/simple-launch-lines.c:
352 Print message name and not just number.
354 2007-10-03 Stefan Kost <ensonic@users.sf.net>
356 * libs/gst/base/gsttypefindhelper.c:
357 Speedup typefinding. This is work in progress (see #459862).
359 2007-10-03 Stefan Kost <ensonic@users.sf.net>
362 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
363 Spotted by Josep Torra Valles <josep@fluendo.com>.
365 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
368 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
369 field has moved to GstObject.
371 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
373 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
374 (gst_base_src_get_range), (gst_base_src_change_state):
375 Call unlock for live sources so that they can't get stuck in _create and
376 produce a buffer before they are set back to PLAYING.
378 2007-10-02 Edward Hervey <bilboed@bilboed.com>
380 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
381 (gst_queue_locked_dequeue):
382 Comment the segment-related code... in the PROPER function.
383 See #482147 and my commit from yesterday.
385 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
387 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
388 Also initialize the counter that calculates the first timestamp on a
389 buffer correctly for non-live sources.
391 2007-10-01 Edward Hervey <bilboed@bilboed.com>
393 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
394 Disable code that's breaking the current-time-level reporting.
397 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
399 * docs/gst/gstreamer-sections.txt:
400 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
401 as they shouldn't show up. Fixes the docs build.
403 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
406 Add an explicit variable importation needed on VS6 (only for MSC_VER)
407 Define M_PI which is used in files which are including gstinfo.h.
408 VS6 includes doesn't define it.
409 * win32/common/libgstbase.def:
410 * win32/common/libgstcontroller.def:
411 * win32/common/libgstreamer.def:
412 Add new exported functions and variables.
413 * win32/vs6/libgstcontroller.dsp:
414 * win32/vs6/libgstreamer.dsp:
415 Update the list of files to build.
417 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
419 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
421 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
422 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
423 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
424 Improve debugging. Fixes #480858.
426 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
428 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
430 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
431 First patch of code cleanups, use the macros and right arguments in the
432 macros to signal and lock the queue. See #480858.
434 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
436 * gst/gstbus.c: (poll_func):
437 Improve debugging when dealing with _poll().
439 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
441 * gst/gstregistryxml.c:
442 Fix memory leak I introduced a few days ago.
444 2007-09-26 Michael Smith <msmith@fluendo.com>
446 * gst/gstbuffer.c: (gst_buffer_finalize):
447 Make it once again possible to free GstBuffers in the default
449 The poisoning scribbles on parts of the miniobject we need in
453 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
455 * docs/gst/gstreamer-sections.txt:
458 API: add GST_TAG_COMPOSER, fixes #459809.
460 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
464 Add the 3-clause BSD license and the MIT/X11 license to the license
467 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
469 * docs/faq/getting.xml:
470 Add Q+A about different GStreamer versions (#364056).
472 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
474 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
475 (gst_base_sink_event), (gst_base_sink_change_state):
476 Return correct gboolean from query function.
478 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
480 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
481 (gst_base_sink_event), (gst_base_sink_query),
482 (gst_base_sink_change_state):
483 Simplify latency query.
484 When not synchronizing, we can report latency without querying the peer
487 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
491 Fix small typos in the docs.
493 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
495 * docs/design/draft-latency.txt:
496 * docs/design/draft-push-pull.txt:
497 * docs/design/draft-tagreading.txt:
498 * docs/design/part-MT-refcounting.txt:
499 * docs/design/part-activation.txt:
500 * docs/design/part-block.txt:
501 * docs/design/part-element-source.txt:
502 * docs/design/part-events.txt:
503 * docs/design/part-gstbin.txt:
504 * docs/design/part-gstelement.txt:
505 * docs/design/part-gstobject.txt:
506 * docs/design/part-gstpipeline.txt:
507 * docs/design/part-messages.txt:
508 * docs/design/part-preroll.txt:
509 * docs/design/part-push-pull.txt:
510 * docs/design/part-qos.txt:
511 * docs/design/part-query.txt:
512 * docs/design/part-scheduling.txt:
513 * docs/design/part-seeking.txt:
514 * docs/design/part-segments.txt:
515 * docs/design/part-states.txt:
516 Documentation updates and typo fixes.
518 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
520 * plugins/elements/gstfakesink.c:
521 Add some debug text to error message to indicate that
522 we errored out on request.
524 * tools/gst-launch.c:
525 When the state change to PLAYING fails, check for an
526 error message on the bus and print it.
528 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
530 translated by: Jorge González González <aloriel@gmail.com>
534 Added Spanish translation.
536 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
538 * plugins/elements/gstqueue.c: (gst_queue_push_one):
539 Fix printf arguments.
541 2007-09-20 Stefan Kost <ensonic@users.sf.net>
543 * tests/check/generic/states.c:
544 Improved state change unit test.
546 2007-09-20 Stefan Kost <ensonic@users.sf.net>
549 Move priv to the right place.
551 * gst/gstsystemclock.c:
552 Add FIXME: and improve log.
554 * tests/check/Makefile.am:
555 * tests/examples/manual/Makefile.am:
556 Work with all types of registries.
558 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
560 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
561 Don't unref the event after pushing it. Fixes #478401.
563 2007-09-19 Stefan Kost <ensonic@users.sf.net>
566 * tests/examples/manual/.cvsignore:
567 Ignore registries in any format.
569 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
571 * gst/glib-compat-private.h:
572 Add compatibility macro for g_intern_string() for
573 GLib-2.8 (any reason we can't just bump the
574 requirement to at least 2.10?)
576 * gst/gstpadtemplate.h:
577 * gst/gstelementfactory.c:
578 * gst/gstregistryxml.c:
579 * gst/gstregistrybinary.c:
580 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
581 up the internal code accordingly. This shouldn't be a problem, since
582 there is no reason external code could ever assume the string in such
583 a structure is dynamically allocated unless it did that itself; the
584 use of g_strdup() is private to element factories. The new code also
585 saves some memory by putting pad template name strings into the GLib
586 quark table instead of allocating them dynamically.
587 Declaring this field constant fixes warnings with g++-4.2 when using
588 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
590 2007-09-19 Stefan Kost <ensonic@users.sf.net>
592 * gst/gstelementfactory.c:
593 Release static caps. Fixes #475723.
595 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
599 Make some internal API take const gchar * instead of just
600 gchar * to avoid compiler warnings with g++-4.2.2 when
601 passing string constants (partially fixes #478092).
603 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
605 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
606 A latency query fails when one of the sinks fail.
608 * gst/gstelement.c: (gst_element_set_base_time):
611 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
613 * gst/gstbin.c: (gst_bin_continue_func):
614 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
615 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
616 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
618 Fix minor compilation warnings shown with Forte.
620 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
622 * plugins/elements/gstqueue.c: (apply_buffer),
623 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
624 Measure queue level based on the diff between head and tail timestamps
625 even when pushing the first buffer.
627 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
629 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
630 (gst_base_sink_event), (gst_base_sink_change_state):
631 Sinks that don't preroll can always be queried for the latency.
632 Don't post ASYNC start when we are not async.
634 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
636 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
637 (gst_queue_handle_sink_event), (gst_queue_chain),
638 (gst_queue_push_one), (gst_queue_handle_src_query),
639 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
640 * plugins/elements/gstqueue.h:
641 When downstream returns UNEXPECTED from pushing a buffer, don't try to
642 push more buffers but allow pushing of EOS and NEWSEGMENT.
643 Add some more debug info here and there. Fixes #476514.
645 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
647 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
648 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
649 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
650 (gst_base_sink_set_flushing), (gst_base_sink_query),
651 (gst_base_sink_change_state):
652 Latency query is allowed after we are prerolled. Introduce a new flag
653 for this and stop abusing other variables.
655 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
657 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
658 Push OOB events downstream when we get them in send_event. This allows
659 the application to insert events in the pipeline.
660 Add some more comments.
662 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
664 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
665 (do_bin_latency), (gst_bin_change_state_func):
666 * gst/gstpipeline.c: (gst_pipeline_change_state):
667 Move latency query from GstPipeline to GstBin so that we can also
668 use it when async-handling is enabled on bins.
670 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
672 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
673 (gst_base_src_do_sync), (gst_base_src_change_state):
675 Clean up the timestamping and syncing code for pseudo live sources.
677 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
679 Patch by: Steve Fink <sphink gmail com>
681 * docs/manual/appendix-checklist.xml:
682 Mention less -R switch in the section about debug output (#474055).
684 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
686 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
687 Queue can latency to the pipeline up to the configured max size in time.
688 Report this fact in the latency query.
690 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
692 Patch by: Sebastien Moutte <sebastien at moutte dot net>
694 * libs/gst/controller/gstinterpolation.c:
695 * libs/gst/controller/gstlfocontrolsource.c:
696 Use gst_guint64_to_gdouble() when converting from a uint64 or
697 GstClockTime to double to fix the build on win32. Fixes #474371.
699 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
701 * gst/gstbuffer.c: (gst_buffer_finalize):
702 Implement poisoning for GstBuffer if --enable-poisoning is specified.
703 When finalizing a buffer the complete struct is filled with 0xff,
704 thus making a use of the buffer after the final unref impossible.
706 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
708 * tests/check/libs/controller.c: (GST_START_TEST):
709 Use fail_unless_equals_int(a, b) instead of
710 fail_unless_equals (a == b) to get better output on failures.
712 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
714 * tests/check/gst/gsturi.c:
715 Also check for the other file URI variant on win32.
717 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
719 * gst/gsturi.c: (gst_uri_get_location):
720 If there's no hostname, we want to return 'c:/foo/bar.txt'
721 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
723 * tests/check/gst/gsturi.c:
724 Unit test for the above and a few more things.
726 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
728 * docs/design/part-live-source.txt:
729 Add docs on how live sources should timestamp.
731 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
732 Add some more debug info.
733 For subclasses that are live and like to sync, add aditional startup
734 latency to sync time and timestamps so that we timstamp according to the
737 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
740 Also do a g_type_class_ref() for the subbuffer type in
743 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
745 * docs/gst/gstreamer-sections.txt:
746 * gst/gstpad.c: (gst_pad_peer_query):
748 Add function to perform a query on the peer of a pad.
749 API: gst_pad_peer_query()
751 2007-09-11 Stefan Kost <ensonic@users.sf.net>
753 * tests/check/gst/gstsystemclock.c:
754 Cleanup the test a little (use gst-logging and not g_message). Improve
755 test to check if a wait reached the target.
757 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
759 * docs/libs/gstreamer-libs-sections.txt:
760 Add new API to docs and fix the build.
762 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
764 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
765 (gst_base_src_init), (gst_base_src_set_do_timestamp),
766 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
767 (gst_base_src_get_property), (gst_base_src_do_sync):
768 * libs/gst/base/gstbasesrc.h:
769 Add property to make the basesrc timestamp buffers based on the current
771 API: GstBaseSrc::do-timestamp
772 API: gst_base_src_set_do_timestamp()
773 API: gst_base_src_get_do_timestamp()
775 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
777 * docs/random/release:
778 Really make sure translations are up-to-date before
781 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
783 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
784 Always destroy the timer, also in error cases.
786 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
788 * docs/manual/highlevel-xml.xml:
789 Fix XML example code. Fixes #472714.
791 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
793 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
794 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
795 (gst_base_sink_query):
796 Protect eos and have_preroll with the OBJECT lock so we don't need to
797 take the PREROLL lock when querying the latency. Fixes #473846.
799 2007-09-05 Stefan Kost <ensonic@users.sf.net>
802 Give some log-messages a category.
804 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
806 * gst/gststructure.c:
807 (gst_structure_fixate_field_nearest_fraction):
808 Fix fraction list fixation code. Take the fraction with the smallest
809 difference with the target instead of the first one in the list.
811 * tests/check/gst/gststructure.c: (GST_START_TEST),
812 (gst_structure_suite):
813 Added test to verify correct fraction list fixation behaviour.
815 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
817 * win32/common/libgstreamer.def:
818 Export gst_bus_add_signal_watch too.
820 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
822 * docs/libs/gstreamer-libs-sections.txt:
823 Add new methods to docs.
825 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
826 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
827 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
828 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
829 * libs/gst/base/gstbasesink.h:
830 Add ts-offset property to fine-tune the synchronisation.
831 API: GstBaseSink::ts-offset property
832 API: gst_base_sink_set_ts_offset()
833 API: gst_base_sink_get_ts_offset()
835 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
837 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
838 (gst_base_sink_init), (gst_base_sink_set_sync),
839 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
840 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
841 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
842 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
843 (gst_base_sink_get_property), (gst_base_sink_change_state):
844 * libs/gst/base/gstbasesink.h:
845 Add async property to instruct the sink never to inform the parent about
846 ASYNC state changes, update docs.
847 Check argument with g_return_* for the public functions.
848 API: GstBaseSink::async property
849 API: gst_base_sink_set_async_enabled()
850 API: gst_base_sink_is_async_enabled()
852 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
854 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
857 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
858 (gst_base_src_default_query), (gst_base_src_wait),
859 (gst_base_src_do_sync), (gst_base_src_change_state):
860 Rearrange some code so that we can add support for measuring the
863 2007-08-27 Stefan Kost <ensonic@users.sf.net>
865 * docs/random/ensonic/dynlink.txt:
866 More thoughs on this.
868 * plugins/elements/gstcapsfilter.c:
869 Add bugzilla ticket number to FIXME comment.
871 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
873 * docs/design/part-TODO.txt:
874 * docs/design/part-block.txt:
877 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
880 Revert patch which uses $(gst_headers) instead of $^ because it
883 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
885 * tests/check/gst/gstbin.c: (GST_START_TEST):
886 Fix leaks in the new unit test.
888 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
891 Don't use GST_INFO before the debug system is actually initialised
892 (shouldn't do any harm, but won't print anything either, so we can
893 just as well remove it).
896 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
897 compilers that don't support variadic macros (such as MSVC), should
898 check for debug_level <= __gst_debug_min as well, since that's the
899 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
900 inline helper functions. Should improve performance a bit, but also
901 makes sure uses of GST_INFO et.al are ignored if the debugging
902 system isn't initialised yet (instead of printing an assertion
905 2007-08-23 Stefan Kost <ensonic@users.sf.net>
907 patch by: David Nečas <yeti@physics.muni.cz>
910 Replace some non portable makefile constructs.
912 2007-08-21 Stefan Kost <ensonic@users.sf.net>
914 * common/gtk-doc-plugins.mak:
915 Grrrrr. Don't remove the types file on make clean.
917 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
919 * tools/gst-launch.1.in:
920 Add colorspace to example pipeline. Fixes #458274.
922 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
924 * docs/random/release:
925 The release manager should run 'make download-po' before making a
926 release to make sure translations are up-to-date.
932 Add some new translations.
934 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
936 * tools/gst-launch.c: (event_loop), (main):
937 Don´t try to do any state management when a live pipeline posts
939 Also make the buffering string translatable.
941 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
943 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
944 (bin_handle_async_start), (gst_bin_handle_message_func):
946 When adding elements, insert messages into the bus of the newly added
947 element and make sure the element is the source of the message. This
948 allows the parent bin to intercept the message and do the
949 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
950 messages to the app (which is not allowed).
953 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
954 Fix testsuite so that is does not work around messages that should not
955 have been posted in the first place.
957 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
959 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
960 (update_degree), (gst_bin_sort_iterator_next):
961 Fix annoying bug in the sorted iterator where a sink that is not really
962 a sink (when it has downstream links) screwed up the iterator.
964 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
965 Unit test to verify the fix.
967 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
970 Add some more docs for the messages.
972 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
973 (gst_base_sink_query):
974 Add some more debugging.
976 * tools/gst-launch.c: (event_loop):
977 When interrupting, don't try to set pipeline to PAUSED twice.
979 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
982 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
983 (bin_handle_async_start), (gst_bin_handle_message_func):
984 Move ASYNC_START message posting to where it belongs, similar to
986 Don't post ASYNC_START when we are in error.
987 Post ASYNC_START when we added an async element to a bin.
989 2007-08-14 Julien MOUTTE <julien@moutte.net>
991 * gst/gstindex.c: (gst_index_add_association): Fix index entry
992 generation from vargs. Fixes #466595.
994 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
996 * gst/gstbin.c: (gst_bin_element_set_state):
997 Always change the state of a NO_PREROLL element even if it has ASYNC
998 elements inside (in case of a bin).
1000 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1001 Unit test for this case.
1003 2007-08-13 Stefan Kost <ensonic@users.sf.net>
1005 * libs/gst/check/gstbufferstraw.c:
1006 * libs/gst/check/gstcheck.h:
1007 * libs/gst/controller/gstcontroller.c:
1008 * libs/gst/controller/gstcontrolsource.h:
1009 * libs/gst/controller/gstlfocontrolsource.h:
1010 * plugins/elements/gstcapsfilter.h:
1011 * plugins/elements/gstfdsink.h:
1012 * plugins/elements/gstfdsrc.h:
1013 Add more missing docs.
1015 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1017 * gst/gststructure.c:
1018 Add Since tag to docs.
1020 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1022 * docs/gst/gstreamer-sections.txt:
1023 * gst/gststructure.c: (gst_structure_get_uint):
1024 * gst/gststructure.h:
1025 Add function to get uint from a structure.
1026 API: gst_structure_get_uint()
1028 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1030 * gst/gstcaps.c: (gst_caps_set_simple_valist),
1031 (gst_caps_intersect):
1032 Fix proper check for simple caps.
1034 2007-08-10 Stefan Kost <ensonic@users.sf.net>
1036 * docs/gst/Makefile.am:
1037 * docs/libs/Makefile.am:
1038 Remove cruft and do some cleanups.
1040 * docs/gst/gstreamer-docs.sgml:
1041 * docs/libs/gstreamer-libs-docs.sgml:
1042 Prepare for comming gtkdoc features (rebase against online docs).
1044 2007-08-10 Michael Smith <msmith@fluendo.com>
1046 * docs/gst/gstreamer-sections.txt:
1047 Add gst_registry_add_path to docs.
1049 2007-08-10 Michael Smith <msmith@fluendo.com>
1051 * gst/gstregistry.h:
1052 Add gst_registry_add_path, which was missing from this header.
1054 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
1056 * libs/gst/controller/gstlfocontrolsource.c:
1059 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1061 * libs/gst/base/gstbasesink.c:
1062 Don't send an async_start message during downwards state change if
1063 target state is less than READY
1065 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
1067 translated by: Gabor Kelemen <kelemeng@gnome.hu>
1071 Added Hungarian translation.
1073 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
1080 Updated translations.
1082 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
1084 * libs/gst/controller/Makefile.am:
1085 Dist gstlfocontrolsourceprivate.h
1087 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
1089 * docs/libs/gstreamer-libs.types:
1090 Don't register the enum type gst_lfo_waveform_get_type() in the
1091 .types file - only GObject derived types belong.
1093 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
1095 Patch by: <arenevier at fdn dot fr>
1098 Remove comma from last element in enum to avoid compile errors when
1099 using -pendantic. Fixes #464366.
1101 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
1103 * docs/design/part-TODO.txt:
1104 Add some more TODO items
1106 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1109 * gst/gstcaps.c: (gst_caps_intersect):
1110 Optimize trivial intersection case between identical caps pointers.
1112 * gst/gstelement.c: (gst_element_continue_state),
1113 (gst_element_set_state_func):
1115 Fix spelling and grammar mistakes.
1117 2007-08-05 Stefan Kost <ensonic@users.sf.net>
1121 Update POTFILES. Fixes #461599.
1123 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
1126 Fix confusing typo in debug output.
1128 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
1130 reviewed by: Stefan Kost <ensonic@users.sf.net>
1132 * libs/gst/controller/Makefile.am:
1133 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1134 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1135 (gst_lfo_control_source_new),
1136 (gst_lfo_control_source_set_waveform),
1137 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1138 (gst_lfo_control_source_finalize),
1139 (gst_lfo_control_source_dispose),
1140 (gst_lfo_control_source_set_property),
1141 (gst_lfo_control_source_get_property),
1142 (gst_lfo_control_source_class_init):
1143 * libs/gst/controller/gstlfocontrolsource.h:
1144 * libs/gst/controller/gstlfocontrolsourceprivate.h:
1145 API: Add GstLFOControlSource, a control source that gives values
1146 for specific timestamps based on several periodic waveforms.
1149 * tests/check/libs/controller.c: (GST_START_TEST),
1150 (gst_controller_suite):
1151 * docs/libs/gstreamer-libs-docs.sgml:
1152 * docs/libs/gstreamer-libs-sections.txt:
1153 * docs/libs/gstreamer-libs.types:
1154 Add documentation and unit tests for GstLFOControlSource.
1156 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
1161 === release 0.10.14 ===
1163 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
1166 releasing 0.10.14, "Breathing Vacuum"
1168 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
1170 * gst/gstelement.c: (gst_element_class_set_details_simple):
1172 Make strings passed to gst_element_class_set_details_simple()
1173 constant, as they should be (#462752).
1175 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
1177 * gst/gstbin.c: (gst_bin_change_state_func),
1178 (bin_handle_async_done), (gst_bin_handle_message_func):
1179 Don't forget about the fact that some element went ASYNC even after a
1180 resync. This makes us post the ASYNC_DONE message correctly.
1183 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1185 * gst/gstregistry.c: (gst_registry_add_feature):
1186 When replacing an existing feature in the registry, make sure to
1187 continue holding a reference until we've replaced the name string
1188 within our feature hash table. Make sure to use g_hash_table_replace
1189 instead of g_hash_table_insert to ensure the new name string is used
1190 as a key instead of the old one that we're about to free.
1193 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1195 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1196 (gst_plugin_feature_set_name):
1197 Revert patch from #459466 until after the release and we can work
1198 out exactly what the problem is (if any).
1200 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
1202 * docs/gst/gstreamer-sections.txt:
1205 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1207 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
1209 * docs/libs/Makefile.am:
1210 Include our build-prefix libs and includes before the generic ones to
1211 avoid linking against the installed libs when we want the build-tree
1214 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
1216 Patch by: Steve Fink <sphink gmail com>
1218 * docs/pwg/building-testapp.xml:
1219 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1220 if people try to build or install the example from the plugin
1221 template against a GStreamer from package using the configure
1224 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
1226 Patch by: Steve Fink <sphink gmail com>
1228 * tools/gst-inspect.1.in:
1229 Document --print-all and --print-plugin-auto-install-info command
1230 line options in man page.
1232 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
1234 * docs/gst/gstreamer-sections.txt:
1235 Add docs for new api function.
1237 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
1239 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1240 * gst/gstelementfactory.h:
1241 API: gst_element_factory_has_interface()
1242 Added method to check if an element factory implements a named
1245 2007-07-25 Stefan Kost <ensonic@users.sf.net>
1248 * docs/gst/gstreamer.types.in:
1249 Another conditional doc check.
1252 * gst/gstparamspecs.h:
1253 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1258 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1260 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1261 (gst_registry_binary_load_feature),
1262 (gst_registry_binary_load_plugin),
1263 (gst_registry_binary_read_cache):
1264 Print error just once and with additional info.
1266 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1268 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1269 (helper_find_suggest), (helper_find_get_length),
1270 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1271 (gst_type_find_helper_for_buffer):
1272 Cleanup the typefindhelper code and add private doc comments.
1274 2007-07-24 Edward Hervey <bilboed@bilboed.com>
1276 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1277 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1278 Fix capsfilter for cases where the caps set on capsfilter will provide
1279 additional information.
1282 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1284 * gst/gsttypefindfactory.c:
1285 Fix docs that recommened wrong function to use.
1287 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1289 * tools/gst-inspect.c: (print_plugin_features):
1290 Also give media-type for typefinders in element output.
1292 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1294 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1295 (gst_registry_remove_features_for_plugin_unlocked),
1296 (gst_registry_add_feature), (gst_registry_remove_feature),
1297 (gst_registry_lookup_feature_locked):
1298 * gst/gstregistry.h:
1299 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1302 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1304 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1305 (gst_plugin_feature_set_name):
1306 Avoid double memory usage for pluginfeature names. Fixes #459466.
1308 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
1311 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1312 driving the pipeline may need to explicitly check for NOT_LINKED as
1313 well, since IS_FATAL doesn't cover that.
1315 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
1317 * docs/pwg/advanced-types.xml:
1318 Fix typo and duplicate entry in video formats list.
1320 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
1322 * libs/gst/controller/gstinterpolation.c:
1323 Also round to the nearest int when using cubic interpolation.
1325 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
1327 * libs/gst/controller/gstinterpolation.c:
1328 When linearly interpolating integer types, round to the nearest int
1329 by adding 0.5. Don't do it for float/double types.
1330 Fixes the failing controller test on my machine, which is somehow
1331 rounding differently than on the buildbots.
1333 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1335 * tools/gst-plot-timeline.py:
1336 Better log parsing (categories can have -). Adjust text vs. lines, so
1337 that they span the same y-range.
1339 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1341 * docs/random/ensonic/audiobaseclasses.txt:
1342 * docs/random/ensonic/dynlink.txt:
1343 * docs/random/ensonic/profiling.txt:
1346 * docs/random/moving-plugins:
1347 Add note to use g_assert type macros.
1349 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1352 * libs/gst/check/Makefile.am:
1353 Add libm check as we use in for plugins.
1355 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
1357 * gst/gstbin.c: (gst_bin_continue_func):
1358 Check that the state_cookie hasn't changed since the continue_func
1359 was scheduled. Avoids problems where the state changes back to
1360 something it shouldn't be because it was changed in the meantime.
1362 2007-07-17 Stefan Kost <ensonic@users.sf.net>
1364 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1365 (gst_registry_binary_save_string),
1366 (gst_registry_binary_save_pad_template),
1367 (gst_registry_binary_save_feature),
1368 (gst_registry_binary_save_plugin),
1369 (gst_registry_binary_load_feature),
1370 (gst_registry_binary_load_plugin),
1371 (gst_registry_binary_read_cache):
1372 Fix memory leak. Be less verbose in the log.
1374 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1376 * tests/check/elements/.cvsignore:
1377 Add file to cvsignore as commanded.
1379 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1381 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1382 (mq_dummypad_event), (run_output_order_test):
1383 Use a GStaticMutex to protect all cases where libcheck
1384 fail_if/fail_unless macros might be called from multiple threads
1385 simultaneously to avoid errors like:
1386 "check_pack.c:107: :-1081725400:Bad message type arg"
1388 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1390 * tests/check/pipelines/stress.c: (GST_START_TEST):
1391 Make sure we set the pipeline back to the NULL state before
1392 dropping our final reference.
1394 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1396 * tests/check/elements/tee.c: (GST_START_TEST):
1397 Make the tee stress-test a little less stressful so it doesn't just
1398 time out on slow-machines, and remove a small race when it's starting
1399 up by adding a get_state() call.
1401 2007-07-16 Stefan Kost <ensonic@users.sf.net>
1404 Avoid reading registry twice on startup. Fixes #457322.
1406 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
1408 * pkgconfig/gstreamer-check-uninstalled.pc.in:
1409 * pkgconfig/gstreamer-check.pc.in:
1410 Substitute the CFLAGS for libcheck into our .pc file too so that
1411 dependent modules will pick it up properly if libcheck is installed
1412 into some other prefix.
1414 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
1417 Revert the pkg-config check for libcheck, since it pulls in the
1418 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1419 a proper solution, either from the check project, or something else.
1421 2007-07-12 Stefan Kost <ensonic@users.sf.net>
1424 Use pkg-config to locate check.
1426 2007-07-10 Stefan Kost <ensonic@users.sf.net>
1433 Add deprecation guards.
1435 * libs/gst/base/gstcollectpads.h:
1436 Don't document object (this is implicitly private).
1438 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
1440 * gst/gststructure.c: (gst_structure_parse_value):
1441 When deserialising foo=bar without a type cast, check if it's a
1442 boolean before falling back to a string type, otherwise things like
1443 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1444 because the filtercaps end up having a signed=(string)true field,
1445 which causes problems later when intersection caps.
1447 * tests/check/gst/gststructure.c: (GST_START_TEST):
1448 Add a unit test for this.
1450 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
1452 Reviewed by: Stefan Kost <ensonic@users.sf.net>
1454 * libs/gst/controller/Makefile.am:
1455 * libs/gst/controller/gstcontroller.c:
1456 (gst_controlled_property_add_interpolation_control_source),
1457 (gst_controlled_property_new), (gst_controlled_property_free),
1458 (gst_controller_find_controlled_property),
1459 (gst_controller_new_valist), (gst_controller_new_list),
1460 (gst_controller_new), (gst_controller_remove_properties_valist),
1461 (gst_controller_remove_properties_list),
1462 (gst_controller_remove_properties),
1463 (gst_controller_set_property_disabled),
1464 (gst_controller_set_disabled), (gst_controller_set_control_source),
1465 (gst_controller_get_control_source), (gst_controller_get),
1466 (gst_controller_sync_values), (gst_controller_get_value_array),
1467 (_gst_controller_dispose), (gst_controller_get_type),
1468 (gst_controlled_property_set_interpolation_mode),
1469 (gst_controller_set), (gst_controller_set_from_list),
1470 (gst_controller_unset), (gst_controller_unset_all),
1471 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1472 * libs/gst/controller/gstcontroller.h:
1473 * libs/gst/controller/gstcontrollerprivate.h:
1474 * libs/gst/controller/gstcontrolsource.c:
1475 (gst_control_source_class_init), (gst_control_source_init),
1476 (gst_control_source_get_value),
1477 (gst_control_source_get_value_array), (gst_control_source_bind):
1478 * libs/gst/controller/gstcontrolsource.h:
1479 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1480 (gst_object_get_control_source):
1481 * libs/gst/controller/gstinterpolation.c:
1482 (gst_interpolation_control_source_find_control_point_node),
1483 (gst_interpolation_control_source_get_first_value),
1484 (_interpolate_none_get), (interpolate_none_get),
1485 (interpolate_none_get_boolean_value_array),
1486 (interpolate_none_get_enum_value_array),
1487 (interpolate_none_get_string_value_array),
1488 (_interpolate_trigger_get), (interpolate_trigger_get),
1489 (interpolate_trigger_get_boolean_value_array),
1490 (interpolate_trigger_get_enum_value_array),
1491 (interpolate_trigger_get_string_value_array):
1492 * libs/gst/controller/gstinterpolationcontrolsource.c:
1493 (gst_control_point_free), (gst_interpolation_control_source_reset),
1494 (gst_interpolation_control_source_new),
1495 (gst_interpolation_control_source_set_interpolation_mode),
1496 (gst_interpolation_control_source_bind),
1497 (gst_control_point_compare), (gst_control_point_find),
1498 (gst_interpolation_control_source_set_internal),
1499 (gst_interpolation_control_source_set),
1500 (gst_interpolation_control_source_set_from_list),
1501 (gst_interpolation_control_source_unset),
1502 (gst_interpolation_control_source_unset_all),
1503 (gst_interpolation_control_source_get_all),
1504 (gst_interpolation_control_source_get_count),
1505 (gst_interpolation_control_source_init),
1506 (gst_interpolation_control_source_finalize),
1507 (gst_interpolation_control_source_dispose),
1508 (gst_interpolation_control_source_class_init):
1509 * libs/gst/controller/gstinterpolationcontrolsource.h:
1510 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1511 API: Refactor GstController into the core controller which can take
1512 a GstControlSource for providing actual values for timestamps.
1513 Implement a interpolation control source and use this for backward
1514 compatibility, deprecate a bunch of functions that are now handled
1515 by GstControlSource or GstInterpolationControlSource.
1516 Make it possible to disable the controller completely or only for
1517 specific properties. Fixes #450711.
1518 * docs/libs/gstreamer-libs-docs.sgml:
1519 * docs/libs/gstreamer-libs-sections.txt:
1520 * docs/libs/gstreamer-libs.types:
1521 Add new functions and classes to the docs.
1522 * tests/check/libs/controller.c: (GST_START_TEST),
1523 (gst_controller_suite):
1524 * tests/examples/controller/audio-example.c: (main):
1525 Port unit test and example to the new API and add some new
1528 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
1530 Patch by: Mark Nauwelaerts <manauw at skynet be>
1532 * plugins/elements/gstmultiqueue.c:
1533 (gst_multi_queue_get_internal_links), (apply_buffer),
1534 (single_queue_overrun_cb), (gst_single_queue_new):
1535 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
1536 the pipeline layout can be tracked correctly. Fixes #453732.
1538 2007-07-05 Stefan Kost <ensonic@users.sf.net>
1540 * docs/gst/Makefile.am:
1541 * docs/libs/Makefile.am:
1542 * docs/plugins/Makefile.am:
1543 Simplify --extra-dir as gtkdoc scans recursively.
1545 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
1547 * tools/gst-launch.c: (main):
1548 When we got an error, there is no point in waiting for preroll when
1551 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
1553 * plugins/elements/gsttee.c: (gst_tee_base_init),
1554 (gst_tee_request_new_pad), (gst_tee_release_pad),
1555 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
1556 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
1558 Be a lot smarter when deciding what srcpad to use for proxying
1559 the buffer_alloc. Also handle pad added/removed when doing so.
1561 Keep track of what pads we already pushed on in case we have pads
1562 added/removed while pushing. Fixes #374639
1564 * tests/check/Makefile.am:
1565 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
1567 Added unit test for pad resync.
1569 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
1573 Updated translations.
1575 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
1577 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
1581 Added new Finnish translation.
1583 2007-06-28 Wim Taymans <wim@fluendo.com>
1585 * plugins/elements/gstmultiqueue.c: (apply_buffer),
1586 (single_queue_overrun_cb):
1587 When figuring out when a queue is filled, use our internal time estimate
1588 based on segments, just like check_full does.
1590 2007-06-27 Stefan Kost <ensonic@users.sf.net>
1592 * gst/gstminiobject.c: (gst_mini_object_get_type):
1593 Remove 3 do-nothing methods.
1595 2007-06-27 Wim Taymans <wim@fluendo.com>
1597 Patch by: Tim Angus <tim at ngus dot net>
1599 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1600 (gst_capsfilter_set_property):
1601 Take a reference instead of a copy when setting "caps".
1602 Fix documentation to clarify this behaviour. Fixes #449414.
1604 2007-06-27 Stefan Kost <ensonic@users.sf.net>
1606 * gst/gstindexfactory.c: (gst_index_factory_get_type):
1607 * gst/gstplugin.c: (gst_plugin_init):
1608 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
1609 * gst/gstquery.c: (gst_query_get_type):
1610 * gst/gstregistry.c: (gst_registry_init):
1611 * gst/gsturi.c: (gst_uri_handler_base_init):
1612 Remove empty instance_init() functions to save relocs and lessen the
1613 noise. Remove some of the function prototypes that are doubled by
1616 2007-06-27 Wim Taymans <wim@fluendo.com>
1618 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
1620 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
1621 Add peer and direction in the XML serialisation of ghostpads.
1624 2007-06-26 Stefan Kost <ensonic@users.sf.net>
1627 Preserve useful information, thanks Tim.
1629 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
1631 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1632 (gst_single_queue_flush), (apply_segment), (apply_buffer),
1633 (gst_single_queue_push_one), (gst_multi_queue_loop),
1634 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1635 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
1636 (compute_high_id), (gst_single_queue_new):
1637 * plugins/elements/gstmultiqueue.h:
1638 Take the multiqueue lock when updating the fill level so we don't get
1641 After applying a buffer or event on the src pad segment, make sure to
1642 call gst_data_queue_limits_changed() to get the data queue to unblock
1643 and check the filled state again.
1645 Rework the not-linked pad handling so the logic is that not-linked
1646 pads can push as fast as they like, but only so they never get
1647 ahead of any linked pads.
1649 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
1650 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
1651 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
1653 Add a test to check that not-linked pads always stay behind
1658 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
1660 * docs/random/release:
1661 Some updates to the release procedure.
1663 2007-06-26 Stefan Kost <ensonic@users.sf.net>
1665 * gst/gstelementfactory.c: (__gst_element_details_clear):
1666 Microoptimization that saves stunning 80 bytes.
1668 2007-06-25 Stefan Kost <ensonic@users.sf.net>
1670 * docs/plugins/gstreamer-plugins.args:
1671 * docs/plugins/inspect/plugin-coreelements.xml:
1672 * docs/plugins/inspect/plugin-coreindexers.xml:
1673 Update docs with caps info.
1675 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
1678 Updated Italian translation.
1680 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
1684 Update Vietnamese translations.
1686 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
1688 * libs/gst/base/gstbasesink.c:
1689 Remove unused signal enum.
1691 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
1693 * docs/gst/gstreamer-sections.txt:
1695 * gst/gstutils.c: (gst_type_register_static_full):
1696 Beef up and include the docs for gst_type_register_static_full and
1697 gst_element_class_set_details_simple and add the API keyword
1700 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
1702 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1703 (update_time_level), (gst_single_queue_push_one),
1704 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
1705 (single_queue_overrun_cb), (single_queue_underrun_cb),
1706 (single_queue_check_full):
1707 Fix setting max-* properties after adding queues.
1708 Use IS_FILLED for checking visible items.
1709 Signal overrun if multiple queues overrun.
1710 Add extra debug output.
1711 Patch by: Wim Taymans <wim@fluendo.com>
1713 2007-06-21 Stefan Kost <ensonic@users.sf.net>
1715 * gst/gstelement.c: (gst_element_class_set_details_simple):
1717 * gst/gstutils.c: (gst_type_register_static_full):
1719 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1720 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1721 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1722 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1723 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1724 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1725 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1726 * plugins/elements/gstidentity.c: (gst_identity_base_init):
1727 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1728 * plugins/elements/gstqueue.c: (gst_queue_base_init),
1729 (apply_buffer), (gst_queue_chain):
1730 * plugins/elements/gsttee.c: (gst_tee_base_init):
1731 * plugins/elements/gsttypefindelement.c:
1732 (gst_type_find_element_base_init),
1733 (gst_type_find_element_class_init):
1734 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1735 API: add gst_type_register_static_full
1736 API: add gst_element_class_set_details_simple
1738 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
1740 * docs/pwg/advanced-types.xml:
1741 Fix typo in iana.org URI.
1743 2007-06-19 Andy Wingo <wingo@pobox.com>
1745 * tests/check/pipelines/simple-launch-lines.c
1746 (test_state_change_returns): Enable pull-mode tests now that
1747 basesink has been fixed.
1749 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1750 Changed from gst_base_sink_is_prerolled, reversing the sense of
1751 the return value. Returns FALSE also if the sink is in pull mode,
1752 in which case it needs no preroll.
1753 (gst_base_sink_query, gst_base_sink_change_state): Update for
1754 needs_preroll change.
1755 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1756 chaining up, in which we return SUCCESS directly if we activated
1757 in pull mode instead of ASYNC. Involves countering an async_start
1758 message sent before chaining up; not sure if this is correct, in
1759 an ideal world we only send async-start when activating in push
1762 * tests/check/pipelines/simple-launch-lines.c
1763 (test_state_change_returns): New test, partially disabled until
1766 2007-06-19 Wim Taymans <wim@fluendo.com>
1768 * plugins/elements/gstmultiqueue.c: (apply_buffer),
1769 (gst_multi_queue_sink_event):
1772 2007-06-19 Wim Taymans <wim@fluendo.com>
1774 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1775 (gst_bin_change_state_func), (bin_push_state_continue),
1776 (bin_handle_async_start), (bin_handle_async_done),
1777 (gst_bin_handle_message_func):
1778 Move the common code for posting state-change messages into
1780 Broadcast the state signal after we posted the messages.
1781 Mark the bin as busy when it's doing a state-change.
1782 Make sure async-start/done messages don't interfere with the bin's
1783 state when it's busy.
1784 After the state change, let the bin check which elements completed the
1785 state change while it was busy so that it can update its state.
1787 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
1789 * docs/random/release:
1790 Add a note about updating the doap file to the release checklist
1792 2007-06-18 Wim Taymans <wim@fluendo.com>
1794 * plugins/elements/gstmultiqueue.c: (apply_buffer),
1795 (gst_single_queue_push_one), (gst_multi_queue_chain),
1796 (gst_multi_queue_sink_event):
1797 Make sure we don't reference the buffer/event after we have given away
1798 ownership in the queue.
1800 2007-06-18 Wim Taymans <wim@fluendo.com>
1802 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1803 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
1804 Update queue state _after_ adding the item in the queue because else we
1805 could end up being full without the element added yet.
1807 2007-06-18 Wim Taymans <wim@fluendo.com>
1809 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1810 (gst_bin_remove_func), (gst_bin_get_state_func),
1811 (gst_bin_element_set_state), (gst_bin_continue_func),
1812 (bin_push_state_continue), (bin_handle_async_start),
1813 (bin_handle_async_done), (gst_bin_handle_message_func):
1815 Immediatly commit the toplevel bin state when receiving an async-done
1816 message. This enables us to avoid spawning a thread to commit the state
1817 in some common cases and it also avoids some races.
1818 Avoid spawning a state thread when adding/removing async elements to a
1819 toplevel bin. Instead we immediatly update the bin state.
1820 Get rid of iterating all the children when getting the state in the bin
1821 because it is now always up-to-date.
1822 Fix bug where locked elements would always return _SUCCESS even it they
1823 returned NO_PREROLL before being locked.
1824 Fix the order of the state_change, async-start/done messages that was
1825 sometimes incorrect.
1826 Mark the state_dirty field as deprecated, we don't need it anymore as we
1827 are always up-to-date.
1829 * gst/gstelement.c: (gst_element_get_state_func),
1830 (gst_element_continue_state):
1831 Small debug inprovements.
1832 Return the previous element state return when nothing is pending instead
1833 of blindly returning SUCCESS.
1835 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
1837 Add a whole bunch of new testcases.
1839 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
1843 Update translations.
1845 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
1848 Fix typo in the docs.
1850 2007-06-15 Wim Taymans <wim@fluendo.com>
1852 * docs/libs/gstreamer-libs-sections.txt:
1853 Add docs for new methods.
1855 2007-06-15 Wim Taymans <wim@fluendo.com>
1857 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
1858 (gst_multi_queue_item_new):
1859 Don't use GSlice because we don't depend on >= 2.10 yet.
1861 2007-06-15 Wim Taymans <wim@fluendo.com>
1863 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1864 (update_time_level), (apply_segment), (apply_buffer),
1865 (gst_single_queue_push_one), (gst_multi_queue_item_new),
1866 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
1867 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
1868 (single_queue_underrun_cb), (single_queue_check_full):
1869 Remove debug printf.
1871 2007-06-15 Wim Taymans <wim@fluendo.com>
1873 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
1874 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
1875 (gst_data_queue_set_flushing), (gst_data_queue_push),
1876 (gst_data_queue_pop), (gst_data_queue_drop_head),
1877 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
1878 * libs/gst/base/gstdataqueue.h:
1880 Added methods to get the current levels and to inform the queue that the
1881 'full' limits changed.
1883 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1884 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1885 (gst_single_queue_flush), (update_time_level), (apply_segment),
1886 (apply_buffer), (gst_single_queue_push_one),
1887 (gst_multi_queue_item_steal_object),
1888 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1889 (gst_multi_queue_loop), (gst_multi_queue_chain),
1890 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1891 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
1892 (gst_multi_queue_src_query), (single_queue_overrun_cb),
1893 (single_queue_underrun_cb), (single_queue_check_full),
1894 (gst_single_queue_new):
1895 Keep track of time in the queue by measuring the difference between
1896 running_time on input and output. This gives more accurate results and
1897 can compensate for segments correctly.
1898 Make a queue by default only 5 buffers deep. We will now increase the
1899 buffer size depending on the filledness of the other queues.
1900 Factor out commong flush code.
1901 Make sure we don't add additional refcounts to buffers when we can avoid
1903 Propagate GstFlowReturn differently.
1904 Use GSlice for intermediate GstMultiQueueItems.
1906 Resize queues on over and underruns based on filled level of other
1908 When checking if the queue is filled, prefer to measure in time if we
1909 can and fall back to bytes when no time is known.
1911 * plugins/elements/gstqueue.c:
1914 2007-06-15 Wim Taymans <wim@fluendo.com>
1916 * libs/gst/base/gstbasetransform.c:
1917 (gst_base_transform_sink_event):
1918 Work around the brokenness of the event vmethod in basetransform. Prefer
1919 to return TRUE when the subclass returned FALSE (meaning don't forward
1922 * libs/gst/base/gstbasetransform.h:
1925 2007-06-15 Wim Taymans <wim@fluendo.com>
1927 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
1928 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1929 (gst_base_src_default_query), (gst_base_src_get_range),
1930 (gst_base_src_start):
1931 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
1934 2007-06-15 Stefan Kost <ensonic@users.sf.net>
1936 * docs/pwg/advanced-types.xml:
1937 Added more formats to caps table.
1939 2007-06-15 Stefan Kost <ensonic@users.sf.net>
1941 * tools/gst-launch.c: (main):
1942 Remove crufy code. GOption does not need this workaround.
1944 2007-06-14 Stefan Kost <ensonic@users.sf.net>
1946 * libs/gst/controller/gstcontroller.c:
1947 (gst_controlled_property_set_interpolation_mode):
1948 Fix wrong getter for enums in controller.
1950 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
1952 * libs/gst/check/gstcheck.c: (gst_check_init):
1953 Intercept criticals and warnings in the Gst-Phonon log domain, so
1954 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
1957 2007-06-14 Edward Hervey <edward@fluendo.com>
1959 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
1960 Since this file doesn't include "gst.h" it will not go through the
1961 macros that disable GST_LOG if debugging was disabled.
1963 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
1965 * libs/gst/check/Makefile.am:
1966 * libs/gst/check/gstcheck.h:
1967 * pkgconfig/gstreamer-check-uninstalled.pc.in:
1968 * pkgconfig/gstreamer-check.pc.in:
1969 Ugly 'fix' for the controller unit test on the p5 bot: in
1970 fail_unless_equals_float() check whether the values are 'almost
1971 equal' by allowing a small absolute error, which should be good
1972 enough for our use cases (normal numbers and values close to 0).
1973 Proper fixage left to floating point arithmetic aficionados.
1975 2007-06-14 Stefan Kost <ensonic@users.sf.net>
1977 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
1978 (gst_base_sink_render_object), (gst_base_sink_get_position):
1979 Add two breaks thats where missing.
1981 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
1983 * docs/libs/gstreamer-libs-sections.txt:
1984 * libs/gst/check/gstcheck.h:
1985 API: add fail_unless_equals_float() and assert_equals_float().
1986 Add documentation for some of the macros.
1988 * tests/check/libs/controller.c: (GST_START_TEST):
1989 Use newly-added asserts.
1991 2007-06-14 Stefan Kost <ensonic@users.sf.net>
1993 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
1994 Show the caps change in the log to help spotting the case of not
1995 exactly matching caps.
1997 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
1999 * docs/pwg/building-boiler.xml:
2000 Fix typos, spotted by Thijs Vermeir (#447190).
2002 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
2004 * docs/plugins/tmpl/.cvsignore:
2005 Ignore file to keep the buildbots happy
2007 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
2009 * docs/plugins/Makefile.am:
2010 * docs/plugins/gstreamer-plugins-docs.sgml:
2011 * docs/plugins/gstreamer-plugins-sections.txt:
2012 Pull fdsink into the docs too.
2014 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
2016 * libs/gst/controller/gstinterpolation.c:
2017 Actually use the new functions with min/max checks for the trigger and
2018 none interpolation modes for get() and get_value_array() instead of
2021 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
2023 * libs/gst/controller/gstcontroller.c:
2024 (gst_controlled_property_free):
2025 Unset the minimum and maximum GValues when freeing the corresponding
2026 GstControllerProperty struct.
2028 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
2030 * libs/gst/controller/gstcontroller.c:
2031 (gst_controlled_property_new):
2032 * libs/gst/controller/gstcontrollerprivate.h:
2033 * libs/gst/controller/gstinterpolation.c:
2034 (gst_controlled_property_find_control_point_node),
2035 (interpolate_none_get), (interpolate_none_get_enum_value_array),
2036 (interpolate_none_get_string_value_array),
2037 (interpolate_trigger_get),
2038 (interpolate_trigger_get_enum_value_array),
2039 (interpolate_trigger_get_string_value_array):
2040 Protect against values larger or smaller than the minimum or maximum
2041 allowed value for the property when using values that can be compared.
2043 Optimize trigger interpolator a bit by taking the last requested value
2044 into account instead of always looping through the complete list.
2046 Fix coding style a bit, everywhere else we use "return foo" instead
2049 * tests/check/libs/controller.c: (GST_START_TEST),
2050 (gst_controller_suite):
2051 Add unit test for the protection against too large or too small
2054 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
2056 * docs/random/slomo/controller.txt:
2057 Add some thoughts about the future of the controller.
2059 2007-06-08 Wim Taymans <wim@fluendo.com>
2061 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2062 Don't overflow in retimestamping code.
2064 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
2066 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2067 Use gst_util_guint64_to_gdouble for conversions.
2068 * win32/common/libgstreamer.def:
2069 Add new exported functions.
2071 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
2074 Small docs addition.
2076 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2079 Remove that test line again.
2081 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2084 Test commit mail sending.
2086 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2089 Fix typo and test commit mail sending.
2091 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2093 * tests/examples/controller/audio-example.c:
2094 Improve comment and test commit mail sending.
2096 2007-06-07 Wim Taymans <wim@fluendo.com>
2098 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2099 (gst_bin_remove_func), (gst_bin_element_set_state),
2100 (bin_handle_async_start), (bin_handle_async_done),
2101 (gst_bin_handle_message_func):
2102 Add helper function to find messages.
2103 Generate the async-done messages together with the state change
2105 Small cleanups in handling toplevel bins.
2107 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2109 * libs/gst/base/gstdataqueue.c:
2110 * libs/gst/base/gstdataqueue.h:
2111 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2112 (gst_multi_queue_item_new), (gst_multi_queue_chain),
2113 (gst_multi_queue_sink_event):
2114 * tests/check/elements/multiqueue.c: (multiqueue_suite):
2115 Fix multiqueue leaking buffers and events when downstream or the
2116 queue are flushing. Make refcounting assumptions explicit and
2117 document them (shouldn't break existing code that uses it other than
2118 maybe leak miniobjects, but that already happens anyway). Add unit
2119 test for the most common flushing case. Fixes #423700.
2121 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
2123 * libs/gst/controller/gstcontroller.c:
2124 Clarify docs: The get_all, get_value_array(s) functions
2125 don't modify the GObject properties.
2127 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
2129 * libs/gst/controller/gstcontroller.c:
2130 (gst_controlled_property_set_interpolation_mode),
2131 (gst_controlled_property_prepend_default),
2132 (gst_controlled_property_new), (gst_controller_set_unlocked),
2133 (gst_controller_set), (gst_controller_set_from_list),
2134 (gst_controller_unset), (gst_controller_unset_all):
2135 * libs/gst/controller/gstcontrollerprivate.h:
2136 * libs/gst/controller/gstinterpolation.c:
2137 Factor out the 'set' logic into gst_controller_set_unlocked for the
2138 gst_controller_set and gst_controller_set_from_list functions.
2140 To make life of the interpolators easier always add a control point
2141 at timestamp zero with the default value.
2143 In the linear interpolator make things more obvious by better variable
2146 Implement cubic interpolation mode (by using a natural cubic spline)
2147 and map the quadratic interpolation mode to this too (as quadratic
2148 doesn't make much sense, see discussion on the list).
2150 * tests/check/libs/controller.c: (GST_START_TEST),
2151 (gst_controller_suite):
2152 Add unit test for the cubic interpolation mode and check everywhere
2153 if the interpolation mode could be set as expected.
2155 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2157 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2158 Don't use GLib-2.10 functions, we still depend on
2159 GLib-how-old-is-it-again-2.8.
2161 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2163 * docs/gst/gstreamer-sections.txt:
2167 * gst/gstparamspecs.c: (_gst_param_fraction_init),
2168 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2169 (_gst_param_fraction_values_cmp),
2170 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2171 * gst/gstparamspecs.h:
2173 * tests/check/Makefile.am:
2174 * tests/check/gst/.cvsignore:
2175 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2176 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2177 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2178 (GST_START_TEST), (gst_param_spec_suite):
2179 API: add GstParamSpecFraction, so elements can have fraction
2180 properties without lots of painful string parsing (#444648).
2182 2007-06-05 Wim Taymans <wim@fluendo.com>
2184 * gst/gstobject.c: (gst_object_class_init):
2185 Fix signal signature.
2188 Add small clarification in the api docs.
2190 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2191 States are protected with object lock.
2193 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2196 I should probably be listed as an author by now.
2198 * docs/random/release:
2199 Update the release doc
2201 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
2204 Make docs for gst_value_compare() mention return enums that
2207 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2212 === release 0.10.13 ===
2214 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2217 releasing 0.10.13, "With or without you"
2219 2007-05-25 Wim Taymans <wim@fluendo.com>
2221 * gst/gstbin.c: (bin_handle_async_done):
2222 Make sure that the child bin stops after completing the async state
2223 change so that the parent can continue the state change to PLAYING.
2226 2007-05-25 Wim Taymans <wim@fluendo.com>
2228 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2229 (unref_data), (gst_collect_pads_remove_pad),
2230 (gst_collect_pads_check_pads):
2231 Use additional refcounting to avoid crashes when dynamically adding and
2232 removing pads. Fixes #420206.
2234 2007-05-24 Wim Taymans <wim@fluendo.com>
2236 * tools/gst-launch.c: (event_loop):
2237 When buffering goes from a two digit to a single digit number, make sure
2238 to remove the old second digit by writing a blank over it.
2240 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
2242 * libs/gst/base/gstdataqueue.c:
2243 Eliminate tabs and trailing comma in enum list; fix some typos.
2245 2007-05-24 Wim Taymans <wim@fluendo.com>
2247 * tests/check/gst/gstbin.c: (GST_START_TEST):
2248 Allow refcount of 3 and 4 because some state thread might still be busy
2251 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
2253 * plugins/elements/Makefile.am:
2254 * plugins/elements/gstmultiqueue.h:
2255 * plugins/elements/gstqueue.h:
2256 These are not installed headers, no need for padding.
2258 2007-05-24 Wim Taymans <wim@fluendo.com>
2260 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2261 (gst_bin_continue_func):
2262 Enable latency for next release.
2263 Restore STATE_LOCK around recalc_state that was left out during the
2264 rewrite and could result in racy behaviour when _get_state and
2265 recalc_state are run concurrently. See #440463.
2267 2007-05-23 Wim Taymans <wim@fluendo.com>
2269 * tests/check/gst/gstsystemclock.c: (store_callback),
2271 Improve test_async_order to also work when both timers are already
2272 expired when we get scheduled to check it.
2274 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2276 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2277 (gst_bin_set_property), (gst_bin_get_property),
2278 (gst_bin_remove_func), (gst_bin_handle_message_func):
2280 'private' is a c++ keyword, let's not use that in header files,
2281 otherwise c++ compilers will throw a tantrum.
2283 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2285 * plugins/elements/gstelements.c:
2286 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2287 (gst_file_sink_get_current_offset):
2288 * plugins/indexers/gstindexers.c: (plugin_init):
2289 Use #ifdef for HAVE_XYZ for consistency.
2291 * tests/check/Makefile.am:
2292 * tests/check/elements/.cvsignore:
2293 * tests/check/elements/filesink.c: (setup_filesink),
2294 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2295 Add some unit tests for filesink.
2297 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2299 Patch by: Mark Nauwelaerts <manauw at skynet be>
2301 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2302 (gst_file_sink_query), (gst_file_sink_do_seek),
2303 (gst_file_sink_get_current_offset), (gst_file_sink_render):
2304 * plugins/elements/gstfilesink.h:
2305 Fix position reporting; rename data_written member to current_pos to
2306 reflect its real meaning (fixes #412648).
2308 2007-05-22 Edward Hervey <edward@fluendo.com>
2310 * docs/gst/gstreamer-sections.txt:
2311 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2312 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2313 (gst_bin_remove_func), (gst_bin_handle_message_func):
2315 Add a property for bins that handle the state change of their childs.
2318 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2320 * libs/gst/controller/gstinterpolation.c:
2321 Use an array of the correct type when using _get_value_array with
2322 linear interpolation.
2324 2007-05-22 Stefan Kost <ensonic@users.sf.net>
2326 * gst/gstelement.c (gst_element_requires_clock,
2327 gst_element_provides_clock, gst_element_request_pad,
2328 gst_element_class_set_details, gst_element_class_set_details_simple,
2329 gst_element_default_send_event, gst_element_abort_state,
2330 gst_element_continue_state, gst_element_set_state,
2331 gst_element_set_state_func, iterator_activate_fold_with_resync):
2332 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2333 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2334 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2335 gst_pad_get_range, gst_pad_pull_range):
2336 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2337 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2338 GstPadActivateModeFunction, GstPadChainFunction,
2339 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2340 GstPadFixateCapsFunction, GstPadTemplate):
2341 * gst/gstpipeline.c (gst_pipeline_change_state,
2342 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2343 gst_pipeline_set_clock, gst_pipeline_auto_clock,
2344 gst_pipeline_get_delay):
2345 Whitespace and docs fixes.
2347 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2349 * libs/gst/controller/gstinterpolation.c:
2350 (interpolate_trigger_get_enum_value_array),
2351 (interpolate_trigger_get_string_value_array):
2352 Add support for retrieving value arrays when using the trigger
2355 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2357 * libs/gst/controller/gstcontroller.c:
2358 (gst_controller_get_value_array):
2359 * libs/gst/controller/gstcontroller.h:
2360 Clarify the docs of gst_controller_get_value_array(): The array where
2361 the values should be written to must be allocated as there seems to be
2362 no way to get the size of a random GType. This doesn't change any
2363 behaviour. Also fix some typos all over the place and remove an unused,
2364 commented function that is not necessary as g_object_set() could be
2366 * tests/check/libs/controller.c: (GST_START_TEST),
2367 (gst_controller_suite):
2368 Add unit test for gst_controller_get_value_array().
2370 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
2372 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2374 Disable part of the gst_buffer_try_new_and_alloc test, because
2375 it can happily succeed on 64-bit systems where there's more address
2378 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2380 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2381 Add unit test for the improved caps checking from bug #421543.
2383 2007-05-21 Wim Taymans <wim@fluendo.com>
2385 * docs/design/part-synchronisation.txt:
2388 * gst/gstbin.c: (gst_bin_query):
2389 * plugins/elements/gstqueue.c: (apply_segment):
2395 2007-05-21 Wim Taymans <wim@fluendo.com>
2397 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2398 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2399 (gst_pad_configure_src):
2400 Added simple version of improved caps checking. It was previously
2401 assumed that a setcaps function would check the validity of the caps but
2402 people prefer us to check caps against the template automatically.
2405 2007-05-21 Wim Taymans <wim@fluendo.com>
2407 * libs/gst/base/gstbasetransform.h:
2408 Fix macro for locking/unlocking the transform lock.
2410 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
2412 * docs/plugins/tmpl/.cvsignore:
2415 2007-05-18 Edward Hervey <edward@fluendo.com>
2417 * plugins/elements/gstqueue.c: (gst_queue_loop):
2418 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2419 for the subtle art of warning a potentially blocking thread that it
2420 should check the source pad return value, and relay the information
2423 2007-05-18 Edward Hervey <edward@fluendo.com>
2425 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2426 Release the queue lock !
2428 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2430 * docs/libs/gstreamer-libs-sections.txt:
2431 Add the two new controller functions to the appropiate places.
2433 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2435 reviewed by: Stefan Kost <ensonic@users.sf.net>
2437 * libs/gst/controller/gstcontroller.c:
2438 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2439 (_gst_controller_get_property), (_gst_controller_set_property),
2440 (_gst_controller_init), (_gst_controller_class_init):
2441 * libs/gst/controller/gstcontroller.h:
2442 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2443 (gst_object_get_control_rate), (gst_object_set_control_rate):
2444 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2445 Add API that provides sync suggestion timestamps for elements that
2446 call gst_object_sync_values() from which those elements can subdivide
2447 their processing loop to get the best results for the controlled
2448 properties. For now it just suggests last_sync + control_rate as
2449 new timestamp but this will be improved in the future.
2451 While doing that change the control-rate property to a GstClockTime
2452 from guint and change it's meaning from samples to nanoseconds as
2453 the GstController doesn't know anything about sampling rate. Strictly
2454 speaking this breaks ABI but as the control-rate property didn't do
2455 anything in the past and as such couldn't be used this should be no
2458 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2460 reviewed by: Stefan Kost <ensonic@users.sf.net>
2462 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2463 (gst_controller_unset_all):
2464 * libs/gst/controller/gstcontrollerprivate.h:
2465 * libs/gst/controller/gstinterpolation.c:
2466 (gst_controlled_property_find_control_point_node):
2467 Save last synced value from the list to continue searching from there
2468 in future syncs. This speeds everything up a bit.
2470 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2472 reviewed by: Stefan Kost <ensonic@users.sf.net>
2474 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2475 (gst_control_point_find), (gst_controlled_property_new),
2476 (gst_control_point_free), (gst_controlled_property_free),
2477 (gst_controller_set), (gst_controller_set_from_list),
2478 (gst_controller_unset), (gst_controller_unset_all),
2479 (gst_controller_sync_values):
2480 * libs/gst/controller/gstcontroller.h:
2481 * libs/gst/controller/gstcontrollerprivate.h:
2482 * libs/gst/controller/gstinterpolation.c:
2483 (gst_controlled_property_find_control_point_node),
2484 (interpolate_none_get), (interpolate_trigger_get):
2485 Add a new private GstControlPoint struct which "inherits" from
2486 GstTimedValue to allow different interpolators to store internal
2487 values next to each control point. From the outside everything is
2488 still a GstControlPoint so we don't loose binary compatibility.
2489 Also fixup all the GValue handling to not leak GValues or list nodes.
2490 * tests/check/libs/controller.c: (GST_START_TEST):
2491 Free the list nodes and GValues in the controller_misc test.
2493 2007-05-17 Edward Hervey <edward@fluendo.com>
2498 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
2500 * gst/gstplugin.c: (gst_plugin_load_file):
2501 If we fail to load a plugin because of unresolved symbols or missing
2502 libraries and spew a warning to stderr, we may just as well mention
2503 which plugin it was that failed to load.
2505 2007-05-13 David Schleef <ds@schleef.org>
2507 * docs/Makefile.am: the gtk-doc makefile snippet correctly
2508 handles the case when ENABLE_GTK_DOC is false, and installs
2509 the prebuilt documentation. So gtk-doc subdirs are
2510 unconditionally enabled. Fixes: #349099.
2512 2007-05-13 David Schleef <ds@schleef.org>
2514 * gst/gstutils.h: Reword some documentation.
2516 2007-05-12 David Schleef <ds@schleef.org>
2518 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
2519 do anything with the passed "module" parameter, so remove it.
2520 Allows removal of additional vestigal code.
2522 2007-05-12 David Schleef <ds@schleef.org>
2525 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
2526 Switch to using g_stat() because it's more portable.
2528 2007-05-12 David Schleef <ds@schleef.org>
2531 Add GST_DISABLE_OPTION_PARSING, in order to disable option
2532 parsing for embedded systems.
2533 * gst/gstelementfactory.c:
2534 Allow gst_element_register() to be called with plugin==NULL.
2535 Did nobody notice that static elements were broken?
2537 2007-05-12 Wim Taymans <wim@fluendo.com>
2539 * tools/gst-launch.c: (event_loop):
2540 Give more interesting info when buffering starts and stops.
2541 Fix case where buffering starts but we fail to update the buffering flag
2542 because the target state is not PLAYING.
2544 2007-05-12 Wim Taymans <wim@fluendo.com>
2546 * plugins/elements/gstqueue.c: (gst_queue_init),
2547 (gst_queue_finalize), (update_time_level), (apply_segment),
2548 (apply_buffer), (gst_queue_locked_flush),
2549 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
2550 (gst_queue_handle_sink_event), (gst_queue_chain),
2551 (gst_queue_push_one), (gst_queue_loop):
2552 * plugins/elements/gstqueue.h:
2553 Refactor an cleanup queue a bit.
2554 Do better time level calculations that also work when the srcpad is not
2556 Remove some unneeded debug lines.
2558 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
2559 Added testcase for time level measurement.
2560 Try to make some stuff more racefree.
2562 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
2564 * gst/gsturi.c: (gst_element_make_from_uri):
2565 Don't leak plugin feature.
2567 * tests/check/Makefile.am:
2568 * tests/check/gst/.cvsignore:
2569 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
2570 Add brain-dead unit test.
2572 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
2574 Patch by: Jeroen Wouters <woutersj at gmail com>
2576 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
2577 Treat protocol strings in a case-insensitive way (#437563).
2579 2007-05-11 Michael Smith <msmith@fluendo.com>
2581 * gst/gstplugin.c: (gst_plugin_load_file):
2582 * gst/gstregistry.c: (gst_registry_scan_path_level):
2583 Don't print a g_warning for any failure to load a shared object.
2584 Instead, push this down into gstplugin.c, and warn _only_ if we
2585 failed to open the module (i.e. failure to link).
2586 Avoids warnings on normal, working, non-plugin .so files.
2588 2007-05-11 Stefan Kost <ensonic@users.sf.net>
2590 * gst/gstplugin.c (gst_plugin_load_file):
2591 * gst/gstregistry.c (GST_CAT_DEFAULT,
2592 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
2593 Print a g_warning if there was an error when loading a plugins during
2594 registry scan. The shuld help beginners starting with gst-plugin
2597 2007-05-10 Wim Taymans <wim@fluendo.com>
2599 * plugins/elements/gstqueue.c: (gst_queue_class_init),
2600 (update_time_level), (gst_queue_locked_flush),
2601 (gst_queue_handle_sink_event), (gst_queue_chain),
2602 (gst_queue_push_one), (gst_queue_loop):
2603 * plugins/elements/gstqueue.h:
2604 Be smarter when calculating the current amount of data in the queue by
2605 measuring the difference between start and end timestamps (in running
2606 time) inside the queue. Fixes #432876.
2607 API: GstQueue::pushing to notify elements that we are pushing data again
2608 since the running signal is rather broken for this purpose.
2610 2007-05-10 Stefan Kost <ensonic@users.sf.net>
2612 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
2613 gst_queue_base_init, gst_queue_init):
2616 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
2618 * win32/common/libgstreamer.def:
2619 Add new exported functions.
2620 * win32/vs6/grammar.dsp:
2621 Use grammar pre-generated files.
2623 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
2625 Based on patch by: Peter Kjellerstedt <pkj at axis com>
2628 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
2630 * gst/gstutils.c: (gst_parse_bin_from_description):
2632 Maintain API and ABI when --disable-parse is used. Now that
2633 we have an appropriate error code, we can just return NULL and the
2634 appropriate error when gst_parse_launch() is used despite it having
2635 been disabled (#342564).
2637 * tests/check/Makefile.am:
2638 * tests/check/pipelines/.cvsignore:
2639 * tests/check/pipelines/parse-disabled.c:
2640 Make sure these functions exist and return NULL plus a GError when
2641 --disable-parse is used.
2643 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
2645 * tests/benchmarks/complexity.c: (main):
2646 * tests/benchmarks/mass-elements.c: (main):
2647 Set a good example and don't leak messages.
2649 2007-05-06 Stefan Kost <ensonic@users.sf.net>
2651 * docs/gst/Makefile.am:
2652 * docs/libs/Makefile.am:
2653 Correct fixxrefs options.
2655 * docs/plugins/Makefile.am:
2656 * docs/plugins/gstreamer-plugins-docs.sgml:
2657 * docs/plugins/gstreamer-plugins-sections.txt:
2658 * plugins/elements/Makefile.am:
2659 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
2660 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
2661 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
2662 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
2663 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
2664 _GstCapsFilterClass, trans_class):
2665 * plugins/elements/gstelements.c (name, rank, type, _elements):
2666 * plugins/elements/gstidentity.c
2667 (gst_identity_check_imperfect_timestamp,
2668 gst_identity_check_imperfect_offset):
2669 Document capsfilter and add doc-blurb to identity.
2671 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
2673 * libs/gst/controller/gstcontroller.c:
2674 (gst_controlled_property_set_interpolation_mode):
2675 * libs/gst/controller/gstinterpolation.c:
2676 Don't crash if someone tries to set an interpolation mode that
2677 is invalid or that isn't supported yet. Fixes #422295.
2679 * tests/check/libs/controller.c: (GST_START_TEST),
2680 (gst_controller_suite):
2681 Add a test case for the above.
2683 2007-05-03 Edward Hervey <edward@fluendo.com>
2685 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2686 Properly set the last_stop position on GstSegment. This will only happen
2687 if there is a buffer to push out.
2689 2007-05-03 Wim Taymans <wim@fluendo.com>
2691 * libs/gst/base/gstbasetransform.c:
2692 (gst_base_transform_buffer_alloc):
2693 always_in_place does not mean that the sink and source caps are the
2694 same! Make sure we don't blindly proxy the buffer_alloc in this case.
2696 2007-05-03 Wim Taymans <wim@fluendo.com>
2698 * docs/libs/gstreamer-libs-sections.txt:
2699 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2700 (gst_base_src_default_query), (gst_base_src_get_range):
2701 * libs/gst/base/gstbasesrc.h:
2702 API: gst_base_src_query_latency(). Added method so that subclasses can
2703 easily get the latency values of the base source class.
2705 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
2707 * tools/gst-inspect.c (print_implementation_info):
2710 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
2712 * tools/Makefile.am:
2713 * tools/gst-launch.1.in:
2714 Don't create a customised man page based on the host architecture,
2715 describe the default registry path generically. That way the man
2716 page is the same for all architectures and packagers have one
2717 multilib issue less to deal with. Fixes #434926.
2719 2007-05-02 Wim Taymans <wim@fluendo.com>
2722 Fix documentation as spotted by rg on IRC.
2724 2007-04-29 Stefan Kost <ensonic@users.sf.net>
2727 Improve docs for gst_element_{link,unlink}.
2729 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
2731 * docs/design/part-events.txt:
2732 * docs/design/part-overview.txt:
2736 * libs/gst/base/gstbasesink.c:
2737 Typo fixes; minor docs addition.
2739 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2741 * docs/gst/gstreamer-sections.txt:
2742 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2743 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2745 API: Add gst_uri_protocol_is_supported(), which checks if a sink
2746 or src that supports a given URI protocol exists.
2748 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2750 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2751 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2752 Set the location to NULL if "file://" is set as URI. Otherwise
2753 some random previous URI would still be set if "file://" is
2754 set on an already used filesink/filesrc.
2756 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2758 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2759 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2760 Special case the "file://" URI as as this is used by some
2761 applications to test with gst_element_make_from_uri if there's
2762 an element that supports the URI protocol.
2763 Also move the g_path_is_absolute() check for the location part
2764 of the URI to also check this for "file://localhost/bla" URIs.
2766 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
2768 * docs/gst/gstreamer-sections.txt:
2769 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
2771 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2773 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2775 2007-04-26 Stefan Kost <ensonic@users.sf.net>
2777 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2778 (gst_registry_binary_load_pad_template),
2779 (gst_registry_binary_load_plugin),
2780 (gst_registry_binary_read_cache):
2781 * gst/gstregistrybinary.h:
2782 Implement no-mmap alternative for registry reading. Do code cleanups.
2783 Add more comments about avoiding strdups for all text data. Comments
2786 2007-04-25 Stefan Kost <ensonic@users.sf.net>
2788 * gst/gstregistrybinary.h (GstBinaryPluginElement,
2789 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
2790 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
2791 Comment structs and reformat to fix the build (that stuff should go
2792 into a priv. header).
2794 2007-04-25 Stefan Kost <ensonic@users.sf.net>
2796 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2797 (gst_registry_binary_load_feature):
2798 * gst/gstregistrybinary.h:
2799 Refactor so that we can implement multiple features. Add support for
2800 TypeFindFactory features.
2802 2007-04-24 Stefan Kost <ensonic@users.sf.net>
2804 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
2807 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
2809 2007-04-23 Stefan Kost <ensonic@users.sf.net>
2811 * gst/gstbin.c: (gst_bin_element_set_state),
2812 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
2813 (bin_handle_async_done), (gst_bin_handle_message_func):
2814 Fix build with --gst-disable-gst-debug
2816 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
2818 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
2819 Make sure streaming has finished before calling the ::stop() vfunc,
2820 since that vfunc might clear state which is being used in the
2821 streaming thread. This fixes a race that caused crashes in
2822 audioresample when shutting down a pipeline (#420106).
2824 2007-04-20 Stefan Kost <ensonic@users.sf.net>
2826 * docs/gst/gstreamer-sections.txt:
2827 That was one byte missing.
2829 2007-04-20 Stefan Kost <ensonic@users.sf.net>
2832 * docs/gst/gstreamer-sections.txt:
2834 * gst/gstconfig.h.in:
2835 * gst/gstobject.c: (gst_object_class_init),
2836 (gst_signal_object_class_init):
2838 2nd attempt to have a xml-less build as a joined effort of #413123
2841 2007-04-20 Stefan Kost <ensonic@users.sf.net>
2843 * docs/design/draft-tagreading.txt:
2844 Added open issues/thoughts to draft.
2846 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2848 * gst/parse/grammar.tab.pre.c:
2849 * gst/parse/grammar.tab.pre.h:
2850 * gst/parse/lex._gst_parse_yy.pre.c:
2851 Update the prebuild parser sources.
2853 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2855 * gst/parse/Makefile.am:
2856 And now fix the building of the flex sources. Now everything should
2859 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2861 * gst/parse/Makefile.am:
2862 Now hopefully fix the build failures by setting proper rule
2863 dependencies and moving instead of copying.
2865 2007-04-19 Stefan Kost <ensonic@users.sf.net>
2867 * tests/benchmarks/complexity.gnuplot:
2868 * tests/benchmarks/complexity.scm:
2869 * tests/benchmarks/mass-elements.gnuplot:
2870 * tests/benchmarks/mass-elements.scm:
2871 Total licensification.
2873 2007-04-19 Stefan Kost <ensonic@users.sf.net>
2875 * gst/parse/Makefile.am:
2876 Fix the build by correcting the rule that gave wrong files to flex.
2878 2007-04-19 Stefan Kost <ensonic@users.sf.net>
2880 * tests/benchmarks/complexity.c:
2881 * tests/benchmarks/mass-elements.c:
2882 Change licence to LGPL as granted by Benjamin and Andy.
2884 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2886 * gst/parse/Makefile.am:
2887 Add correct grammar.tab.h dependency if compiling without new enough
2888 flex. Fixes #431150.
2890 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
2892 * gst/parse/Makefile.am:
2893 Fix typo and use outdated sources if the flex/bison sources are newer
2894 than the pregenerated ones but flex is too old. Print a warning in
2895 that case. This should fix the build on the build bot.
2897 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
2899 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
2900 * gst/parse/Makefile.am:
2901 * gst/parse/grammar.y:
2902 * gst/parse/parse.l:
2903 Make the parser reentrant and recursively callable. This requires flex
2904 >= 2.5.31, for older versions pregenerated sources are used as we
2905 can't bump the build dependency. Finally fixes #349180.
2907 * gst/gstparse.c: (gst_parse_launch):
2908 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
2911 * docs/gst/Makefile.am:
2912 * docs/gst/Makefile.am:
2913 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
2914 (__gst_parse_strfree), (__gst_parse_link_new),
2915 (__gst_parse_link_free), (__gst_parse_chain_new),
2916 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
2917 (gst_parse_element_set), (gst_parse_free_link),
2918 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
2919 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
2920 (_gst_parse_launch):
2921 * gst/parse/grammar.tab.pre.h:
2922 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
2923 (yy_get_previous_state), (yy_try_NUL_trans), (input),
2924 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
2925 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
2926 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
2927 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
2928 (_gst_parse_yypop_buffer_state),
2929 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
2930 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
2931 (yy_fatal_error), (_gst_parse_yyget_extra),
2932 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
2933 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
2934 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
2935 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
2936 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
2937 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
2938 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
2939 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
2940 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
2941 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
2942 (_gst_parse_yyfree):
2943 If the installed flex version is too old use pre-generated parser
2944 sources. These pre-generated parser sources are always updated when
2945 the actual flex/bison sources change but require everybody who wants
2946 to change something in the parser to have flex >= 2.5.31 installed.
2948 2007-04-18 Stefan Kost <ensonic@users.sf.net>
2950 * common/m4/gst-gettext.m4:
2951 * gst/gst-i18n-lib.h:
2952 Make --disable-nls to work
2954 2007-04-17 Wim Taymans <wim@fluendo.com>
2956 * gst/gstconfig.h.in:
2957 Revert previous change that broke the build.
2959 2007-04-17 Stefan Kost <ensonic@users.sf.net>
2963 * gst/gstconfig.h.in:
2964 Drop libxml2 dependency when building with
2965 --enable-binary-registry --disable-loadsave
2967 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
2969 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2970 (gst_registry_binary_read_cache):
2971 * gst/gstregistrybinary.h:
2972 Remove unnecessary <sys/mman.h> include which broke the win32 build
2973 with MingW; move includes from header file to .c file, even if the
2974 header file isn't installed; use g_strerror() where UTF-8 strings
2975 are expected, such as in GST_DEBUG messages.
2977 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
2979 * docs/libs/gstreamer-libs-sections.txt:
2980 Remove bogus addition for API I didn't end up keeping.
2982 * libs/gst/base/gstbasesrc.h:
2983 Mention Since: 0.10.13 in the documentation.
2985 Add the API keyword to the previous ChangeLog entry.
2987 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
2989 * docs/libs/gstreamer-libs-sections.txt:
2990 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2991 (gst_base_src_default_prepare_seek_segment),
2992 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
2993 * libs/gst/base/gstbasesrc.h:
2994 Allow basesrc derived classes to execute seeks in other formats
2995 by providing a prepare_seek_segment vmethod. Sub-classes can choose
2996 to prepare the GstSegment in any format that their perform_seek method
2997 will be able to understand. The default implementation provides the
2998 old behaviour of attempting to convert the seek offsets to the
2999 configured native format.
3001 API: basesrc::prepare_seek_segment vmethod.
3003 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3005 * gst/gstelement.c: (gst_element_get_state_func):
3006 Don't output the same debug statement twice.
3008 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3009 (gst_adapter_peek), (gst_adapter_take_buffer):
3010 Optimise the case where we have buffers at the head of the queue that
3011 can be joined quickly (because they're contiguous sub-buffers) by
3012 merging them together rather than copying data out into new memory.
3014 * gst/parse/grammar.y:
3015 * tests/check/pipelines/parse-launch.c:
3016 Fix a leak in an error path for parse_launch, and add a check
3017 for it to the testsuite.
3019 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3021 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3022 Don't deadlock when releasing a pad - gst_pad_set_active may try
3023 and take the multiqueue lock too.
3025 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
3027 * gst/gsterror.c: (_gst_core_errors_init):
3029 API: add GST_CORE_ERROR_DISABLED (#392804).
3031 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
3033 * docs/faq/gst-uninstalled:
3034 don't get empty paths on the PATH variables
3035 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3036 Don't format for the uncommon terminal width of 84 characters.
3038 2007-04-06 Wim Taymans <wim@fluendo.com>
3040 * gst/gstpipeline.c: (reset_stream_time),
3041 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3042 Only try to select a different pipeline clock when we went back to
3043 PAUSED and not when we merely got flushed.
3045 2007-04-05 Michael Smith <msmith@fluendo.com>
3047 * tools/gst-launch.1.in:
3048 fractions are better supported in gstreamer than ractions, so
3049 suggest using those.
3051 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
3053 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3057 Added Danish translation.
3059 2007-04-05 Wim Taymans <wim@fluendo.com>
3061 * libs/gst/base/gstbasesink.c:
3062 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3063 Fix leak caused when refusing newsegment after EOS.
3065 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3066 (gst_fake_sink_init), (gst_fake_sink_set_property),
3067 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3068 (gst_fake_sink_render), (gst_fake_sink_change_state):
3069 * plugins/elements/gstfakesink.h:
3070 Add num-buffers property to make the element generate EOS after a
3071 configurable amount of buffers.
3072 API: fakesink::num-buffers property.
3074 * tests/check/elements/fakesink.c: (GST_START_TEST),
3076 Fix GstBus leak in test.
3077 Test for fakesink num-buffers.
3079 2007-04-05 Wim Taymans <wim@fluendo.com>
3081 * libs/gst/base/gstbasesink.c:
3082 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3083 (gst_base_sink_change_state):
3084 Don't accept anything after an EOS, return UNEXPECTED instead.
3086 * tests/check/elements/fakesink.c: (GST_START_TEST),
3088 Unit test for new EOS behaviour.
3090 2007-04-05 Wim Taymans <wim@fluendo.com>
3092 * gst/gstelement.c: (gst_element_get_request_pad):
3093 Make padtemplates also work when they don't contain %s or %d.
3095 2007-04-05 Wim Taymans <wim@fluendo.com>
3097 * docs/gst/gstreamer-sections.txt:
3098 * gst/gstclock.c: (gst_clock_adjust_unlocked),
3099 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3101 Improve _adjust_unlocked() so that it overflows less.
3102 Add gst_clock_unadjust_unlocked to convert from external time to
3103 internal time based on calibration.
3104 Add some more debug.
3105 API: GstClock::gst_clock_unadjust_unlocked()
3107 2007-04-03 Wim Taymans <wim@fluendo.com>
3109 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3111 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3112 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3113 when releasing sink pad. Fixes #425400.
3115 2007-04-02 Stefan Kost <ensonic@users.sf.net>
3117 * docs/random/ensonic/dynlink.txt:
3118 More work on proposal for new core api.
3120 * docs/libs/gstreamer-libs-sections.txt:
3121 * libs/gst/base/gstbasetransform.h:
3122 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3124 * libs/gst/controller/gstcontroller.c:
3125 (on_object_controlled_property_changed),
3126 (gst_controller_sync_values),
3127 (gst_controller_set_interpolation_mode):
3128 * libs/gst/controller/gstcontroller.h:
3129 Less verbose logging add docs for unimplemented parts and correctly
3130 return when using unavailable parts.
3132 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
3134 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3135 Move all the debug to the CLOCK category, and associate it with
3138 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
3140 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3141 Make take_buffer a bit quicker by removing redundant checks
3142 caused by calling gst_adapter_take.
3144 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
3146 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3149 * tests/check/Makefile.am:
3150 * tests/check/elements/.cvsignore:
3151 * tests/check/elements/multiqueue.c: (setup_multiqueue),
3152 (GST_START_TEST), (multiqueue_suite):
3153 Add some dead simple unit tests for the 'multiqueue' element
3154 (some bits don't work yet and are disabled for now).
3156 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
3158 * gst/gstelement.c: (gst_element_get_request_pad),
3159 (gst_element_class_get_request_pad_template):
3160 Make gst_element_get_request_pad() create request pads only for
3161 request pad templates and not for, say, sometimes pad templates.
3163 2007-03-28 Stefan Kost <ensonic@users.sf.net>
3165 * docs/design/draft-klass.txt:
3166 Add example that needs more thinking.
3168 * docs/design/draft-missing-plugins.txt:
3169 More thoughts about wrapper plugins.
3171 * docs/random/ensonic/embedded.txt:
3172 * docs/random/ensonic/profiling.txt:
3175 2007-03-25 Wim Taymans <wim@fluendo.com>
3177 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3178 (gst_base_src_loop):
3179 Only push the segment events in the PLAYING state for live sources.
3181 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
3183 * gst/gstpipeline.c: (gst_pipeline_change_state):
3184 Modify the clock distribution path in PAUSED->PLAYING so that we
3185 never attempt to choose a new clock unless we're actually leaving
3186 the PAUSED state for the first time. This prevents choosing a
3187 different clock when the state_change gets called for a 2nd time due
3188 to some element doing an async state change.
3190 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3192 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3193 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3194 (gst_pad_chain_unchecked), (gst_pad_push):
3195 Revert last commit. This needs some more thoughts.
3197 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3199 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3200 (gst_pad_chain_unchecked), (gst_pad_push):
3201 Check in set_caps if the caps are compatible with the pad and remove
3202 two functions that are redundant now. Fixes #421543.
3204 2007-03-22 Wim Taymans <wim@fluendo.com>
3206 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3207 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3208 Unref some more to make valgrind happy.
3210 2007-03-22 Wim Taymans <wim@fluendo.com>
3212 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3213 (gst_system_clock_id_wait_jitter),
3214 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3215 Fix anoying regression that survived a few releases. When adding an
3216 async entry while blocking on a sync entry, the sync entry will unblock
3217 but still be busy, so it should continue to wait instead of returning
3219 Add some comments here and there.
3221 * tests/check/gst/gstsystemclock.c: (mixed_thread),
3222 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3223 Add testcase for this.
3225 2007-03-22 Wim Taymans <wim@fluendo.com>
3227 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3228 Handle errors from the clock sync better, only UNSCHEDULED indicates a
3229 WRONG_STATE and can silently pause the task. All other cases should
3232 2007-03-22 Wim Taymans <wim@fluendo.com>
3234 Patch by: Ville Syrjala <syrjala at sci dot fi>
3236 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3237 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
3240 2007-03-21 Michael Smith <msmith@fluendo.com>
3242 * docs/pwg/advanced-types.xml:
3243 Fix some errors in the typefinding docs pointed out on irc.
3245 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
3247 * libs/gst/base/gstbasesrc.c:
3248 Clarify FIXME comment in the face of having added unlock_stop()
3250 2007-03-21 Wim Taymans <wim@fluendo.com>
3252 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3253 Prepare for release where we warn against possible app breakage in the
3254 case of live pipelines along with an env var to enable/disable live
3255 preroll mode (GST_COMPAT=[no-]live-preroll).
3257 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3259 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3260 So we should use correct constants for checking for None offset.
3262 2007-03-20 Wim Taymans <wim@fluendo.com>
3264 * docs/design/part-block.txt:
3265 Mention the fact that the newly switched element should be set to at
3268 2007-03-20 Wim Taymans <wim@fluendo.com>
3271 Fix compilation with registry disabled as spotted by Saur.
3273 2007-03-20 Wim Taymans <wim@fluendo.com>
3275 Patch by: Olivier Crete <tester at tester dot ca>
3277 * gst/gstelement.c: (gst_element_sync_state_with_parent):
3278 Look at the pending state too when syncing the element state to the
3279 parent. Fixes #420133.
3281 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
3283 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3284 (gst_base_sink_change_state):
3285 * libs/gst/base/gstbasesink.h:
3286 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3287 (gst_base_src_default_event), (gst_base_src_unlock_stop),
3288 (gst_base_src_deactivate):
3289 * libs/gst/base/gstbasesrc.h:
3290 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3291 for sub-classes to correctly clear any state they set trying to
3292 unlock, such as clearing out unlock commands from a command fd.
3293 API: basesrc::unlock_stop
3294 API: basesink::unlock_stop
3296 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3297 (gst_fd_sink_render), (gst_fd_sink_unlock),
3298 (gst_fd_sink_unlock_stop):
3299 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3300 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3301 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3303 Implement unlock_stop in fdsrc and fdsink.
3304 Implement seeking in fdsrc when a seekable fd is passed, as in
3305 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
3307 2007-03-19 Wim Taymans <wim@fluendo.com>
3309 Patch by: Evan Nemerson <evan at coeus dash group dot com>
3311 * gst/gstelement.c: (gst_element_class_init):
3312 Fix pad-added and pad-removed signal signatures so that the pad type is
3313 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
3315 2007-03-19 Wim Taymans <wim@fluendo.com>
3317 * docs/gst/gstreamer-sections.txt:
3318 Add new element field and method.
3320 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3321 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
3322 (gst_bin_recalc_state), (gst_bin_get_state_func),
3323 (gst_bin_element_set_state), (gst_bin_change_state_func),
3324 (gst_bin_continue_func), (bin_bus_handler),
3325 (bin_push_state_continue), (bin_handle_async_start),
3326 (bin_handle_async_done), (gst_bin_handle_message_func):
3327 Make async state changes a bit smarter by using new ASYNC_START and
3328 ASYNC_DONE messages. This reduces the number of times we run the state
3329 recalculation thread.
3330 Don't change state of element with a pending ASYNC_START message.
3331 Deprecate STATE_DIRTY messages.
3333 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
3334 (gst_element_get_state_func), (gst_element_continue_state),
3335 (gst_element_lost_state), (gst_element_set_state_func),
3336 (gst_element_change_state):
3338 Keep the state that was last set by the app in a new element field.
3339 Don't allow state changes when handling an element event.
3340 Post ASYNC_START and ASYNC_DONE messages.
3341 Change lost_state so that we go to PAUSED and wait for the parent to set
3342 us to PLAYING again (so latency calculation can be performed)
3343 Export gst_element_change_state() method so that subclasses can use it.
3344 API: gst_element_change_state()
3345 API: GST_STATE_TARGET
3347 * gst/gstpipeline.c: (gst_pipeline_class_init),
3348 (reset_stream_time), (gst_pipeline_change_state),
3349 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
3350 Using the new ASYNC_START message we can reset the base_time when
3351 needed. This can then be used to implement base_time redistribution in
3352 flushing seeks so that we can remove the explicit seek handling.
3353 Perform latency query and configuration when going to PLAYING.
3355 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3356 (gst_base_sink_query), (gst_base_sink_change_state):
3357 Post new ASYNC_START/ASYNC_DONE messages.
3359 * tests/check/generic/sinks.c: (GST_START_TEST):
3360 Fix test because the bin will not set the async element to PLAYING right
3363 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
3364 Make the message check a little stronger.
3365 Handle ASYNC messages.
3367 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
3368 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
3369 Expect ASYNC_DONE messages.
3371 2007-03-19 Wim Taymans <wim@fluendo.com>
3373 * docs/gst/gstreamer-sections.txt:
3374 * gst/gstmessage.c: (gst_message_new_async_start),
3375 (gst_message_new_async_done), (gst_message_parse_info),
3376 (gst_message_parse_async_start):
3378 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
3381 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
3383 * tools/gst-inspect.c:
3384 (print_plugin_automatic_install_info_codecs):
3385 Now that we don't check for the 'Codec' keyword any longer in the
3386 klass, we shouldn't spew a warning if the klass isn't a decoder or
3387 encoder (since it might be a Source/Network, for example).
3389 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
3391 * tools/gst-inspect.c:
3392 (print_plugin_automatic_install_info_codecs):
3393 Don't require decoder/demuxer/depayloader elements or
3394 encoder/muxer/paylader elements to have 'Codec' as part of their
3395 factory class string when introspecting a plugin's capabilities.
3396 draft-klass.txt mentions that it might be removed in future, and
3397 flump3dec doesn't have it as part of its class string, so chances
3398 are others might also not have it.
3400 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
3422 Update translations from translation project
3424 2007-03-14 Stefan Kost <ensonic@users.sf.net>
3426 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
3427 (gst_child_proxy_set_property):
3428 Invert precondition check to be alike the ones in the mimiced gobject
3431 2007-03-13 Stefan Kost <ensonic@users.sf.net>
3433 * docs/design/draft-tagreading.txt:
3434 * docs/random/ensonic/audiobaseclasses.txt:
3435 Do some Architect work.
3437 * gst/gstobject.c: (gst_object_set_name):
3441 Add docs that point from gst_pad_get_range to gst_pad_pull_range
3443 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
3445 * gst/gstsystemclock.c: (gst_system_clock_init),
3446 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
3447 Defer starting the async system clock thread until the first async
3448 wait is scheduled. Fixes #414986.
3450 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
3452 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
3453 (gst_single_queue_free):
3454 Fix small leak (free GstSingleQueue structure too, not only contents).
3456 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
3458 * gst/gstbin.c:(gst_bin_add):
3459 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
3460 * win32/common/libgstbase.def:
3461 * win32/common/libgstreamer.def:
3462 Add new exported functions.
3464 2007-03-09 Wim Taymans <wim@fluendo.com>
3466 * docs/plugins/gstreamer-plugins-sections.txt:
3469 2007-03-09 Wim Taymans <wim@fluendo.com>
3471 * docs/gst/gstreamer-sections.txt:
3472 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
3474 Add metadata copy functions. Fixes #393099.
3475 API: gst_buffer_copy_metadata()
3477 * gst/gstutils.c: (gst_buffer_stamp):
3478 * libs/gst/base/gstbasetransform.c:
3479 (gst_base_transform_prepare_output_buffer):
3480 Use new metadata copy functions.
3482 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
3484 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3485 (gst_identity_init), (gst_identity_check_perfect),
3486 (gst_identity_check_imperfect_timestamp),
3487 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
3488 (gst_identity_set_property), (gst_identity_get_property):
3489 * plugins/elements/gstidentity.h:
3490 Separate out check-imperfect-timestamp and check-imperfect-offset.
3491 Put back check-perfect as it was to keep compatibility.
3493 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
3495 * gst/gstelement.c: (gst_element_dispose):
3496 There's no need to warn if VOID_PENDING is not NONE here, as
3497 long as the state is NULL it's ok, and that's checked immediately
3500 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3502 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3503 Fix check for perfect stream to ignore buffers with -1
3504 offsets/offset ends when checking data contiguity.
3506 2007-03-08 Wim Taymans <wim@fluendo.com>
3508 * tools/gst-launch.c: (event_loop):
3509 Print INFO messages.
3511 2007-03-08 Wim Taymans <wim@fluendo.com>
3513 * libs/gst/base/gstbasetransform.c:
3514 (gst_base_transform_sink_eventfunc),
3515 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3516 (gst_base_transform_activate):
3517 * libs/gst/base/gstbasetransform.h:
3518 Add support for dropping buffers with custom GstFlowReturn.
3519 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
3520 buffers or dropped buffers.
3522 * docs/libs/gstreamer-libs-sections.txt:
3523 docs for new custom return code.
3525 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3526 Use drop support in base class to implement drop-probability.
3528 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
3530 * gst/gst.c: (load_plugin_func):
3531 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
3532 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3533 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
3534 Remove newlines at end of debug log strings.
3536 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3538 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3539 Only post bus message at max, once per buffer received.
3541 2007-03-07 Wim Taymans <wim@fluendo.com>
3543 * docs/design/Makefile.am:
3544 * docs/design/part-synchronisation.txt:
3545 Add doc about synchronisation
3547 * docs/design/draft-latency.txt:
3548 * docs/design/part-TODO.txt:
3549 * docs/design/part-clocks.txt:
3550 * docs/design/part-events.txt:
3551 * docs/design/part-gstbus.txt:
3552 * docs/design/part-gstpipeline.txt:
3553 * docs/design/part-live-source.txt:
3554 * docs/design/part-messages.txt:
3555 * docs/design/part-overview.txt:
3556 * docs/design/part-streams.txt:
3557 * docs/design/part-trickmodes.txt:
3558 Documentation updates.
3560 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
3563 Update the doap file.
3565 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3567 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3568 Rename non-perfect to imperfect for Mike and for the sanctity of the
3570 Also make sure bus message gets emitted for data-incontiguities.
3572 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3574 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
3575 (gst_identity_start):
3576 * plugins/elements/gstidentity.h:
3577 Emit bus message if check-perfect is true and we encounter a
3578 non-perfect stream between 2 consecutive buffers.
3581 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
3586 === release 0.10.12 ===
3588 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
3591 releasing 0.10.12, "Inevitable Demise"
3593 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
3596 Version 0.10.11.2 (0.10.12 pre-release)
3597 Bump libtool versioning.
3599 2007-03-01 Stefan Kost <ensonic@users.sf.net>
3601 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3602 Log flow-names and not numbers.
3604 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
3607 Convert to new AG_GST style.
3609 2007-02-28 Wim Taymans <wim@fluendo.com>
3611 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
3612 Don't unref query twice.
3614 2007-02-28 Wim Taymans <wim@fluendo.com>
3616 * gst/gstvalue.c: (gst_value_transform_object_string),
3617 (_gst_value_initialize):
3618 Implement GstObject -> string transform so we print object names
3619 when serializing GValues containing GstObjects.
3621 2007-02-28 Wim Taymans <wim@fluendo.com>
3623 * docs/gst/gstreamer-sections.txt:
3624 Add new stuff to docs.
3626 2007-02-28 Wim Taymans <wim@fluendo.com>
3628 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3629 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
3630 (gst_base_sink_change_state):
3631 Improve latency query code.
3632 Don't leak latency events.
3634 * tests/check/gst/gstbin.c: (GST_START_TEST):
3637 2007-02-28 Wim Taymans <wim@fluendo.com>
3639 * gst/gstelement.c: (gst_element_message_full),
3640 (gst_element_get_state_func):
3642 Improve docs a little. Added Since: for new macro.
3644 * gst/gstobject.c: (gst_object_sink):
3645 * gst/gstpipeline.c: (gst_pipeline_change_state),
3646 (gst_pipeline_set_new_stream_time):
3647 * gst/gstpipeline.h:
3648 Improve debugging and docs.
3650 * gst/gstutils.c: (gst_element_state_change_return_get_name):
3653 2007-02-28 Wim Taymans <wim@fluendo.com>
3655 * gst/gstelement.c: (gst_element_message_full),
3656 (gst_element_set_locked_state), (gst_element_get_state_func),
3657 (gst_element_change_state):
3658 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
3659 Documentation updates.
3660 Small code cleanups.
3662 * gst/gstmessage.c: (gst_message_new_info),
3663 (gst_message_parse_info):
3665 API: gst_message_new_info()
3666 API: gst_message_parse_info()
3667 Add INFO message create and parse code.
3669 2007-02-28 Wim Taymans <wim@fluendo.com>
3671 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
3672 (bin_query_latency_done):
3673 Also report the live parameter of a latency query.
3675 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
3677 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
3678 Copy the current generic/states example from -base and adapt so
3679 we can use the exact same code everywhere.
3680 Check a STATES_IGNORE_ELEMENTS env var which can be used
3681 to ignore certain element factories for this test, which is
3682 what is being done in -base
3683 * tests/check/Makefile.am:
3684 Mention this environment variable.
3686 2007-02-27 Wim Taymans <wim@fluendo.com>
3688 * docs/gst/gstreamer-sections.txt:
3689 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3690 (gst_bus_timed_pop), (gst_bus_pop):
3692 API: gst_bus_timed_pop()
3693 Implement gst_bus_timed_pop() to do a blocking timed wait for a
3694 message to arrive on the bus.
3696 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
3698 Two unit tests for new _timed_pop() function.
3700 2007-02-23 Wim Taymans <wim@fluendo.com>
3702 * gst/gstpipeline.c: (gst_pipeline_change_state),
3703 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
3704 Don't ref a NULL clock in _provide_clock_func().
3705 Don't allow an INVALID delay.
3706 Don't try to calculate base_time with an invalid start_time.
3707 Also distribute and notify a NULL clock when it was selected.
3709 * tools/gst-launch.c: (event_loop):
3710 Don't crash when a NULL clock was selected in the pipeline.
3712 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
3714 * docs/design/Makefile.am:
3715 * docs/design/draft-missing-plugins.txt:
3716 * docs/random/draft-missing-plugins.txt:
3717 Some small updates: update plugin system identifier prefix
3718 ('gstreamer.net' to 'gstreamer'), mention our new install
3719 API in libgstbaseutils rather than libgimme-codec, add
3720 reference to the online docs.
3722 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
3724 * win32/common/config.h:
3725 Pretty sure Bill never made a powerpc version. Powerpc hackers,
3726 use moap cl ci to only check in what is mentioned in the ChangeLog.
3728 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
3730 * docs/gst/gstreamer-sections.txt:
3732 Fix up documentation to link to the correct GstGError section.
3733 Add GST_ELEMENT_INFO macro since someone else added a Info message.
3735 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
3737 * tools/gst-launch.c: (event_loop):
3738 Make sure that we actually show the important message part of a
3740 No need to check if the gerror is not NULL to free; first of all
3741 g_free accepts NULL; and second the default error handler would
3742 segfault if gerror was NULL.
3744 2007-02-21 Wim Taymans <wim@fluendo.com>
3746 * docs/gst/gstreamer-sections.txt:
3747 Removed docs as well.
3749 2007-02-21 Wim Taymans <wim@fluendo.com>
3751 * gst/gstmessage.c: (gst_message_parse_duration):
3753 Remove new messages for release.
3755 2007-02-20 Wim Taymans <wim@fluendo.com>
3757 * docs/design/part-gstghostpad.txt:
3758 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
3759 (gst_ghost_pad_new_full):
3760 Make the ghostpad a parent of the internal pad again for better backward
3761 compatibility. Don't write code that relies on this however.
3763 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3764 (gst_pad_link_check_hierarchy):
3765 Require that parents should be GstElements in the hierarchy check.
3767 2007-02-20 Wim Taymans <wim@fluendo.com>
3769 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
3770 (gst_bin_change_state_func), (bin_query_min_max_init),
3771 (bin_query_latency_fold), (bin_query_latency_done),
3774 Implement latency query.
3776 2007-02-20 Wim Taymans <wim@fluendo.com>
3778 * docs/design/part-gstghostpad.txt:
3779 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
3780 (gst_ghost_pad_internal_do_activate_push),
3781 (gst_ghost_pad_internal_do_activate_pull),
3782 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3783 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
3784 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
3785 Do not set the internal pad as a parent anymore so we can avoid
3786 hierarchy linking errors when the ghostpad has no parent yet. This also
3787 fixes failed activation because of unlinked internal pads, which in
3788 turn fixes the impossible case where you have to activate a pad before
3789 you can add it to a running element.
3792 * gst/gstpad.c: (pre_activate), (post_activate),
3793 (gst_pad_set_active), (gst_pad_activate_pull),
3794 (gst_pad_activate_push), (gst_pad_check_pull_range):
3795 Add some more debug info.
3796 Mark activation mode in pre_activate so that we don't try to activate in
3797 endless loops. Fixes #385084.
3799 2007-02-19 Wim Taymans <wim@fluendo.com>
3801 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3802 (gst_base_transform_check_get_range):
3803 Implement a checkgetrange function instead of relying on the default
3804 core behaviour that assumes we can operate in pull mode if we have a
3805 getrange function. First step at fixing #385084.
3807 2007-02-15 Stefan Kost <ensonic@users.sf.net>
3809 * gst/gstchildproxy.h:
3810 * libs/gst/base/gstbasesink.h:
3811 * libs/gst/base/gstbasesrc.h:
3812 * libs/gst/base/gstbasetransform.h:
3813 More docs coverage and some ChangeLog surgery (add missing names)
3815 2007-02-15 Wim Taymans <wim@fluendo.com>
3817 * docs/design/part-TODO.txt:
3818 * docs/design/part-activation.txt:
3819 * docs/design/part-block.txt:
3820 * docs/design/part-buffering.txt:
3821 * docs/design/part-clocks.txt:
3822 * docs/design/part-element-source.txt:
3823 * docs/design/part-events.txt:
3824 * docs/design/part-gstbin.txt:
3825 * docs/design/part-gstbus.txt:
3826 * docs/design/part-gstpipeline.txt:
3827 * docs/design/part-live-source.txt:
3828 * docs/design/part-messages.txt:
3829 * docs/design/part-overview.txt:
3830 * docs/design/part-qos.txt:
3831 * docs/design/part-query.txt:
3832 * docs/design/part-states.txt:
3833 * docs/design/part-trickmodes.txt:
3834 Some doc updates. Start renaming from stream_time to running_time where
3835 it was used wrongly.
3837 2007-02-15 Wim Taymans <wim@fluendo.com>
3839 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3840 Answer LATENCY query.
3842 2007-02-15 Wim Taymans <wim@fluendo.com>
3844 * tests/check/gst/gstevent.c: (event_probe), (test_event),
3848 2007-02-15 Wim Taymans <wim@fluendo.com>
3850 * gst/gstpad.c: (gst_pad_get_internal_links_default),
3851 (gst_pad_dispatcher):
3852 Improve debugging of default pad dispatcher and query functions.
3854 2007-02-15 Wim Taymans <wim@fluendo.com>
3856 * docs/gst/gstreamer-sections.txt:
3857 Remove old unused method.
3859 2007-02-13 Wim Taymans <wim@fluendo.com>
3861 * tests/check/gst/gstsegment.c: (GST_START_TEST):
3864 2007-02-13 Wim Taymans <wim@fluendo.com>
3866 * docs/design/part-seeking.txt:
3869 * gst/gstsegment.c: (gst_segment_set_seek):
3870 Revert old bogus change that should make seeking work again.
3872 2007-02-13 Stefan Kost <ensonic@users.sf.net>
3874 * docs/random/ensonic/dynlink.txt:
3875 * docs/random/ensonic/interfaces.txt:
3876 * docs/random/ensonic/receipies.txt:
3877 Possible dynamic reconnection api, plus some type fixes the other two
3880 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
3882 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3883 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3884 Also check for an absolute path following file:// in the filesrc
3885 element. Remove redundant check and call g_path_is_absolute() on the
3888 2007-02-13 Stefan Kost <ensonic@users.sf.net>
3890 * docs/design/draft-klass.txt:
3891 Add existing category analysis.
3894 Fix doc example, framerate is a fraction.
3896 2007-02-12 Stefan Kost <ensonic@users.sf.net>
3899 * docs/gst/Makefile.am:
3900 * docs/gst/gstreamer-sections.txt:
3901 * docs/libs/Makefile.am:
3902 Erm, forgot a bunch of --extra-dir.
3904 2007-02-12 Stefan Kost <ensonic@users.sf.net>
3907 * docs/gst/Makefile.am:
3908 * docs/libs/Makefile.am:
3909 * docs/plugins/Makefile.am:
3910 Add crossreferences to glib/gobject docs.
3912 2007-02-12 Wim Taymans <wim@fluendo.com>
3914 * docs/design/draft-latency.txt:
3917 * docs/libs/gstreamer-libs-sections.txt:
3918 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3919 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
3920 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
3921 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
3922 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
3923 (gst_base_sink_get_position), (gst_base_sink_query),
3924 (gst_base_sink_change_state):
3925 * libs/gst/base/gstbasesink.h:
3926 API: gst_base_sink_query_latency() to let subclasses query the upstream
3928 API: gst_base_sink_get_latency() to let subclasses query the configured
3929 latency in the sink.
3930 Implement query and set latency.
3932 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
3933 don't continue preroll when we are flushing. Fixes #405284.
3935 * tests/check/pipelines/stress.c: (change_state_timeout),
3936 (quit_timeout), (GST_START_TEST), (stress_suite):
3939 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
3941 Patch by: René Stadler <mail at renestadler de>
3943 * docs/gst/gstreamer-sections.txt:
3944 * gst/gsttaglist.c: (_gst_tag_initialize):
3946 API: add GST_TAG_REFERENCE_LEVEL (#403597).
3948 2007-02-11 Stefan Kost <ensonic@users.sf.net>
3950 * docs/libs/Makefile.am:
3951 Fix path to core docs.
3953 * gst/gstbin.c: (gst_bin_get_by_interface),
3954 (gst_bin_iterate_all_by_interface):
3955 Refix docs by also renaming 'interface' to 'iface' in implementation.
3957 * docs/gst/gstreamer-sections.txt:
3959 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
3960 * gst/gstchildproxy.h:
3961 * gst/gstelementfactory.c:
3962 * gst/gstpadtemplate.h:
3963 * libs/gst/controller/gstcontroller.c:
3964 (gst_controlled_property_new):
3967 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
3969 * gst/gstbin.h:(gst_bin_get_by_interface),
3970 (gst_bin_iterate_all_by_interface):
3971 Replace interface parameter name by iface as interface is
3972 a reserved keyword in Visual Studio for C++ projects so it removes
3973 a build error for application developpers using VS.
3974 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
3975 Fix a bug on Windows in uri format check. Now the prefix checked
3976 is file:// and next we check if the path after file:// is absolute.
3977 * win32/common/libgstbase.def:
3978 * win32/common/libgstdataprotocol.def:
3979 * win32/common/libgstgstreamer.def:
3980 Add new exported functions.
3982 2007-02-09 Andy Wingo <wingo@pobox.com>
3984 * tests/check/pipelines/simple-launch-lines.c
3985 (simple_launch_lines_suite, test_tee): Disable tee test until I
3986 have time to fix it :-(
3988 * tests/check/Makefile.am (noinst_HEADERS):
3989 * tests/check/libs/libsabi.c:
3990 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
3991 * tests/check/gst/gstabi.c:
3992 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
3994 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
3995 tests for push and pull tee behavior.
3997 * plugins/elements/gsttee.h:
3998 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
3999 mark as deprecated as well as unimplemented. It was a crack idea.
4000 Add support for tee operating in pull mode, off by default.
4002 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
4003 normal-case logs down to LOG, raise errors to WARNING.
4004 (gst_registry_xml_read_cache): Don't log before calling a function
4007 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
4008 exit (registry finalize).
4009 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
4010 DEBUG log when we emit signals that people don't even have the
4011 chance to connect to.
4012 (gst_registry_scan_path_level): Less logging in the normal case.
4014 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4016 Patch by: Michal Benes <michal dot benes at itonis dot tv>
4018 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4019 Correctly generate EOS for non-seekable files. We don't have a total
4020 length for them and would get an unexpected end of file if we only
4021 special-cased for regular files. (Fixes: #404569)
4023 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4025 * tests/check/elements/filesrc.c: (GST_START_TEST),
4027 Add unit test for the GstURIHandler interface in filesrc. This also
4028 tests the newly added file://localhost/foo/bar support.
4030 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
4032 * gst/gstelementfactory.h:
4033 The klass string is not a hierarchy. Add reference to the design doc
4034 for more information and common types.
4036 2007-02-02 Wim Taymans <wim@fluendo.com>
4038 * gst/gstquery.c: (gst_query_new_latency):
4039 Remove old structure field.
4041 2007-02-02 Stefan Kost <ensonic@users.sf.net>
4043 * tools/gst-launch.1.in:
4044 Give example for network streaming (#351998)
4046 2007-02-02 Wim Taymans <wim@fluendo.com>
4048 * docs/gst/gstreamer-sections.txt:
4049 Add docs for new methods.
4051 * gst/gstevent.c: (gst_event_new_latency),
4052 (gst_event_parse_latency):
4054 Add new LATENCY event to configure latency in a pipeline.
4055 API: gst_event_new_latency
4056 API: gst_event_parse_latency
4058 * gst/gstmessage.c: (gst_message_new_buffering),
4059 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
4060 (gst_message_new_latency), (gst_message_parse_buffering),
4061 (gst_message_parse_lost_preroll):
4063 Added messages used in draft-latency.
4064 API: gst_message_new_lost_preroll
4065 API: gst_message_parse_lost_preroll
4066 API: gst_message_new_prerolled
4067 API: gst_message_new_latency
4069 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
4070 (gst_query_parse_latency):
4072 Implemented new latency query as in design doc.
4073 API: gst_query_new_latency
4074 API: gst_query_set_latency
4075 API: gst_query_parse_latency
4077 2007-02-02 Wim Taymans <wim@fluendo.com>
4079 * docs/design/draft-latency.txt:
4080 Slight redesign to allow for dynamic latency adjustments.
4082 * docs/design/part-negotiation.txt:
4085 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4087 reviewed by: Wim Taymans <wim@fluendo.com>
4089 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4090 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4091 Allow file://localhost/foo/bar URLs and correctly fail for every other
4092 hostname that one sets. This was gnomevfssrc is linked for those if
4093 installed as it can handle it (#403172)
4095 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
4097 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4099 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4100 (unref_data), (gst_collect_pads_add_pad_full):
4101 * libs/gst/base/gstcollectpads.h:
4102 Don't put the previously added destroy notify in the GstCollectData
4103 struct as all it's padding is already used and we don't want to break
4104 ABI. Instead put in the pad's GObject data for now. This should be
4105 cleaned up for 0.11 (#402393).
4107 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
4109 reviewed by: Wim Taymans <wim@fluendo.com>
4111 * docs/libs/gstreamer-libs-sections.txt:
4112 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4113 (unref_data), (gst_collect_pads_add_pad),
4114 (gst_collect_pads_add_pad_full):
4115 * libs/gst/base/gstcollectpads.h:
4116 API: Add function to specify a destroy notification for custom
4117 GstCollectData when adding new pads in GstCollectPads (#402393).
4119 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
4122 Update Swedish translation (#378255).
4124 2007-01-31 Stefan Kost <ensonic@users.sf.net>
4126 * docs/design/draft-klass.txt:
4127 Fix the previous change, this is a list of categories and not a hierarchy.
4129 2007-01-31 Stefan Kost <ensonic@users.sf.net>
4131 * docs/design/draft-klass.txt:
4132 Add info about how to get a list of used classes.
4134 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
4136 * plugins/elements/gsttypefindelement.c:
4137 (gst_type_find_element_chain_do_typefinding),
4138 (gst_type_find_element_change_state):
4139 Don't leak found caps in chain function (no idea why that never
4140 showed up as a leak anywhere).
4142 2007-01-30 Stefan Kost <ensonic@users.sf.net>
4145 Fix and expand GstPluginDesc API docs.
4147 2007-01-29 Stefan Kost <ensonic@users.sf.net>
4150 * gst/gstelementfactory.c:
4151 * gst/gstpadtemplate.h:
4154 * libs/gst/controller/gstcontroller.c:
4155 (gst_controlled_property_new):
4156 * tests/examples/controller/audio-example.c:
4159 2007-01-29 Stefan Kost <ensonic@users.sf.net>
4162 comment about refining the xml deps
4165 comments about moving away from jade for docs
4168 recommit the ifdefs to use the binary registry
4170 * gst/gstbin.c: (gst_bin_change_state_func):
4171 this break is obsolete
4173 * gst/gstelementfactory.h:
4174 better GST_ELEMENT_DETAILS docs, add comment about translation
4179 * gst/gstobject.c: (gst_signal_object_get_type):
4180 add G_UNLIKELY as usual
4182 * gst/gstpad.c: (gst_pad_event_default):
4183 add fall trhu comment
4185 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4186 (gst_registry_binary_initialize_magic),
4187 (gst_registry_binary_save_string),
4188 (gst_registry_binary_save_pad_template),
4189 (gst_registry_binary_save_feature),
4190 (gst_registry_binary_save_plugin),
4191 (gst_registry_binary_write_cache),
4192 (gst_registry_binary_check_magic),
4193 (gst_registry_binary_load_pad_template),
4194 (gst_registry_binary_load_feature),
4195 (gst_registry_binary_load_plugin),
4196 (gst_registry_binary_read_cache):
4197 comment typo and formatting
4199 * gst/gstutils.c: (gst_element_state_get_name),
4200 (gst_element_state_change_return_get_name):
4201 remove obsolete breaks
4203 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4204 add FIXME 0.11 and remove cpp comment
4206 2007-01-29 Edward Hervey <edward@fluendo.com>
4208 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4209 Fix print statement in an even more portable way.
4211 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
4213 * docs/gst/gstreamer-sections.txt:
4215 API: add GST_ROUND_DOWN_* macros (#401781).
4217 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
4219 * docs/gst/gstreamer.types.in:
4220 * gst/gstregistry.c: (gst_registry_class_init):
4221 Document registry signals and make gtk-doc pick them up (#401381).
4223 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
4225 * docs/pwg/building-testapp.xml:
4226 Add some audioconverts and audioresample to the pipeline, and some
4227 more comments and error handling.
4229 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
4231 * docs/manual/manual.xml:
4235 2007-01-26 Wim Taymans <wim@fluendo.com>
4237 * gst/gstcaps.c: (gst_static_caps_get):
4238 Init caps flags too.
4240 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
4242 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
4244 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4245 If not using mmap'ed files try to seek to the end instead of the
4246 start to determine whether we can seek at all. This fixes the case
4247 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
4248 seeks for everything afterwards fail. Fixes #400656
4250 2007-01-25 Wim Taymans <wim@fluendo.com>
4252 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
4253 Add some refcount debugging.
4254 Make gst_static_caps_get threadsafe, which is needed when autoplugging
4255 in multiple streaming threads.
4257 2007-01-25 Wim Taymans <wim@fluendo.com>
4259 Patch by: David Schleef <ds at schleef dot org>
4261 * docs/libs/gstreamer-libs-sections.txt:
4262 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
4263 * libs/gst/base/gstadapter.h:
4264 API: gst_adapter_copy() that can reduce the amount of memcpy when
4265 getting data from the adapter. Fixes #388201.
4267 2007-01-25 Edward Hervey <edward@fluendo.com>
4269 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4270 In print statements, "%x" is for guint. Fixes build on macosx.
4272 2007-01-24 Edward Hervey <edward@fluendo.com>
4274 * plugins/elements/gstmultiqueue.c:
4275 (gst_multi_queue_loop):
4277 (single_queue_overrun_cb), (single_queue_underrun_cb),
4278 (single_queue_check_full), (gst_single_queue_new):
4279 Implement single queue growth system.
4280 This uses the extra-size properties, and will grow single queues by
4281 that much if one goes full whereas there are others empty. This is
4282 called extra-mode in the code.
4283 When a single queue's levels go back below the initial max-size
4284 limits, it is no longer in extra-mode. This is to ensure we don't
4285 consume too much memory.
4288 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
4290 * gst/gst.c: (gst_init_get_option_group):
4291 Make warning about late g_thread_init() calls a bit more explicit,
4292 so that it's more obvious to application developers what they need
4293 to do if a user files a bug against their application.
4295 2007-01-22 Edward Hervey <edward@fluendo.com>
4297 * plugins/elements/gstmultiqueue.c:
4298 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
4299 Remove previous hack of unsetting the flushing flag for the source pad
4300 instead of activating it. Instead, fix the source pad activate function
4301 so that it no longer depends on having a parent set or not.
4303 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
4305 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
4307 * docs/manual/basics-bus.xml:
4308 Fix example code, gst_element_unref() doesn't exist any longer.
4310 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
4312 Patch by: Mark Nauwelaerts <manauw at skynet be>
4315 Fix two docs typoes (#399094).
4317 2007-01-19 Edward Hervey <edward@fluendo.com>
4319 * docs/faq/gst-uninstalled:
4320 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
4321 depending on libgstbaseutils can work in uninstalled environment.
4323 2007-01-18 Stefan Kost <ensonic@users.sf.net>
4326 * gst/gsttagsetter.c:
4327 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
4328 statement for new tag.
4330 2007-01-17 Edward Hervey <edward@fluendo.com>
4332 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
4333 When dynamically creating single queues, activate sinkpad before adding
4335 We should be doing the same thing for the source pad, but we can't
4336 since it would call a method which needs the parent to be set in order
4337 to work propertly. Instead of activating the source pad, we just unset
4338 the flushing flag, which is the minimal requirement for adding a pad
4339 to an element in a state greater than READY.
4341 2007-01-17 Edward Hervey <edward@fluendo.com>
4343 * docs/faq/gst-uninstalled:
4344 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
4347 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
4349 * tests/check/gst/gstabi.c:
4350 * tests/check/gst/struct_hppa.h:
4351 * tests/check/libs/libsabi.c:
4352 * tests/check/libs/struct_hppa.h:
4353 Add ABI structs for HPPA (see #393796).
4355 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
4357 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
4358 Actually write ABI structs to the file specified in the GST_ABI
4359 environment variable, as the message we print claims we would.
4361 2007-01-15 Stefan Kost <ensonic@users.sf.net>
4363 * tests/check/gst/gsttask.c:
4366 2007-01-15 Stefan Kost <ensonic@users.sf.net>
4368 * gst/gsttaglist.c: (_gst_tag_initialize):
4369 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
4370 previous two entries.
4372 2007-01-15 Stefan Kost <ensonic@users.sf.net>
4374 * docs/gst/gstreamer-sections.txt:
4375 * gst/gsttaglist.c: (_gst_tag_initialize):
4377 Add tag support for beat-per-minute.
4379 2007-01-15 Stefan Kost <ensonic@users.sf.net>
4381 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4382 (gst_registry_binary_initialize_magic),
4383 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
4384 (gst_registry_binary_save_pad_template),
4385 (gst_registry_binary_save_feature),
4386 (gst_registry_binary_save_plugin),
4387 (gst_registry_binary_write_cache),
4388 (gst_registry_binary_check_magic),
4389 (gst_registry_binary_load_pad_template),
4390 (gst_registry_binary_load_feature),
4391 (gst_registry_binary_load_plugin),
4392 (gst_registry_binary_read_cache):
4393 * gst/gstregistrybinary.h:
4394 Use glib types, cleanup comments, impement interfaces and uri-types.
4396 2007-01-13 Andy Wingo <wingo@pobox.com>
4398 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
4399 getrange() to return buffers with other caps, while we fix
4400 demuxers and typefind, or otherwise change part-negotiation.txt.
4402 2007-01-12 Andy Wingo <wingo@pobox.com>
4404 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
4405 Factor start/stop into this private function instead of partially
4406 in activate functions and partially in the change_state function.
4407 Fixes setup before the element has changed from READY->PAUSED, as
4408 is the case in pull-mode pipelines.
4409 (gst_base_transform_sink_activate_push)
4410 (gst_base_transform_src_activate_pull): Refactor to use
4411 gst_base_transform_activate().
4412 (gst_base_transform_change_state): Removed, not needed any more.
4414 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4415 Truncate before fixating.
4417 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4418 Don't set_caps() if the result of fixating is ANY, as it's not
4419 supported, and not necessary in the case of a link with no
4420 template caps on either side. Fixes tests/check/libs/basesrc in
4421 some pull-mode tests.
4423 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
4424 (gst_base_transform_init, gst_base_transform_sink_activate_push)
4425 (gst_base_transform_src_activate_pull):
4426 Track the activation mode.
4427 (gst_base_transform_setcaps): In pull mode, when activating the
4428 src pad, after activating the sink pad, activate the sink pad's
4429 peer, as discussed in part-negotiation.txt.
4431 * libs/gst/base/gstbasesrc.h:
4432 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
4433 vmethod, as in basesink.
4435 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
4437 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
4438 mode, first proxy the setcaps to the peer pad.
4439 (gst_base_sink_pad_fixate): Add a fixate function that calls the
4441 (gst_base_sink_default_activate_pull): Rename from
4442 gst_base_sink_activate_pull.
4443 (gst_base_sink_negotiate_pull): New function, performs negotiation
4444 in pull mode before calling ::activate_pull().
4445 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
4446 vmethod instead of the default implementation. I have no idea how
4447 this worked before. Negotiate before calling activate_pull.
4449 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
4450 sink pads in pull mode. In addition to being correct, fixes
4451 filesrc ! decodebin ! identity ! fakesink.
4452 (gst_pad_get_range, gst_pad_pull_range): Don't call
4453 gst_pad_set_caps() if the caps changes; instead error out with
4454 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
4456 2007-01-12 Andy Wingo <wingo@pobox.com>
4458 * docs/design/part-negotiation.txt: Update with more policy.
4460 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
4462 * libs/gst/check/gstbufferstraw.h:
4463 * libs/gst/check/gstcheck.h:
4464 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
4467 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
4469 * tests/check/Makefile.am:
4470 * tests/check/gst/.cvsignore:
4471 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
4472 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
4473 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
4474 (GST_START_TEST), (gst_tag_setter_suite):
4475 Add minimal unit test for beforementioned GstTagSetter bug.
4477 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
4479 Patch by: René Stadler <mail at renestadler dot de>
4481 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
4482 gst_tag_list_merge() returns a new list, so it's not the best idea
4483 to ingore its return value. Effectively meant that tags could only
4484 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
4485 Also add function guard to require a non-NULL taglist as input (has
4486 always been so due to gst_tag_list_copy(), just making it explicit).
4488 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
4490 * docs/random/draft-missing-plugins.txt:
4491 Some additions: mention new API that is supposed to be used at the
4492 various stages; short blob about new gst-inspect introspection
4493 option; mention potential future problem with plugins that have
4494 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
4496 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
4498 * tools/gst-inspect.c:
4499 (print_plugin_automatic_install_info_codecs),
4500 (print_plugin_automatic_install_info_protocols),
4501 (print_plugin_automatic_install_info), (main):
4502 Add --print-plugin-auto-install-info option to gst-inspect, so we can
4503 introspect plugin files and get machine-parsable output that corresponds
4504 to the last bit of the missing-plugin installer string (small gotcha:
4505 doesn't take into account ranks).
4507 2007-01-11 Stefan Kost <ensonic@users.sf.net>
4510 * docs/gst/gstreamer-sections.txt:
4512 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
4513 (gst_registry_lookup_locked):
4514 * gst/gstregistry.h:
4515 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4516 (gst_registry_binary_initialize_magic),
4517 (gst_registry_binary_save_string),
4518 (gst_registry_binary_save_pad_template),
4519 (gst_registry_binary_save_feature),
4520 (gst_registry_binary_save_plugin),
4521 (gst_registry_binary_write_cache),
4522 (gst_registry_binary_check_magic),
4523 (gst_registry_binary_load_pad_template),
4524 (gst_registry_binary_load_feature),
4525 (gst_registry_binary_load_plugin),
4526 (gst_registry_binary_read_cache):
4527 * gst/gstregistrybinary.h:
4528 * gst/gstregistryxml.c: (load_feature),
4529 (gst_registry_xml_read_cache):
4530 commit binary registry (disabled by default, see #359653)
4532 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
4534 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
4535 Fix 'make check' too.
4537 2007-01-10 Andy Wingo <wingo@pobox.com>
4539 * docs/design/part-negotiation.txt: Fix a typo, add a couple
4542 * docs/design/part-negotiation.txt: Update with, um, one way that
4543 pull-mode negotiation might work?
4546 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
4547 that the pad must be a src pad; makes sense to call it the other
4548 way in pull mode, and the logic is symmetric anyway.
4550 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
4552 * plugins/elements/gstfilesink.c:
4553 Include <stdio.h> for fseeko().
4555 2007-01-10 Wim Taymans <wim@fluendo.com>
4559 Reserve LATENCY event.
4561 2007-01-09 Wim Taymans <wim@fluendo.com>
4563 * docs/design/draft-latency.txt:
4566 2007-01-09 Wim Taymans <wim@fluendo.com>
4568 * docs/design/draft-latency.txt:
4572 * gst/gststructure.c:
4576 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
4578 * tests/check/.cvsignore:
4579 Ignore test-registry.xml as well.
4581 2007-01-09 Wim Taymans <wim@fluendo.com>
4583 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
4584 unref data at the end when we are done with the pad.
4586 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
4588 * docs/gst/gstreamer-sections.txt:
4589 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
4590 (init_post), (gst_deinit), (gst_update_registry):
4592 API: add gst_update_registry() (#391296).
4594 * tests/check/Makefile.am:
4595 * tests/check/gst/gstregistry.c:
4596 * tests/check/gst/.cvsignore:
4597 Simple unit test for the above.
4599 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
4601 * gst/gstregistry.c: (gst_registry_scan_path_level):
4602 Plugin extension on HP-UX is .sl, add that to the list of approved
4603 plugin extensions (see #393796).
4605 * tests/check/gst/gstpad.c: (GST_START_TEST):
4606 ulong => gulong. Fixes compilation with HP-UX compiler.
4608 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4609 Fix compilation if valgrind headers are not available.
4611 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
4613 * win32/common/libgstreamer.def:
4614 Add new exported function.
4615 * win32/vs6/libgstbase.dsp:
4616 Add gstdataqueue.c to the build.
4617 * win32/vs6/libgstcoreelements.dsp:
4618 Add gstmultiqueue.c to the build.
4620 2007-01-06 Andy Wingo <wingo@pobox.com>
4622 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
4623 activate_pull(), providing for a way to specialize the process of
4624 spawning a thread to pull on the sink pad. There is a default
4627 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
4628 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
4629 (gst_base_sink_init): Renamed pad activation functions (inserting
4630 "_pad" in their names). Refactor to use the new activate_pull
4631 vmethod, as appropriate.
4632 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
4633 default activate_pull function to start a task pulling from the
4634 sink pad, as before.
4636 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
4637 on the pads if necessary, as in push()/chain(). Update docs.
4638 Shouldn't affect existing pull() usage as it is currently only
4639 being used on buffers without caps.
4641 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
4643 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4645 Call g_thread_init() first thing in gst_init() / gst_check_init().
4646 When initialisation is done via gst_init_get_option_group() and
4647 GOption parsing, issue a warning if the GLib thread system has not
4648 been initialised yet by the time gst_init_get_option_group() is
4649 called, as it's quite likely other GLib functions such as
4650 g_option_context_new() have been called already then, and
4651 g_thread_init() must be called before any other GLib function. The
4652 application in question must be fixed in that case, since memory
4653 corruption might happen otherwise.
4654 We issue the warning because even if the GLib folks decide to work
4655 around the problem on their end in future, this is still an issue
4656 with all GLib versions >= 2.10.0, so we should warn until we depend
4657 on a GLib version we know to be safe.
4658 Update documentation as well.
4661 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
4663 * tools/gst-inspect.c: (main):
4664 * tools/gst-launch.c: (main):
4665 * tools/gst-typefind.c: (main):
4666 * tools/gst-xmlinspect.c: (main):
4667 Call g_thread_init() really really early, before any other GLib
4668 function (see #342564 and recent discussion on gtk-devel-list).
4670 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
4672 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
4674 * gst/gst_private.h:
4675 * gst/gstconfig.h.in:
4677 On win32, all the __declspec stuff for symbol exporting is
4678 apparently only needed with MSVC, but doesn't work with MingW.
4679 Fixes compilation with MingW and #391909.
4681 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
4683 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
4684 Change some GST_ERROR_OBJECT that aren't really errors to
4685 GST_WARNING_OBJECT in order to reduce terminal spam.
4687 2007-01-04 Stefan Kost <ensonic@users.sf.net>
4689 * tests/check/Makefile.am:
4690 disable test again, as there seem to be still race problems
4692 2007-01-04 Stefan Kost <ensonic@users.sf.net>
4694 * tests/check/Makefile.am:
4695 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4696 (GST_START_TEST), (queue_suite):
4697 enable queue test again, add tests for the leaky behaviour
4699 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
4702 * tests/examples/Makefile.am:
4703 Compile adapter test/example only if the required headers are
4704 available (fixes #391915).
4706 2007-01-01 David Schleef <ds@schleef.org>
4709 Restore the previous signal handler for SIGSEGV instead of
4710 setting to default, since we may have stolen it away from
4711 someone. (i.e., Mono)
4713 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
4715 * docs/random/draft-missing-plugins.txt:
4716 Some small additions and clarifications.
4718 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
4720 * gst/gstregistryxml.c: (gst_registry_save_escaped):
4721 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
4722 since that can lead to random memory corruptions and crashes
4723 (may or may not be related to #383244, #386711, and #386711).
4725 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4727 * tests/check/.cvsignore:
4728 * tests/check/Makefile.am:
4729 sync .cvsignome and CLEANFILES
4731 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4733 * tests/check/Makefile.am:
4736 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4738 * docs/design/part-states.txt:
4739 two tiny additional comments
4741 * gst/gststructure.c:
4744 * tests/check/Makefile.am:
4745 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4747 disable test for now, unless it gets fixed
4749 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4751 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4753 fix race in underrun test
4755 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4757 * tests/check/elements/.cvsignore:
4760 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4762 try to narrow test failure
4764 2006-12-21 David Schleef <ds@schleef.org>
4766 * plugins/elements/gstfakesrc.c:
4767 Use g_random_int_range(), since it produces better random
4768 numbers in a range than almost-correct floating point code.
4770 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4772 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4773 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4774 (gst_check_teardown_sink_pad):
4775 do not automatically (de)activate pads
4777 * tests/check/Makefile.am:
4778 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4779 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
4780 add new, yet simple tests for queue
4782 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
4783 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
4784 * tests/check/elements/filesrc.c: (cleanup_filesrc),
4786 * tests/check/elements/identity.c: (cleanup_identity):
4787 consistent pad (de)activation
4789 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
4791 Patch by: Sebastian Dröge <slomo ubuntu com>
4793 * libs/gst/base/gstcollectpads.c:
4794 Fix two doc typos (#387866).
4796 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
4798 * docs/manual/advanced-dparams.xml:
4799 Fix typo (g_object_control_properties() doesn't exist).
4801 2006-12-19 Edward Hervey <edward@fluendo.com>
4803 * gst/gstsegment.c: (gst_segment_set_seek):
4804 Fine tune the cases where the segment start/stop values are really
4806 * tests/check/gst/gstsegment.c: (GST_START_TEST):
4807 Add tests for the return values of gst_segment_set_seek().
4809 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
4814 * plugins/elements/gstqueue.c: (gst_queue_class_init),
4816 Fix incorrect documentation and flesh it out a bit more.
4817 Set default values for the max properties on the GParamSpec as well,
4818 so it shows up correctly in gst-inspect.
4820 2006-12-18 Stefan Kost <ensonic@users.sf.net>
4822 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
4823 Correct docs of queue, add more detail and crosslink it more.
4825 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
4827 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4828 Print additional debug info when the stream isn't perfectly
4829 timestamped; don't try to use invalid durations.
4831 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
4833 * docs/design/Makefile.am:
4834 Dist new design docs.
4836 2006-12-16 Wim Taymans <wim@fluendo.com>
4838 Patch by: Sjoerd Simons <sjoerd at luon dot net>
4840 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
4841 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4842 (gst_collect_pads_stop), (gst_collect_pads_event),
4843 (gst_collect_pads_chain):
4844 * libs/gst/base/gstcollectpads.h:
4845 Add refcounting to the collectpads data so we can track when it's safe
4846 to free the data. Fixes #383382.
4848 2006-12-15 Wim Taymans <wim@fluendo.com>
4850 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4851 (gst_collect_pads_remove_pad):
4852 Automatically activate/deactivate pads when they are added to a
4853 started/stoped collectpads.
4855 2006-12-15 Wim Taymans <wim@fluendo.com>
4857 * gst/gstelement.c: (gst_element_add_pad):
4858 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
4859 * gst/gstpad.c: (gst_pad_init):
4860 Set pads to FLUSHING when they are created. Check, warn and fix when a
4861 demuxer adds an inactive pad to itself when running. Fixes #339326.
4863 2006-12-15 Wim Taymans <wim@fluendo.com>
4865 * gst/gstelement.c: (gst_element_class_init),
4866 (gst_element_default_send_event), (gst_element_send_event),
4867 (gst_element_default_query), (gst_element_query):
4868 Expose default element send_event and query handling as vmethods that
4869 subclasses can chain up to.
4871 2006-12-15 Wim Taymans <wim@fluendo.com>
4873 * gst/gstelement.c: (gst_element_set_state_func):
4874 Small documentation fixes.
4876 2006-12-15 Wim Taymans <wim@fluendo.com>
4878 * docs/design/draft-latency.txt:
4879 Checked in draft for handling latency in pipelines.
4881 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
4885 * gstreamer.spec.in:
4888 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
4890 * gst/gst.c: (init_pre), (init_post):
4891 init_pre() and init_post() might be called via our GOptionGroup or
4892 from gst_init(), and we should skip both of them if we've already
4893 been initialised, otherwise we will init some things twice or add
4894 two default log functions.
4896 2006-12-13 Edward Hervey <edward@fluendo.com>
4898 * docs/manual/basics-bus.xml:
4899 No, gst_main_loop does not exist. Its g_main_loop.
4900 Discovered by somebody who abused the copy-paste technique of coding :)
4902 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
4904 * gst/gstghostpad.c:
4905 Log ghostpad debug stuff to the GST_PADS category as well rather
4906 than just to the default category.
4908 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
4911 * gst/gst.c: (init_pre):
4912 Add some basic system details such as OS and architecture
4913 to the debug output if possible, courtesy of uname().
4915 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
4917 * docs/gst/running.xml:
4918 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
4919 environment variables.
4921 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
4923 * tests/check/gst/gstbin.c: (GST_START_TEST):
4924 It is acceptable to have a refcount of 2 or 3 at this point in the
4925 test, because the pipeline might be just posting its state_change
4926 message. The next line then waits for that message to appear using
4927 bus_poll, so that should be fine too.
4929 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
4931 * gst/gst.c: (ensure_current_registry_forking):
4932 Ignore EINTR when reading from the child registry pipe.
4933 Explicitly ignore the return value from close, since it makes no
4936 * gst/gstminiobject.c: (gst_mini_object_ref),
4937 (gst_mini_object_unref):
4938 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
4940 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
4941 When removing cached plugins, remove their features too, so they're
4942 not visible after they've disappeared.
4944 * gst/gstutils.c: (prepare_link_maybe_ghosting):
4945 In the unlikely case that we are linking pads with no parents, don't
4946 crash trying to get the non-existent parent bin.
4948 * gst/parse/grammar.y:
4949 Output debug in the PIPELINE category
4951 2005-03-08 Wim Taymans <wim@fluendo.com>
4953 Patch by: René Stadler <mail at renestadler dot de>
4955 * gst/gstclock.c: (gst_clock_new_periodic_id):
4956 Reject invalid clock times for interval of periodic ids.
4959 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
4961 * gst/gstelementfactory.c: (gst_element_factory_create):
4962 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4963 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4964 * tools/gst-inspect.c: (print_element_info):
4965 Fix refcounting of gst_plugin_feature_load to match the docs.
4968 2006-12-07 Wim Taymans <wim@fluendo.com>
4970 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
4971 (gst_base_sink_get_position):
4972 Improve debugging of events.
4974 2006-12-07 Wim Taymans <wim@fluendo.com>
4976 Patch by: René Stadler <mail at renestadler dot de>
4978 * gst/gstclock.c: (gst_clock_id_wait):
4979 Make period ids add the interval to the origial requested time instead
4980 of the possibly updated time which can be wrong when there are multiple
4981 waiters for the same id. Fixes #382592.
4983 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
4984 (gst_system_clock_id_wait_jitter_unlocked),
4985 (gst_system_clock_id_wait_jitter):
4986 Fix restart in the async notify thread when an async entry is added to
4987 the front of the list. Fixes #381492.
4989 * tests/check/gst/gstsystemclock.c: (store_callback),
4990 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
4991 Added test for multiple async waits.
4992 Added test for async wait order.
4994 2006-12-07 Wim Taymans <wim@fluendo.com>
4996 * gst/gstbin.c: (gst_bin_query):
4997 Add some more docs about the POSITION query.
4999 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
5002 Bump version nano - back to CVS.
5004 === release 0.10.11 ===
5006 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
5009 releasing 0.10.11, "Love never runs on time"
5011 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
5013 * win32/common/libgstbase.def:
5014 * win32/common/libgstreamer.def:
5015 * win32/vs8/libgstbase.vcproj:
5016 * win32/vs8/libgstcoreelements.vcproj:
5017 * win32/vs8/libgstreamer.vcproj:
5018 Fix compilation on win32 under VS8
5019 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5020 Partially fixes #381175
5022 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
5024 * gst/gstvalue.c: (gst_value_compare_fraction):
5025 If someone is foolish enough to compare 2 fractions with denominator =
5026 0, return UNORDERED rather than aborting.
5028 2006-11-28 Edward Hervey <edward@fluendo.com>
5030 * libs/gst/base/Makefile.am:
5031 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
5032 (gst_data_queue_base_init), (gst_data_queue_class_init),
5033 (gst_data_queue_init), (gst_data_queue_new),
5034 (gst_data_queue_cleanup), (gst_data_queue_finalize),
5035 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
5036 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
5037 (gst_data_queue_is_empty), (gst_data_queue_is_full),
5038 (gst_data_queue_set_flushing), (gst_data_queue_push),
5039 (gst_data_queue_pop), (gst_data_queue_drop_head),
5040 (gst_data_queue_set_property), (gst_data_queue_get_property):
5041 * libs/gst/base/gstdataqueue.h:
5042 New GstDataQueue object for threadsafe queueing. Most useful for
5043 elements that need some queueing functionnality.
5044 * docs/libs/gstreamer-libs-docs.sgml:
5045 * docs/libs/gstreamer-libs-sections.txt:
5046 Insert documentation for GstDataQueue
5047 * plugins/elements/Makefile.am:
5048 * plugins/elements/gstelements.c:
5049 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5050 (gst_multi_queue_class_init), (gst_multi_queue_init),
5051 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5052 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
5053 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
5054 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5055 (gst_multi_queue_loop), (gst_multi_queue_chain),
5056 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5057 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
5058 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
5059 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
5060 (wake_up_next_non_linked), (compute_next_non_linked),
5061 (single_queue_overrun_cb), (single_queue_underrun_cb),
5062 (single_queue_check_full), (gst_single_queue_new):
5063 * plugins/elements/gstmultiqueue.h:
5064 New multiqueue element, using GstDataQueue. Used for queuing multiple
5066 Closes #344639 and #347785
5068 2006-11-22 Stefan Kost <ensonic@users.sf.net>
5070 * docs/pwg/advanced-types.xml:
5071 add more missing type details
5073 * tools/gst-run.c: (main):
5074 remove unused variable
5076 2006-11-21 Stefan Kost <ensonic@users.sf.net>
5078 * docs/libs/Makefile.am:
5079 * docs/libs/gstreamer-libs.types:
5080 add types of base classes to enable gobject specific stuff in the docs
5082 * docs/random/ensonic/embedded.txt:
5083 more ideas about isolating platform specific things
5085 2006-11-20 Wim Taymans <wim@fluendo.com>
5087 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
5089 * libs/gst/check/gstcheck.h:
5090 Fix compilation and running against 0.9.4. Fixes #377332.
5092 2006-11-20 Wim Taymans <wim@fluendo.com>
5094 * gst/gstsegment.c: (gst_segment_set_seek),
5095 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5096 (gst_segment_to_running_time):
5097 Fix boundary checking in to_running_time() and to_stream_time().
5100 * tests/check/gst/gstsegment.c: (GST_START_TEST):
5101 stream and running time can now be calculated for the complete
5104 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
5106 * gst/gstpad.c: (gst_pad_push_event):
5107 Can't access event structure after giving away ownership of
5110 2006-11-15 Stefan Kost <ensonic@users.sf.net>
5112 * docs/random/ensonic/embedded.txt:
5113 * docs/random/ensonic/profiling.txt:
5114 * docs/random/ensonic/receipies.txt:
5117 2006-11-13 Wim Taymans <wim@fluendo.com>
5119 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5122 Fix documentation for gst_pad_dispatcher. Fixes #374475.
5124 2006-11-13 Wim Taymans <wim@fluendo.com>
5126 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
5128 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5129 Store new length in segment duration so we don't keep on calling the
5130 potentially expensize get_size() call. Fixes #370865.
5132 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
5134 Patch by: Sergey Scobich <sergey.scobich at gmail com>
5136 * win32/common/libgstreamer.def:
5137 Add two missing symbols (#366492).
5139 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
5141 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
5142 (gst_adapter_take_buffer):
5143 Fix format string to use all its arguments.
5144 Remove useless >= check on a guint
5146 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
5148 * tests/examples/adapter/.cvsignore:
5149 Ignore build file as commanded by the build-bot
5151 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
5153 * tests/examples/adapter/Makefile.am:
5154 * tests/examples/adapter/adapter_test.c: (run_test_take),
5155 (run_test_take_buffer), (run_tests), (main):
5157 Add new files from the previous commit
5159 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
5163 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
5164 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
5165 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
5166 * libs/gst/base/gstadapter.h:
5167 * tests/check/libs/adapter.c: (create_and_fill_adapter),
5168 (GST_START_TEST), (gst_adapter_suite):
5169 * tests/examples/Makefile.am:
5170 Do some optimisation work in GstAdapter to avoid copies in more cases.
5171 It could still do slightly better by merging buffers when
5172 gst_buffer_is_span_fast is true, but is already faster.
5174 Also, avoid traversing a single-linked list to append each incoming
5175 buffer inside the adapter.
5177 Add simple test app that times the adapter behaviour in different
5178 situations, and extend the unit test to check that bytes enter and
5179 exit the adapter in their original order.
5181 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
5183 * docs/random/draft-missing-plugins.txt:
5184 Update: use element message instead of adding a new message
5185 type to the core; don't provide GStreamer API to initiate the
5186 plugin download, just provide API to compose the strings needed
5187 and let an external libgimmestuff handle the rest.
5189 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
5191 * tools/gst-inspect.c: (print_element_properties_info):
5192 Print a string instead of 'unknown type' for GValueArray properties
5194 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
5196 * docs/random/draft-missing-plugins.txt:
5199 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
5201 * tests/examples/typefind/typefind.c: (type_found), (main):
5202 Make typefind element example work again (#371894); add a
5205 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
5207 * docs/random/draft-missing-plugins.txt:
5208 Commit initial draft about how to deal with missing plugins,
5209 needs work (API too).
5211 2006-11-07 Stefan Kost <ensonic@users.sf.net>
5213 * docs/pwg/advanced-types.xml:
5214 documents the new caps elements (see #363118)
5216 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
5218 * gst/gstplugin.c: (gst_plugin_load_file):
5219 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
5220 (gst_file_src_map_region), (gst_file_src_start):
5221 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
5222 (gst_file_index_commit):
5223 Use g_strerror() instead of strerror() - we want UTF-8.
5225 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
5227 Patch by: Peter Kjellerstedt <pkj at axis com>
5229 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5230 Another printf fix (#371493).
5232 2006-11-06 Stefan Kost <ensonic@users.sf.net>
5234 * tests/check/gst/gsttag.c:
5235 relicence (okay with author=company)
5237 2006-11-06 Stefan Kost <ensonic@users.sf.net>
5239 * gst/gstpad.c: (gst_pad_event_default_dispatch),
5240 (gst_pad_push_event):
5241 Enhance debug and improve docs
5246 2006-11-06 Stefan Kost <ensonic@users.sf.net>
5248 * docs/random/ensonic/distributed.txt:
5249 * docs/random/ensonic/profiling.txt:
5252 2006-11-06 Stefan Kost <ensonic@users.sf.net>
5254 * docs/gst/gstreamer-sections.txt:
5255 add new API and fix the build
5257 * gst/gstbin.c: (gst_bin_recalc_state):
5258 * gst/gstelement.c: (gst_element_message_full),
5259 (gst_element_get_state_func), (gst_element_set_state_func):
5260 use new API and improve logging
5262 * gst/gstutils.c: (gst_element_state_change_return_get_name):
5264 API: add function to get StateChangereturn names to improve logs
5266 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
5268 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5269 I'm considering shooting the next person to put strerror stuff
5270 in the translateable part of the message.
5272 2006-11-03 Wim Taymans <wim@fluendo.com>
5274 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5275 Get the type and printf conversion specifiers right.
5277 2006-11-03 Wim Taymans <wim@fluendo.com>
5279 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5281 * gst/gstpad.c: (gst_pad_init), (pre_activate),
5282 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
5283 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
5284 Some small cleanups. Improve debugging.
5286 Signal all waiting threads with a broadcast instead of just one.
5289 2006-11-03 Wim Taymans <wim@fluendo.com>
5291 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
5292 (gst_fd_src_create):
5294 Only update fd when it's different from the old.
5296 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
5298 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
5299 Printf fixes for PPC/OSX, take two (#369366).
5301 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
5303 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
5305 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5306 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5307 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
5308 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
5309 don't cast to long long for portability reasons, but use
5310 GLib's types instead.
5312 2006-10-30 Michael Smith <msmith@fluendo.com>
5314 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
5315 Get the arguments to lseek() the right way around.
5318 2006-10-30 Wim Taymans <wim@fluendo.com>
5320 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
5323 _declspec should be __declspec (two underscores, not one). Fixes 366572.
5325 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
5327 Patch by: Kjartan Maraas <kmaraas at gnome org>
5329 * docs/design/part-MT-refcounting.txt:
5330 * docs/random/wtay/capsnego2-docs:
5333 Typo fixes (#366212).
5335 2006-10-28 Wim Taymans <wim@fluendo.com>
5337 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5340 * win32/common/libgstbase.def:
5341 * win32/common/libgstreamer.def:
5342 * win32/vs8/libgstbase.vcproj:
5343 * win32/vs8/libgstcontroller.vcproj:
5344 Add needed entries in .def files.
5346 Rearrange def files in vs8 solutions. Fixes #366286.
5348 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
5350 * win32/common/gstconfig.h:
5351 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
5352 hand-made win32 gstconfig.h. Fixes #366321.
5354 2006-10-27 Wim Taymans <wim@fluendo.com>
5356 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
5357 (gst_ghost_pad_new_full):
5358 Make acceptcaps return TRUE when we don't have a target, just like
5361 2006-10-27 Wim Taymans <wim@fluendo.com>
5363 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5364 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
5366 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
5368 * gst/gststructure.c: (gst_structure_id_set_value):
5369 If someone tries to set a non-UTF8 string field on a structure,
5370 don't just print a warning, but also ignore the request and do
5371 not change/add that field to the structure.
5373 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5376 2006-10-25 David Schleef <ds@schleef.org>
5379 g_hash_table_insert() needs a cast to a non-const pointer duh.
5381 2006-10-25 David Schleef <ds@schleef.org>
5385 Change name parameter of _gst_debug_register_funcptr to const
5386 to reflect the constness of its use in the function as well
5387 as to quiet a gcc warning.
5389 2006-10-25 Edward Hervey <edward@fluendo.com>
5391 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5392 Don't push the buffer if it's empty.
5395 2006-10-24 Wim Taymans <wim@fluendo.com>
5400 * libs/gst/base/gstbasetransform.c:
5401 (gst_base_transform_sink_eventfunc):
5402 Debug segment values *after* updating them as this is more
5405 2006-10-23 Wim Taymans <wim@fluendo.com>
5407 * docs/design/part-events.txt:
5410 * docs/design/part-block.txt:
5411 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5412 (gst_pad_push_event):
5413 Revert BLOCKING patch, it tries to be smart without really having a
5414 clear idea what or how. So, now we discard all FLUSHING events again on
5415 a blocking pad. Should fix gnonlin again.
5417 2006-10-23 Wim Taymans <wim@fluendo.com>
5419 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5421 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5422 (gst_base_src_start), (gst_base_src_activate_push):
5423 Make sure size is always initialized. Fixes #364388.
5425 2006-10-20 Stefan Kost <ensonic@users.sf.net>
5427 * docs/random/ensonic/distributed.txt:
5428 add some ideas about doing distributed processing
5430 * docs/random/ensonic/profiling.txt:
5431 get_rusage look promising
5433 2006-10-18 Stefan Kost <ensonic@users.sf.net>
5435 * docs/manual/basics-helloworld.xml:
5436 Add a cast in example to fix compile warning
5438 2006-10-18 Wim Taymans <wim@fluendo.com>
5440 * gst/gstsegment.c: (gst_segment_set_last_stop),
5441 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5442 Relax arg checking again, -1 is allowed.
5444 2006-10-18 Wim Taymans <wim@fluendo.com>
5446 * gst/gstsegment.c: (gst_segment_set_last_stop),
5447 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5448 _set_last_stop() must be with a value != -1
5449 A _TYPE_SET to -1 means seek to 0.
5450 Calc last_stop correctly for negative rates.
5451 Make sure we work with positive durations when updating a segment.
5453 2006-10-18 Wim Taymans <wim@fluendo.com>
5455 * docs/design/part-live-source.txt:
5459 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
5462 Add an explicit cast to GstBuffer** to keep old code that added an
5463 explicit cast to GstMiniObject** for gst_mini_object_replace()
5464 compiling without warning.
5466 2006-10-18 Stefan Kost <ensonic@users.sf.net>
5468 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
5469 check for validity of dates
5471 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
5473 * docs/gst/gstreamer-sections.txt:
5474 Forgot this one, makes gtk-doc shut up.
5476 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
5478 Patch by: Peter Kjellerstedt <pkj at axis com>
5481 Don't define xmlNodePtr to gpointer if the core was built with
5482 --disable-loadsave and --disable-registry, this will break
5483 applications that want to use libxml2 but are buildling against a
5484 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
5485 instead so we don't have to mess with the libxml2 namespace
5488 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
5491 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
5492 type-punned pointer warnings.
5494 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
5497 Add casts to the correct return type to state <=> state transition
5500 2006-10-16 Stefan Kost <ensonic@users.sf.net>
5502 * docs/design/part-live-source.txt:
5503 describe howto handle latency
5505 * docs/random/ensonic/profiling.txt:
5508 * tools/gst-plot-timeline.py:
5509 fix log parsing for solaris, remove unused function
5511 2006-10-16 Wim Taymans <wim@fluendo.com>
5513 * docs/design/part-trickmodes.txt:
5515 Update some docs regarding reverse playback.
5517 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
5519 Patch by: Marcus Granado <mrc dot gran at gmail com>
5521 * win32/vs8/grammar.vcproj:
5522 Error out with a warning if glib-genmarshal.exe is not in path,
5523 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
5525 2006-10-13 Wim Taymans <wim@fluendo.com>
5527 * gst/gstsegment.c: (gst_segment_set_seek):
5528 When seeking to stop -1, set last_stop (current position) to the
5529 duration of the segment.
5531 2006-10-13 Wim Taymans <wim@fluendo.com>
5534 Clarify _NO_PREROLL a bit more.
5539 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
5540 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
5541 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
5542 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
5543 due to wrong locking order. Fixes #361769.
5544 Remove some redundant/misplaced checks in pad_block.
5546 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5547 For negative rates, count backwards from the duration.
5549 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
5551 * gst/gsterror.c: (_gst_library_errors_init):
5552 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
5553 up with something better).
5555 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
5557 * win32/vs6/libgstreamer.dsp:
5558 * win32/vs7/libgstreamer.vcproj:
5559 * win32/vs8/libgstreamer.vcproj:
5560 Don't reference glib-compat.c which is currently not used and not
5561 disted; add gstquark.c which was recently added. Fixes #361730.
5563 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
5565 * win32/common/libgstbase.def:
5566 * win32/common/libgstcontroller.def:
5567 * win32/common/libgstreamer.def:
5568 Add gst_caps_merge() and a bunch of other recently-added functions.
5571 2006-10-11 Wim Taymans <wim@fluendo.com>
5573 * docs/plugins/gstreamer-plugins.args:
5574 * docs/plugins/inspect/plugin-coreelements.xml:
5575 * docs/plugins/inspect/plugin-coreindexers.xml:
5576 Update element args.
5578 * gst/gstsystemclock.c:
5579 Small comment update.
5581 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5582 (gst_tee_request_new_pad), (gst_tee_release_pad),
5583 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
5584 (gst_tee_sink_activate_pull):
5585 * plugins/elements/gsttee.h:
5587 Add default property defines.
5588 Implement release pad function.
5589 Give properties better blubs etc.
5590 Activate pads before adding them to a running tee.
5591 Do simple buffer_alloc on the first requested pad.
5592 Post error when activation fails.
5594 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
5596 * gst/gst.c: (ensure_current_registry_forking):
5597 Check return value of write() to make compiler happy.
5599 2006-10-11 Wim Taymans <wim@fluendo.com>
5601 Patch by: Sjoerd Simons <sjoerd at luon dot net>
5603 * plugins/elements/gstqueue.c: (gst_queue_chain):
5604 Recheck queue filledness after signalling the overrun when we're about
5605 to leak downstream because we released the lock when emitting the signal
5606 and the queue could be empty again. Fixes #352345.
5608 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
5610 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5611 Fix refcounting here too, just like we did for _new_valist() a few
5612 days ago (#357180) (thanks to René Stadler). Also remove all those
5613 'Since: 0.9' from the gtk-doc blobs.
5615 * tests/check/libs/controller.c: (controller_refcount_new_list),
5616 (gst_controller_suite):
5617 Unit test for the above.
5619 2006-10-10 Wim Taymans <wim@fluendo.com>
5621 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
5623 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
5624 (gst_pad_save_thyself):
5626 Write pad direction in XML output. Fixes #345496.
5628 2006-10-10 Wim Taymans <wim@fluendo.com>
5630 Patch by: René Stadler <mail at renestadler dot de>
5632 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5633 (gst_controller_new_list), (_gst_controller_dispose),
5634 (_gst_controller_finalize), (_gst_controller_class_init):
5635 Take ref to controlled object so that it cannot disappear.
5638 2006-10-10 Wim Taymans <wim@fluendo.com>
5640 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5641 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5642 (gst_check_teardown_sink_pad):
5643 Activate/deactivate pads in setup/teardown respectively.
5645 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5647 Patch by: Josep Torre Valles <josep@fluendo.com>
5650 Cast values when making gstenumtypes.h. This pacifies Forte
5651 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
5654 2006-10-09 Wim Taymans <wim@fluendo.com>
5656 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
5657 Rename some more @cur to @start to fix docs.
5659 * gst/gstsegment.c: (gst_segment_set_seek):
5661 time and start must always stay in sync as defined in design doc.
5663 * gst/gsttaglist.c: (gst_tag_list_is_empty):
5664 Rename param to fix docs.
5666 * tests/check/gst/gstsegment.c: (GST_START_TEST):
5667 Check that start and time are in sync.
5669 * tests/check/pipelines/parse-launch.c:
5670 (gst_parse_test_element_change_state):
5671 Activate pad before adding to the element.
5673 2006-10-09 Wim Taymans <wim@fluendo.com>
5675 * docs/design/part-qos.txt:
5680 Update seek event docs regarding negative rates.
5681 Rename @cur to @start.
5683 * gst/gstsegment.c: (gst_segment_set_seek):
5685 Update set_seek docs regarding negative rates.
5686 Correctly update last_stop to @stop when dealing with negative
5688 Rename @cur to @start.
5690 * tests/check/gst/gstpad.c: (GST_START_TEST):
5691 Activate pads before trying to use them.
5693 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5694 (gst_segment_suite):
5695 Add simple check for segments and negative rates.
5697 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
5699 * gst/gsttaglist.c: (gst_tag_list_is_empty):
5701 * docs/gst/gstreamer-sections.txt:
5702 API: add gst_tag_list_is_empty() (#360467).
5704 * tests/check/gst/gsttag.c: (GST_START_TEST):
5707 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5710 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
5711 a value that doesn't fit on enumeration.
5713 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5715 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5716 Remove local debugging system and use Gstreamer's instead.
5718 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5720 Patch by: Josep Torre Valles <josep@fluendo.com>
5722 * common/m4/gst-error.m4:
5723 Disable warning of statement not reached on Forte.
5725 Fix warning on Forte (value doesn't fit on enumeration).
5726 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
5727 Fix warning on Forte (value doesn't fit on enumeration).
5728 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5729 DEBUG macro says it takes minimum of 2 args and so Forte
5730 complains about the use with just 1 arg.
5731 * plugins/elements/gstfdsink.c:
5732 * plugins/elements/gstfdsrc.c:
5733 * plugins/elements/gstfilesink.c:
5734 * plugins/elements/gstfilesrc.c:
5735 Use correct return type for the uri handler implementations.
5737 All these fix warnings in Forte. Fixes bug #360860.
5739 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
5742 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
5743 format string, so don't use G_GNUC_PRINTF for those versions.
5745 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
5747 * gst/gsttaglist.c: (gst_is_tag_list):
5749 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
5751 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5752 Small test for the above.
5754 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
5757 Less tabs, more spaces.
5759 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
5762 Those two function declarations do actually belong there, revert
5763 commit from yesterday that turned them intro macros.
5765 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5767 Patch by: Josep Torre Valles <josep@fluendo.com>
5769 * gst/gst.c: (gst_init_get_option_group):
5770 Fix empty declaration and type mismatch.
5771 * gst/gstbin.c: (gst_bin_change_state_func):
5773 * gst/gstelement.c: (gst_element_continue_state),
5774 (gst_element_set_state_func), (gst_element_change_state),
5775 (gst_element_change_state_func):
5776 Fix type mismatches.
5777 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
5778 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
5779 Cast as appropriate.
5780 * gst/gstobject.c: (gst_class_signal_connect):
5781 Cast as appropriate. The function pointer parameter really
5782 has the wrong type but would break API if we change it.
5784 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
5785 order of including string.h.
5786 * gst/gstutils.c: (gst_element_state_get_name):
5787 Remove unreachable line.
5788 * gst/gstxml.c: (gst_xml_parse_doc):
5790 All these caught by Forte.
5792 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5794 Patch by: Josep Torre Valles <josep@fluendo.com>
5796 * common/m4/gst-error.m4:
5798 We need to disable warnings on Forte for empty declarations
5799 due to gst-indent adding ;s to lines that just use macros
5800 where the macro actually doesn't need a ; at end to end
5803 2006-10-06 Wim Taymans <wim@fluendo.com>
5805 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5806 (gst_file_sink_close_file), (gst_file_sink_event),
5807 (gst_file_sink_render):
5808 Add some FIXME for the NEWSEGMENT handling.
5810 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5812 * gst/parse/grammar.y:
5813 Remove static function gst_parse_element_lock as all it does
5814 is return. Looks like cruft from 0.8.
5816 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5818 Patch by: Josep Torre Valles <josep@fluendo.com>
5820 * common/m4/gst-error.m4:
5822 * libs/gst/net/Makefile.am:
5823 Fix a compilation issue with Forte on Solaris. inet_aton is in
5826 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
5828 * gst/gstpad.c: (pre_activate):
5829 * gst/gstregistry.c: (gst_registry_scan_path_level):
5830 * gst/gstregistryxml.c: (load_plugin):
5831 * libs/gst/controller/gstcontroller.c:
5832 (gst_controlled_property_set_interpolation_mode):
5833 * libs/gst/dataprotocol/dataprotocol.c:
5834 (gst_dp_packet_from_event_1_0):
5835 * libs/gst/net/gstnetclientclock.c:
5836 (gst_net_client_clock_observe_times):
5837 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5840 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
5843 * docs/gst/gstreamer-sections.txt:
5844 * gst/gstconfig.h.in:
5847 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
5848 whether we can use G_GNUC_PRINTF in other header files and at
5849 least check the printf format/arguments of debug messages and
5850 GST_ELEMENT_ERROR messages when the printf extension is not
5852 Replace more tabs with spaces in gstinfo.h and remove two spurious
5853 function declarations in GST_DISABLE_DEBUG part with macros.
5855 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
5857 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
5858 More docs for the sync-message signal (mention that it is not
5859 emitted by default); log message structures of messages posted on
5862 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
5864 * gst/gst.c: (ensure_current_registry_forking):
5865 Use a pipe pair to receive status results from the forked child, and
5866 ignore the result from waitpid. Fixes #355499
5868 2006-10-02 Wim Taymans <wim@fluendo.com>
5870 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5871 (gst_ghost_pad_suite):
5874 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
5877 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
5879 2006-10-02 Edward Hervey <edward@fluendo.com>
5881 * docs/design/part-block.txt:
5882 Further explain the use of flushing on blocked pads.
5883 * docs/gst/gstreamer-sections.txt:
5884 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5885 (gst_pad_push_event):
5887 Added new GstPadFlag : GST_PAD_BLOCKING.
5888 Adds the notion of pads really blocking, which enables to properly
5889 handle FLUSH_START/FLUSH_STOP events on blocked pads.
5891 API: gst_pad_is_blocking()
5892 API: GST_PAD_IS_BLOCKING() macro
5893 API: GST_PAD_BLOCKING GstPadFlag
5895 2006-10-02 Wim Taymans <wim@fluendo.com>
5897 Patch by: mrcgran <mrc.gran at gmail dot com>
5899 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
5900 Filter the proxied caps against the padtemplate if we have one.
5902 * gst/gstquery.c: (gst_query_new_segment):
5903 Add include for gstinfo.h so that compilation with
5904 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
5906 2006-10-02 Wim Taymans <wim@fluendo.com>
5908 Patch by: Alessandro Decina <alessandro at nnva org>
5910 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
5911 (gst_file_sink_set_location), (gst_file_sink_open_file),
5912 (gst_file_sink_close_file), (gst_file_sink_event),
5913 (gst_file_sink_render):
5914 Set file to NULL when closing filesink so that we can set a new filename
5915 in READY. Fixes #358613.
5917 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
5919 Patch by: Alessandro Decina <alessandro at nnva org>
5921 * gst/gstevent.c: (_gst_event_copy):
5922 Fix gst_mini_object_make_writable() and gst_event_copy() for events
5923 with event structures by setting the parent refcount address of the
5924 copied structure to the address of the refcount member of the newly
5925 copied event rather than the address of the refcount member of the
5926 original event. Fixes #358737.
5928 * tests/check/gst/gstevent.c: (GST_START_TEST):
5929 Unit test for the above.
5931 2006-09-29 Stefan Kost <ensonic@users.sf.net>
5933 * docs/design/Makefile.am:
5934 Dist some more files.
5936 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
5938 * tests/check/libs/controller.c: (GST_START_TEST),
5939 (gst_controller_suite):
5940 Add test for the previous fix; add some more tests
5941 for correct refcounting behaviour; fix a few leaks
5942 in test cases; call gst_controller_init() at start
5945 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
5947 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5948 (gst_controller_set_from_list):
5949 Don't g_return_val_if_fail() on timed values with invalid timestamps
5950 inside a critical section without unlocking the mutex. Spotted by
5951 René Stadler. (#357617)
5952 Also, fix up refcounting properly: when returning an existing
5953 controller, we should increase the reference only once and not
5954 once per property and when trying to control a property again
5955 we should also increase the refcount.
5957 2006-09-29 Wim Taymans <wim@fluendo.com>
5959 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5960 * libs/gst/net/gstnettimeprovider.c:
5961 (gst_net_time_provider_thread):
5962 Stop reading commands when EOF as well.
5964 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5965 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5966 * plugins/elements/gstidentity.c: (gst_identity_class_init):
5967 Unify description of the dump property.
5969 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
5971 * tests/examples/manual/.cvsignore:
5972 OK, so it's actually cvsignore that needs changing. Stop laughing.
5974 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
5976 * tests/examples/manual/Makefile.am:
5977 Gah, declare vars *before* using them
5979 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
5981 * gst/gst.c: (init_pre), (scan_and_update_registry),
5982 (ensure_current_registry_nonforking),
5983 (ensure_current_registry_forking), (ensure_current_registry),
5984 (init_post), (gst_debug_help), (gst_deinit):
5985 * gst/gst_private.h:
5986 * gst/gstregistry.c: (gst_registry_finalize),
5987 (gst_registry_remove_features_for_plugin_unlocked),
5988 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
5989 (gst_registry_scan_path),
5990 (_priv_gst_registry_remove_cache_plugins),
5991 (_priv_gst_registry_cleanup):
5992 * gst/gstregistry.h:
5993 Re-commit the registry changes, along with an extra fix:
5994 When a cached plugin is encountered at a different file path,
5995 update the stored path in the registry cache so that the parent
5996 process knows where it actually is now when it re-reads the registry
5997 cache. Fixes the thing that broke distcheck with the previous commit.
5999 * tests/check/Makefile.am:
6000 Clean up files named 'core' too when running make clean.
6002 * tests/examples/manual/Makefile.am:
6003 Set up a registry path for running these tests, and clean it properly
6006 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
6009 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
6010 want gmodule-no-export-2.0.pc instead so that we don't drag in
6011 --export-dynamic on every project that links to GStreamer.
6013 Also, make our export regex only match the start of symbols, rather
6014 than any symbol that contains '_gst' somewhere.
6016 * libs/gst/check/Makefile.am:
6017 The libgstcheck we build does however need export-dynamic, as it
6018 produces some symbols that don't match our _gst... style regex.
6021 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
6023 * gst/gst.c: (init_pre), (scan_and_update_registry),
6024 (ensure_current_registry_nonforking),
6025 (ensure_current_registry_forking), (ensure_current_registry),
6026 (init_post), (gst_debug_help), (gst_deinit):
6027 * gst/gst_private.h:
6028 * gst/gstregistry.c: (gst_registry_finalize),
6029 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6030 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
6031 (_gst_registry_cleanup):
6032 * gst/gstregistry.h:
6033 Revert previous change until I figure out why it breaks distcheck.
6035 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
6037 * gst/gst.c: (init_pre), (scan_and_update_registry),
6038 (ensure_current_registry_nonforking),
6039 (ensure_current_registry_forking), (ensure_current_registry),
6040 (init_post), (gst_debug_help), (gst_deinit):
6042 Make init_pre and init_post take the full complement of GOptionFunc
6043 args so they can return useful GErrors. Make the registry updating
6046 Call _priv_gst_registry_remove_cache_plugins after scanning files to
6047 ensure that the registry we're about to write out doesn't contain
6048 stale information about old-deleted plugin files.
6050 Make _priv_gst_registry_remove_cache_plugins return a boolean so
6051 that deletion of plugin files is considered a registry change.
6053 * gst/gst_private.h:
6054 * gst/gstregistry.c: (gst_registry_finalize),
6055 (gst_registry_remove_features_for_plugin_unlocked),
6056 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6057 (gst_registry_scan_path),
6058 (_priv_gst_registry_remove_cache_plugins),
6059 (_priv_gst_registry_cleanup):
6060 * gst/gstregistry.h:
6061 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
6062 by adding _priv prefix, so that they won't appear in the global
6063 symbol table. They still do atm though because of #318031. Move the
6064 prototypes to gst_private.h
6066 When removing a plugin, remove all features for that plugin too.
6069 2006-09-27 Wim Taymans <wim@fluendo.com>
6071 * docs/random/moving-plugins:
6072 Make it clear that the "compiled-in descriptions" really mean
6073 the element details.
6075 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6076 (gst_base_sink_wait_preroll):
6079 * docs/libs/gstreamer-libs-sections.txt:
6080 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6081 (gst_base_src_get_range), (gst_base_src_activate_push):
6082 * libs/gst/base/gstbasesrc.h:
6083 Added function to block while waiting for PLAYING, this function
6084 is used by live sources that block on the clock.
6085 API: gst_base_src_wait_playing()
6087 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
6089 Patch by: Peter Kjellerstedt <pkj at axis com>
6092 gst-element-check.m4 is generated and should therefore be
6093 copied from the build dir rather than the source dir (#357593).
6094 'make distcheck' hasn't noticed this because we were disting
6095 the file as well, so stop doing that.
6097 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
6099 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6100 Add some tests for gst_caps_intersect().
6102 * tools/gst-launch.c: (event_loop):
6103 Print all buffering percentages we get, even the 100% one.
6105 2006-09-26 Wim Taymans <wim@fluendo.com>
6107 * tools/gst-inspect.c: (print_element_properties_info),
6108 (print_signal_info):
6109 Fix printing of flags to match the look of enums.
6111 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
6113 * gst/gstelementfactory.c:
6114 Fix typo in docs blurb.
6116 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
6118 * gst/gsturi.c: (search_by_entry):
6119 Don't assert/crash here if a uri handler doesn't return any
6120 supported protocols. The list of protocols could be generated
6121 dynamically at runtime or at plugin registration, and an error
6122 in the underlying library shouldn't be fatal (#353301).
6124 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
6127 Fix warning if HAVE_PRINTF_EXTENSION is undefined
6128 (spotted by Peter Kjellerstedt).
6130 2006-09-23 Wim Taymans <wim@fluendo.com>
6132 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
6134 * libs/gst/base/gstbasesrc.c:
6135 (gst_base_src_default_check_get_range), (gst_base_src_start),
6136 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6137 (gst_base_src_change_state):
6138 Match _start/_stop calls in the activate functions. Remove redundant
6139 _stop call from the state change function. Fixes #356910.
6140 Turn failure DEBUG into ERROR.
6142 2006-09-22 Wim Taymans <wim@fluendo.com>
6144 * docs/design/part-buffering.txt:
6145 * gst/gstmessage.c: (gst_message_new_buffering),
6146 (gst_message_parse_buffering):
6147 Update docs about buffering.
6149 * docs/design/part-trickmodes.txt:
6152 2006-09-22 Stefan Kost <ensonic@users.sf.net>
6154 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6155 (gst_controller_new_list):
6156 Ref instances when returning them again (fixes #357180)
6158 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
6160 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
6161 Don't forget to release proxy lock when there's an error.
6163 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
6166 Add extra initialisers for Caps things, to fix some plugin warnings
6169 2006-09-18 Wim Taymans <wim@fluendo.com>
6171 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
6172 Also set template on the internal pad so that a getcaps from the
6173 target pad returns the template caps.
6175 2006-09-18 Wim Taymans <wim@fluendo.com>
6177 * gst/gstelement.c: (gst_element_post_message),
6178 (gst_element_dispose):
6179 Use _DEBUG_OBJECT some more.
6181 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6184 * tools/gst-launch.c: (main):
6185 If the toplevel element is not a GstPipeline, it must be put in a
6186 pipeline so that a bus and clock is selected.
6188 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
6190 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6191 JITTER, RATE, and LATENCY query should be handled by the
6192 default case and not by the CONVERT query code.
6194 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
6196 * gst/gstformat.c: (gst_format_register):
6197 Fix locking order (must take lock before using n_values).
6199 * gst/gstvalue.c: (gst_value_serialize_enum),
6200 (gst_value_deserialize_enum_iter_cmp),
6201 (gst_value_deserialize_enum):
6202 Fix serialisation/deserialisation of custom registered GstFormats.
6204 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6205 Unit test for custom format serialisation/deserialisation.
6207 2006-09-17 Stefan Kost <ensonic@users.sf.net>
6209 * docs/pwg/building-boiler.xml:
6210 * plugins/elements/gstcapsfilter.c:
6211 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
6214 2006-09-16 Edward Hervey <edward@fluendo.com>
6216 * libs/gst/base/gstbasetransform.c:
6217 (gst_base_transform_buffer_alloc):
6218 Check if requested caps are the same as the sinks caps IF
6219 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
6221 This fixes the renegotiation issues stated in #352827.
6223 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
6226 * docs/manual/advanced-autoplugging.xml:
6227 * tests/examples/Makefile.am:
6228 * tests/examples/manual/.cvsignore:
6229 * tests/examples/manual/Makefile.am:
6230 * tests/examples/manual/extract.pl:
6231 Extract the manual examples again like we used to do.
6234 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
6236 * win32/common/config.h:
6239 2006-09-16 Stefan Kost <ensonic@users.sf.net>
6242 Documents how to receive errors.
6244 2006-09-15 Wim Taymans <wim@fluendo.com>
6246 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
6247 (event_loop), (main):
6248 Added some comments here and there.
6249 Post an application message when an interrupt is caught instead of doing
6250 an uncontrolled state change.
6251 Clean up the event loop.
6252 Handle buffering messages, pause/resume the pipeline.
6253 Make shutdown because of an interrupt more reliable.
6255 2006-09-15 Wim Taymans <wim@fluendo.com>
6257 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6258 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
6259 (gst_base_sink_preroll_object):
6260 Make sure that our internal state is correct when we commit our state
6261 asynchronously. This solves a race where a state change to PLAYING
6262 could cause the sink to remain blocked in preroll in some situations.
6264 2006-09-15 Wim Taymans <wim@fluendo.com>
6266 * tools/gst-inspect.c: (print_element_properties_info),
6267 (print_signal_info):
6268 List flags as hex so it's easier to deal with.
6270 2006-09-15 Wim Taymans <wim@fluendo.com>
6272 * docs/libs/gstreamer-libs-sections.txt:
6273 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
6274 (gst_base_sink_do_sync):
6275 * libs/gst/base/gstbasesink.h:
6276 Expose logic to wait for preroll so that subclasses such as audiosink
6277 can also use this method.
6278 API: gst_base_sink_wait_preroll()
6280 2006-09-15 Wim Taymans <wim@fluendo.com>
6282 * gst/gstobject.c: (gst_object_set_parent):
6283 * gst/gstpipeline.c: (do_pipeline_seek):
6284 Small cleanups in docs and code.
6286 * gst/gstsegment.c: (gst_segment_clip):
6287 * tests/check/gst/gstsegment.c: (GST_START_TEST):
6288 if stop == start and start is in the segment, no clipping should be
6289 done. Also add a test for this.
6291 2006-09-15 Wim Taymans <wim@fluendo.com>
6293 * docs/design/part-buffering.txt:
6294 * docs/gst/gstreamer-sections.txt:
6295 * gst/gstmessage.c: (gst_message_new_buffering),
6296 (gst_message_parse_buffering):
6298 Added methods to create and parse BUFFERING messages.
6299 Added preliminary docs about buffering.
6300 API: gst_message_new_buffering
6301 API: gst_message_parse_buffering
6303 2006-09-06 Wim Taymans <wim@fluendo.com>
6306 Update documentation.
6308 * gst/gstelement.c: (gst_element_class_init),
6309 (gst_element_release_request_pad), (gst_element_set_clock),
6310 (gst_element_get_index), (gst_element_add_pad),
6311 (gst_element_remove_pad), (gst_element_get_random_pad),
6312 (gst_element_send_event), (gst_element_get_query_types),
6313 (gst_element_query), (gst_element_post_message),
6314 (gst_element_message_full), (gst_element_continue_state),
6315 (gst_element_lost_state), (gst_element_save_thyself),
6316 (gst_element_restore_thyself):
6317 Documentation updates.
6318 Rename last bit of the new-pad -> pad-added signal rename.
6319 Fix the case where an element query would only work if the source
6321 Avoid some useless type checking in message handling.
6326 Documentation updates.
6328 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
6330 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
6331 add an INFO line for when we actually update the fd
6333 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
6338 === release 0.10.10 ===
6340 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
6343 releasing 0.10.10, "Pais"
6345 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
6347 * docs/manual/advanced-position.xml:
6348 Fix typo in sample code.
6350 2006-09-05 Wim Taymans <wim@fluendo.com>
6352 * libs/gst/net/gstnetclientclock.c: (inet_aton),
6353 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6354 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
6355 * libs/gst/net/gstnetclientclock.h:
6356 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6357 * libs/gst/net/gstnettimepacket.h:
6358 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
6359 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
6360 (gst_net_time_provider_thread), (gst_net_time_provider_new):
6361 * libs/gst/net/gstnettimeprovider.h:
6362 Make stuff compile on windows. Fixes #345295.
6364 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
6366 * gst/gst.c: (ensure_current_registry_forking):
6367 Print better details when child was terminated by signal.
6369 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
6371 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
6372 Print a warning rather than g_assert() if a plugin feature
6373 is a URI handler but returns no protocols (#353976).
6375 2006-09-02 Stefan Kost <ensonic@users.sf.net>
6377 * docs/random/moving-plugins:
6380 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
6382 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
6383 Fix locking order, handle NULL function values properly.
6388 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
6389 Initialise variable before using it and fix debug statement to
6390 print the address of the function rather than the address of the
6391 variable on the stack holding the address of the function.
6393 2006-09-01 Wim Taymans <wim@fluendo.com>
6395 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
6396 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
6397 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6398 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
6399 (gst_ghost_pad_parent_unset),
6400 (gst_ghost_pad_internal_do_activate_push),
6401 (gst_ghost_pad_internal_do_activate_pull),
6402 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6403 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6404 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
6405 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
6406 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
6407 (gst_ghost_pad_new_no_target_from_template),
6408 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6410 Avoid needless typechecking in macros.
6411 Since the internal pad is always present and never changes, there is
6412 no need to locking or ref when retrieving it.
6413 Improve debugging a bit.
6414 Handle link errors when setting the target. Fixes #341029.
6416 2006-09-01 Wim Taymans <wim@fluendo.com>
6418 * docs/libs/gstreamer-libs-sections.txt:
6419 * docs/plugins/gstreamer-plugins-sections.txt:
6422 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6423 (gst_collect_pads_event):
6424 * libs/gst/base/gstcollectpads.h:
6425 Documentation updates.
6426 Free queued buffer when removing a pad.
6428 2006-08-31 Michael Smith <msmith@fluendo.com>
6430 * gst/gstutils.c: (gst_element_link_pads),
6431 (gst_element_link_pads_filtered):
6432 Ensure that we set a capsfilter to NULL if we failed to link it
6433 when doing filtered linking, to avoid criticals.
6435 No need to check for unreffing srcpad, which is explicly NULLed
6436 above (a trivial code cleanup).
6438 2006-08-31 Wim Taymans <wim@fluendo.com>
6440 * docs/design/part-gstghostpad.txt:
6441 Update ascii art in documentation.
6443 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
6444 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
6445 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
6446 (gst_ghost_pad_internal_do_activate_push),
6447 (gst_ghost_pad_internal_do_activate_pull),
6448 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6449 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6450 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
6451 (gst_ghost_pad_set_target):
6452 Small cleanups and leak fixes.
6453 Remove some checks now that the internal pad is never NULL.
6454 Fix the case where linking pads without a target would create nasty
6455 criticals. Fixes #341029.
6456 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
6457 value of _set_target().
6459 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6460 (gst_ghost_pad_suite):
6461 Some more tests for creating and linking untargeted ghostpads.
6463 2006-08-31 Edward Hervey <edward@fluendo.com>
6465 * docs/gst/gstreamer-sections.txt:
6466 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
6467 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
6468 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
6469 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
6470 (gst_ghost_pad_new_from_template),
6471 (gst_ghost_pad_new_no_target_from_template):
6472 * gst/gstghostpad.h:
6473 Refactored *_new() functions.
6474 Templates are now used as a g_object_new() parameter.
6475 Use template in _do_getcaps() if we don't have a target.
6476 Small documentation cleanups.
6477 Added two new constructors:
6478 gst_ghost_pad_new_from_template()
6479 gst_ghost_pad_new_no_target_from_template()
6480 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6481 (gst_ghost_pad_suite):
6482 Added tests for new ghostpad instanciation functions.
6484 API additions: gst_ghost_pad_new_from_template,
6485 gst_ghost_pad_new_no_target_from_template
6487 2006-08-30 Stefan Kost <ensonic@users.sf.net>
6489 * docs/random/ensonic/profiling.txt:
6490 Ideas about qos profiling.
6492 2006-08-29 Wim Taymans <wim@fluendo.com>
6494 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
6498 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
6501 Improve and detypofy docs.
6503 * tests/check/Makefile.am:
6504 * tests/check/gst/.cvsignore:
6505 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
6506 Add a basic test suite for GstXML.
6508 2006-08-29 Wim Taymans <wim@fluendo.com>
6510 * gst/gstelement.c: (activate_pads), (clear_caps),
6511 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
6512 Clear the pad caps when the element shut down all of the pads and
6513 is not streaming data that could modify the caps.
6516 2006-08-28 Michael Smith <msmith@fluendo.com>
6518 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6519 Revert previous change; I misunderstood single-segment mode.
6521 2006-08-28 Michael Smith <msmith@fluendo.com>
6523 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6524 Unset DISCONT on buffers when using single-segment mode.
6526 2006-08-28 Wim Taymans <wim@fluendo.com>
6528 * gst/gstcaps.c: (gst_caps_merge_structure):
6530 Fix docs and indentation again.
6532 * tests/check/gst/gstquery.c: (GST_START_TEST):
6533 Fix leak in tests and add some more tests.
6535 2006-08-28 Edward Hervey <edward@fluendo.com>
6537 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6538 Inform GstSegment of the last stop position in order for the current
6539 segment to have a proper duration if it doesn't have a specific stop
6540 position from which a duration could be calculated.
6541 This bug was noticeable when a non-flushing, non-update new segment was
6542 followed by another segment (all buffers from the new segment were being
6545 2006-08-28 Wim Taymans <wim@fluendo.com>
6547 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6548 Small comment update.
6550 * plugins/elements/gstidentity.c: (gst_identity_class_init),
6551 (gst_identity_transform_ip):
6552 Drop-probability is broken, mention this in the code with a
6553 FIXME and also in the property description.
6554 Make silent also be silent about the drop messages.
6556 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
6558 * docs/manual/appendix-win32.xml:
6559 Remove mention of popt, we don't depend on that any
6560 longer (#353136). Add some comments pointing out that
6561 this section is slightly outdated.
6563 2006-08-28 Wim Taymans <wim@fluendo.com>
6565 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6567 * gst/gstquery.c: (gst_query_new_segment):
6568 * tests/check/gst/gstquery.c: (GST_START_TEST):
6569 Initialize variables when creating a new segment query.
6572 2006-08-28 Wim Taymans <wim@fluendo.com>
6574 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6576 * gst/gstelement.c: (gst_element_get_bus):
6577 * tests/check/gst/gstelement.c: (GST_START_TEST):
6578 Check for NULL before _reffing the bus. Fixes #353122.
6580 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
6582 * docs/manual/basics-bus.xml:
6583 Docs update: fix wrong callback return value explanation; add
6584 some lines about the implicit relationship between main loop
6585 and main context; remove duplicate main loop variable declaration.
6587 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
6589 * tests/check/gst/gstcaps.c: (GST_START_TEST):
6590 Don't leak caps in unit test; add a few more simple
6593 2006-08-24 Stefan Kost <ensonic@users.sf.net>
6595 * docs/gst/gstreamer-sections.txt:
6596 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
6597 (gst_caps_structure_is_subset), (gst_caps_merge),
6598 (gst_caps_merge_structure):
6600 * libs/gst/base/gstbasetransform.c:
6601 (gst_base_transform_transform_caps):
6602 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6603 implement caps merging (fixes #352580)
6605 2006-08-23 Stefan Kost <ensonic@users.sf.net>
6607 * tools/Makefile.am:
6608 * tools/gst-plot-timeline.py:
6609 add debug-log plotting developer tool (#340674)
6611 2006-08-23 Wim Taymans <wim@fluendo.com>
6613 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
6614 (gst_pad_stop_task):
6615 Improve debugging for task functions.
6617 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
6618 (gst_task_start), (gst_task_pause), (gst_task_join):
6619 Make sure that the task function started and finished after a
6621 Don't try to push the task function on the threadpool multiple
6623 Improve the g_warning message with some useful suggestions
6624 about how to fix the problem.
6626 2006-08-23 Wim Taymans <wim@fluendo.com>
6628 * gst/gstutils.c: (gst_pad_proxy_getcaps):
6629 Handle RESYNC correctly in _proxy_getcaps.
6631 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
6633 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
6634 (gst_xml_parse_memory), (gst_xml_get_element):
6635 Chain up to parent class in dispose function and also
6636 unref the elements in the toplevel_elements GList.
6637 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
6638 Always return a reference in gst_xml_get_element() rather
6639 than only sometimes.
6641 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
6642 Don't leak GstXml object.
6644 2006-08-21 Stefan Kost <ensonic@users.sf.net>
6646 * docs/gst/gstreamer-sections.txt:
6647 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
6650 * libs/gst/base/gstbasetransform.c:
6651 (gst_base_transform_transform_caps):
6652 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
6655 2006-08-21 Edward Hervey <edward@fluendo.com>
6657 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
6658 Implement GObject::dispose virtual method in GstXML so we can free the
6661 2006-08-21 Wim Taymans <wim@fluendo.com>
6663 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
6664 (gst_buffer_create_sub):
6665 Copy duration/offset_end/caps when creating a subbuffer of the
6667 Make the subbuffer read-only when we make the metadata writable for
6670 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6671 Added check for metadata copy when creating subbuffers.
6673 2006-08-21 Edward Hervey <edward@fluendo.com>
6675 * libs/gst/base/gstbasetransform.c:
6676 (gst_base_transform_buffer_alloc):
6677 Only call downstream buffer_alloc if transform element is passthrough
6678 or always_in_place. Closes #350449.
6680 2006-08-20 Stefan Kost <ensonic@users.sf.net>
6683 ChangeLog surgery to add comments to previous changes
6685 2006-08-20 Stefan Kost <ensonic@users.sf.net>
6690 * gst/gstpad.c: (gst_pad_set_active):
6691 Be more verbose in the log
6693 * libs/gst/base/gstbasetransform.c:
6694 (gst_base_transform_transform_caps):
6695 Simplify caps to get rid of duplicates, fixes #345444
6697 2006-08-20 Stefan Kost <ensonic@users.sf.net>
6701 Use these optimizations only internally.
6703 2006-08-20 Stefan Kost <ensonic@users.sf.net>
6705 * gst/gstvalue.c: (gst_value_compare_list),
6706 (gst_value_compare_fraction_range),
6707 (gst_value_intersect_fraction_fraction_range),
6708 (gst_value_intersect_fraction_range_fraction_range),
6709 (gst_value_subtract_fraction_fraction_range),
6710 (gst_value_subtract_fraction_range_fraction_range),
6711 (gst_value_get_compare_func), (gst_value_compare),
6712 (gst_value_compare_with_func):
6714 Saves the expensive lookup of the compare function in many cases
6717 2006-08-18 Edward Hervey <edward@fluendo.com>
6719 * tests/check/gst/gstinfo.c: (gst_info_suite):
6720 Disable test that require gstdebug if it wasn't built in core.
6722 2006-08-18 Stefan Kost <ensonic@users.sf.net>
6724 * docs/random/ensonic/logging.txt:
6727 * gst/gstinfo.c: (gst_debug_log_default):
6728 reorder fields, save some columns, add optional color codes for log
6731 2006-08-18 Stefan Kost <ensonic@users.sf.net>
6733 * docs/random/ensonic/logging.txt:
6734 add ideas about making the logs a bit more useful
6736 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
6738 * docs/pwg/advanced-events.xml:
6739 * docs/pwg/titlepage.xml:
6740 Update for 0.10 API (#340627). Add myself
6743 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
6745 * docs/libs/gstreamer-libs-docs.sgml:
6746 * docs/libs/gstreamer-libs-sections.txt:
6747 * libs/gst/check/gstbufferstraw.c:
6748 Make gstcheck stuff show up in docs (still needs to
6749 be documented properly though).
6751 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
6753 * docs/gst/gstreamer-sections.txt:
6755 * gst/gst.c: (init_post):
6756 * gst/gst_private.h:
6757 * gst/gstquark.c: (_priv_gst_quarks_initialize):
6759 * gst/gstquery.c: (gst_query_new_position),
6760 (gst_query_set_position), (gst_query_parse_position),
6761 (gst_query_new_duration), (gst_query_set_duration),
6762 (gst_query_parse_duration), (gst_query_new_convert),
6763 (gst_query_set_convert), (gst_query_parse_convert),
6764 (gst_query_new_segment), (gst_query_set_segment),
6765 (gst_query_parse_segment), (gst_query_new_seeking),
6766 (gst_query_set_seeking), (gst_query_parse_seeking):
6767 Add internal helpers for pre-registering quarks from static strings
6768 and using the quark values directly instead of looking them up when
6769 creating and parsing queries. Can be used for event construction too.
6772 2006-08-16 Wim Taymans <wim@fluendo.com>
6777 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
6779 * gst/gstutils.c: (gst_util_set_value_from_string):
6780 Fix memleak (#351502).
6782 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6783 Add unit test for most of gst_util_set_value_from_string()
6784 (not that one would want to encourage use of this function).
6786 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
6788 * libs/gst/check/gstcheck.h:
6789 Use const gchar * variables in fail_unless_equals_string
6790 macro to avoid compiler warnings (and don't use tabs for
6793 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
6795 * tools/gst-launch.c: (print_tag):
6796 More space on the left for the tag names, to cater
6797 for the 'extended comment' tag (not touching the
6798 string for the first line since it's translated).
6800 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
6802 * libs/gst/check/gstcheck.h:
6803 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
6804 print something when they fail.
6806 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
6808 * docs/gst/gstreamer-sections.txt:
6809 * gst/gsttaglist.c: (_gst_tag_initialize):
6811 API: add GST_TAG_EXTENDED_COMMENT (#350935).
6812 Also change merge function for GST_TAG_COMMENT to
6815 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
6817 * gst/gstinfo.c: (gst_debug_print_object):
6818 Make GST_PTR_FORMAT print messages as well.
6820 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
6821 (GST_START_TEST), (gst_info_suite):
6824 2006-08-14 Edward Hervey <edward@fluendo.com>
6826 * gst/gstelementfactory.c: (gst_element_register):
6827 If the GstElementClass doesn't have a GstElementDetails with all fields
6828 filled up correctly (longname, description AND author), then error out
6829 nicely instead of crashing.
6831 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
6833 * gst/gststructure.c:
6834 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
6837 Expand on the difference between arrays and lists as we use them.
6839 2006-08-14 Wim Taymans <wim@fluendo.com>
6841 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6842 If the parent state change function failed, don't assume we can safely
6843 stop the source, this will be done when the pads are deactivated.
6845 2006-08-14 Wim Taymans <wim@fluendo.com>
6848 * gst/gsttask.c: (gst_task_join):
6851 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6852 (gst_pad_stop_task):
6853 When pad (de)activation failed for some reason, restore the old
6854 activation mode and set the pad to flushing instead of assuming the
6856 If the _task_join() failed, reinstall the task on the pad so that it can
6857 be stopped later and return an error.
6859 2006-08-11 Andy Wingo <wingo@pobox.com>
6862 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
6863 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
6864 is only for users of API that don't want to see deprecated
6865 functions in the headers; people that want to compile out
6866 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
6867 CFLAGS. Fixes the build of multifdsink, or will soon..
6869 2006-08-11 Wim Taymans <wim@fluendo.com>
6871 * docs/gst/gstreamer-sections.txt:
6872 Add GstClockClass vmethod docs.
6875 Mark #endif with comment for associated #if
6877 * gst/gstclock.c: (gst_clock_id_wait):
6879 Add vmethod wait_jitter to avoid an unneeded _get_time() for
6880 most clock implementations.
6882 Flesh out docs about resolution methods.
6883 API: GstClockClass::wait_jitter
6885 * gst/gstsystemclock.c: (gst_system_clock_class_init),
6886 (gst_system_clock_async_thread),
6887 (gst_system_clock_id_wait_jitter_unlocked),
6888 (gst_system_clock_id_wait_jitter):
6889 Use base class wait_jitter variant for improved performance
6890 due to less clock polling.
6892 2006-08-11 Edward Hervey <edward@fluendo.com>
6894 * gst/gst.c: (gst_init_check), (init_post):
6895 Set gst as being initialized before scanning/updating the registry,
6896 since there might be my python plugin loader that calls gst_init() and
6897 we don't want to loop back in.
6900 2006-08-11 Wim Taymans <wim@fluendo.com>
6902 * docs/design/part-qos.txt:
6903 Bring docs in line with the code. Mostly the sign of the jitter was
6904 wrong in the docs. Fixes #349943.
6907 Fix the docs for the jitter.
6909 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
6910 (gst_event_parse_tag), (gst_event_new_buffer_size),
6911 (gst_event_parse_buffer_size), (gst_event_parse_qos),
6912 (gst_event_new_seek), (gst_event_parse_seek),
6913 (gst_event_new_navigation):
6914 Make sure the GstStructure has no parent when creating custom
6916 Add some more argument checking so that we avoid 0.0 rates.
6917 Flesh out the docs for the QoS event some more.
6919 2006-08-11 Wim Taymans <wim@fluendo.com>
6921 * docs/gst/gstreamer-sections.txt:
6922 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6923 (ensure_current_registry_forking), (ensure_current_registry),
6924 (parse_one_option), (parse_goption_arg), (gst_deinit),
6925 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
6928 Added API and command line option to disable registry forking in
6929 addition to the environment variable.
6930 Constify some static arrays.
6931 Added some more debug.
6933 API: gst_registry_fork_is_enabled()
6934 API: gst_registry_fork_set_enabled()
6935 API: --gst-disable-registry-fork command line option
6938 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
6940 * gst/gst.c: (gst_init):
6941 Fix typo in error message.
6943 2006-08-10 Stefan Kost <ensonic@users.sf.net>
6945 * libs/gst/controller/gstcontroller.h:
6946 fix ABI size-correction
6948 * tests/check/libs/gdp.c: (gst_dp_suite):
6949 make tests that use deprecated API conditional
6951 2006-08-10 Stefan Kost <ensonic@users.sf.net>
6953 * docs/libs/gstreamer-libs-sections.txt:
6954 * libs/gst/controller/gstcontroller.c:
6955 (_gst_controller_get_property), (_gst_controller_set_property),
6956 (_gst_controller_init), (_gst_controller_class_init):
6957 * libs/gst/controller/gstcontroller.h:
6958 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
6959 (gst_object_set_control_rate):
6960 API: add gst_object_{s,g}et_control_rate(), add private data section,
6963 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
6964 * libs/gst/dataprotocol/dataprotocol.h:
6965 add deprecation guards to make gtk-doc happy and allow disabling cruft
6967 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
6969 * tests/check/Makefile.am:
6970 * tests/check/gst/.cvsignore:
6971 Let's enable the new unit test as well.
6973 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
6976 * docs/gst/gstreamer-sections.txt:
6977 * gst/gstconfig.h.in:
6978 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
6979 (_gst_info_printf_extension_ptr),
6980 (_gst_info_printf_extension_segment):
6981 API: add GST_SEGMENT_FORMAT, which is a printf extension we
6982 register that lets us easily dump GstSegments into debug
6985 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
6986 (info_segment_format_printf_extension), (gst_info_suite):
6987 Add simple unit test that logs a bunch of different segments (not
6988 valgrinded at the moment because of leaks in
6989 gst_debug_add_log_function).
6991 2006-08-09 Edward Hervey <edward@fluendo.com>
6993 * libs/gst/base/gstbasetransform.c:
6994 (gst_base_transform_buffer_alloc):
6995 Even if we can't figure out the proper format to request downstream,
6996 call buffer_alloc() downstream with the input parameters without setting
6997 the caps on the srcpad. This will force negotiation in the chain
7001 2006-08-08 Edward Hervey <edward@fluendo.com>
7003 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7004 Unlinking from a pad without a target is now a perfectly valid case
7005 which should NOT raise an assertion.
7006 This case would happen if a linked ghostpad its target set to NULL after
7007 it was previously linked.
7009 2006-08-08 Edward Hervey <edward@fluendo.com>
7011 * tests/check/libs/gdp.c:
7012 Also comment out the test (see below).
7014 2006-08-08 Edward Hervey <edward@fluendo.com>
7016 * tests/check/libs/gdp.c: (gst_dp_suite):
7017 Use the architecture information from config.h and not gcc macros
7018 in order to properly disable a test that fails on PPC64.
7020 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
7022 * gst/gstelement.c: (gst_element_remove_pad):
7023 Don't crash printing the warning if the pad has no parent.
7025 2006-08-02 Wim Taymans <wim@fluendo.com>
7027 * libs/gst/dataprotocol/dataprotocol.c:
7028 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7029 (gst_dp_crc), (gst_dp_header_payload_length),
7030 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
7031 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
7032 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
7033 (gst_dp_event_from_packet), (gst_dp_validate_header),
7034 (gst_dp_validate_payload):
7035 Make debug category static
7036 Constify the crc table.
7037 Do some more arg checking in public functions.
7038 Fix some docs and do some small cleanups.
7040 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
7041 Add some more checks to see if GDP deals with bogus input.
7043 2006-07-31 Wim Taymans <wim@fluendo.com>
7045 * gst/gstvalue.c: (gst_value_compare_list):
7046 Fix GstValueList comparison code. Fixes #347293.
7048 * tests/check/gst/gstvalue.c: (GST_START_TEST):
7049 Check to test GstValueList comparison.
7051 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7053 * gst/gstelementfactory.c: (gst_element_factory_create):
7054 Remove unnecessary ref/unref pair
7056 * gst/parse/grammar.y:
7057 Make sure to free the parse buffer on all code paths.
7058 Move a g_free up to the error handler where it's easier to see.
7060 * tests/check/gst/gstevent.c: (test_event):
7061 Extending timeout for downstream travelling events to 10 seconds to
7062 hopefully avoid intermittent failure on the buildbots.
7064 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
7065 Don't manually set the state of the src element - it will happen as a
7066 natural consequence of the pipeline changing state, and that way it
7067 will do it in the right order too.
7069 2006-07-31 Wim Taymans <wim@fluendo.com>
7071 * libs/gst/base/gstbasetransform.c:
7072 (gst_base_transform_buffer_alloc):
7073 Use OBJECT_LOCK and refcounting to get the pad caps in the
7074 buffer_alloc function because the caps could change while we are
7075 busy with them. Fixes #349105
7077 2006-07-31 Wim Taymans <wim@fluendo.com>
7079 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
7080 Protect _PAD_CAPS with OBJECT_LOCK.
7082 2006-07-31 Wim Taymans <wim@fluendo.com>
7084 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7085 (gst_pad_get_property), (gst_pad_activate_pull),
7086 (gst_pad_activate_push), (gst_pad_set_blocked_async),
7087 (gst_pad_set_activate_function),
7088 (gst_pad_set_activatepull_function),
7089 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
7090 (gst_pad_set_getrange_function),
7091 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
7092 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7093 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
7094 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
7095 (gst_pad_set_acceptcaps_function),
7096 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
7097 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
7098 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
7099 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
7100 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
7101 (gst_pad_configure_sink), (gst_pad_configure_src),
7102 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
7103 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
7104 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
7105 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
7106 (gst_pad_send_event):
7107 Use _DEBUG_OBJECT when it makes sense.
7108 Protect GST_PAD_CAPS with the OBJECT_LOCK.
7109 Small cleanups and code reflows.
7110 Avoid caps refcounting in _accept_caps.
7111 Refactor alloc_buffer so that the code performed on the peer is in a
7112 separate function. Also if the pad does not implement a buffer alloc
7113 function, we should still check if the pad is flushing before falling
7114 back to the default allocator.
7116 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7118 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7119 Make all uses of identity and fakesink have silent=true to avoid
7120 serialising every passing data structure, which is breaking tests
7121 on FC4 for some unknown reason.
7123 2006-07-30 Stefan Kost <ensonic@users.sf.net>
7125 * gst/parse/Makefile.am:
7126 * gst/parse/grammar.y:
7127 * gst/parse/parse.l:
7128 Reverted previous patch as it required to bump the flex dependency to
7129 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
7131 2006-07-30 Stefan Kost <ensonic@users.sf.net>
7133 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
7135 * gst/parse/Makefile.am:
7136 * gst/parse/grammar.y:
7137 * gst/parse/parse.l:
7138 push & pop the state of the lexer for reentrant use case
7141 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
7143 * libs/gst/base/gstbasesrc.h:
7144 Note in the docs that the ::newsegment vfunc is not actually used by
7147 2006-07-28 Wim Taymans <wim@fluendo.com>
7149 * libs/gst/base/gstcollectpads.c:
7150 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
7151 (gst_collect_pads_clear), (gst_collect_pads_flush),
7152 (gst_collect_pads_event), (gst_collect_pads_chain):
7153 When flushing a pad, also clear the queued buffer so that we don't
7154 accidentally use it when we shouldn't.
7155 Fix leaks by inreffing incomming buffer.
7156 Flush out queued buffers in case of errors.
7159 2006-07-28 Wim Taymans <wim@fluendo.com>
7161 * docs/random/phonon-gst:
7162 Random notes about a Phonon backend.
7164 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
7166 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7168 * tests/check/libs/gdp.c: (gst_dp_suite):
7169 Take a whack at fixing the ppc compile using a different define to
7170 disable the broken test.
7172 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7173 Remove excess g_print()
7175 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
7177 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7178 Oops, meant to uncomment this line too to dampen the noise a bit.
7180 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
7182 * gst/parse/grammar.y:
7183 * gst/parse/parse.l:
7184 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7185 (GST_START_TEST), (parse_suite):
7186 Fix some of the leaks exposed by extending the parse-launch testsuite,
7187 and move the 3 I can't figure out into a separate test that won't run
7188 the pipelines unless the appropriate line is uncommented.
7190 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
7192 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7193 Requesting 0 bytes before the end of the file should result in
7194 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
7197 2006-07-27 Wim Taymans <wim@fluendo.com>
7199 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
7200 Fix useless assert, a uint is always positive.
7202 * gst/gststructure.c: (gst_structure_nth_field_name),
7203 (gst_structure_foreach), (gst_structure_map_in_place):
7204 Check input arguments for public functions to avoid obvious crashes.
7206 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
7207 * plugins/elements/gstfakesink.h:
7208 Do less useless typechecking.
7210 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
7212 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7213 Do not use mmap() by default since there are a number of error
7214 conditions that we would like to handle in a non-fatal way that
7215 will result in a SIGBUS if we use mmap(). Examples: external
7216 devices (USB harddrive, portable music player) being unplugged
7217 while in use; file on mounted CD/DVD that can't be read because
7218 the medium is partly damaged. Fixes #348455 and #348475.
7220 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
7223 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
7226 2006-07-26 Stefan Kost <ensonic@users.sf.net>
7228 * gst/gstregistry.c:
7229 Move big documentation comment into class section header, so that it
7230 appears in the API docs.
7232 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7234 * docs/gst/gstreamer-sections.txt:
7235 Oops. Commit the docs additions too for new API.
7236 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
7238 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7240 * gst/gststructure.c: (gst_structure_id_set),
7241 (gst_structure_id_set_valist):
7242 * gst/gststructure.h:
7243 Add API for setting values into structures without performing
7244 a quark lookup, if the appropriate quark is already known.
7246 API: gst_structure_id_set
7247 API: gst_structure_id_set_valist
7249 * gst/parse/grammar.y:
7250 * gst/parse/parse.l:
7251 Remove some dead code shown by the coverage information.
7252 Don't throw a critical g_warning when encountering a syntax error,
7253 just warn and let the normal error path handle it.
7255 * plugins/elements/gstelements.c:
7256 Bump the rank of filesink up to PRIMARY so that it is preferred over
7257 gnomevfssink for file:// sink uri's
7259 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7260 (GST_START_TEST), (run_delayed_test),
7261 (gst_parse_test_element_base_init),
7262 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
7263 (gst_parse_test_element_change_state),
7264 (gst_register_parse_element), (parse_suite):
7265 Beef up the tests for parse syntax to check that more error cases
7266 fail as they are supposed to. Increases the test coverage a bit.
7268 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
7270 * docs/manual/basics-elements.xml:
7271 Fix gst_element_link() example.
7274 Mention in API docs that one should usually gst_bin_add()
7275 elements to a bin or pipeline before doing the linking.
7277 2006-07-26 Wim Taymans <wim@fluendo.com>
7279 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
7280 (gst_subbuffer_get_type), (gst_buffer_create_sub):
7281 Avoid function call for known types by keeping the buffer and
7282 subbuffer GType global.
7284 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7285 Random silly optimisations in read() path.
7287 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7289 * tools/gst-launch.c: (main):
7290 If the top-level of the parse is a normal bin, it doesn't do the
7291 right logic to run as a top-level element, so place it inside a
7294 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
7296 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
7297 Remove superfluous g_object_notify() calls, GObject does
7298 that for us automatically.
7300 2006-07-25 Stefan Kost <ensonic@users.sf.net>
7303 on Win32, use dllspec to export the debug category symbols
7305 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
7307 * gst/gsttaglist.c: (_gst_tag_initialize):
7308 Allow more than one GST_TAG_IMAGE per taglist.
7310 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
7312 * gst/gstminiobject.c:
7314 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
7315 (gst_fd_src_create):
7316 log recurring events at LOG level
7317 add more debug for when the fd gets set
7319 2006-07-21 Stefan Kost <ensonic@users.sf.net>
7321 * gst/gstparse.c: (gst_parse_launch):
7322 Also remove reentrance checks if flex is MT safe (#348179)
7323 Fix my empty ChangeLog entry below
7325 2006-07-21 Andy Wingo <wingo@pobox.com>
7327 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
7329 * libs/gst/check/Makefile.am
7330 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
7331 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
7332 * libs/gst/check/gstbufferstraw.h:
7333 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
7334 functions, thus proving I am still a GStreamer haxor. OK I wrote
7335 them a long time ago, but anyways.
7337 2006-07-21 Stefan Kost <ensonic@users.sf.net>
7340 * gst/gstparse.c: (gst_parse_launch):
7341 Check for flex version and omit mutex if we have a MT save flex
7344 2006-07-21 Wim Taymans <wim@fluendo.com>
7346 * gst/gstparse.c: (gst_parse_launch):
7347 Protect recursive calls to _parse with a recursive mutex
7350 2006-07-21 Wim Taymans <wim@fluendo.com>
7352 * tests/check/gst/gstpad.c: (GST_START_TEST):
7355 2006-07-20 Stefan Kost <ensonic@users.sf.net>
7357 * gst/gstparse.c: (gst_parse_launch):
7358 Do not hang on recursive usage of gst_parse_launch()
7360 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
7363 Add some more docs, comments and FIXME 0.11s here and there
7364 and also fix some typos.
7366 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
7369 Convert tabs to spaces for better readability.
7371 2006-07-20 Edward Hervey <edward@fluendo.com>
7373 * tests/check/libs/gdp.c: (gst_dp_suite):
7374 the test_buffer test fails at line 140 on ppc64 at the following
7376 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
7377 GST_BUFFER_FLAG_IN_CAPS),
7378 "GST_BUFFER_IN_CAPS flag should have been copied !");
7379 See bug #348114 for more details.
7381 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
7383 * docs/pwg/advanced-scheduling.xml:
7385 Fix typos (#348000).
7387 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
7389 * docs/pwg/intro-basics.xml:
7390 Fix wrong links (#347927).
7392 2006-07-18 Stefan Kost <ensonic@users.sf.net>
7394 * gst/gstregistry.h:
7395 * gst/gstregistryxml.c: (load_feature),
7396 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
7397 * win32/common/config.h:
7398 make --disable-index work (#342564)
7400 2006-07-18 Wim Taymans <wim@fluendo.com>
7402 Patch by: Peter Kjellerstedt <pkj at axis dot com>
7406 The attached patch adds two missing defines to gsttrace.h when tracing
7407 is disabled. It also corrects one existing define.
7410 2006-07-17 Wim Taymans <wim@fluendo.com>
7412 * docs/gst/gstreamer-sections.txt:
7413 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
7415 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
7416 Add two functions to check and change the SIGSEGV behaviour
7417 when loading plugins.
7418 Don't mess with the SIGSEGV handler when we were told not to.
7420 API: gst_segtrap_is_enabled
7421 API: gst_segtrap_set_enabled
7423 2006-07-14 Wim Taymans <wim@fluendo.com>
7425 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7426 * tests/check/elements/filesrc.c: (GST_START_TEST):
7427 Revert fix for regression in #347408 after release.
7429 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
7431 Patch by: Antoine Tremblay <hexa00 at gmail com>
7433 * gst/gstutils.c: (gst_element_unlink):
7434 Free iterator when done (#347311).
7436 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7437 And add a test case for this.
7439 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
7442 Bump nano back to CVS
7444 === release 0.10.9 ===
7446 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7449 releasing 0.10.9, "On the road again"
7451 2006-07-13 Wim Taymans <wim@fluendo.com>
7453 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7454 * tests/check/elements/filesrc.c: (GST_START_TEST):
7455 Revert pull-0 fix for release. Disable check. Fixes #347408.
7457 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
7459 * libs/gst/dataprotocol/dataprotocol.c:
7460 (gst_dp_event_from_packet_1_0):
7461 Fixes #347337: failure to deserialize event packets with
7462 empty payload (only event type)
7464 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
7467 do not install a .c file in the header directory
7469 2006-07-13 Edward Hervey <edward@fluendo.com>
7471 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
7472 GhostPad no longer implicitely use the padtemplates of the targets.
7475 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
7477 * gst/gstvalue.c: (gst_value_compare_list),
7478 (gst_value_compare_array), (_gst_value_initialize):
7479 * tests/check/gst/gstvalue.c: (GST_START_TEST):
7480 Make GstValueArray comparison be order dependent as designed.
7481 Add checks for value lists and value array comparisons.
7484 2006-07-11 Edward Hervey <edward@fluendo.com>
7486 * gst/gstbin.c: (activate_pads),
7487 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
7488 (gst_bin_change_state_func):
7489 (de)activate src pads before calling state_change on the childs.
7490 This is to avoid the case where a src ghostpad is blocked (holding the
7491 stream lock), which would block the deactivation of the ghostpad's
7493 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
7494 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
7495 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
7496 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7497 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7498 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7499 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
7500 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
7501 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
7502 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
7503 (gst_ghost_pad_class_init),
7504 (gst_ghost_pad_internal_do_activate_push),
7505 (gst_ghost_pad_internal_do_activate_pull),
7506 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7507 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7508 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
7509 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
7510 GhostPads now create their internal GstProxyPad at creation (and not
7511 when they're linked, as it was being done previously).
7512 The internal and target pads are linked straight away.
7513 The data will also travel through the other pad in order to make
7514 pad blocking and probes non-hackish (the probe/block now really happens
7515 on the GhostPad and not on the target).
7516 * gst/gstpad.c: (gst_pad_set_blocked_async),
7517 (gst_pad_link_prepare), (gst_pad_push_event):
7518 Remove previous ghostpad cruft.
7519 * gst/gstutils.c: (gst_pad_add_data_probe),
7520 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7521 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7522 (gst_pad_remove_buffer_probe):
7523 Remove previous ghost pad cruft.
7524 Added more detailed debug statements.
7525 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7526 Fix the testsuite for refcounting changes.
7527 The comments about who has references were correct, but the refcount
7528 being checked wasn't the same (!?!).
7532 2006-07-10 Stefan Kost <ensonic@users.sf.net>
7534 * docs/gst/gstreamer-sections.txt:
7535 * gst/gstconfig.h.in:
7536 More docs for configuration options, add docs to gtk-doc.
7538 2006-07-10 Stefan Kost <ensonic@users.sf.net>
7541 * gst/gstconfig.h.in:
7542 * win32/common/config.h:
7543 Fix build when disabling tracing (fixes #344016). Also start to document
7544 the defines that disable the sub-systems.
7546 2006-07-10 Edward Hervey <edward@fluendo.com>
7548 * gst/gst.c: (ensure_current_registry_forking):
7549 let's make valgrind happy...
7551 2006-07-09 Wim Taymans <wim@fluendo.com>
7553 * gst/gstelement.c: (activate_pads),
7554 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
7555 Better pad activation code: Reset the collect value too on resync.
7558 2006-07-09 Wim Taymans <wim@fluendo.com>
7560 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
7561 (gst_pad_activate_push):
7562 Use some more macros where it makes sense.
7563 Allow pad mode switching instead of asserting. When a pad
7564 is activated in one mode and we activate it in another,
7565 deactivate it first before activating it in a different mode.
7568 2006-07-08 Andy Wingo <wingo@pobox.com>
7570 * tools/gst-launch.c (main): Handle err == NULL.
7572 * gst/gst.c (init_post, ensure_current_registry)
7573 (ensure_current_registry_forking)
7574 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
7575 factoring out the registry scanning into separate functions. Don't
7576 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
7577 Better environment var name/interface suggestions accepted.
7579 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
7581 * gst/gstobject.c: (gst_object_set_name_default),
7582 (gst_object_set_name):
7583 Random micro-optimisation: don't use a hash table
7584 with strings as keys and the usual strdup/strcmp
7585 involved, but rather just use the GQuark of the
7586 type name as key, since it needs to be looked up
7587 anyway to get the type name string.
7589 * tests/check/gst/gstobject.c: (GST_START_TEST):
7592 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
7594 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
7595 (gst_bin_iterate_all_by_interface):
7596 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
7597 GTypes are gulongs and thus the top 4 bytes might be cut
7598 off on some platforms when doing GPOINTER_TO_INT, leading
7599 to invalid GTypes and bad things happening (see RH bug #179654).
7600 Also add a check to make sure the type passed in is really
7603 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
7608 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
7612 * gst-element-check.m4:
7613 * gst-element-check.m4.in:
7614 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
7615 instead of the unversioned gst-inspect (#324176, #168659).
7617 2006-07-06 Wim Taymans <wim@fluendo.com>
7620 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
7623 2006-07-06 Wim Taymans <wim@fluendo.com>
7625 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7626 (gst_base_src_wait), (gst_base_src_update_length),
7627 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
7628 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
7629 (gst_base_src_loop), (gst_base_src_start),
7630 (gst_base_src_activate_pull):
7632 blocksize == 0 now means the default blocksize when working in push
7634 Remove some pointless asserts in _wait function.
7635 Fix offset/length calculations and EOS handling. We can now pull 0
7636 bytes as well, which is allowed.
7637 use _check_get_range() to decide if we can operate in _pull based
7639 Fix refcounting leak when check_get_range function was not
7641 API GstBaseSrc::blocksize range can be 0 too now (default)
7643 * tests/check/elements/filesrc.c: (GST_START_TEST),
7645 Added check to test _get_range() behaviour.
7647 2006-07-06 Wim Taymans <wim@fluendo.com>
7649 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
7650 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
7651 (gst_pad_pull_range):
7653 Lots of comments and docs added to the pad functions.
7654 Flesh out the expected behaviour of the get_range() functions.
7656 2006-07-06 Wim Taymans <wim@fluendo.com>
7661 * gst/gstiterator.h:
7665 Remove comma at end of enumerator list.
7667 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
7669 * win32/common/libgstbase.def:
7670 * win32/common/libgstdataprotocol.def:
7671 * win32/common/libsgtreamer.def:
7672 Add new exported functions.
7674 2006-07-05 Wim Taymans <wim@fluendo.com>
7676 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
7677 Add some more docs here and there.
7679 2006-07-05 Wim Taymans <wim@fluendo.com>
7681 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
7682 (gst_base_sink_loop), (gst_base_sink_get_position):
7683 When operating in pull mode update the offset so that we
7686 2006-07-05 Wim Taymans <wim@fluendo.com>
7688 * gst/gstregistryxml.c: (read_string):
7689 Avoid strdup. (will happen in libxml, but hey!)
7694 2006-07-05 Wim Taymans <wim@fluendo.com>
7696 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
7697 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7699 No point in checking if the size of the subbuffer > 0, the
7700 code handles it correclty as demonstrated by unit test.
7701 Also add a unit test for the zero sized _new_and_alloc and
7702 _copy. Fixes #346663.
7704 2006-07-05 Wim Taymans <wim@fluendo.com>
7706 * libs/gst/base/gstbasetransform.c:
7707 (gst_base_transform_prepare_output_buffer),
7708 (gst_base_transform_buffer_alloc),
7709 (gst_base_transform_handle_buffer):
7710 Make sure the buffer we pass to transform_ip has a refcount of
7711 1 and thus is writable. Fixes #343196
7713 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
7715 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7716 (gst_file_src_init), (gst_file_src_set_property),
7717 (gst_file_src_get_property), (gst_file_src_map_region):
7718 * plugins/elements/gstfilesrc.h:
7719 Add "sequential" property, off by default, to use madvise and hint
7720 to the kernel that sequential access is desired.
7721 Touch all retrieved pages by default to ensure they are pulled
7722 into memory. (Closes #345720)
7724 2006-07-03 Wim Taymans <wim@fluendo.com>
7726 * docs/design/part-block.txt:
7727 * docs/design/part-dynamic.txt:
7730 2006-07-03 Wim Taymans <wim@fluendo.com>
7732 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
7733 (gst_caps_unref), (gst_static_caps_get),
7734 (gst_caps_append_structure):
7735 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
7736 Use GSlice when the glib we build against is >= 2.10
7738 2006-07-03 Wim Taymans <wim@fluendo.com>
7740 * gst/gstelement.c: (gst_element_pads_activate):
7741 Small cleanup in pad activation code.
7743 2006-07-03 Wim Taymans <wim@fluendo.com>
7745 Patch by: Peter Kjellerstedt <pkj at axis dot com>
7747 * gst/gst-i18n-app.h:
7748 * gst/gst-i18n-lib.h:
7749 * tools/gst-inspect.c: (print_signal_info):
7750 The attached patch will make the inclusion of gettext.h unconditional in
7751 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
7752 libintl.h in tools/gst-inspect.c.
7753 This allows use of --disable-nls again and fixes #344642.
7755 2006-07-03 Edward Hervey <edward@fluendo.com>
7757 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
7758 Implement pad blocking on events according to part-block.txt.
7759 More comments on behaviour.
7760 * tests/check/gst/gstevent.c: (test_event):
7761 Send event to peer pad of blocked pad (else it will block).
7763 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
7765 * libs/gst/check/gstcheck.c: (gst_check_message_error),
7766 (gst_check_run_suite):
7767 if we get the wrong message, give us the types as string
7768 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7770 * tests/check/elements/filesrc.c: (GST_START_TEST):
7771 add a test for trying to open a non-existing file
7773 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
7775 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7776 add a test for adding self
7778 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
7780 * libs/gst/check/gstcheck.h:
7781 add some assert_ as alias for fail_unless_*
7782 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
7783 increase test coverage
7785 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7788 include lcov.mak for lcov coverage generation
7789 * tools/Makefile.am:
7792 2006-07-02 Edward Hervey <edward@fluendo.com>
7794 * tests/check/elements/.cvsignore:
7797 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7800 don't set CFLAGS and friends for gcov, done from GST_GCOV now
7801 * tests/check/Makefile.am:
7804 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7806 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
7807 remove gst_caps_simplify; it was not declared and not used
7808 and deprecated in 0.8
7810 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7812 * docs/faq/gst-uninstalled:
7813 don't put empty paths on PYTHONPATH
7814 * docs/gst/gstreamer-sections.txt:
7815 remove some symbols that are not there
7817 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7819 * gst/gstcaps.c: (gst_caps_compare_structures):
7821 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7822 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7825 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7827 * libs/gst/dataprotocol/Makefile.am:
7828 build dataprotocol test by linking to the lib, instead of
7829 compiling the source, so we get coverage
7830 * tests/check/Makefile.am:
7831 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
7832 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
7833 add a test for filesrc
7835 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7837 * tests/check/gst/gststructure.c: (GST_START_TEST),
7838 (gst_structure_suite):
7839 Push coverage from 59.04% to 70.00%
7841 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7843 * tests/check/Makefile.am:
7844 gst-inspect every element; this makes sure that we also get
7845 coverage on element's get/set functions
7847 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7850 set CFLAGS and friends to -O0 if gcov is being used
7853 * libs/gst/base/Makefile.am:
7854 * libs/gst/check/Makefile.am:
7855 * libs/gst/controller/Makefile.am:
7856 * libs/gst/dataprotocol/Makefile.am:
7857 * libs/gst/net/Makefile.am:
7858 * plugins/elements/Makefile.am:
7859 * plugins/indexers/Makefile.am:
7860 add makefile rules to generate gcov data and clean up
7861 * tests/check/Makefile.am:
7862 add a coverage target that generates an html overview
7865 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7867 * tests/check/elements/fakesink.c:
7868 * tests/check/elements/fakesrc.c:
7869 * tests/check/elements/fdsrc.c:
7870 * tests/check/elements/identity.c:
7871 * tests/check/generic/sinks.c: (gst_sinks_suite):
7872 * tests/check/generic/states.c:
7873 * tests/check/gst/gst.c:
7874 * tests/check/gst/gstabi.c:
7875 * tests/check/gst/gstbin.c:
7876 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
7877 * tests/check/gst/gstbus.c: (gst_bus_suite):
7878 * tests/check/gst/gstcaps.c: (GST_START_TEST):
7879 * tests/check/gst/gstelement.c:
7880 * tests/check/gst/gstevent.c: (gst_event_suite):
7881 * tests/check/gst/gstghostpad.c:
7882 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
7883 * tests/check/gst/gstmessage.c: (gst_message_suite):
7884 * tests/check/gst/gstminiobject.c:
7885 * tests/check/gst/gstobject.c:
7886 * tests/check/gst/gstpad.c:
7887 * tests/check/gst/gstpipeline.c:
7888 * tests/check/gst/gstplugin.c:
7889 * tests/check/gst/gstquery.c: (gst_query_suite):
7890 * tests/check/gst/gstsegment.c: (gst_segment_suite):
7891 * tests/check/gst/gststructure.c:
7892 * tests/check/gst/gstsystemclock.c:
7893 * tests/check/gst/gsttag.c:
7894 * tests/check/gst/gsttask.c: (gst_task_suite):
7895 * tests/check/gst/gstutils.c:
7896 * tests/check/gst/gstvalue.c:
7897 * tests/check/libs/adapter.c:
7898 * tests/check/libs/basesrc.c:
7899 * tests/check/libs/collectpads.c:
7900 * tests/check/libs/controller.c:
7901 * tests/check/libs/gdp.c: (gst_dp_suite):
7902 * tests/check/libs/gstnetclientclock.c:
7903 * tests/check/libs/gstnettimeprovider.c:
7904 * tests/check/libs/libsabi.c: (libsabi_suite):
7905 * tests/check/libs/typefindhelper.c:
7906 * tests/check/pipelines/cleanup.c:
7907 * tests/check/pipelines/parse-launch.c:
7908 * tests/check/pipelines/simple-launch-lines.c:
7909 * tests/check/pipelines/stress.c: (stress_suite):
7912 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7914 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
7915 * libs/gst/check/gstcheck.h:
7916 create a macro and function so that the simple unit test
7917 case can be just one macro to create main()
7919 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
7921 * gst/gstbin.c: (gst_bin_restore_thyself):
7922 * gst/gstxml.c: (gst_xml_make_element):
7923 Fix deserialisation from XML. Set parent manually
7924 instead of using gst_bin_add(), since gst_bin_add()
7925 will unlink all pads of the element being added.
7928 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
7930 Patch by: Peter Kjellerstedt <pkj at axis com>
7932 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
7933 Fix missing g_strdup() and double free when using the
7934 --gst-plugin-load command line option (#346097).
7936 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
7939 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
7941 * libs/gst/net/gstnetclientclock.c:
7942 * libs/gst/net/gstnettimeprovider.c:
7943 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
7945 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
7947 * docs/manual/advanced-dataaccess.xml:
7948 Fix buffer probe example compilation in
7951 2006-06-22 Edward Hervey <edward@fluendo.com>
7953 * gst/gstelement.c: (gst_element_pads_activate):
7954 We need to deactivate src pads first and then sink pads.
7955 The reason is the src pads might be blocking while holding the streaming
7956 lock, so we need to deactivate them first so that deactivating the sink
7957 pads doesn't block (since it will require the streaming lock).
7959 2006-06-22 Wim Taymans <wim@fluendo.com>
7961 * libs/gst/base/gstbasetransform.c:
7962 (gst_base_transform_buffer_alloc):
7963 Forgot to remove two unneeded unrefs.
7964 Simplify a check _is_equal allready checks the obvious case.
7966 2006-06-22 Wim Taymans <wim@fluendo.com>
7968 * docs/design/part-block.txt:
7969 Some docs about what pad_block should do.
7971 2006-06-22 Wim Taymans <wim@fluendo.com>
7973 * gst/gstcaps.c: (gst_caps_replace):
7974 Fix crasher when passed NULL. Doc clarification.
7975 Optimize for the trivial case.
7977 * gst/gstpipeline.c: (gst_pipeline_change_state):
7980 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7981 Small documentation cleanup.
7983 * libs/gst/base/gstbasetransform.c:
7984 (gst_base_transform_buffer_alloc):
7985 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
7986 is what we need and it avoids a whole lot of redundant
7987 refcount operations.
7989 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
7991 Patch by: Philip Jägenstedt <philip at lysator liu se>
7993 * docs/manual/advanced-dataaccess.xml:
7994 Fix 'Embedding static elements' section to use
7995 GST_PLUGIN_DEFINE_STATIC (#345607).
7997 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
7999 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
8000 Attempt to 'fix' spuriously failing test case: it seems like the
8001 timeout of half a second is simply too small when the system is under
8002 load otherwise, and the timeout doesn't really seem to serve any
8003 particular purpose here. Give the pipeline a few seconds to preroll
8004 first, and then give it another half a second to go from PAUSED to
8005 PLAYING and marshal the message into the main thread.
8007 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
8009 * tools/gst-feedback-m.m:
8010 Don't only use unversioned tools, try versioned tools as well
8013 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
8015 * gst/gstbus.c: (gst_bus_class_init):
8016 Fix some typos, make docs more explicit.
8018 2006-06-20 Wim Taymans <wim@fluendo.com>
8020 * tests/check/gst/gstghostpad.c: (block_callback),
8021 (GST_START_TEST), (gst_ghost_pad_suite):
8022 Added some more ghostpad tests, mainly blocking
8025 2006-06-16 Wim Taymans <wim@fluendo.com>
8027 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8028 (gst_file_sink_close_file), (gst_file_sink_do_seek),
8029 (gst_file_sink_event), (gst_file_sink_render):
8030 * plugins/elements/gstfilesink.h:
8031 Check if we can seek in the file instead of assuming
8032 we always can. Post an error when we are asked to seek in a
8033 non-seekable file (like a fifo). Fixes #343312.
8036 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
8038 * tools/gst-launch.1.in:
8039 Un-garble (fourcc) bit in filtered caps section.
8041 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
8043 * docs/manual/advanced-autoplugging.xml:
8044 * docs/manual/basics-helloworld.xml:
8045 * docs/manual/highlevel-components.xml:
8046 Don't leak bus reference in sample code.
8048 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
8051 Add default for new --enable-plugin-docs switch.
8054 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
8058 Use new ENABLE_PLUGIN_DOCS conditional.
8060 2006-06-14 Wim Taymans <wim@fluendo.com>
8062 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
8063 Make it clear with a FIXME and a real define what the #if 0
8064 previously disabled.
8066 2006-06-14 Wim Taymans <wim@fluendo.com>
8068 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8069 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8070 * libs/gst/base/gstbasetransform.c:
8071 (gst_base_transform_sink_eventfunc):
8072 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8073 Don't randomly and silently reset a segment when the format
8074 changes as this is a bug somewhere upstream. Fixes #330379.
8076 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
8078 Patch by: Wouter Paesen <wouter at kangaroot net>
8080 * libs/gst/controller/gstcontroller.c:
8081 (gst_controlled_property_new):
8082 Fix controlling of float properties (#344849).
8084 * tests/check/libs/controller.c:
8085 (gst_test_mono_source_get_property),
8086 (gst_test_mono_source_set_property),
8087 (gst_test_mono_source_class_init), (GST_START_TEST):
8088 While we're at it, add some float stuff to unit test.
8090 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
8093 * docs/images/gdp-header.svg:
8095 * docs/libs/Makefile.am:
8096 * docs/libs/gdp-header.png:
8097 * libs/gst/dataprotocol/dataprotocol.c:
8098 add it to the API docs
8099 * docs/manual/intro-motivation.xml:
8102 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
8104 * gst/gst.c: (scan_and_update_registry), (init_post):
8105 If the fork()'ed child process can't write the updated registry cache
8106 file to disk for some reason, make it exit with a failure exit code,
8107 so that the parent can then re-scan the plugins itself and update the
8108 registry structures in memory and work with that (rather than failing
8109 when creating elements because seemingly no plugins are available).
8110 Refactor registry scanning code into separate function for this and
8111 also separate fork() and non-fork() code paths. Fixes #344748.
8113 2006-06-13 Wim Taymans <wim@fluendo.com>
8115 * docs/manual/advanced-dataaccess.xml:
8116 Fix wrong PluginDesc. Fixes #344755.
8118 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
8120 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8121 Fix silly bug that prevented us from creating
8122 ~/.gstreamer-0.10 and writing the registry in one
8123 go (the first call to g_mkstemp() would overwrite the
8124 placeholder in the template string, so the second call
8125 to g_mkstemp() after creating the missing directory
8126 would then error out with 'invalid argument').
8128 2006-06-13 Edward Hervey <edward@fluendo.com>
8130 * gst/gst.c: (init_post):
8133 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
8135 * gst/glib-compat-private.h:
8136 * gst/glib-compat.c:
8137 * gst/glib-compat.h:
8138 * gst/gstvalue.c: (gst_value_serialize_flags):
8139 remove GLib 2.6 compatibility code
8141 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
8143 * gst/parse/Makefile.am:
8144 Fix build with 'make -j N' even more (#340016).
8146 2006-06-12 Wim Taymans <wim@fluendo.com>
8148 * docs/gst/gstreamer-sections.txt:
8151 2006-06-12 Wim Taymans <wim@fluendo.com>
8153 * gst/gstsegment.c: (gst_segment_set_duration),
8154 (gst_segment_set_last_stop), (gst_segment_set_seek),
8155 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8156 (gst_segment_to_running_time), (gst_segment_clip):
8157 Use G_UNLIKELY to help the compiler a bit.
8159 2006-06-12 Wim Taymans <wim@fluendo.com>
8161 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
8163 * gst/gstevent.c: (gst_event_get_type):
8165 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8167 constify quark registration strings. Fixes #344115
8168 Avoid unneeded type checking is _pad_push() by internally
8169 calling gst_pad_chain_unchecked().
8171 2006-06-12 Wim Taymans <wim@fluendo.com>
8173 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
8174 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
8175 (gst_subbuffer_finalize), (gst_buffer_create_sub),
8176 (gst_buffer_is_span_fast), (gst_buffer_span):
8177 Init _type for consistency.
8178 Use _FLAGS macro to avoid type check.
8179 Avoid unneeded type checks in subbufer code.
8181 2006-06-12 Wim Taymans <wim@fluendo.com>
8183 * gst/gst.c: (gst_debug_help):
8184 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
8185 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
8186 (gst_plugin_feature_list_free):
8187 * gst/gstregistry.c: (gst_registry_add_plugin),
8188 (gst_registry_add_feature), (gst_registry_plugin_filter),
8189 (gst_registry_feature_filter), (gst_registry_find_plugin),
8190 (gst_registry_find_feature), (gst_registry_get_plugin_list),
8191 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
8192 * gst/gstregistryxml.c: (load_feature),
8193 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
8194 * gst/gstminiobject.c: (gst_mini_object_unref),
8195 (gst_mini_object_replace), (gst_value_mini_object_free),
8196 (gst_value_mini_object_copy):
8197 Use _CAST macros to avoid unneeded type checking.
8198 Added some more G_UNLIKELY.
8200 2006-06-12 Wim Taymans <wim@fluendo.com>
8203 Avoid unneeded type checking.
8204 API: GST_BUFFER_IS_DISCONT
8206 * gst/gstminiobject.h:
8207 Avoid type check in flag accessor.
8209 * gst/gstelementfactory.h:
8211 * gst/gstpluginfeature.h:
8213 API: GST_ELEMENT_FACTORY_CAST
8214 API: GST_PLUGIN_CAST
8215 API: GST_PLUGIN_FEATURE_CAST
8217 2006-06-12 Wim Taymans <wim@fluendo.com>
8219 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
8221 Add G_UNLIKELY in type registration.
8222 Avoid type check in _ref/_unref since that is also
8225 2006-06-12 Wim Taymans <wim@fluendo.com>
8227 * gst/gsterror.c: (gst_g_error_get_type):
8228 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8229 (gst_static_pad_template_get_type):
8230 * gst/gsttaglist.c: (gst_tag_list_get_type):
8231 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
8232 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
8233 * gst/gsturi.c: (gst_uri_handler_get_type):
8234 * gst/gstvalue.c: (gst_date_get_type):
8235 * gst/gstxml.c: (gst_xml_get_type):
8236 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
8237 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8238 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
8239 Add G_UNLIKELY in type registration.
8241 2006-06-12 Wim Taymans <wim@fluendo.com>
8243 * tools/gst-inspect.c: (print_signal_info):
8244 Properly print enum values.
8246 2006-06-12 Wim Taymans <wim@fluendo.com>
8248 * gst/gstinfo.c: (gst_debug_set_active),
8249 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
8251 Add some G_[UN]LIKELY.
8252 Maintain __gst_debug_min to avoid formatting the arguments of
8253 debug messages that will be dropped anyway to avoid a lot of
8254 overhead from the debugging system.
8256 2006-06-11 Stefan Kost <ensonic@users.sf.net>
8260 add missing files containing translatable strings, tell intltool about
8263 2006-06-11 Stefan Kost <ensonic@users.sf.net>
8265 * tests/check/libs/.cvsignore:
8266 add test-binary to ignore list
8268 2006-06-11 Stefan Kost <ensonic@users.sf.net>
8270 * docs/libs/gstreamer-libs-docs.sgml:
8271 reorder (put dp into a chapter) and indent
8273 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
8278 === release 0.10.8 ===
8280 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
8283 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
8285 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
8287 * gst/gst.c: (init_post):
8288 move pid declaration to declaration block
8290 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
8292 * gst/gst.c: (init_post):
8293 use _exit() instead of exit() in our forked child; this ensures
8294 that none of the registered exit handlers from whatever is using
8295 GStreamer get executed. This fixes gnome-mixer-applet failing
8296 to load, because ORBit would shut down.
8297 Spotted by: Edward Hervey <edward@fluendo.com>
8298 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
8301 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
8306 === release 0.10.7 ===
8308 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
8311 releasing 0.10.7, "Soepeke, ik zie ou"
8313 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
8336 * win32/common/config.h:
8339 2006-06-07 Wim Taymans <wim@fluendo.com>
8341 * gst/gstindex.c: (gst_index_gtype_resolver):
8342 * tools/gst-xmlinspect.c: (print_plugin_info):
8343 Fix leak spotted by coverity checker. Fixes #343827
8344 Fix another other leak found by paolo borelli.
8346 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
8348 * libs/gst/dataprotocol/dataprotocol.c:
8349 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
8350 (gst_dp_version_get_type), (gst_dp_init),
8351 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
8352 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
8353 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
8354 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
8355 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
8356 (gst_dp_packetizer_free):
8357 * libs/gst/dataprotocol/dataprotocol.h:
8358 API: add a GstDPPacketizer object, and create/free functions
8359 API: add GstDPVersion enum
8360 Add 1.0 event function that uses the string serialization
8361 Serialize more useful buffer flags
8364 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
8366 * tests/check/Makefile.am:
8367 * tests/check/gst/gstabi.c:
8368 * tests/check/gst/struct_ppc64.h:
8369 * tests/check/libs/libsabi.c:
8370 * tests/check/libs/struct_ppc64.h:
8371 add ppc64 structure sizes
8373 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
8375 * tests/check/Makefile.am:
8376 * tests/check/gst/gstabi.c:
8377 * tests/check/gst/struct_x86_64.h:
8378 * tests/check/libs/libsabi.c:
8379 * tests/check/libs/struct_x86_64.h:
8380 generate and add structure size lists for x86_64
8382 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
8384 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8385 * libs/gst/check/gstcheck.h:
8386 factor out the method from tests that checks size of structures,
8387 and add code to generate the header containing these sizes
8388 * tests/check/gst/gstabi.c: (GST_START_TEST):
8389 * tests/check/gst/struct_i386.h:
8390 * tests/check/libs/libsabi.c: (GST_START_TEST):
8391 * tests/check/libs/struct_i386.h:
8394 2006-06-06 Michael Smith <msmith@fluendo.com>
8397 Don't use c++-style comments, fixes #343929
8399 2006-06-05 Edward Hervey <edward@fluendo.com>
8402 plugin_paths is not used if we build without registry support.
8404 * gst/gstsegment.c: (gst_segment_copy):
8405 _copy() was always returning NULL...
8407 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
8409 * libs/gst/dataprotocol/dataprotocol.c:
8410 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8411 (gst_dp_packet_from_event):
8414 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
8416 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
8417 make sure we unset caps
8419 2006-06-02 Michael Smith <msmith@fluendo.com>
8421 * libs/gst/check/gstcheck.c: (gst_check_init),
8422 (gst_check_chain_func):
8423 * libs/gst/check/gstcheck.h:
8424 Add a cond/mutex to the check support lib, signal this whenever we
8425 add to the buffers list. This will allow tests to not busy-wait on
8428 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
8430 * libs/gst/dataprotocol/dataprotocol.c:
8431 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8432 (gst_dp_packet_from_event):
8433 factor out some common header init code
8435 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
8437 * docs/libs/gstreamer-libs-sections.txt:
8438 * docs/libs/tmpl/gstdataprotocol.sgml:
8439 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
8440 * libs/gst/dataprotocol/dataprotocol.h:
8441 API: make gst_dp_crc() public
8443 2006-06-01 Stefan Kost <ensonic@users.sf.net>
8445 * plugins/indexers/gstindexers.c: (plugin_init):
8446 conditionally register fileindexer (fixes #343598)
8448 2006-06-01 Stefan Kost <ensonic@users.sf.net>
8450 * gst/gsttagsetter.h:
8451 Can't cast ifaces to a class
8453 * libs/gst/net/gstnetclientclock.h:
8454 * libs/gst/net/gstnettimeprovider.h:
8455 * plugins/elements/gstfakesink.h:
8456 * plugins/elements/gstfakesrc.h:
8457 * plugins/elements/gstfdsink.h:
8458 * plugins/elements/gstfdsrc.h:
8459 * plugins/elements/gstfilesink.h:
8460 * plugins/elements/gstfilesrc.h:
8461 * plugins/elements/gstidentity.h:
8462 * plugins/elements/gstqueue.h:
8463 * plugins/elements/gsttee.h:
8464 * plugins/indexers/gstfileindex.c:
8465 * plugins/indexers/gstmemindex.c:
8466 * tests/old/examples/plugins/example.h:
8467 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
8469 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
8471 * libs/gst/dataprotocol/dataprotocol.c:
8472 (gst_dp_header_from_buffer):
8473 make sure we zero the whole ABI-compatible area
8475 2006-06-01 Wim Taymans <wim@fluendo.com>
8477 Patch by: Alessandro Decina <alessandro at nnva dot org>
8479 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
8480 Make sure the EOS flag is cleared from pads after a flush
8481 or stop. Fixes #343538.
8483 * tests/check/libs/collectpads.c: (GST_START_TEST),
8484 (gst_collect_pads_suite):
8485 Added test for collectpads reusage after EOS.
8487 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
8490 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
8491 * win32/common/libgstbase.def:
8492 export gst_collect_pads_set_flushing
8493 * win32/common/libgstreamer.def:
8494 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
8495 gst_value_fraction_multiply
8496 * win32/vs6/gst_inspect.dsp:
8497 add a link to intl.lib
8499 2006-05-30 Wim Taymans <wim@fluendo.com>
8501 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8502 (gst_collect_pads_chain):
8503 Handle the case where a pad is removed from the collection
8504 that could cause the other pads to become collectable.
8506 2006-05-30 Wim Taymans <wim@fluendo.com>
8509 Clarify the use of _release_request_pad() and
8510 _get_request_pad() a bit better.
8512 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
8513 (gst_adapter_take_buffer):
8514 Fix some doc and comment typos.
8516 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
8518 * docs/gst/gstreamer-sections.txt:
8519 * docs/libs/gstreamer-libs-sections.txt:
8520 add declared symbols
8522 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
8524 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8525 Add debug that can be enabled using a #define at the top of the file,
8526 for dumping stats about how late/early we were when waking up from
8527 waiting on the clock.
8529 2006-05-30 Wim Taymans <wim@fluendo.com>
8531 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
8532 When rebuilding the pad list, don't leak the previous list.
8534 2006-05-30 Wim Taymans <wim@fluendo.com>
8536 Patch by: Lutz Mueller <lutz at topfrose dot de>
8538 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8539 (gst_base_src_get_query_types), (gst_base_src_update_length):
8540 Publish supported query types.
8541 Update last_stop field in get_range mode so the position
8542 query works. Fixes #342321.
8544 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
8546 * docs/gst/gstreamer-sections.txt:
8547 * gst/gsttaglist.c: (_gst_tag_initialize):
8549 API: add GST_TAG_PREVIEW_IMAGE (#343341).
8551 2006-05-30 Wim Taymans <wim@fluendo.com>
8553 Patch by: Alessandro Decina <alessandro at nnva dot org>
8555 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8556 Unlock mutex when removing an unknown pad.
8559 * tests/check/Makefile.am:
8560 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
8561 (push_event), (setup), (teardown), (GST_START_TEST),
8562 (gst_collect_pads_suite), (main):
8563 Added collecpads check, disabled for now as check crashes for
8566 2006-05-29 Wim Taymans <wim@fluendo.com>
8568 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
8569 Don't leak pads lists.
8571 2006-05-29 Wim Taymans <wim@fluendo.com>
8573 * docs/libs/gstreamer-libs-sections.txt:
8574 * libs/gst/base/gstcollectpads.c:
8575 (gst_collect_pads_set_flushing_unlocked),
8576 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
8577 (gst_collect_pads_stop):
8578 * libs/gst/base/gstcollectpads.h:
8579 API: gst_collect_pads_set_flushing()
8580 Added api to set the pads to flushing, useful for seeking
8581 code in elements using collectpads.
8582 Clear segment when receiving a flush.
8584 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
8586 * gst/gst.c: (add_path_func), (init_post):
8587 Don't scan registry paths passed via --gst-plugin-path immediately
8588 (will crash, because absolutely nothing is set up and no types are
8589 registered etc.); do this later in init_post(). Fixes #343057.
8591 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
8593 * gst/gst.c: (init_post):
8594 if we have fork, fork while reading/rebuilding the registry
8595 so the parent doesn't take the hit of having all plugins loaded
8596 in memory. Fixes #342777.
8598 Check if we have fork()
8599 * win32/common/config.h.in:
8602 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
8604 * plugins/elements/gstelements.c:
8605 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8606 (gst_file_src_init), (gst_file_src_set_property),
8607 (gst_file_src_get_property), (gst_file_src_start):
8608 * plugins/elements/gstfilesrc.h:
8609 API: GstFileSrc::use-mmap
8611 Add a use-mmap property to enable easier testing of all code paths.
8612 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
8613 in the absence of gnomevfssrc. (Closes #340501)
8615 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8617 * tools/gst-inspect.c:
8618 Add missing include, removes warning of ngettext not being defined on
8621 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
8623 * gst/gstvalue.c: (gst_value_deserialize_fraction):
8624 Handle NULL input and output pointers silently as a failed conversion,
8625 rather than g_warnings.
8627 2006-05-25 Wim Taymans <wim@fluendo.com>
8629 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
8630 Initialize variable before using. Fixes #342820.
8632 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
8634 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
8635 Fix off-by-one bug that would only allow peeks of N-1 bytes
8636 from the start even if the buffer to typefind on contains
8637 in fact N bytes of data (makes vorbis typefinding from a
8638 vorbis identification header buffer work).
8640 * tests/check/Makefile.am:
8641 * tests/check/libs/.cvsignore:
8642 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
8643 (gst_typefindhelper_suite), (main), (foobar_typefind),
8645 Add very basic unit test for gst_type_find_helper_for_buffer()
8646 that checks for the problem fixed above.
8648 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
8650 * tools/gst-inspect.c: (print_interfaces),
8651 (print_element_properties_info), (print_element_list), (main):
8652 add more translatable strings
8654 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
8656 Patch by: Julien Moutte <julien at moutte net>
8658 * docs/gst/gstreamer-sections.txt:
8659 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
8661 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8662 (gst_fake_sink_preroll):
8663 * plugins/elements/gstfakesink.h:
8664 API: Add new GstFakeSink::preroll-handoff signal (#337100).
8666 2006-05-23 Wim Taymans <wim@fluendo.com>
8668 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
8670 Added _CUSTOM error and success GstFlowReturn that can be
8671 used be elements internally.
8672 Added macro to check for SUCCESS flowreturns.
8673 API: GST_FLOW_CUSTOM_SUCCESS
8674 API: GST_FLOW_CUSTOM_ERROR
8675 API: GST_FLOW_IS_SUCCESS
8677 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8678 Added check for GstFlowReturn sanity.
8680 2006-05-23 Wim Taymans <wim@fluendo.com>
8682 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8684 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8685 (gst_collect_pads_event):
8686 clear/reset segment info in FLUSH_STOP.
8689 2006-05-22 Stefan Kost <ensonic@users.sf.net>
8691 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
8692 (gst_collect_pads_check_collected):
8693 Flush queued buffer on _stop(), fixes playing again (#342454)
8695 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
8697 * tests/check/gst/gststructure.c: (GST_START_TEST),
8698 (gst_structure_suite):
8699 add a test for a complete structure
8701 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
8703 * docs/faq/developing.xml:
8705 * docs/faq/troubleshooting.xml:
8706 * docs/faq/using.xml:
8707 Some minor FAQ updates that won't change the fact that
8708 our FAQ is badly structured, full of information hardly
8709 anyone new to GStreamer needs to know and lacking lots
8710 of information people constantly ask for.
8712 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
8714 * gst/gstpad.c: (gst_pad_set_caps):
8715 Short-circuit gst_pad_set_caps if setting the existing
8716 caps pointer again, and avoid printing debug and
8717 reffing/unreffing the caps.
8719 * plugins/elements/gstqueue.c: (gst_queue_push_one):
8720 There's actually no need to set the caps before pushing -
8721 the acceptcaps method will handle it anyway.
8723 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
8725 * docs/gst/gstreamer-sections.txt:
8726 * win32/common/libgstreamer.def:
8727 * gst/gstutils.c: (gst_element_seek_simple):
8729 API: add gst_element_seek_simple() (#342238).
8731 2006-05-18 Edward Hervey <edward@fluendo.com>
8733 * gst/gsttypefind.c: (gst_type_find_get_type):
8734 * gst/gsttypefind.h:
8735 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
8736 registered for GstTypeFind pointers. This allows wrapping the structure
8737 in bindings (i.e. gst-python).
8739 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
8741 * gst/gsttagsetter.c:
8742 Docs additions and fixes (see #339918).
8744 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
8746 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8747 The caps intersection algorithm can produce multiple copies of the
8748 caps. Until that is fixed, we need to simplify the result to be
8749 sure whether the allowed caps are fixed or not.
8751 * plugins/elements/gstqueue.c: (gst_queue_init),
8752 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
8753 (gst_queue_push_one):
8754 Proxied buffer alloc should not set the caps on the source pad.
8755 When pushing buffers, we always accept the caps change that triggers.
8756 This prevents negotiation errors caused by caps changing mid-stream
8757 and then being refused on our source pad (because upstream is now
8758 refusing those caps).
8760 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
8762 * tests/examples/helloworld/helloworld.c: (main):
8763 Must plug audioconvert and audioresample between decoder
8766 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
8768 * gst/gstregistryxml.c: (read_string), (load_pad_template),
8769 (load_feature), (load_plugin):
8770 Allow empty strings for some of the plugin fields so we don't
8771 drop valid plugin entries that were written out correctly
8774 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
8776 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8777 Use g_remove and g_rename instead of remove and rename that don't
8778 handle utf8 characters. rename was failing for users who had specific
8779 characters in their name then the registry was built at each
8781 * win32/vs6/gst_inspect.dsp:
8782 * win32/vs6/gst_launch.dsp:
8783 * win32/vs6/libgstbase.dsp:
8784 * win32/vs6/libgstcoreelements.dsp:
8785 * win32/vs6/libgstreamer.dsp:
8786 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
8787 build of libgstreamer and clean unused libraries in projects link
8790 2006-05-17 Edward Hervey <edward@fluendo.com>
8792 * plugins/elements/gstqueue.c: (gst_queue_push_one):
8793 The queue is not responsible for pushing an EOS when receiving a fatal
8794 flow error. It's up to the real element driving the pipeline to do that.
8796 2006-05-16 Edward Hervey <edward@fluendo.com>
8798 * plugins/elements/gstqueue.c: (gst_queue_push_one):
8799 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
8800 buffer returned a fatal error. It should just send an EOS and stop
8802 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
8803 when pushing buffers on the queue and will be able to handle the event.
8805 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
8807 * docs/manual/basics-bins.xml:
8808 * docs/manual/basics-init.xml:
8809 Fix typos and minor errors in sample code (#341856).
8811 2006-05-16 Wim Taymans <wim@fluendo.com>
8813 * docs/design/part-qos.txt:
8814 Fix indexes in formulas to make more sense.
8816 2006-05-15 Wim Taymans <wim@fluendo.com>
8818 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8819 Don't report POSITION based on clock time if sync is
8822 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
8825 Add cast to make compiler happy - refcount variable was a gint
8826 in GstObject but is a guint in GObject and g_atomic_int_get()
8829 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
8831 * gst/parse/Makefile.am:
8832 chain commands using &&, which also makes parallel make work
8834 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
8836 * docs/gst/gstreamer-sections.txt:
8842 === release 0.10.6 ===
8844 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
8847 releasing 0.10.6, "Take the cannoli"
8849 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
8851 * tools/gst-launch.c: (print_tag):
8852 Fix use of uninitialized variable in the hypothetical
8853 case that some broken plugin creates a GST_TAG_IMAGE
8854 tag containing a NULL buffer (#341667).
8856 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
8858 * tools/gst-launch.c: (print_tag):
8859 Print something more intelligible for image tags when
8860 using the -t switch (#341556).
8862 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
8867 define GST_MAJORMINOR so we have it available in win32/common/config.h
8868 Possibly remove it from our Makefile.am files later
8869 * win32/common/config.h:
8870 * win32/common/config.h.in:
8871 added GST_MAJORMINOR
8872 * win32/common/gstenumtypes.c: (register_gst_resource_error):
8873 * win32/common/gstversion.h:
8876 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
8879 Update win32 files listing.
8880 * win32/common/gstversion.h:
8881 Add GST_MAJORMINOR definition.
8882 * win32/common/libgstreamer.def:
8883 Add new exported functions.
8885 2006-05-12 Michael Smith <msmith@fluendo.com>
8887 * gst/gstplugin.c: (gst_plugin_load_file):
8888 If an so file has no plugin entry point, unload the module.
8890 2006-05-11 Wim Taymans <wim@fluendo.com>
8892 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
8893 (gst_queue_set_property):
8894 Don't forget to signal the _chain or _loop function
8895 when the queue size or thresholds change since that might
8896 cause them to make progres again.
8898 2006-05-11 Stefan Kost <ensonic@users.sf.net>
8900 * gst/gstclock.c: (gst_clock_class_init):
8901 * gst/gstindex.c: (gst_index_class_init):
8902 * gst/gstobject.c: (gst_object_class_init):
8903 * gst/gstpad.c: (gst_pad_class_init):
8904 * gst/gstpipeline.c: (gst_pipeline_class_init):
8905 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8906 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
8907 * libs/gst/base/gstbasetransform.c:
8908 (gst_base_transform_class_init):
8909 * libs/gst/net/gstnetclientclock.c:
8910 (gst_net_client_clock_class_init):
8911 * libs/gst/net/gstnettimeprovider.c:
8912 (gst_net_time_provider_class_init):
8913 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
8914 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8915 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8916 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
8917 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
8918 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
8919 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
8920 * plugins/elements/gstidentity.c: (gst_identity_class_init):
8921 * plugins/elements/gsttee.c: (gst_tee_class_init):
8922 * tests/old/examples/plugins/example.c: (gst_example_class_init):
8923 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
8924 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
8926 2006-05-11 Wim Taymans <wim@fluendo.com>
8928 * gst/gstbuffer.c: (_gst_buffer_initialize):
8929 Register subbufer along with the buffer type so that
8930 it does not accidentally gets registered from N
8931 different streaming threads in a non threadsafe way.
8933 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
8938 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
8939 gst_event_ref() and gst_message_ref() functions again
8940 (ugly hack, please do fix if there's a better way besides
8941 overrides.txt, which doesn't seem to work).
8943 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
8945 * libs/gst/check/gstcheck.h:
8946 add an assert for setting state to avoid lots of repetitive code
8949 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
8951 * gst/gstvalue.c: (gst_value_serialize_flags):
8952 fix a leak if no flags are set
8953 * tests/check/gst/gstvalue.c: (GST_START_TEST):
8956 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
8958 * docs/manual/basics-pads.xml:
8959 Expand a bit on caps and filtered links and update
8960 examples that were still using the no longer existing
8961 gst_pad_link_filtered() (#338206).
8963 2006-05-10 Wim Taymans <wim@fluendo.com>
8965 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8966 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8967 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
8968 (gst_collect_pads_stop):
8969 * libs/gst/base/gstcollectpads.h:
8970 No need to call _stop in _finalize.
8971 Iterate the main pad list in _finalize.
8972 Added some more debug.
8973 Free lists and data in the right order.
8974 Also free data whem doing _remove_pad when stopped for
8975 backward compatibility protect ::started with PAD_LOCK as
8978 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
8980 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
8981 (gst_structure_parse_value):
8983 rename a method so that it actually says what it does better
8985 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
8987 * gst/gstevent.c: (_gst_event_initialize):
8988 * gst/gstformat.c: (_gst_format_initialize):
8989 make sure some essential types used by events are registered
8990 as part of gst_init()
8991 * gst/gstvalue.c: (gst_value_serialize_flags):
8992 if no flags are set, serialize them to a value that represents NONE
8993 so that deserializing them works
8994 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8995 add tests for serialization and deserialization of flags
8997 2006-05-10 Wim Taymans <wim@fluendo.com>
8999 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
9000 (gst_collect_pads_collect_range), (gst_collect_pads_available),
9001 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
9002 (gst_collect_pads_event), (gst_collect_pads_chain):
9005 Catch and return errors from the collect function
9006 Refuse data on eos pads.
9008 2006-05-10 Edward Hervey <edward@fluendo.com>
9010 * gst/gstinterface.h:
9011 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
9012 GInterface type checking.
9013 They were previously using non-defined macros.
9015 2006-05-09 Wim Taymans <wim@fluendo.com>
9017 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
9018 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
9019 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
9020 (gst_collect_pads_start), (gst_collect_pads_stop),
9021 (gst_collect_pads_peek), (gst_collect_pads_pop),
9022 (gst_collect_pads_available), (gst_collect_pads_read),
9023 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
9024 (gst_collect_pads_is_collected), (gst_collect_pads_event),
9025 (gst_collect_pads_chain):
9026 * libs/gst/base/gstcollectpads.h:
9027 Clean up the mess that is collectpads, add comments and
9028 FIXMEs where needed.
9029 Maintain a separate pad list so we can add pads while
9030 collecting the other ones. For this we need a new separate
9032 Fix memory leak in finalize.
9033 Refactor some weird code to set/unset pad flushing flags, mark
9035 Don't crash in _available, _read, _flush when we're EOS.
9037 * tests/check/libs/.cvsignore:
9038 Ignore adapter check binary.
9040 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
9042 * gst/gstindex.c: (gst_index_resolver_get_type):
9043 * plugins/elements/gstfakesink.c:
9044 (gst_fake_sink_state_error_get_type):
9045 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9046 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
9047 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9048 Const-ify GEnumValue arrays.
9050 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
9052 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9053 Add test case for flags + gst_buffer_make_metadata_writable().
9055 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
9057 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
9058 gst_buffer_make_metadata_writable() should maintain the
9059 buffer flags (those that make sense at least) (see #340859).
9061 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
9063 * tools/gst-inspect.c:
9064 * tools/gst-launch.c:
9065 * tools/gst-typefind.c:
9066 * tools/gst-xmlinspect.c:
9068 Fix up includes: need to include stdlib.h in tools.h for exit().
9070 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
9072 * gst/gsttaglist.c: (_gst_tag_initialize):
9074 API: add GST_TAG_IMAGE tag (#340721).
9076 2006-05-08 Wim Taymans <wim@fluendo.com>
9079 Added some docs for the segment query.
9081 2006-05-08 Wim Taymans <wim@fluendo.com>
9083 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9084 (gst_base_src_loop), (gst_base_src_change_state):
9085 Always push non-flushing serialized events in the streaming
9088 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
9090 * gst/gsterror.c: (_gst_stream_errors_init):
9091 Add a missing error string.
9093 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
9095 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
9096 Add applied_rate to the debug
9098 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9099 Copy applied_rate into the outgoing NEWSEGMENT event
9101 2006-05-08 Wim Taymans <wim@fluendo.com>
9103 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
9105 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9106 (gst_base_sink_change_state):
9107 call ::unlock before taking the PREROLL_LOCK so we can safely
9108 handle elements that lock in ::render.
9111 2006-05-08 Edward Hervey <edward@fluendo.com>
9113 * autogen.sh: (CONFIGURE_DEF_OPT):
9114 Darwin's libtoolize is in fact called glibtoolize.
9115 Adding glibtoolize to the list of accepted names for libtoolize.
9117 2006-05-08 Wim Taymans <wim@fluendo.com>
9119 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9120 Unify error handling, don't post an error message
9121 when a push() returns EOS but perform our normal EOS
9122 handling code. Fixes #340772.
9124 2006-05-08 Wim Taymans <wim@fluendo.com>
9126 * docs/design/part-overview.txt:
9127 Make upsteam/downstream concepts more clear.
9128 Give an example of serialized/non-serialized events.
9130 * docs/design/part-events.txt:
9131 * docs/design/part-streams.txt:
9132 Mention applied_rate.
9134 * docs/design/part-trickmodes.txt:
9135 Mention applied rate, flesh out some more use cases.
9137 * gst/gstevent.c: (gst_event_new_new_segment),
9138 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
9139 (gst_event_parse_new_segment_full), (gst_event_new_tag),
9140 (gst_event_parse_tag), (gst_event_new_buffer_size),
9141 (gst_event_parse_buffer_size), (gst_event_new_qos),
9142 (gst_event_parse_qos), (gst_event_parse_seek),
9143 (gst_event_new_navigation):
9145 Add applied_rate field to NEWSEGMENT event.
9146 API: gst_event_new_new_segment_full()
9147 API: gst_event_parse_new_segment_full()
9149 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
9150 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
9151 (gst_segment_to_stream_time), (gst_segment_to_running_time):
9153 Add applied_rate to GstSegment structure.
9154 Make calculation of stream_time and running_time more correct
9155 wrt rate/applied_rate.
9157 API: GstSegment::applied_rate field
9158 API: gst_segment_set_newsegment_full();
9160 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
9161 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
9162 * libs/gst/base/gstbasetransform.c:
9163 (gst_base_transform_sink_eventfunc),
9164 (gst_base_transform_handle_buffer):
9165 Parse and use applied_rate in the GstSegment field.
9167 * tests/check/gst/gstevent.c: (GST_START_TEST):
9168 Add check for applied_rate field.
9170 * tests/check/gst/gstsegment.c: (GST_START_TEST),
9171 (gstsegments_suite):
9172 Add more checks for various GstSegment operations.
9174 2006-05-08 Wim Taymans <wim@fluendo.com>
9176 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9177 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
9178 (gst_base_sink_get_position), (gst_base_sink_change_state):
9179 Store the sync time of the buffer end position separatly in a
9180 new variable eos_rtime so we can properly sync the EOS event.
9182 Fix the docs for gst_base_sink_set_qos_enabled().
9183 Don't set segment start to invalid value when we receive a
9184 non TIME newsegment.
9185 get closer to handling position reporting for negative rates
9188 2006-05-07 Stefan Kost <ensonic@users.sf.net>
9191 Docs about how to print caps for debug purposes.
9193 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
9194 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
9196 2006-05-07 Stefan Kost <ensonic@users.sf.net>
9199 use full enum names and preprend a '%' in docs strings to make recent
9200 gtk-doc turn that into a link
9202 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
9204 * docs/manual/basics-bins.xml:
9205 * docs/manual/basics-bus.xml:
9206 * docs/manual/basics-pads.xml:
9207 Some typo fixes, some additions, some clarifications.
9209 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
9211 * tools/gst-inspect.c: (main):
9212 * tools/gst-launch.c: (main):
9213 * tools/gst-run.c: (main):
9214 * tools/gst-typefind.c: (main):
9215 * tools/gst-xmlinspect.c: (main):
9216 Use the string passed to g_option_context_new() for
9217 what it's intended for - the program name is already
9220 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
9222 * tools/Makefile.am:
9223 * tools/gst-inspect.c: (main):
9224 * tools/gst-launch.c: (main):
9225 * tools/gst-xmlinspect.c: (main):
9227 Add back --version command line option (#340460).
9229 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
9230 Add --version option and use GOption for argument parsing; refactor a
9231 bit; accept directories as arguments and recurse into them; lastly,
9232 print a decent error message when things go wrong.
9234 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
9236 * docs/manual/basics-bins.xml:
9237 Don't mention GstThread (#340611)
9238 * docs/manual/basics-elements.xml:
9239 Update link to GObject tutorial (#340607)
9241 2006-05-05 Wim Taymans <wim@fluendo.com>
9244 * gst/gstminiobject.c:
9245 Add note about refcounting and miniobject/buffer writeability
9246 to docs. Fixes #340604
9248 * gst/gstelementfactory.h:
9249 Added some explanation about @klass.
9251 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
9253 * docs/manual/intro-motivation.xml:
9254 * docs/manual/manual.xml:
9255 Avoid CORBA & Bonobo references (#340598)
9257 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
9259 * docs/manual/basics-bus.xml:
9260 * docs/manual/basics-pads.xml:
9261 Fix up some inaccuracies and omissions (#340609)
9263 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
9265 * gst/gstghostpad.c:
9266 Small typo in docs (#340625)
9268 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
9270 * gst/parse/Makefile.am:
9271 Make 'make -j' proof (see #340698).
9273 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
9276 Require GLib-2.8 here as well.
9278 2006-05-05 Wim Taymans <wim@fluendo.com>
9280 * gst/glib-compat.c:
9281 * gst/gst.c: (init_pre):
9282 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9283 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
9284 (gst_object_dispatch_properties_changed):
9286 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
9287 * gst/gststructure.c: (gst_structure_set_valist):
9288 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9289 Remove pre glib2.8 compatibility, fixes #340508
9291 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
9294 Mention type of tags in doc blurbs.
9296 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
9298 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9299 (gst_pad_configure_src), (gst_pad_push):
9300 Restore acceptcaps checking behaviour now that good plugins have
9303 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
9305 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
9316 * gst/parse/Makefile.am:
9317 * libs/gst/base/gstadapter.c:
9318 * libs/gst/base/gstbasesrc.c:
9319 * libs/gst/base/gstpushsrc.c:
9320 * libs/gst/base/gsttypefindhelper.c:
9321 * plugins/elements/gstfakesrc.c:
9322 * plugins/elements/gstidentity.c:
9323 Make sure gstprivate.h and/or config.h are
9324 always included first, otherwise some of our
9325 defines (like _FILE_OFFSET_BITS) might be
9326 redefined in the system headers. Fixes build
9327 on opensolaris (#340016).
9329 2006-05-04 Wim Taymans <wim@fluendo.com>
9331 * docs/libs/gstreamer-libs-sections.txt:
9332 API: addition: gst_adapter_take_buffer()
9334 * libs/gst/base/gstadapter.c: (gst_adapter_push),
9335 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
9336 (gst_adapter_available_fast):
9337 * libs/gst/base/gstadapter.h:
9338 Prepare for optimizing the hell out of this hugely inefficient
9340 Added gst_adapter_take_buffer() so we can at least start thinking
9341 about subbuffering and merging.
9342 Added some comments.
9344 * tests/check/Makefile.am:
9345 * tests/check/libs/adapter.c: (GST_START_TEST),
9346 (gst_adapter_suite), (main):
9347 Added GstAdapter check.
9349 2006-05-04 Wim Taymans <wim@fluendo.com>
9351 * docs/design/part-overview.txt:
9352 Fix some typos, add blurb about buffer flags.
9354 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
9356 * docs/libs/gstreamer-libs-sections.txt:
9357 make sure GstBaseTransformClass shows up in the docs
9358 * libs/gst/base/gstbasetransform.c:
9359 * libs/gst/base/gstbasetransform.h:
9360 move docs so gtk-doc picks it up now
9362 2006-05-02 Stefan Kost <ensonic@users.sf.net>
9364 * docs/libs/gstreamer-libs-sections.txt:
9365 add missing symbols to docs
9367 2006-05-02 Stefan Kost <ensonic@users.sf.net>
9369 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9370 back out the newsegment handling change, see #340060 for ongoing
9373 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
9375 * tools/gst-run.c: (get_candidates), (main):
9376 Fix wrong g_file_test() usage (see glib docs for why it doesn't
9377 work); fix typo in error message. Fixes #340079.
9379 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
9381 * common/Makefile.am:
9383 * docs/faq/Makefile.am:
9384 * docs/gst/Makefile.am:
9385 * docs/libs/Makefile.am:
9386 * docs/manual/Makefile.am:
9387 * docs/plugins/Makefile.am:
9388 * docs/pwg/Makefile.am:
9389 * docs/slides/Makefile.am:
9391 * common/upload.mak:
9392 move upload.mak to common
9394 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
9396 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9397 add more asserts on refcounts
9398 do more cleanup at end of tests
9399 fix test leaks showing in FC5
9401 2006-04-29 Stefan Kost <ensonic@users.sf.net>
9403 * plugins/elements/gsttypefindelement.c:
9404 (gst_type_find_element_handle_event):
9405 reverted wrong change and reflowed code to avoid others falling into
9408 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9410 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9411 fix changelog entry about last collectpads change,
9412 add notes about proper fix
9414 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9417 * gst/gstregistry.c: (gst_registry_scan_path_level),
9418 (gst_registry_scan_path):
9419 * gst/gstregistry.h:
9420 only write out registry if it has changed, fixes #338339
9422 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9425 * gst/gstpipeline.c:
9426 * plugins/elements/gstcapsfilter.c:
9427 * plugins/elements/gstfakesink.c:
9428 * plugins/elements/gstfakesrc.c:
9429 * plugins/elements/gstfdsink.c:
9430 * plugins/elements/gstfdsrc.c:
9431 * plugins/elements/gstfilesink.c:
9432 * plugins/elements/gstfilesrc.c:
9433 * plugins/elements/gstidentity.c:
9434 * plugins/elements/gstqueue.c:
9435 * plugins/elements/gsttee.c:
9436 * plugins/elements/gsttypefindelement.c:
9437 (gst_type_find_element_handle_event):
9438 make GstElementDetails const
9440 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9442 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
9443 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9444 (gst_collect_pads_is_collected), (gst_collect_pads_event):
9445 more detailed debug and formatting cleanup,
9446 forward newsegments to src-pad (so that e.g. adder not eats them)
9448 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9450 * gst/gstutils.c: (gst_element_link_pads):
9453 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9455 * libs/gst/controller/gstcontroller.c:
9456 (gst_controller_sync_values):
9458 * tests/check/libs/controller.c: (GST_START_TEST),
9459 (gst_controller_suite):
9460 a new test for live value handling
9462 2006-04-28 Wim Taymans <wim@fluendo.com>
9464 * gst/gstutils.c: (push_and_ref):
9465 Added some more docs.
9466 Fix refcount issue whith gst_element_found_tags() helper
9467 function. Fixes #338335
9469 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9470 Added testsuite for gst_element_found_tags().
9472 2006-04-28 Michael Smith <msmith@fluendo.com>
9474 * gst/gstvalue.c: (gst_value_serialize_flags):
9475 Avoid NULL dereference when trying to serialize flags containing
9478 2006-04-28 Michael Smith <msmith@fluendo.com>
9480 * plugins/elements/gsttypefindelement.c:
9481 (gst_type_find_element_handle_event):
9482 If we get EOS before any data is accumulated, don't use
9483 uninitialised local variables.
9485 2006-04-28 Michael Smith <msmith@fluendo.com>
9487 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9488 (gst_dp_event_from_packet):
9489 Fixes in reading/writing events over GDP (not currently used?) -
9490 dereferencing NULL events for unknown/invalid event types, memory
9491 leak, and change g_warning to GST_WARNING.
9493 2006-04-28 Wim Taymans <wim@fluendo.com>
9495 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
9496 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9497 (gst_base_sink_get_position), (gst_base_sink_change_state):
9498 When frame dropping is enabled, we should not ignore frames
9500 Update some documentation.
9502 2006-04-28 Wim Taymans <wim@fluendo.com>
9504 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9505 (gst_base_src_send_event), (gst_base_src_change_state):
9506 Documentation updates.
9508 2006-04-28 Wim Taymans <wim@fluendo.com>
9510 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
9511 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
9512 handle EAGAIN, EINTR and short writes correctly. Also clean
9513 up some error cases, avoid a deadlock on bad file descriptors and
9514 use GST_DEBUG_OBJECT.
9517 2006-04-28 Wim Taymans <wim@fluendo.com>
9519 * gst/gstvalue.c: (gst_value_serialize_buffer),
9520 (gst_value_deserialize_buffer):
9521 Don't try to serialize a GValue with a NULL buffer.
9524 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9525 Added check for serialisation of NULL buffers.
9527 2006-04-28 Wim Taymans <wim@fluendo.com>
9529 * gst/gstminiobject.c: (gst_value_take_mini_object):
9530 Taking a NULL miniobject is valid, fix the case where
9531 we try to unref the NULL miniobject.
9533 2006-04-28 Wim Taymans <wim@fluendo.com>
9535 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
9537 * gst/gstbin.c: (gst_bin_handle_message_func):
9539 Don't leak bin refcount when a state recalc is
9540 in progress and we delay another one #339808.
9542 2006-04-28 Wim Taymans <wim@fluendo.com>
9544 * docs/design/part-TODO.txt:
9545 Mention QoS as an ongoing work item.
9547 * docs/design/part-buffering.txt:
9548 New doc about buffering that needs to be fleshed out
9551 * docs/design/part-qos.txt:
9552 More QoS policy for decoders/demuxers/transforms
9554 * docs/design/part-trickmodes.txt:
9557 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
9562 === release 0.10.5 ===
9564 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
9567 releasing 0.10.5, "Fogo"
9569 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
9571 patch by: Wim Taymans
9573 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9574 (gst_pad_configure_src), (gst_pad_push):
9575 * gst/gstpipeline.c: (gst_pipeline_init):
9576 Fix internal data flow errors. Fixes #338711.
9578 2006-04-12 Wim Taymans <wim@fluendo.com>
9580 * tests/check/gst/gstelement.c: (GST_START_TEST):
9581 Don't leak the factory.
9583 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9586 * win32/common/config.h:
9589 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
9591 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9592 (gst_controller_unset_all):
9593 Free allocated GstTimedValues when freeing list nodes.
9594 Should fix leaks 'make check-valgrind' complains about.
9596 * win32/common/libgstcontroller.def:
9597 Add gst_controller_unset_all.
9599 2006-04-11 Stefan Kost <ensonic@users.sf.net>
9601 * docs/libs/gstreamer-libs-sections.txt:
9602 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9603 (gst_controller_unset_all):
9604 * libs/gst/controller/gstcontroller.h:
9605 API: Added new method gst_controller_unset_all()
9606 fixed gst_controller_unset()
9607 * tests/check/libs/controller.c: (GST_START_TEST),
9608 (gst_controller_suite):
9609 Added two testcases for new and fixed method
9611 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
9613 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
9614 MSG_DONTWAIT is not defined on Cygwin, so work
9615 around that (fixes #317048).
9617 2006-04-11 Wim Taymans <wim@fluendo.com>
9619 * gst/gstelementfactory.c: (gst_element_register),
9620 (gst_element_factory_create), (gst_element_factory_make):
9623 Updated docs (Fixes #131079)
9625 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9628 * tests/check/gst/gstelement.c: (GST_START_TEST),
9629 (gst_element_suite):
9630 Added testcase for elementfactory class field.
9632 2006-04-10 Wim Taymans <wim@fluendo.com>
9635 Added some more docs.
9637 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
9638 (gst_base_sink_reset_qos):
9639 Calculate more accurate rate values.
9641 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
9643 * gst/gst_private.h:
9644 add a new #ifdef to use __declspec(dllimport) only for
9645 other modules and not for gstreamer core
9646 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
9647 use gst_guint64_to_gdouble for conversion
9648 * win32/common/libgstreamer.def:
9649 add new exported functions
9650 * win32/vs6/gst_inspect.dsp:
9651 * win32/vs6/gst_launch.dsp:
9652 * win32/vs6/libgstbase.dsp:
9653 * win32/vs6/libgstcontroller.dsp:
9654 * win32/vs6/libgstcoreelements.dsp:
9655 * win32/vs6/libgstdataprotocol.dsp:
9656 * win32/vs6/libgstnet.dsp:
9657 update project files
9659 2006-04-08 Stefan Kost <ensonic@users.sf.net>
9661 * gst/gstbuffer.c: (gst_subbuffer_class_init):
9662 * gst/gstclock.c: (gst_clock_class_init):
9663 * gst/gstelement.c: (gst_element_class_init):
9664 * gst/gstindex.c: (gst_index_class_init):
9665 * gst/gstindexfactory.c: (gst_index_factory_class_init):
9666 * gst/gstobject.c: (gst_object_class_init),
9667 (gst_signal_object_class_init):
9668 * gst/gstpad.c: (gst_pad_class_init):
9669 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
9670 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
9671 * gst/gstregistry.c: (gst_registry_class_init):
9672 * gst/gstsystemclock.c: (gst_system_clock_class_init):
9673 * gst/gsttask.c: (gst_task_class_init):
9674 * gst/gstxml.c: (gst_xml_class_init):
9675 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9676 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9677 (gst_base_src_loop):
9678 * libs/gst/controller/gstcontroller.c:/
9679 (_gst_controller_class_init):
9680 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9681 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
9682 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
9683 * tests/old/examples/plugins/example.c: (gst_example_class_init):
9684 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9685 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
9687 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
9689 * gst/gstpad.c: (gst_pad_link):
9690 Must set peer pads before calling the link function, otherwise
9691 a task started from a link function might get a flow-not-linked
9692 result when trying to push because the other thread where the
9693 linking happens hasn't had a chance to set the peers yet. This
9694 might happen for example when a queue gets linked to a downstream
9695 element, as queue starts a streaming task when its source pad
9696 gets linked. Happens in real life when playing back flac/musepack
9697 files in playbin (#332390).
9699 2006-04-08 Stefan Kost <ensonic@users.sf.net>
9703 * libs/gst/base/gstadapter.h:
9704 * libs/gst/base/gstbasesink.h:
9705 * libs/gst/base/gstbasesrc.h:
9706 * libs/gst/base/gstbasetransform.h:
9707 * libs/gst/base/gstcollectpads.h:
9708 * libs/gst/base/gstpushsrc.h:
9709 Fix broken GObject macros
9711 2006-04-07 Wim Taymans <wim@fluendo.com>
9713 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9714 Initialize start and stop times, thanks valgrind.
9716 2006-04-07 Wim Taymans <wim@fluendo.com>
9718 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9719 Be a bit nicer to badly behaving upstream elements that expect
9720 us to deal with non TIME segments and timestamps (such as fakesrc
9723 2006-04-07 Wim Taymans <wim@fluendo.com>
9726 Small documentation clarification about the signal watch.
9728 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9729 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
9730 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9731 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9732 (gst_base_sink_get_position_last),
9733 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
9734 Convert and store timestamps in stream time and running time, the
9735 raw timestamps are not useful, also document this better.
9736 Use different window sizes for good and bad QoS observations so
9737 we react to badness a little quicker.
9738 Keep track of the amount of rendered and dropped buffers.
9739 Send QoS timestamps in running time.
9741 * libs/gst/base/gstbasetransform.c:
9742 (gst_base_transform_sink_eventfunc),
9743 (gst_base_transform_handle_buffer):
9744 Compare QoS timestamps against running time.
9746 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
9751 2006-04-06 Michael Smith <msmith@fluendo.com>
9753 * gst/gstpad.c: (gst_pad_set_property):
9754 Use g_value_get_object() instead of g_value_dup_gst_object(),
9755 to avoid double-reffing the pad template (which we then sink,
9756 so this worked previously if (and only if) the pad template
9759 * gst/gstpadtemplate.c: (gst_pad_template_init),
9760 (gst_pad_template_pad_created):
9761 Never return floating references to pad templates, create
9762 them as initially-sunken.
9764 Document an extra function (and make this stop sinking our
9765 pad template, since that is now guaranteed to do nothing,
9766 since we created it sunken).
9768 * gst/gstghostpad.c:
9771 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
9773 * gst/gstinfo.c: (__gst_in_valgrind):
9776 * plugins/elements/gsttypefindelement.c:
9777 (gst_type_find_element_chain):
9778 Don't leak buffer caps.
9780 2006-04-06 Michael Smith <msmith@fluendo.com>
9782 * gst/parse/grammar.y:
9783 Fix a leak in parse-launch for any source-or-sink named element
9786 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9787 Unref the pipeline if it exists after we've failed parsing.
9789 2006-04-05 Michael Smith <msmith@fluendo.com>
9791 * gst/gstpipeline.c: (gst_pipeline_init):
9792 When we create a pipeline bus, initially create it in flushing mode.
9793 Fixes leaks in at least one test, and makes a new pipeline work the
9794 same as one that has gone to READY and then back to NULL.
9799 2006-04-05 Michael Smith <msmith@fluendo.com>
9801 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9802 Unref a pad we reffed.
9803 * tests/check/gst/gstutils.c: (GST_START_TEST):
9806 2006-04-05 Michael Smith <msmith@fluendo.com>
9808 * gst/gstquery.c: (gst_query_set_formats),
9809 (gst_query_set_formatsv):
9810 Fix leaking GValues in queries, as shown by valgrind/testsuite.
9812 2006-04-05 Michael Smith <msmith@fluendo.com>
9814 * tests/check/generic/sinks.c: (GST_START_TEST):
9815 Fix a variety of memleaks in sinks check, which are only sometimes
9816 shown by running the tests under valgrind (weird?).
9818 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
9820 * docs/version.entities.in:
9821 Fix the substituted entity name after thomas' changes on the
9824 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9826 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
9829 2006-04-05 Andy Wingo <wingo@pobox.com>
9831 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
9833 * libs/gst/base/gstbasetransform.c
9834 (gst_base_transform_sink_eventfunc): When resetting our segment on
9835 FLUSH_STOP, also update the flag saying we haven't seen a
9838 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
9840 Patch by: Paolo Borelli <pborelli at katamail dot com>
9842 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9843 (gst_plugin_check_license):
9844 minor clean-ups: G_DEFINE_TYPE already takes care of the
9845 parent_class stuff, no need to do it twice. Mark array of
9846 license strings as constant. (#337103)
9848 2006-04-04 Michael Smith <msmith@fluendo.com>
9850 * tools/gst-inspect.c: (print_element_list):
9851 Free the right plugin list; fixes a memory leak.
9853 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
9855 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9857 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
9858 Don't error out on empty buffers (#336945).
9860 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
9862 * docs/libs/gstreamer-libs-sections.txt:
9864 * libs/gst/base/gstbasesink.c:
9865 * libs/gst/base/gstbasesink.h:
9866 * libs/gst/base/gstbasesrc.c:
9867 * libs/gst/base/gstbasesrc.h:
9868 Documentation updates. Make BaseSink and BaseSrc docs contain the
9869 class structure so that people can actually see the prototypes for
9870 virtual functions they're supposed to be overriding.
9872 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
9874 * plugins/elements/gsttypefindelement.c:
9875 (gst_type_find_element_chain):
9876 More debug info; when skipping typefinding, send cached
9877 events in all cases.
9879 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
9882 use new AS_VERSION and AS_NANO macros
9883 * gst/gst-i18n-lib.h:
9886 * gst/gstversion.h.in:
9887 * win32/common/config.h:
9888 * win32/common/config.h.in:
9891 2006-03-31 Michael Smith <msmith@fluendo.com>
9893 * plugins/elements/gsttypefindelement.c:
9894 (gst_type_find_element_chain):
9895 Do not typefind content if the buffers already have caps.
9896 Neccesary for icydemux (#333657), and the right thing to do anyway.
9898 2006-03-30 Wim Taymans <wim@fluendo.com>
9900 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
9901 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
9902 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
9903 (gst_base_sink_record_qos_observation),
9904 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9905 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
9906 (gst_base_sink_change_state):
9907 More QoS measurements as described in the design doc.
9908 Get rid of ringbuffer with observations, running average is
9909 more simple and equally good.
9910 Calculates valid proportion now.
9911 Added beginning of flood measurement.
9913 2006-03-29 Wim Taymans <wim@fluendo.com>
9915 * docs/design/part-qos.txt:
9917 Small documentation updates and additions.
9919 2006-03-29 Wim Taymans <wim@fluendo.com>
9921 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
9922 (gst_base_src_send_event), (gst_base_src_loop),
9923 (gst_base_src_change_state):
9924 Perform the EOS logic when we reach the segment stop position.
9925 Fix compilation on gcc4.1
9927 2006-03-29 Wim Taymans <wim@fluendo.com>
9929 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9931 * plugins/elements/gstqueue.c: (gst_queue_init),
9932 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
9933 (gst_queue_set_property):
9934 * plugins/elements/gstqueue.h:
9935 In queue, when EOS is received, if minimum threshold > max_size -
9936 current_level, there is chance that queue blocks forever in conditional
9937 item del wait. This is because the queue is not emptied completely due
9938 to minimum threshold. Here is another approach. Instead of setting
9939 cur_levels to max in EOS, just zero all minimum threshold levels. This
9940 should make sure that queue gives out all data. When going to READY
9941 (stop) state, just reset the original minimum threshold levels.
9944 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
9946 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
9947 (gst_type_find_element_handle_event),
9948 (gst_type_find_element_send_cached_events),
9949 (gst_type_find_element_change_state):
9950 * plugins/elements/gsttypefindelement.h:
9951 When typefinding is done in push mode, we should cache
9952 events we receive during typefinding instead of just
9953 dropping them (e.g. newsegment, custom events from
9954 dvdreadsrc etc.) and then send them out once we've
9955 determined the type of the stream (and decodebin
9956 has had a chance to plug in a decoder/demuxer).
9958 2006-03-27 Wim Taymans <wim@fluendo.com>
9960 * docs/design/part-qos.txt:
9963 2006-03-27 Wim Taymans <wim@fluendo.com>
9965 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
9967 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
9968 (gst_base_src_send_event), (gst_base_src_change_state):
9969 Handle element seek correctly when we are streaming.
9972 2006-03-24 Michael Smith <msmith@fluendo.com>
9974 * docs/faq/gst-uninstalled:
9975 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
9976 allow you to correctly run intalled applications built against old
9977 core, using plugins that require updated core (e.g. running
9978 installed totem against a full uninstalled gstreamer stack)
9980 2006-03-24 Stefan Kost <ensonic@users.sf.net>
9982 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
9985 2006-03-24 Wim Taymans <wim@fluendo.com>
9987 * docs/gst/gstreamer-sections.txt:
9988 Rearrange the order of the methods so that related methods
9989 are grouped together in sections.
9991 2006-03-24 Stefan Kost <ensonic@users.sf.net>
9994 Little clarification in the docs
9996 2006-03-24 Stefan Kost <ensonic@users.sf.net>
10000 * plugins/elements/gstidentity.c:
10001 * plugins/elements/gstqueue.c:
10002 * plugins/elements/gsttee.c:
10003 * plugins/elements/gsttypefindelement.c:
10004 GST_ELEMENT_DETAILS formatting
10006 2006-03-24 Wim Taymans <wim@fluendo.com>
10008 * libs/gst/base/gstbasesink.h:
10009 Only add fields, not insert or we break ABI.
10011 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
10013 * win32/common/libgstbase.def:
10014 * win32/common/libgstreamer.def:
10015 Update, add recently added functions.
10017 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
10019 * docs/gst/gstreamer-sections.txt:
10020 * gst/gstutils.c: (gst_pad_query_peer_position),
10021 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
10023 API: add some new utility functions:
10024 - gst_pad_query_peer_position()
10025 - gst_pad_query_peer_duration()
10026 - gst_pad_query_peer_convert()
10028 2006-03-23 Wim Taymans <wim@fluendo.com>
10030 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10031 (gst_base_sink_init), (gst_base_sink_finalize),
10032 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
10033 (gst_base_sink_set_property), (gst_base_sink_get_property),
10034 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
10035 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10036 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
10037 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10038 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10039 (gst_base_sink_preroll_object), (gst_base_sink_event),
10040 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
10041 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
10042 (gst_base_sink_query), (gst_base_sink_change_state):
10043 Decouple max-lateness and the fact that QoS messages are generated
10044 with a new property (qos).
10045 added API: GstBaseSink::async_play()
10046 Add vmethod so subclasses can be notified of ASYNC playing
10048 Collect timestamp start and stop to report better current
10049 position in EOS/PLAYING/PAUSED/READY/NULL.
10050 Refactor QoS/frame dropping and other measurements.
10051 API: GstBaseSrc::qos
10054 * libs/gst/base/gstbasesink.h:
10055 Added Private struct.
10056 API: gst_base_sink_set_qos_enabled()
10057 API: gst_base_sink_is_qos_enabled()
10059 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
10061 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10062 If compiling against GLib-2.8 or newer, try to read the
10063 registry file using GMappedFile first before falling back
10064 to fopen() + fread() (#332151).
10066 2006-03-22 Wim Taymans <wim@fluendo.com>
10068 * gst/gstinfo.c: (gst_debug_set_active),
10069 (gst_debug_category_set_threshold):
10070 Disable debugging unless explicitly activated.
10073 2006-03-22 Wim Taymans <wim@fluendo.com>
10075 * gst/gstelement.c: (gst_element_set_locked_state),
10076 (gst_element_dispose):
10077 Cleanup the error case.
10079 * gst/gstobject.c: (gst_object_dispose):
10080 print a critical when some object was disposed with
10081 a parent, also revive the object since it might
10084 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
10086 * tools/gst-launch.1.in:
10089 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
10092 * tests/check/Makefile.am:
10093 disable some tests when we don't have a registry
10094 * tests/check/gst/gstutils.c: (gst_utils_suite):
10095 don't build the part that needs parsing
10097 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
10100 * tests/examples/Makefile.am:
10101 fix --disable-parse build
10103 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
10105 * tools/gst-feedback.1.in:
10106 Fix typo: s/feeback/feedback/ (#133494).
10108 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
10110 * tools/Makefile.am:
10111 * tools/gst-launch.1.in:
10112 Add FILES section and correct entry about GST_REGISTRY_PATH
10113 environment variable (#133495; #133494).
10115 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
10117 * tools/Makefile.am:
10118 * tools/gst-md5sum.1.in:
10119 * tools/gst-md5sum.c:
10120 Remove gst-md5sum and man page (the md5sink element
10121 required was removed ages ago)
10123 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
10125 * gst/gststructure.c: (gst_structure_id_set_value):
10126 Make sure that string fields in structures/taglists
10127 contain valid UTF-8 - we don't want to pass rubbish to
10128 applications because of a buggy plugin (cp. #334167).
10130 2006-03-21 Edward Hervey <edward@fluendo.com>
10132 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10133 (gst_bin_handle_message_func):
10134 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
10135 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
10136 (gst_element_set_bus_func):
10137 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
10138 * gst/gstminiobject.c: (gst_value_set_mini_object),
10139 (gst_value_take_mini_object):
10140 * gst/gstpad.c: (gst_pad_set_pad_template):
10141 * gst/gstpipeline.c: (gst_pipeline_dispose),
10142 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10143 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
10144 (gst_collect_pads_chain):
10145 * libs/gst/net/gstnettimeprovider.c:
10146 (gst_net_time_provider_set_property):
10147 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
10148 It's in fact all issues with gst_*object_replace().
10150 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
10152 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
10154 * pkgconfig/gstreamer-check-uninstalled.pc.in:
10155 * pkgconfig/gstreamer-check.pc.in:
10156 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
10158 2006-03-21 Edward Hervey <edward@fluendo.com>
10162 * gst/gstmessage.h:
10163 gst_[buffer|event|message]_ref() macros are replaced by a static
10164 inline functions because gcc-4.1 will about if the return value
10166 * tests/check/gst/gstevent.c: (event_probe):
10167 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
10169 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
10172 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
10173 the type' case. (Closes: #335195 for now). In the future, when we
10174 depend on GLib 2.10, we could also intern the type name using
10175 g_intern_static_string()
10177 2006-03-20 Wim Taymans <wim@fluendo.com>
10179 * gst/gstbin.c: (gst_bin_handle_message_func),
10180 (bin_query_max_init), (bin_query_position_fold),
10181 (bin_query_position_done), (gst_bin_query):
10182 Position query should also take max of all streams.
10184 2006-03-20 Wim Taymans <wim@fluendo.com>
10186 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10187 (gst_fake_src_finalize):
10188 Fix leaks in fakesrc.
10190 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10191 Fix leaks in the testcase.
10193 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
10195 * gst/gst_private.h:
10196 add win32 specific import decoration(__declspec(dllimport))
10197 for all extern GstDebugCategory * variables
10198 * win32/common/libgstbase.def:
10199 * win32/common/libgstcontroller.def:
10200 * win32/common/libgstreamer.def:
10201 Add some exports, remove empty lines
10202 * win32/common/libgstdataprotocol.def:
10203 * win32/common/libgstdataprotocol.dsp:
10204 * win32/common/libgstnet.def:
10205 * win32/common/libgstnet.dsp:
10206 new project files and exportation files added
10208 2006-03-19 Wim Taymans <wim@fluendo.com>
10210 * tests/check/libs/basesrc.c: (eos_event_counter):
10211 Use proper return value for probe.
10213 2006-03-17 Wim Taymans <wim@fluendo.com>
10215 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10217 Don't leak buffers, caps and pads on negotiation errors.
10219 2006-03-16 Stefan Kost <ensonic@users.sf.net>
10221 * docs/faq/cvs.xml:
10222 * docs/faq/dependencies.xml:
10223 * docs/faq/developing.xml:
10224 * docs/faq/faq.xml:
10225 * docs/faq/general.xml:
10226 * docs/faq/getting.xml:
10227 * docs/faq/legal.xml:
10228 * docs/faq/troubleshooting.xml:
10229 * docs/faq/using.xml:
10230 Faq review and update.
10232 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
10234 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10236 Don't pound the cpu to pieces by checking get_caps when accept_caps
10237 is called with the same caps as the pad already has.
10238 Use GST_DEBUG_OBJECT when outputting caps change information.
10240 2006-03-15 Wim Taymans <wim@fluendo.com>
10242 * gst/gstclock.c: (gst_clock_class_init):
10245 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
10250 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
10251 (gst_pad_accept_caps), (gst_pad_configure_sink),
10252 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
10253 Make the default acceptcaps behaviour be to check the requested
10254 caps against the gst_pad_get_caps output.
10256 Ensure that gst_pad_accept_caps is used to check caps when a pad
10257 doesn't have a setcaps function, so that pads automatically refuse
10258 caps that they don't allow in their pad template. (Fixes #332986)
10260 When a buffer with attached caps is pushed, ensure that the source
10261 pad receives those caps even if the element didn't call
10262 gst_pad_set_caps first.
10264 2006-03-15 Wim Taymans <wim@fluendo.com>
10266 * libs/gst/base/gstadapter.c:
10269 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
10271 * win32/common/libgstbase.def:
10272 * win32/common/libgstcontroller.def:
10273 * win32/common/libgstreamer.def:
10274 Add a whole bunch of missing functions (#334434).
10276 2006-03-14 Wim Taymans <wim@fluendo.com>
10278 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10279 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
10280 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
10281 Better debug info when we receive a segment event.
10282 Reorganize a bit so we can pass the get_times() results around.
10283 Use the segment format when calculating the running time.
10284 Don't do QoS is sync is disabled or we have no clock or the
10285 element does not want us to sync to the clock.
10286 Don't drop buffers if QoS is disabled for now.
10288 2006-03-14 Wim Taymans <wim@fluendo.com>
10290 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
10291 Marked the stats property as unimplemented so people don't get
10293 Add debug message when regression goes wrong.
10294 Added some more docs.
10296 2006-03-14 Wim Taymans <wim@fluendo.com>
10298 * gst/gstsegment.c: (gst_segment_to_stream_time):
10299 Return correct return type in case of errors.
10301 2006-03-14 Wim Taymans <wim@fluendo.com>
10303 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
10304 Don't segfault on invalid formats.
10306 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
10308 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10309 Can't use gst_segment_to_running_time() when the segment
10310 is not in GST_TIME_FORMAT (like with filesink, for example).
10311 Stops flac encoding pipelines from spewing critical warnings
10314 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
10316 * gst/gstpipeline.c: (gst_pipeline_class_init):
10317 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
10319 * plugins/elements/gsttypefindelement.c:
10320 (gst_type_find_element_handle_event):
10321 Don't try to typefind empty streams.
10323 2006-03-14 Wim Taymans <wim@fluendo.com>
10325 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
10326 (gst_base_sink_do_qos):
10327 Separate QoS calculation.
10328 Only drop buffers when lateness is bigger than the
10329 duration of the buffer.
10331 2006-03-13 Wim Taymans <wim@fluendo.com>
10333 * gst/gstpipeline.c: (gst_pipeline_set_property),
10334 (gst_pipeline_get_property), (do_pipeline_seek),
10335 (gst_pipeline_change_state), (gst_pipeline_set_delay),
10336 (gst_pipeline_get_delay):
10337 Don't deadlock when reading properties.
10339 2006-03-13 Wim Taymans <wim@fluendo.com>
10341 * libs/gst/base/gstbasetransform.c:
10342 (gst_base_transform_class_init), (gst_base_transform_init),
10343 (gst_base_transform_sink_event),
10344 (gst_base_transform_sink_eventfunc),
10345 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
10346 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10347 (gst_base_transform_set_property),
10348 (gst_base_transform_get_property),
10349 (gst_base_transform_change_state), (gst_base_transform_update_qos),
10350 (gst_base_transform_set_qos_enabled),
10351 (gst_base_transform_is_qos_enabled):
10352 * libs/gst/base/gstbasetransform.h:
10353 Make basetransform virtual method for src events too.
10354 Handle QOS in basetransform.
10355 API: gst_base_transform_update_qos()
10356 API: gst_base_transform_set_qos_enabled()
10357 API: gst_base_transform_is_qos_enabled()
10359 2006-03-13 Wim Taymans <wim@fluendo.com>
10361 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10362 (gst_base_sink_do_sync):
10364 Use QOS debug category.
10366 2006-03-13 Wim Taymans <wim@fluendo.com>
10368 * plugins/elements/gstqueue.c:
10369 Very small doc update.
10371 2006-03-13 Wim Taymans <wim@fluendo.com>
10373 * gst/gst_private.h:
10374 * gst/gstinfo.c: (_gst_debug_init):
10375 Added QOS debug category
10377 2006-03-13 Wim Taymans <wim@fluendo.com>
10379 * docs/gst/gstreamer-sections.txt:
10380 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
10382 * gst/gstbus.c: (gst_bus_class_init):
10385 * gst/gstelement.c: (gst_element_set_locked_state):
10386 * gst/gstsegment.c:
10387 Documentation updates.
10389 * gst/gstpipeline.c: (gst_pipeline_get_type),
10390 (gst_pipeline_class_init), (gst_pipeline_init),
10391 (gst_pipeline_dispose), (gst_pipeline_set_property),
10392 (gst_pipeline_get_property), (do_pipeline_seek),
10393 (gst_pipeline_send_event), (gst_pipeline_change_state),
10394 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
10395 (gst_pipeline_get_delay):
10396 * gst/gstpipeline.h:
10397 Added methods for setting the delay.
10398 API: gst_pipeline_set_delay()
10399 API: gst_pipeline_get_delay()
10400 Add pipeline debug category
10403 Don't reset stream time when seek failed.
10405 2006-03-13 Wim Taymans <wim@fluendo.com>
10407 * docs/design/draft-klass.txt:
10408 * docs/design/part-clocks.txt:
10409 * docs/design/part-events.txt:
10410 * docs/design/part-gstbin.txt:
10411 * docs/design/part-gstpipeline.txt:
10412 * docs/design/part-messages.txt:
10413 * docs/design/part-negotiation.txt:
10414 * docs/design/part-overview.txt:
10415 * docs/design/part-preroll.txt:
10416 * docs/design/part-seeking.txt:
10417 * docs/design/part-states.txt:
10418 * docs/design/part-streams.txt:
10419 Documentation updates.
10421 2006-03-12 Julien MOUTTE <julien@moutte.net>
10423 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
10424 us to leak strings...
10426 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
10428 * libs/gst/net/gstnettimeprovider.c:
10430 * win32/common/config.h:
10433 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
10435 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
10438 Don't check for libgnomeui (leftover from old examples
10439 that aren't built or disted any longer) (#334303).
10441 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
10443 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
10444 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10445 Emit RESOURCE_NO_SPACE_LEFT error here as well when
10446 there's no space left on the device.
10448 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
10451 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
10452 to cast the input to GstClockTime before comparing with
10453 another GstClockTime value.
10455 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
10460 === release 0.10.4 ===
10462 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
10465 releasing 0.10.4, "Light"
10467 2006-03-10 Michael Smith <msmith@fluendo.com>
10469 * libs/gst/dataprotocol/dataprotocol.c:
10470 Fix docs for dataprocotol to not get the return types completely
10471 wrong for a few functions.
10473 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
10475 * docs/gst/gstreamer-sections.txt:
10476 * gst/gstpipeline.c: (gst_pipeline_class_init),
10477 (gst_pipeline_init), (gst_pipeline_set_property),
10478 (gst_pipeline_get_property), (gst_pipeline_change_state),
10479 (gst_pipeline_set_auto_flush_bus),
10480 (gst_pipeline_get_auto_flush_bus):
10481 * gst/gstpipeline.h:
10482 Add new API: gst_pipeline_set_auto_flush_bus() and
10483 gst_pipeline_get_auto_flush_bus() to disable automatic
10484 flushing of the pipeline's GstBus when going from READY
10485 to NULL state (#332045).
10487 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
10489 * docs/gst/gstreamer-sections.txt:
10490 * gst/gsturi.c: (gst_uri_has_protocol):
10492 Add new API: gst_uri_has_protocol() (#333779).
10494 2006-03-09 Wim Taymans <wim@fluendo.com>
10496 * gst/gstclock.c: (gst_clock_entry_new),
10497 (gst_clock_id_compare_func), (gst_clock_id_wait),
10498 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
10499 (gst_clock_init), (gst_clock_get_internal_time),
10500 (gst_clock_set_master), (do_linear_regression),
10501 (gst_clock_add_observation), (gst_clock_set_property):
10505 Fix a possible segfault when the window-size is made smaller.
10506 Calculate jitter before performing the clock wait. Ideally
10507 the clock implementation should calculate jitter but we need
10508 API breakage for that.
10510 * gst/gstsystemclock.c: (gst_system_clock_init):
10513 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10514 Remove leftover else
10516 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
10517 (gst_systemclock_suite):
10518 Added check to test GST_CLOCK_DIFF.
10520 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
10522 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
10523 (gst_type_find_helper_get_range):
10524 If we are provided with the size, we should implement
10525 GstTypeFind::get_length, so that typefind functions who
10526 want to can actually peek at the middle of a file.
10528 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
10530 * docs/manual/advanced-dataaccess.xml:
10531 Add some very very basic error checking.
10533 * docs/pwg/appendix-checklist.xml:
10534 Some updates to the list of things to check when writing an element.
10536 2006-03-08 Wim Taymans <wim@fluendo.com>
10538 * docs/design/part-element-transform.txt:
10539 Added some docs about the design of tranform elements.
10541 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10542 (gst_base_src_loop), (gst_base_src_change_state):
10543 Mark buffers with the DISCONT flag.
10545 2006-03-08 Michael Smith <msmith@fluendo.com>
10547 * gst/gstregistry.h:
10548 * gst/gstregistryxml.c: (gst_registry_save),
10549 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
10550 (gst_registry_xml_save_pad_template),
10551 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
10552 (gst_registry_xml_write_cache):
10553 Rewrite registry-saving to avoid race conditions and check for
10556 2006-03-08 Wim Taymans <wim@fluendo.com>
10558 * libs/gst/base/gstbasetransform.c:
10559 (gst_base_transform_transform_caps),
10560 (gst_base_transform_transform_size),
10561 (gst_base_transform_prepare_output_buffer),
10562 (gst_base_transform_get_unit_size),
10563 (gst_base_transform_buffer_alloc),
10564 (gst_base_transform_handle_buffer),
10565 (gst_base_transform_change_state):
10566 Cleanups, separate normal flow from errors, add sensible
10568 Don't try to renegotiate when allocating an output buffer.
10569 Also copy DISCONT buffer flag when copying a buffer.
10570 Reset the transform after we finish streaming, not during.
10572 2006-03-08 Wim Taymans <wim@fluendo.com>
10574 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10575 Use last buffer timestamp in qos message.
10577 2006-03-07 Wim Taymans <wim@fluendo.com>
10579 Patch by: Christophe Fergeau
10581 * docs/pwg/advanced-tagging.xml:
10582 * docs/pwg/building-pads.xml:
10585 2006-03-07 Wim Taymans <wim@fluendo.com>
10587 * docs/libs/gstreamer-libs-sections.txt:
10588 Added basesink new methods.
10592 Docs updates. Flesh out the QoS docs.
10594 * libs/gst/base/gstadapter.c:
10595 Small doc clarification about ownership and flushing.
10597 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
10598 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
10599 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
10600 (gst_base_sink_get_property), (gst_base_sink_do_sync):
10601 * libs/gst/base/gstbasesink.h:
10603 Added new methods to allow subclass to control max-lateness
10605 Generate very basic QoS events based on last sync observation.
10606 Updated docs, fix typo, added some QoS blurb.
10608 * libs/gst/base/gstbasesrc.c:
10609 Remove obsolete _get_state() calls from docs.
10611 2006-03-07 Wim Taymans <wim@fluendo.com>
10613 * docs/libs/gstreamer-libs-sections.txt:
10614 * libs/gst/base/gstbasetransform.h:
10615 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
10616 Fix docs for GstBaseSrc.
10618 2006-03-07 Wim Taymans <wim@fluendo.com>
10620 * docs/gst/gstreamer-sections.txt:
10623 * libs/gst/base/gstbasetransform.h:
10624 Small documentation fixes.
10626 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
10629 Document thread-unsafety of gst_value_register_foo_func()
10630 when used at the same time as gst_value_foo() (#322628).
10632 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
10634 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
10635 (gst_push_src_check_get_range):
10636 Push sources don't support pull mode by default.
10638 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
10640 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10641 (gst_base_src_init), (gst_base_src_pad_check_get_range),
10642 (gst_base_src_default_check_get_range):
10643 * libs/gst/base/gstbasesrc.h:
10644 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
10645 provide default implementation, and rename
10646 gst_base_src_check_get_range() to
10647 gst_base_src_pad_check_get_range() for clarity.
10649 2006-03-06 Wim Taymans <wim@fluendo.com>
10651 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10652 Make property overridable.
10654 2006-03-06 Wim Taymans <wim@fluendo.com>
10656 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10657 (gst_base_sink_init), (gst_base_sink_set_property),
10658 (gst_base_sink_get_property), (gst_base_sink_do_sync):
10659 * libs/gst/base/gstbasesink.h:
10660 API addition: Make max-lateness a property.
10662 2006-03-06 Wim Taymans <wim@fluendo.com>
10664 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
10665 (gst_base_sink_do_sync), (gst_base_sink_render_object):
10666 Don't ever draw a frame that is >10ms late.
10668 2006-03-06 Michael Smith <msmith@fluendo.com>
10670 * gst/gstmessage.c: (_gst_message_copy):
10671 When copying a message, set the parent_refcount of the enclosed
10672 structure to point at the copy, not the original message.
10674 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
10676 Patch by: Christophe Fergeau
10679 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
10680 usable in c++ code (#333417)
10682 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
10685 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
10687 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
10689 * libs/gst/base/gstbasetransform.c:
10690 (gst_base_transform_transform_caps):
10691 Make sure caps are writable before passing them to
10694 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
10697 Fix some minor docs errors.
10699 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
10701 Patch by: Ross Burton <ross at burtonini dot com>
10703 * gst/gsterror.c: (_gst_resource_errors_init):
10705 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
10707 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
10710 Add a check and output a g_warning when GStreamer is built
10711 against GLib 2.6 but running against 2.8 or higher, and vice
10712 versa. (Closes: #323542)
10714 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
10716 * gst/parse/parse.l:
10717 Commit patch for parse_launch syntax from #331255. Removes
10718 support for quoted strings and mimetypes when writing filtered
10719 caps. See the bug report for more details - I'm pretty sure this
10720 obscure feature is not in use by _anyone_ anywhere.
10722 With this simple change, the size of the gstreamer.so here
10723 drops from 2193KB to 1565KB.
10725 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
10727 * plugins/elements/gsttypefindelement.h:
10728 * plugins/elements/gsttypefindelement.c:
10729 (gst_type_find_element_src_event), (start_typefinding),
10730 (stop_typefinding), (gst_type_find_element_handle_event),
10731 (gst_type_find_element_chain),
10732 (gst_type_find_element_chain_do_typefinding):
10733 Use gst_type_find_helper_for_buffer() for chain-based
10736 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
10738 * plugins/elements/gsttypefindelement.c:
10739 (gst_type_find_element_class_init),
10740 (gst_type_find_element_set_property),
10741 (gst_type_find_element_get_property):
10742 Deprecate "maximum" property (not only was it only taken into
10743 account for typefinding in push-mode anyway, it also was never
10744 actually possible to set it in the first place because the
10745 property was registered with the numeric property ID for the
10746 "minimum" property). Register "maximum" property correctly,
10747 for the sake of future copy'n'pasters. Remove some cruft
10748 from property get/set functions.
10750 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
10752 * plugins/elements/gsttypefindelement.c:
10753 (gst_type_find_element_activate):
10754 Use gst_type_find_helper_get_range() here, so we
10755 can honour the "minimum" property and also emit
10756 the signal with the correct probability of the found caps.
10758 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
10760 * docs/libs/gstreamer-libs-sections.txt:
10761 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
10762 (helper_find_suggest), (gst_type_find_helper_get_range),
10763 (gst_type_find_helper):
10764 * libs/gst/base/gsttypefindhelper.h:
10765 New API: gst_type_find_helper_get_range() (#333042).
10767 2006-03-02 Michael Smith <msmith@fluendo.com>
10769 * gst/gstregistryxml.c: (load_feature):
10770 Asserting on a failure to read part of the registry is Not Cool.
10771 Just log a warning and return NULL (which is already handled)
10773 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
10775 * win32/common/libgstbase.def:
10776 added export of gst_type_find_helper_for_buffer
10777 * win32/common/libgstbase.def:
10778 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
10779 gst_ghost_pad_get_target
10781 2006-02-28 Wim Taymans <wim@fluendo.com>
10783 * docs/design/draft-klass.txt:
10785 Added Connector to mark elements that are only used to
10786 allow pipeline connections.
10787 Moved Debug to extra feature since most of them are
10788 functionally something else.
10790 2006-02-28 Wim Taymans <wim@fluendo.com>
10792 * docs/design/draft-klass.txt:
10793 Some updates and clarifications.
10795 2006-02-28 Wim Taymans <wim@fluendo.com>
10797 * docs/design/draft-klass.txt:
10798 Proposal for klass field values.
10800 * docs/design/part-streams.txt:
10801 Start of a doc describing stream anatomy.
10803 2006-02-28 Wim Taymans <wim@fluendo.com>
10805 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
10806 Help the compiler a bit with type registration.
10807 Use existing forward cod path instead of duplicating it when
10808 handling a message.
10810 * gst/gstbus.c: (gst_bus_get_type):
10811 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
10812 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
10813 * gst/gstclock.c: (gst_clock_get_type):
10814 * gst/gstelement.c: (gst_element_get_type),
10815 * gst/gstelementfactory.c: (gst_element_factory_get_type):
10816 * gst/gstindexfactory.c: (gst_index_factory_get_type):
10817 * gst/gstminiobject.c: (gst_mini_object_get_type):
10818 * gst/gstpad.c: (gst_pad_get_type):
10819 * gst/gstsegment.c: (gst_segment_get_type):
10820 * gst/gststructure.c: (gst_structure_get_type):
10821 * gst/gstsystemclock.c: (gst_system_clock_get_type):
10822 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
10824 Help compiler with type registration.
10826 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
10829 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
10831 * plugins/elements/gsttypefindelement.c:
10832 (gst_type_find_element_handle_event):
10833 When we get an EOS event and have not found a type yet
10834 (most likely because we had not yet accumulated
10835 TYPE_FIND_MIN_SIZE of data yet), try to determine the
10836 type given the data we have so far. Fixes typefinding
10837 for very short streams again, most notably quicktime
10838 redirections as used on Apple's trailer site (#331701).
10840 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
10842 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
10843 (gst_type_find_helper):
10844 Try typefinding factories with the highest rank first.
10846 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
10848 * docs/libs/gstreamer-libs-docs.sgml:
10849 * docs/libs/gstreamer-libs-sections.txt:
10850 * libs/gst/base/gsttypefindhelper.c:
10851 Add section for typefind helper and add documentation
10852 for the old and the new function.
10854 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
10856 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
10857 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
10858 (gst_type_find_helper_for_buffer):
10859 * libs/gst/base/gsttypefindhelper.h:
10860 New API: gst_type_find_helper_for_buffer() (#332723).
10862 2006-02-27 Michael Smith <msmith@fluendo.com>
10864 Patch by: Loïc Minier
10867 * docs/Makefile.am:
10868 * docs/slides/Makefile.am:
10869 prevent CVS directories getting disted.
10871 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
10873 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
10874 Use the REFCOUNTING category for caps refcounting.
10876 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
10878 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
10879 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
10881 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
10883 * plugins/elements/gsttypefindelement.c:
10884 (gst_type_find_element_activate):
10885 Use gst_pad_check_pull_range() before _activate_pull()
10886 to avoid unnecessary open/close (see #331690).
10888 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
10891 Docs enhancement: make it crystal clear what the
10892 gst_pad_add_*_probe() callbacks should look like.
10894 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
10896 * libs/gst/base/gstbasesrc.c:
10897 Document how applications can stop recording from
10898 live sources (see #330996).
10900 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
10902 * tests/check/Makefile.am:
10903 * tests/check/libs/basesrc.c: (eos_event_counter),
10904 (basesrc_eos_events_pull), (basesrc_eos_events_push),
10905 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
10906 (gst_basesrc_suite), (main):
10907 ... and add some tests for the base source EOS stuff.
10909 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
10911 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
10912 Test case originally showed the problem fixed below,
10913 but was then amended. Add checks back at the place
10914 where they used to be.
10916 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
10918 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10919 (gst_base_src_init), (gst_base_src_loop),
10920 (gst_base_src_activate_push), (gst_base_src_activate_pull),
10921 (gst_base_src_change_state):
10922 * libs/gst/base/gstbasesrc.h:
10923 Don't unconditionally send EOS when going from PAUSED to
10924 READY state, esp. make sure we don't send two EOS events
10925 in some cases (e.g. one when reaching EOS and one when
10926 going from PAUSED to READY). Also, we don't want to send
10927 EOS events when operating in pull mode. However, we do
10928 want to send an EOS event when shutting down a live
10929 source explicitly, for example (fixes #330996).
10931 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
10933 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10934 Update src->read_position after a seek when not using mmap.
10935 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
10937 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
10943 Make things work with --disable-parse as they do with
10944 --disable-load-save - the symbols involved disappear, but the
10945 header is still installed and GST_DISABLE_PARSE is included via
10948 2006-02-20 Julien MOUTTE <julien@moutte.net>
10950 * libs/gst/base/gstbasetransform.c:
10951 (gst_base_transform_change_state): Fix a stupid bug. I was
10952 sure I compiled that.
10954 2006-02-20 Julien MOUTTE <julien@moutte.net>
10956 * gst/gstpad.c: (gst_pad_set_blocked_async):
10957 * gst/gstutils.c: (gst_pad_add_data_probe),
10958 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10959 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10960 (gst_pad_remove_buffer_probe): Make those function act on the
10961 ghostpad target when it's a ghostpad. (Closes #331727)
10963 2006-02-20 Julien MOUTTE <julien@moutte.net>
10965 * libs/gst/base/gstbasetransform.c:
10966 (gst_base_transform_change_state): Make basetransform reusable.
10969 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
10971 * docs/random/release:
10972 Move the current documentation of how to do a release to the top
10975 * gst/gstbin.c: (gst_bin_class_init),
10976 (gst_bin_handle_message_func):
10977 Allow multiple state-recalculation threads. (Closes #328873)
10979 2006-02-19 Julien MOUTTE <julien@moutte.net>
10981 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
10982 * gst/gstpad.c: (gst_pad_set_event_function),
10983 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10984 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
10985 2 strings. You can't use the STR_NULL macro on that.
10987 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
10989 * gst/gstpad.c: (gst_pad_set_event_function),
10990 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10991 (gst_pad_set_getcaps_function)
10992 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
10993 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
10994 So now, we can use --gst-debug-level=5 on Windows
10995 * win32/common/libgstcontroller.def:
10996 Added export of gst_controller_init
10997 * win32/vs6/libgstcontroller.dsp:
10998 Fixed Release post build configuration
11000 2006-02-17 Wim Taymans <wim@fluendo.com>
11002 * tests/check/gst/gstquery.c: (GST_START_TEST):
11003 Added another check.
11005 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
11007 * plugins/elements/gsttypefindelement.c: (find_peek):
11008 We can do peeks at non-zero offsets, as long as they
11009 fall within the buffer we have.
11011 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
11013 * tests/check/Makefile.am:
11014 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
11015 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
11016 (parse_suite), (main):
11017 Add testsuite for parse launch syntax
11019 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
11021 * plugins/elements/gsttypefindelement.c:
11022 (gst_type_find_element_chain):
11023 When typefinding is unsuccessful in the chain function, don't
11024 error out immediately. Only error out with NO_CAPS_FOUND if
11025 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
11026 otherwise simply wait for more data so we can try typefinding
11027 again with more data later. Also, don't attempt to typefind
11028 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
11029 this should improve typefinding from network sources where the
11030 size of the first buffer can be somewhat random.
11032 2006-02-14 Wim Taymans <wim@fluendo.com>
11034 * docs/gst/gstreamer-sections.txt:
11035 * gst/gstpadtemplate.c:
11036 * gst/gstpadtemplate.h:
11037 Fix padtemplate docs, fixes #328805.
11039 2006-02-14 Wim Taymans <wim@fluendo.com>
11041 * tools/gst-launch.c: (main):
11042 NO_PREROLL is not an ERROR so don't send confusing messages
11045 2006-02-14 Wim Taymans <wim@fluendo.com>
11047 Patch by: Torsten Schoenfeld
11049 * gst/gstregistry.c: (gst_registry_get_default),
11050 (_gst_registry_cleanup):
11051 Protect default registry with lock and ref/sink it.
11054 2006-02-14 Wim Taymans <wim@fluendo.com>
11057 * gst/gstquery.c: (gst_query_list_add_format),
11058 (gst_query_set_formatsv), (gst_query_parse_formats_length),
11059 (gst_query_parse_formats_nth):
11060 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11063 2006-02-14 Wim Taymans <wim@fluendo.com>
11065 * docs/gst/gstreamer-sections.txt:
11066 Reworked query docs.
11068 * gst/gstquery.c: (gst_query_new_formats),
11069 (gst_query_list_add_format), (gst_query_set_formats),
11070 (gst_query_set_formatsv), (gst_query_parse_formats_length),
11071 (gst_query_parse_formats_nth):
11073 Flesh out formats query, added some new methods.
11074 Fix part of #324398.
11076 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
11077 Added query creation tests.
11079 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
11081 * gst/gstpad.c: (fixate_value):
11082 Add a default fixation for fraction lists.
11084 2006-02-13 Wim Taymans <wim@fluendo.com>
11086 * gst/gsttask.c: (gst_task_init), (gst_task_func),
11087 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
11090 Detect and warn for obvious deadlocks. fixes #320340
11091 Fix error case where lock was not released.
11093 * tests/check/Makefile.am:
11094 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
11095 (task_func), (gst_element_suite), (main):
11098 2006-02-13 Wim Taymans <wim@fluendo.com>
11100 * docs/gst/gstreamer-sections.txt:
11102 Add new functions to docs.
11104 2006-02-13 Wim Taymans <wim@fluendo.com>
11106 * docs/design/part-TODO.txt:
11107 Updated TODO list, basesrc supports seeking to non-bytes
11110 * docs/design/part-element-sink.txt:
11113 * gst/gstbin.c: (bin_replace_message),
11114 (gst_bin_handle_message_func):
11115 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
11116 * gst/gstevent.c: (gst_event_finalize):
11117 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11118 (gst_pad_send_event):
11119 Use shiny new _TYPE_NAME macros.
11121 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11122 Move debug statement up.
11124 * gst/gstelement.c: (gst_element_set_locked_state):
11125 Add some debugging.
11127 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
11129 * docs/gst/gstreamer-sections.txt:
11130 * gst/gstmessage.h:
11132 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
11133 macros (#330906). Also, document the already existing
11134 GST_QUERY_TYPE macro.
11136 2006-02-13 Wim Taymans <wim@fluendo.com>
11138 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
11139 (event_probe), (GST_START_TEST):
11140 Only events up to the pipeline EOS are counted, there are
11141 some more when going to NULL currently which we don't care
11144 2006-02-13 Wim Taymans <wim@fluendo.com>
11146 * gst/gstpad.c: (gst_pad_send_event):
11147 Correctly check flushing and emit probes. fixes #330125
11149 2006-02-10 Andy Wingo <wingo@pobox.com>
11151 * gst/gstbus.c (gst_bus_class_init): Declare our private data
11153 (gst_bus_init): Cache the location of the private data in the
11154 instance structure.
11155 (gst_bus_enable_sync_message_emission)
11156 (gst_bus_disable_sync_message_emission): Implement new public
11158 (gst_bus_post): Emit the sync-message signal if the user asked for
11161 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
11162 location of the bus-private structure.
11163 (gst_bus_enable_sync_message_emission)
11164 (gst_bus_disable_sync_message_emission): API addition
11166 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
11168 Patch by: Vincent Torri
11170 * docs/pwg/building-boiler.xml:
11171 PWG patch from #326800
11173 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
11176 * docs/Makefile.am:
11177 * docs/design/Makefile.am:
11180 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
11185 === release 0.10.3 ===
11187 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
11190 releasing 0.10.3, "Like a virgin"
11192 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
11195 2nd prerelease of 0.10.3
11196 Bump libtool versioning.
11198 2006-02-07 Andy Wingo <wingo@pobox.com>
11200 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
11201 update last_stop if we're in TIME format and the timestamp is
11204 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
11205 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
11206 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
11207 If we get a new newsegment with a different format, adapt
11210 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
11211 of 0. Not a problem, really.
11213 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
11216 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
11221 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
11224 project files updated to the default vs7 configuration
11225 * win32/common/libgstbase.def:
11226 * win32/common/libgstreamer.def:
11228 removed empty lines,
11229 sorted all exported symbols alphabetically
11230 * win32/common/dirent.c:
11231 * win32/common/dirent.h:
11232 * win32/common/gchar.h:
11233 use windows line end.
11235 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
11237 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11238 Send EOS event when stopping.
11240 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
11243 Tell folks what to do if the plugin-foobar.xml file
11244 hasn't been generated for a newly-added plugin.
11246 2006-02-05 Julien MOUTTE <julien@moutte.net>
11248 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11249 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11250 (gst_collect_pads_start), (gst_collect_pads_stop),
11251 (gst_collect_pads_event): Collectpads now holds a reference
11252 to the GstPad that was added. Indeed we don't want to look
11253 at pads that might just go away with no warning...
11255 2006-02-05 Julien MOUTTE <julien@moutte.net>
11257 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11258 (gst_collect_pads_start), (gst_collect_pads_stop),
11259 (gst_collect_pads_event), (gst_collect_pads_chain):
11260 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
11261 Mark Nauwelaerts's patch on bug #328491.
11263 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
11265 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
11267 Add some simple tests for gst_parse_bin_from_description() and
11268 gst_bin_find_unconnected_pad() (#329069).
11270 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
11272 * tools/gst-launch.c: (event_loop), (main):
11273 Catch errors during preroll (#320084).
11275 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
11277 * plugins/elements/gsttypefindelement.c:
11278 (gst_type_find_element_activate):
11279 Post TYPE_NOT_FOUND error message when typefinding
11280 is unsuccessful in the activate function as well.
11282 2006-02-02 Wim Taymans <wim@fluendo.com>
11284 * docs/design/part-element-sink.txt:
11287 2006-02-02 Wim Taymans <wim@fluendo.com>
11289 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
11290 (gst_base_sink_render_object),
11291 (gst_base_sink_queue_object_unlocked):
11292 Only keep track of prerollable items when we are
11294 Before rendering after preroll, always check if we
11296 Added some more debugging.
11298 2006-02-02 Wim Taymans <wim@fluendo.com>
11300 * gst/gstelement.c: (gst_element_continue_state),
11301 (gst_element_set_state_func), (gst_element_change_state):
11302 Fixed #326576, been running this for quite some time with
11303 no regressions at all.
11305 2006-02-02 Wim Taymans <wim@fluendo.com>
11308 Added more suppressions
11310 2006-02-02 Wim Taymans <wim@fluendo.com>
11312 * docs/design/part-element-sink.txt:
11315 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11316 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
11317 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
11318 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
11319 (gst_base_sink_do_sync), (gst_base_sink_render_object),
11320 (gst_base_sink_preroll_object),
11321 (gst_base_sink_queue_object_unlocked),
11322 (gst_base_sink_queue_object), (gst_base_sink_event),
11323 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
11324 (gst_base_sink_loop), (gst_base_sink_activate_pull),
11325 (gst_base_sink_get_position), (gst_base_sink_change_state):
11326 * libs/gst/base/gstbasesink.h:
11327 Totally refactored matching the design doc.
11328 Use two segments, one to clip incomming buffers and another to
11330 Handle queueing correctly, bypass the queue when playing.
11331 Make EOS cancelable.
11332 Handle errors correctly when operating in pull based mode.
11334 * tests/check/elements/fakesink.c: (GST_START_TEST),
11336 Added new check for sinks.
11338 2006-02-02 Wim Taymans <wim@fluendo.com>
11340 * gst/gstsegment.c: (gst_segment_clip):
11341 No reason to refuse to clip when start == -1
11343 2006-02-02 Stefan Kost <ensonic@users.sf.net>
11346 * docs/manual/intro-basics.xml:
11347 * docs/manual/intro-preface.xml:
11348 * docs/manual/manual.xml:
11349 * docs/pwg/advanced-dparams.xml:
11350 * docs/pwg/intro-basics.xml:
11351 * docs/pwg/intro-preface.xml:
11352 * docs/pwg/pwg.xml:
11353 describe dparams (controller) for plugins
11354 unify docs a little more
11356 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
11358 * docs/gst/gstreamer-sections.txt:
11359 * gst/gstutils.c: (element_find_unconnected_pad),
11360 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
11362 Add new API: gst_parse_bin_from_description() and
11363 gst_bin_find_unconnected_pad() (#329069).
11365 2006-02-01 Stefan Kost <ensonic@users.sf.net>
11367 * docs/manual/README:
11368 uncover a nasty detail of the docs build
11370 2006-01-31 Wim Taymans <wim@fluendo.com>
11372 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
11373 Don't cache duration messages if we're not going to use or
11376 2006-01-31 Stefan Kost <ensonic@users.sf.net>
11378 * docs/manual/advanced-dparams.xml:
11379 * docs/pwg/advanced-dparams.xml:
11383 * libs/gst/controller/lib.c: (gst_controller_init):
11386 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
11388 * gst/gstelement.c: (gst_element_message_full):
11389 also show file/line/func if no additional debug was given
11391 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
11393 * win32/vs7/grammar.vcproj:
11394 activate copy of autogenerated files for Release mode
11396 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
11398 * win32/common/libgstreamer.def:
11399 export gst_value_compare
11401 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
11403 * plugins/elements/Makefile.am:
11404 * plugins/elements/gstelements.c:
11405 * plugins/elements/gstfdsink.c: (_do_init),
11406 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
11407 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
11408 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
11409 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
11410 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
11411 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
11412 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
11413 * plugins/elements/gstfdsink.h:
11414 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
11416 2006-01-30 Stefan Kost <ensonic@users.sf.net>
11418 * docs/manual/advanced-dparams.xml:
11419 describe controller
11420 * docs/manual/advanced-position.xml:
11421 * docs/manual/basics-init.xml:
11422 * docs/manual/manual.xml:
11423 * docs/manual/titlepage.xml:
11424 * docs/pwg/pwg.xml:
11425 * docs/pwg/titlepage.xml:
11426 cleanup xml (more to come)
11427 * libs/gst/controller/gstcontroller.c:
11430 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
11432 * win32/vs6/grammar.dsp:
11433 add autogen of gstmarshal.c,h for Release mode
11435 2006-01-30 Wim Taymans <wim@fluendo.com>
11437 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11438 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
11439 (gst_base_sink_handle_object), (gst_base_sink_event),
11440 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
11441 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11442 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
11443 (gst_base_sink_deactivate), (gst_base_sink_activate),
11444 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11445 (gst_base_sink_query), (gst_base_sink_change_state):
11446 Basesink cleanups, remove some old code.
11447 Handle the case where a subclass can preroll in the render
11448 method (mostly audiosinks).
11449 Handle more events.
11450 Remove some locks around variables that are now protected
11451 with the PREROLL_LOCK (clock_id, flushing, ..).
11452 Optimize position query some more, do correct locking.
11453 Remove old code to push queue in state change, this is not
11454 needed anymore since preroll blocks on all prerollable items
11456 Almost implemented as described in design doc.
11458 2006-01-30 Wim Taymans <wim@fluendo.com>
11460 * tests/check/gst/gstbin.c: (GST_START_TEST):
11461 Wait for refcount to settle down before checking.
11463 2006-01-30 Wim Taymans <wim@fluendo.com>
11465 * docs/design/part-element-sink.txt:
11466 Pseudo code overview of desired sink behaviour regarding
11469 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
11470 * win32/vs6/grammar.dsp:
11471 fix some bugs in Release mode for autogenerated files
11473 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
11474 * win32/common/libgstbase.def:
11475 * win32/common/libgstreamer.def:
11476 export some new symbols: gst_base_src_set_format,
11477 gst_iterator_next, gst_structure_set_valist
11479 2006-01-29 Julien MOUTTE <julien@moutte.net>
11481 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11482 Set pad functions unconditionally. Fixes #329105.
11484 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
11486 add vs8 project files created by Sergey Scobich
11488 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
11490 * gst/gstutils.c: (gst_element_unlink_pads):
11491 Don't leak pad references.
11493 * tests/check/elements/fakesink.c: (GST_START_TEST):
11494 * tests/check/generic/sinks.c: (GST_START_TEST):
11495 * tests/check/generic/states.c: (GST_START_TEST):
11496 * tests/check/gst/gstbin.c: (GST_START_TEST):
11497 * tests/check/gst/gstcaps.c: (GST_START_TEST):
11498 * tests/check/gst/gstelement.c: (GST_START_TEST):
11499 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11500 * tests/check/gst/gstiterator.c: (GST_START_TEST):
11501 * tests/check/gst/gstvalue.c: (GST_START_TEST):
11502 Fix a bunch of leaks. Make generic/sinks.c
11503 use a bit less cpu by slowing the buffer rate
11504 between fakesrc and fakesink.
11506 2006-01-27 Stefan Kost <ensonic@users.sf.net>
11508 * gst/gstelement.c: (gst_element_send_event):
11511 * gst/gstiterator.c:
11512 * gst/gstiterator.h:
11513 * gst/gstpad.c: (gst_pad_send_event):
11514 * gst/gststructure.c:
11518 * libs/gst/base/gstadapter.c:
11519 doc fixes, to link to function, just write gst_cool_function(), don't
11522 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
11524 * plugins/elements/gsttee.c: (gst_tee_do_push),
11525 (gst_tee_handle_buffer):
11526 Always prefer an actual return value from a src
11527 pad in place of NOT_LINKED. This means we return
11528 WRONG_STATE when all src pads are WRONG_STATE
11529 instead of NOT_LINKED.
11531 Lock when replacing the last message to prevent
11532 racing with the get_property method.
11536 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
11538 * tests/check/Makefile.am:
11539 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
11541 Add a very simple check that should have caught the memleak I fixed
11542 last night (if not for the slice allocator hiding it)
11544 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
11546 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11547 (gst_bin_remove_func), (gst_bin_handle_message_func),
11548 (bin_query_duration_fold), (bin_query_generic_fold):
11549 Clean up references to the clock provider when disposed or when
11550 handling a clock-lost message from it.
11552 Unref sinks when performing a query via gst_iterator_fold, as the
11553 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
11555 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
11556 (gst_clock_set_master):
11557 Drop our reference to the master clock, if any, when we are disposed.
11559 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
11560 Chain up in dispose.
11562 2006-01-26 Wim Taymans <wim@fluendo.com>
11564 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11565 Add some debugging.
11567 2006-01-26 Julien MOUTTE <julien@moutte.net>
11569 * plugins/elements/gsttee.c: (gst_tee_do_push),
11570 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
11571 handles pad being NOT_LINKED or in WRONG_STATE.
11573 2006-01-26 Stefan Kost <ensonic@users.sf.net>
11578 2006-01-26 Stefan Kost <ensonic@users.sf.net>
11581 remove obsolete entry
11583 2006-01-26 Stefan Kost <ensonic@users.sf.net>
11585 * docs/gst/gstreamer-sections.txt:
11586 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
11587 (gst_bin_iterate_sources), (gst_bin_send_event):
11589 * gst/gstelement.c: (gst_element_send_event):
11591 * gst/gstpad.c: (gst_pad_send_event):
11592 added code for downstream events, reviewed docs in gstevent.c
11594 2006-01-25 Julien MOUTTE <julien@moutte.net>
11596 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11597 We only query position using the clock in the playing state.
11598 Query peer in the other cases.
11599 * win32/common/config.h: Updates.
11601 2006-01-24 Wim Taymans <wim@fluendo.com>
11603 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11604 A clock entry that is scheduled for the exact time of the
11605 clock is still in time.
11607 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11608 (gst_base_sink_do_sync):
11609 Add some more debug info.
11611 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
11614 Add new vs7 project files and solution.
11616 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
11619 all files removed as they were out-dated.
11621 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
11623 * docs/random/release:
11625 * gst/gstbin.c: (gst_bin_init):
11626 * gst/gstbus.c: (gst_bus_new):
11628 * gst/gstpipeline.c: (gst_pipeline_init):
11629 use gst_bus_new(), improve logging, fix docs
11630 * win32/common/config.h:
11631 update for cvs build
11633 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
11636 up required version of automake to 1.7
11638 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
11640 * win32/common/libgstreamer.def:
11641 export gst_buffer_is_metadata_writable
11643 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
11645 * docs/gst/gstreamer-sections.txt:
11647 Add gst_event_replace() (#327001)
11649 2006-01-20 Wim Taymans <wim@fluendo.com>
11651 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11652 Make it actually compile too..
11654 2006-01-20 Wim Taymans <wim@fluendo.com>
11657 Clarify behaviour of _is_equal() when passing NULL parameters.
11659 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11660 (gst_pad_set_caps):
11661 Cleanups. Don't unref NULL caps.
11662 When setting the same caps, protect caps of the pad with
11664 Use full functionality of _is_equal() when comparing caps.
11666 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
11668 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
11669 Don't loop infinitely if there are no buffers to present. Partially
11670 fixes #327197, but collectpads is just broken for reusing elements
11671 to do multiple encodes atm.
11673 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
11675 * tools/gst-inspect.c: (print_element_features):
11676 * tools/gst-xmlinspect.c: (main):
11677 URL_HANDLER is not a plugin feature we can search for in
11680 2006-01-19 Edward Hervey <edward@fluendo.com>
11682 * gst/gstelement.c: (gst_element_pads_activate):
11683 When activating, do src pads first, then sink pads.
11684 When de-activating, do sink pads first, then src pads.
11686 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
11688 * docs/gst/gstreamer-sections.txt:
11689 Add gst_index_add_associationv to the docs
11691 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
11696 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
11697 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
11698 Do some refactoring. Doesn't actually change functionality,
11699 but makes landing the DRAIN event easier later.
11701 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
11703 * docs/pwg/advanced-scheduling.xml:
11704 Update from 0.9.x to 0.10 API and make example a bit
11707 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
11709 * docs/gst/gstreamer-sections.txt:
11710 Add gst_buffer_(is|make)_metadata_writable methods.
11712 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
11714 * docs/design/part-sparsestreams.txt:
11715 Update sparse streams doc, hopefully for greater clarity
11717 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
11719 * docs/design/part-events.txt:
11720 Remove mention of FILLER events.
11723 * docs/design/part-sparsestreams.txt:
11724 Write some things about using NEWSEGMENT to keep sparse streams
11727 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
11729 * gst/gstbin.c: (gst_bin_dispose):
11730 Guard gst_object_unref call against a NULL object (dispose
11731 can theoretically be called multiple times).
11733 2006-01-18 Wim Taymans <wim@fluendo.com>
11735 * gst/gstbin.c: (gst_bin_element_set_state):
11736 * gst/gstclock.c: (gst_clock_id_wait):
11737 Added some more debug info.
11739 * libs/gst/base/gstadapter.c:
11742 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11743 (gst_base_sink_do_sync), (gst_base_sink_chain):
11744 Added some comments.
11746 2006-01-18 Wim Taymans <wim@fluendo.com>
11748 * tests/check/Makefile.am:
11749 * tests/check/elements/fakesink.c: (chain_async_buffer),
11750 (chain_async), (chain_async_return), (GST_START_TEST),
11751 (fakesink_suite), (main):
11752 Added fakesink test that checks prerolling and clipping
11755 * tests/check/gst/gstutils.c: (GST_START_TEST):
11756 Make check run faster so that buildbots don't timeout.
11758 2006-01-18 Wim Taymans <wim@fluendo.com>
11760 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11761 (gst_base_sink_do_sync):
11763 When the sink finishes blocking on the preroll buffer, it can
11764 immediatly render it instead of rendering when the next buffer
11767 2006-01-18 Wim Taymans <wim@fluendo.com>
11769 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
11770 (gst_base_sink_get_property), (gst_base_sink_do_sync),
11771 (gst_base_sink_chain):
11773 GST_ELEMENT_CLOCK and sync are protected with LOCK.
11774 Don't store _last_stop if the buffer is dropped.
11776 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
11778 * plugins/elements/gsttypefindelement.c:
11779 (gst_type_find_element_class_init):
11780 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
11781 object method handler that sets the caps on the pad and we want
11782 that to happen before we emit the signal (fixes e.g. feeding a
11783 plain text file to decodebin).
11785 2006-01-18 Christian Schaller <Christian@fluendo.com>
11787 * gst/gstplugin.c: Add MPL and Proprietary as license options
11789 2006-01-18 Andy Wingo <wingo@pobox.com>
11791 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
11792 symbol was exported before, it appears this was just an oversight.
11794 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
11796 * gst/gstindex.c (gst_index_add_associationv): Changed int in
11797 prototype to gint. OK since this prototype was not in the header.
11799 2006-01-17 Andy Wingo <wingo@pobox.com>
11801 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
11802 registry while we remove plugins.
11804 * tools/gst-inspect.c (print_element_info): Don't unref the
11805 factory arg, that should be the responsibility of whatever code
11806 received the ref. Fixes a double-free when called from
11807 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
11808 (main): Unref the factory if we have one.
11809 (print_element_list): No change -- relies on the
11810 plugin_feature_list_free to free the list of features.
11812 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
11814 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11815 (gst_buffer_make_metadata_writable):
11817 * libs/gst/base/gstbasetransform.c:
11818 (gst_base_transform_prepare_output_buf):
11819 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11820 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11821 Replace gst_buffer_(make|is)_metadata_writable patch now
11822 that the release is out.
11824 2006-01-17 Andy Wingo <wingo@pobox.com>
11826 * gst/gstregistry.c: Reflow design comment. Update so as to speak
11827 in the present tense without reference to versions.
11829 * gst/gstregistry.c (gst_registry_add_plugin)
11830 (gst_registry_remove_plugin, gst_registry_remove_feature)
11831 (gst_registry_find_feature, gst_registry_get_feature_list)
11832 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
11833 (gst_registry_lookup, gst_registry_scan_path)
11834 (_gst_registry_remove_cache_plugins)
11835 (gst_registry_get_feature_list_by_plugin): Add argument
11838 === release 0.10.2 ===
11840 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
11843 releasing 0.10.2, "If man is five"
11845 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
11849 * libs/gst/base/gstbasetransform.c:
11850 (gst_base_transform_prepare_output_buf):
11851 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11852 * tests/check/gst/gstbuffer.c: (gst_test_suite):
11853 Back out patch until after the release.
11855 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
11857 * gst/gstminiobject.c:
11858 Spelling fix in docs.
11859 * ChangeLog - remove conflict indicator
11861 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
11863 Reviewed By: Andy Wingo
11865 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11866 (gst_buffer_make_metadata_writable):
11868 Add gst_buffer_(is|make)_metadata_writable as analogues of
11869 gst_buffer_(is|make)_writable.
11871 * libs/gst/base/gstbasetransform.c:
11872 (gst_base_transform_prepare_output_buf):
11873 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11874 Use name gst_buffer_(is|make)_metadata_writable functions.
11876 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11877 Test gst_buffer_(is|make)_metadata_writable
11881 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
11883 * docs/manual/Makefile.am:
11884 don't do parallel make
11887 * win32/common/config.h.in:
11888 add generations for HOST_CPU and GST_MAJORMINOR
11889 * win32/common/config.h:
11890 commit generated result
11892 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
11894 * docs/manual/appendix-integration.xml:
11895 Update GNOME integration section to use gst_init_get_option_group()
11896 instead of the old popt stuff (#322911). Also, GNOME applications
11897 should now use gconf*sink and gconf*src instead of the old gconf
11900 2006-01-13 Stefan Kost <ensonic@users.sf.net>
11903 * docs/gst/gstreamer-docs.sgml:
11904 * docs/gst/gstreamer-sections.txt:
11905 * docs/libs/gstreamer-libs-sections.txt:
11906 add new API entries to the docs
11907 * libs/gst/controller/Makefile.am:
11908 * libs/gst/controller/gstcontroller.c:
11909 * libs/gst/controller/gstcontroller.h:
11910 * libs/gst/controller/gstcontrollerprivate.h:
11911 * libs/gst/controller/gsthelper.c:
11912 * libs/gst/controller/gstinterpolation.c:
11913 move private structs to private header
11915 gstreamer-0.7 -> gstreamer-0.10
11916 * tests/check/libs/struct_i386.h:
11917 remove private structs
11919 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
11921 * plugins/indexers/Makefile.am:
11922 Fixes as part of #317048
11924 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
11926 * plugins/indexers/Makefile.am:
11927 fix #316086 - compilation when mmap is missing
11929 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
11931 * libs/gst/base/gstbasesink.c:
11932 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
11933 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
11934 * win32/common/config.h:
11935 added some defines GST_MAJORMINOR and HOST_CPU
11936 * win32/common/libgstbase.def:
11937 * win32/common/libgstreamer.def:
11938 added some exported functions.
11940 2006-01-12 Stefan Kost <ensonic@users.sf.net>
11942 * libs/gst/controller/gstcontroller.c:
11943 (gst_controlled_property_set_interpolation_mode),
11944 (gst_controlled_property_new):
11945 * libs/gst/controller/gstcontroller.h:
11946 * libs/gst/controller/gstinterpolation.c:
11947 (interpolate_none_get_string_value_array):
11948 make G_TYPE_STRING controlable
11950 2006-01-12 Stefan Kost <ensonic@users.sf.net>
11953 * tools/gst-feedback.1.in:
11954 * tools/gst-inspect.1.in:
11955 * tools/gst-launch.1.in:
11956 * tools/gst-md5sum.1.in:
11957 * tools/gst-typefind.1.in:
11958 * tools/gst-xmlinspect.1.in:
11959 * tools/gst-xmllaunch.1.in:
11960 cleanup man-pages, remove reference to gst-register, document env-vars
11962 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
11964 * gst/gstbuffer.c: (gst_buffer_span):
11965 gst_buffer_span should copy the timestamp of the first buffer
11966 if they were both originally overlapping subbuffers of the
11967 same parent, using the same logic as the 'slow copy' case.
11969 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
11971 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
11972 Need to awaken ALL the pads when we pop a buffer, otherwise
11973 collectpads only works when there is 2 input streams.
11975 2006-01-11 Stefan Kost <ensonic@users.sf.net>
11977 * docs/random/ensonic/media-device-daemon.txt:
11980 fix doc example, add clarification
11981 * tools/gst-launch.1.in:
11982 add initial info about GST_PLUGIN_PATH, needs more work
11984 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
11986 * docs/manual/basics-bins.xml:
11987 * docs/manual/basics-elements.xml:
11988 * docs/manual/intro-basics.xml:
11989 Some more minor docs additions and updates.
11991 2006-01-11 Wim Taymans <wim@fluendo.com>
11993 * docs/manual/basics-bins.xml:
11994 * docs/manual/basics-elements.xml:
11995 Some small fixes as pointed out by Ser-ver on IRC.
11997 2006-01-10 Edward Hervey <edward@fluendo.com>
11999 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12000 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
12001 the single-segment mode.
12003 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
12005 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
12007 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
12008 (gst_base_src_perform_seek), (gst_base_src_send_event),
12009 (gst_base_src_set_property), (gst_base_src_get_property),
12010 (gst_base_src_loop), (gst_base_src_start),
12011 (gst_base_src_activate_push):
12012 * libs/gst/base/gstbasesrc.h:
12013 Name (private) union; makes Sun's Forte compiler happy (#324900).
12015 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
12018 gst-register is gone.
12020 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
12022 * gst/gstvalue.c: (_gst_value_initialize):
12023 make the G_TYPE_DATE instantiation work if debug is disabled
12025 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
12027 * gst/gstmessage.c: (gst_message_parse_tag),
12028 (gst_message_parse_error), (gst_message_parse_warning):
12029 Don't crash when return location for error/warning debug
12030 string is NULL; add fact that return locations can be
12031 NULL to docs where appropriate.
12033 2006-01-05 Wim Taymans <wim@fluendo.com>
12035 * gst/gstplugin.c: (gst_plugin_load_file):
12036 Replace strdup by g_strdup.
12038 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
12040 * docs/pwg/advanced-types.xml:
12043 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
12045 submitted by: Abel Cheung
12049 Added Chinese (traditional) translation
12051 2006-01-04 Wim Taymans <wim@fluendo.com>
12053 * docs/manual/basics-pads.xml:
12054 * docs/plugins/Makefile.am:
12055 * docs/plugins/gstreamer-plugins-docs.sgml:
12056 * docs/plugins/gstreamer-plugins-sections.txt:
12057 * docs/pwg/advanced-clock.xml:
12058 * docs/pwg/advanced-scheduling.xml:
12059 * docs/pwg/advanced-types.xml:
12060 * plugins/elements/gstfdsink.c:
12061 * plugins/elements/gstfdsrc.c:
12062 * plugins/elements/gstfdsrc.h:
12063 * plugins/elements/gstidentity.c: (gst_identity_class_init):
12064 * plugins/elements/gstidentity.h:
12065 * plugins/elements/gstqueue.h:
12066 * plugins/elements/gsttee.c:
12067 * plugins/elements/gsttee.h:
12068 * plugins/elements/gsttypefindelement.c:
12069 (gst_type_find_element_class_init):
12070 * plugins/elements/gsttypefindelement.h:
12071 Small updates to various docs.
12072 Added core plugins to docs.
12074 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12077 add a suppression for liboil's uninitialized variable
12079 2006-01-02 James Livingston <jrl at ids dot org dot au>
12081 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
12084 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
12085 macro, so that gcc doesn't complain if the -Wmissing-prototypes
12086 compiler switch is being used (#325429).
12088 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
12090 * gst/gstbin.c: (gst_bin_query):
12091 Disable duration query caching in bins until it gets
12092 fixed (see #324807).
12094 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
12096 * tools/gst-inspect.c: (print_element_properties_info):
12097 Handle properties of POINTER and BOXED type.
12099 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
12101 * gst/gst.c: (init_post):
12102 Init tags stuff and some other things before loading
12103 any static plugins (there may be other static plugins
12104 than just the GStreamer ones, and they may want to
12105 register their own tags or formats or whatever, and
12106 preferably without segfaulting).
12108 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
12109 Print at least a warning in the debug logs if we drop a
12110 query just because we don't know how to adjust the value
12111 in the particular format.
12113 2005-12-24 David Schleef <ds@schleef.org>
12115 * tools/gstreamer-completion:
12116 Replacement for gst-complete written in sh and sed. Only
12117 completes names of features, but that's 90% of what I want
12118 it for. Properties are not available in registry.xml. (Maybe
12121 === release 0.10.1 ===
12123 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
12126 releasing 0.10.1, "Nollaig chridheil"
12128 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
12130 * docs/faq/cvs.xml:
12131 Add missing quote, should be make ERROR_CFLAGS="".
12133 2005-12-20 Wim Taymans <wim@fluendo.com>
12135 * docs/design/part-trickmodes.txt:
12136 More documentation on trickmodes.
12138 2005-12-20 Edward Hervey <edward@fluendo.com>
12140 * gst/gstcaps.c: (gst_static_caps_get_type):
12142 API addition: GST_TYPE_STATIC_CAPS
12143 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
12144 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
12145 * gst/gstpadtemplate.h:
12146 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
12147 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
12150 2005-12-18 Wim Taymans <wim@fluendo.com>
12152 * libs/gst/base/gstadapter.c:
12153 * libs/gst/base/gstadapter.h:
12154 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12155 (gst_base_sink_get_position):
12156 * libs/gst/base/gstbasesink.h:
12157 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12158 (gst_base_src_default_query), (gst_base_src_default_do_seek),
12159 (gst_base_src_do_seek), (gst_base_src_perform_seek),
12160 (gst_base_src_send_event), (gst_base_src_update_length),
12161 (gst_base_src_get_range), (gst_base_src_loop),
12162 (gst_base_src_start):
12163 * libs/gst/base/gstbasesrc.h:
12164 * libs/gst/base/gstbasetransform.h:
12165 * libs/gst/base/gstcollectpads.h:
12166 * libs/gst/base/gstpushsrc.c:
12167 * libs/gst/base/gstpushsrc.h:
12168 * libs/gst/dataprotocol/dataprotocol.c:
12169 * libs/gst/dataprotocol/dataprotocol.h:
12170 * libs/gst/net/gstnetclientclock.h:
12171 * libs/gst/net/gstnettimeprovider.h:
12172 Documentation updates.
12174 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
12176 * docs/manual/basics-helloworld.xml:
12177 Remove superfluous closing bracket in helloworld example.
12179 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
12181 * tools/gst-launch.1.in:
12182 Update gst-launch man page; add a section with useful
12183 environment variables. Fixes #323882.
12185 2005-12-16 Stefan Kost <ensonic@users.sf.net>
12188 * gst/gst_private.h:
12189 change some char* into char[]
12191 2005-12-16 Wim Taymans <wim@fluendo.com>
12193 * gst/gstregistryxml.c: (load_feature):
12195 Don't use g_object_unref on GstObjects so that we avoid
12196 leaks on unsafe glibs.
12198 2005-12-16 Wim Taymans <wim@fluendo.com>
12200 * gst/gstbin.c: (gst_bin_recalc_state):
12203 2005-12-16 Wim Taymans <wim@fluendo.com>
12205 * common/check.mak:
12206 Added make forever target for check.
12208 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
12210 * gst/gst.c: (init_post):
12211 make the registry cache file HOST_CPU-dependent
12213 2005-12-16 Andy Wingo <wingo@pobox.com>
12215 * plugins/elements/gstbufferstore.c
12216 (gst_buffer_store_cleared_func): Pay attention to g_list_append
12219 * tests/check/gst/gstobject.c
12220 (test_fake_object_name_threaded_unique): Pay attention to
12221 g_list_sort return value.
12223 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
12225 * tools/gst-feedback-m.m:
12226 Update for 0.9/0.10 (fixes #323870).
12228 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
12230 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
12231 Fix lcopy for mini objects, the mini object needs to be ref'ed.
12233 * tests/check/gst/gstminiobject.c: (my_foo_init),
12234 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
12235 (test_value_collection), (gst_mini_object_suite):
12236 Add test to ensure refcounts end up as expected when passing
12237 GstMiniObjects through g_object_get() and g_object_set().
12239 2005-12-14 Julien MOUTTE <julien@moutte.net>
12241 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12242 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
12243 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
12244 of collectpads. This version removes a lot of races without
12245 touching API/ABI. Yay !
12247 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
12249 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
12250 Don't allow activation of a srcpad in pull_range if it has no
12252 Change some debug statements to be a little clearer
12254 * plugins/elements/gsttypefindelement.c:
12255 (gst_type_find_handle_src_query):
12256 Check that we have a peer before executing queries thereupon.
12258 * tests/examples/metadata/read-metadata.c: (message_loop):
12259 Use gst_bus_pop instead of gst_bus_poll when we just want it to
12260 immediately return us any available message with 0 timeout.
12262 2005-12-12 Michael Smith <msmith@fluendo.com>
12264 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
12265 Don't unref factories after calling them.
12266 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
12267 * plugins/elements/gsttypefindelement.c:
12268 (gst_type_find_element_chain):
12269 Free lists of factories after using them. Fixing typefinding memory
12272 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12274 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12275 (gst_plugin_feature_load):
12276 more meaningful debug output
12278 * tests/Makefile.am:
12279 * tests/old/examples/Makefile.am:
12280 make make distcheck happy again
12282 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
12284 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12285 Catch the special case where we are operating chain-based,
12286 but the downstream peer pad has no chain function. Emit a
12287 custom error message in this case instead of letting the
12288 core generate one implying that this is some sort of core
12289 bug. It's not, it just means that whatever got plugged
12290 into the pipeline downstream when we announced the type
12291 can only operate pull-based, while our source can only
12292 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
12293 Error string has not been marked for translation yet, as
12294 it probably needs some more work first.
12296 (gst_type_find_element_get_best_possibility):
12297 Add helper function to find the best of all available
12298 found possibilities that qualify given the min. threshold.
12300 (gst_type_find_element_handle_event):
12301 Fix the case where we get an EOS while still in TYPEFIND
12302 mode (we want to chose the best of all possible types,
12303 not just the first type that happens to be in our unsorted
12304 list of possible types).
12306 (gst_type_find_element_chain):
12307 Make sure we return GST_FLOW_ERROR when we errored out
12308 in stop_typefinding(); also, don't just find the best of
12309 all found type entries and then use the last examined
12310 type entry, but actually use the best entry.
12312 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
12314 * tests/examples/typefind/typefind.c: (type_found):
12315 * tests/examples/xml/runxml.c: (xml_loaded):
12316 More gcc4 fixes and a mem leak fix.
12318 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12320 * tests/examples/xml/createxml.c: (object_saved):
12323 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12325 * tests/Makefile.am:
12326 enable the examples even more
12328 2005-12-12 Andy Wingo <wingo@pobox.com>
12330 * libs/gst/net/gstnettimeprovider.c
12331 (gst_net_time_provider_class_init, gst_net_time_provider_init)
12332 (gst_net_time_provider_set_property)
12333 (gst_net_time_provider_get_property):
12334 API addition: Export "active" as a GObject property.
12335 (gst_net_time_provider_thread): Only respond to time queries if
12336 the time provider is active.
12338 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
12339 NetTimeProvider, preserving binary compat.
12341 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12343 * tests/examples/controller/audio-example.c: (main):
12344 * tests/examples/launch/Makefile.am:
12345 convert comments again
12347 2005-12-12 Wim Taymans <wim@fluendo.com>
12349 * libs/gst/base/gstpushsrc.c:
12352 2005-12-12 Wim Taymans <wim@fluendo.com>
12354 * docs/libs/gstreamer-libs-sections.txt:
12355 Added new symbol to docs.
12357 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12358 (gst_base_src_init), (gst_base_src_set_format),
12359 (gst_base_src_default_query), (gst_base_src_query),
12360 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
12361 (gst_base_src_perform_seek), (gst_base_src_send_event),
12362 (gst_base_src_default_event), (gst_base_src_event_handler),
12363 (gst_base_src_set_property), (gst_base_src_get_property),
12364 (gst_base_src_wait), (gst_base_src_do_sync),
12365 (gst_base_src_update_length), (gst_base_src_get_range),
12366 (gst_base_src_check_get_range), (gst_base_src_loop),
12367 (gst_base_src_default_negotiate), (gst_base_src_start),
12368 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12369 (gst_base_src_change_state):
12370 * libs/gst/base/gstbasesrc.h:
12371 Implement seeking to other formats than _BYTES.
12372 Implement more seeking methods correctly.
12374 Added query vmethod.
12375 Added do_seek vmethod to make life easier for subclasses
12377 API addition: gst_base_src_set_format()
12379 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12381 * tests/examples/Makefile.am:
12384 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12387 * docs/random/ensonic/media-device-daemon.txt:
12388 * tests/examples/controller/.cvsignore:
12389 * tests/examples/controller/Makefile.am:
12390 * tests/examples/controller/audio-example.c: (main):
12391 * tests/examples/helloworld/.cvsignore:
12392 * tests/examples/helloworld/Makefile.am:
12393 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
12394 * tests/examples/launch/.cvsignore:
12395 * tests/examples/launch/Makefile.am:
12396 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
12397 * tests/examples/metadata/.cvsignore:
12398 * tests/examples/metadata/Makefile.am:
12399 * tests/examples/metadata/read-metadata.c: (message_loop),
12400 (make_pipeline), (print_tag), (main):
12401 * tests/examples/queue/.cvsignore:
12402 * tests/examples/queue/Makefile.am:
12403 * tests/examples/queue/queue.c: (event_loop), (main):
12404 * tests/examples/typefind/.cvsignore:
12405 * tests/examples/typefind/Makefile.am:
12406 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
12408 * tests/examples/xml/.cvsignore:
12409 * tests/examples/xml/Makefile.am:
12410 * tests/examples/xml/createxml.c: (object_saved), (main):
12411 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
12412 * tests/old/examples/Makefile.am:
12413 * tests/old/examples/TODO:
12414 * tests/old/examples/controller/.cvsignore:
12415 * tests/old/examples/controller/Makefile.am:
12416 * tests/old/examples/controller/audio-example.c:
12417 * tests/old/examples/helloworld/.cvsignore:
12418 * tests/old/examples/helloworld/Makefile.am:
12419 * tests/old/examples/helloworld/helloworld.c:
12420 * tests/old/examples/launch/.cvsignore:
12421 * tests/old/examples/launch/Makefile.am:
12422 * tests/old/examples/launch/mp3parselaunch.c:
12423 * tests/old/examples/launch/mp3play:
12424 * tests/old/examples/manual/Makefile.am:
12425 * tests/old/examples/metadata/Makefile.am:
12426 * tests/old/examples/metadata/read-metadata.c:
12427 * tests/old/examples/queue/.cvsignore:
12428 * tests/old/examples/queue/Makefile.am:
12429 * tests/old/examples/queue/queue.c:
12430 * tests/old/examples/typefind/.cvsignore:
12431 * tests/old/examples/typefind/Makefile.am:
12432 * tests/old/examples/typefind/typefind.c:
12433 * tests/old/examples/xml/.cvsignore:
12434 * tests/old/examples/xml/Makefile.am:
12435 * tests/old/examples/xml/createxml.c:
12436 * tests/old/examples/xml/runxml.c:
12437 applied some simple fixing to some examples
12438 re-enabled the working examples
12440 2005-12-12 Wim Taymans <wim@fluendo.com>
12442 * gst/gstsegment.c: (gst_segment_init),
12443 (gst_segment_set_last_stop), (gst_segment_set_seek),
12444 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12445 (gst_segment_to_running_time):
12446 Added more documentation.
12447 Make sure the last_pos value is updated properly.
12448 Make sure to_stream_time and to_running_time don't
12449 operate on wrong values.
12451 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12454 2005-12-12 Michael Smith <msmith@fluendo.com>
12456 * plugins/elements/gsttypefindelement.c: (free_entry),
12457 (gst_type_find_element_chain):
12458 Now that we're not leaking factories, make sure we keep references
12459 to them while we need them.
12461 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
12463 * tests/check/gst/struct_i386.h:
12464 ifdef out the XML structs
12466 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
12468 * gst/gstvalue.c: (gst_value_transform_double_fraction):
12469 floor is not needed, F is always positive; this obviates the
12470 need for adding -lm when building without libxml
12472 2005-12-12 Wim Taymans <wim@fluendo.com>
12474 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12475 Take current playback rate into account when reporting
12478 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
12480 * docs/manual/mime-world.fig:
12481 Let's try this again, this time with a file that is
12482 actually in XFig format.
12484 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
12486 * docs/manual/mime-world.fig:
12487 Add audioconvert element to diagram so that it
12488 matches the text and the code (fixes #319526).
12490 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
12492 * docs/pwg/building-chainfn.xml:
12493 * docs/pwg/building-pads.xml:
12494 * docs/pwg/building-state.xml:
12495 * docs/pwg/other-source.xml:
12496 Update state change stuff for 0.10 (fixes #322969).
12498 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
12500 * docs/manual/advanced-dataaccess.xml:
12501 * docs/manual/appendix-checklist.xml:
12502 * docs/manual/appendix-programs.xml:
12503 * docs/manual/basics-pads.xml:
12504 * docs/manual/highlevel-components.xml:
12505 * docs/manual/manual.xml:
12506 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
12507 add converters in front of pipelines; remove curly
12508 brackets for threads stuff, they no longer exist; use
12509 GST_TYPE_FRACTION for framerates; update some pieces of
12510 code to 0.10, but there's plenty more to do.
12512 * docs/manual/appendix-porting.xml:
12513 Expand on asynchroneous state changes; s/0.9/0.10/;
12514 mention disappearance of gst_init_get_popt_table()
12517 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
12519 * docs/faq/using.xml:
12520 Spider no longer exists, and neither does gst-launch-ext.
12521 Update examples to use decodebin and playbin and put
12522 converters in front of sinks (fixes #323726).
12524 2005-12-09 Michael Smith <msmith@fluendo.com>
12526 * plugins/elements/gsttypefindelement.c: (find_peek),
12527 (gst_type_find_element_chain):
12528 Fix leaking element factories in typefinding.
12529 Fix problem where we forgot about a probable type on non-seekable
12530 files, and thus later mis-typefound it.
12532 2005-12-09 Michael Smith <msmith@fluendo.com>
12534 * common/m4/gst-makecontext.m4:
12535 * common/m4/gst-mcsc.m4:
12537 * win32/common/config.h:
12538 * win32/common/config.h.in:
12539 Remove makecontext stuff; not used in 0.10 and causes problems on
12540 HPUX according to bug #322441
12542 2005-12-07 Wim Taymans <wim@fluendo.com>
12544 * tests/check/Makefile.am:
12545 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
12547 * tests/check/libs/struct_i386.h:
12548 Added ABI check for libs
12550 2005-12-07 Wim Taymans <wim@fluendo.com>
12552 * tests/check/Makefile.am:
12553 And add the struct_i386.h to dist.
12555 2005-12-07 Wim Taymans <wim@fluendo.com>
12557 * tests/check/Makefile.am:
12558 * tests/check/gst/.cvsignore:
12559 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
12561 * tests/check/gst/struct_i386.h:
12562 Added check for ABI compatibility.
12564 2005-12-07 Wim Taymans <wim@fluendo.com>
12566 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12567 (gst_fake_src_get_times), (gst_fake_src_create):
12568 Fix broken sync option, fixes #323259
12570 2005-12-07 Wim Taymans <wim@fluendo.com>
12575 * gst/gstcaps.c: (gst_caps_is_equal):
12576 Don't assert on NULL <--> X. Fixes #323260
12578 * gst/gstminiobject.c: (gst_mini_object_replace):
12579 If we're doing atomic operations, we might just as well use
12580 the proper way to get an atomic pointer.
12582 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12583 Clean up debugging.
12585 2005-12-07 Michael Smith <msmith@fluendo.com>
12587 * gst/parse/grammar.y:
12588 Remove handling of { } for threads.
12590 2005-12-06 David Schleef <ds@schleef.org>
12592 * libs/gst/base/gstbasetransform.c: speling fix.
12594 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
12596 * docs/libs/tmpl/gstdataprotocol.sgml:
12597 * docs/random/omega/testing/gstobject.c:
12600 * gst/gstelement.c:
12601 * gst/gstelementfactory.c:
12604 * gst/gstghostpad.c:
12606 * gst/gstpadtemplate.c:
12607 * gst/gstregistryxml.c:
12608 * gst/gsttaglist.c:
12609 * gst/gsttagsetter.c:
12610 * gst/gsttypefind.c:
12612 * libs/gst/base/gstbasesrc.c:
12613 * libs/gst/net/gstnetclientclock.c:
12614 * libs/gst/net/gstnettimeprovider.c:
12615 * plugins/elements/gstfakesrc.c:
12616 * plugins/elements/gstfdsrc.c:
12617 * plugins/elements/gstfilesrc.c:
12618 * plugins/elements/gstidentity.c:
12619 * plugins/elements/gstqueue.c:
12620 * plugins/elements/gsttypefindelement.c:
12621 * plugins/indexers/gstfileindex.c:
12622 * plugins/indexers/gstmemindex.c:
12623 * tests/check/gst/gsttag.c:
12624 * tests/old/examples/cutter/cutter.c:
12625 * tests/old/examples/mixer/mixer.c:
12626 * tests/old/examples/xml/runxml.c: (main):
12627 * tests/old/testsuite/caps/normalisation.c:
12628 * tests/old/testsuite/debug/global.c:
12629 * tests/old/testsuite/parse/parse1.c:
12630 * tools/gst-xmlinspect.c:
12631 * win32/common/dirent.c:
12634 === release 0.10.0 ===
12636 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12639 releasing 0.10.0, "Maroilles"
12641 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
12643 submitted by: Funda Wang <fundawang@linux.net.cn>
12647 added Chinese (Traditional) translation
12649 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
12651 * docs/gst/gstreamer-sections.txt:
12652 * docs/libs/tmpl/gstdataprotocol.sgml:
12653 * docs/random/thomasvs/TODO:
12658 2005-12-05 Andy Wingo <wingo@pobox.com>
12660 patch by: Wim Taymans <wim@fluendo.com>
12662 * libs/gst/base/gstbasetransform.c
12663 (gst_base_transform_prepare_output_buf)
12664 (gst_base_transform_buffer_alloc):
12665 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
12666 alloc_buffer_and_set_caps.
12668 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
12669 set_caps on the source pad.
12670 (gst_pad_alloc_buffer_and_set_caps): New function, does what
12671 alloc_buffer used to do. Fixes #322874.
12673 * docs/gst/gstreamer-sections.txt:
12674 * docs/design/part-negotiation.txt:
12675 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
12678 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
12680 patch by: Sebastien Moutte
12683 * win32/common/config.h.in:
12684 * win32/vs6/libgstcontroller.dsp:
12687 2005-12-05 Wim Taymans <wim@fluendo.com>
12689 * gst/gstcaps.c: (gst_caps_is_equal):
12690 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12691 (gst_fake_src_create):
12692 Back out previous code changes, leave doc updates, file bugs
12695 2005-12-05 Wim Taymans <wim@fluendo.com>
12697 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12698 (gst_fake_src_get_times), (gst_fake_src_create):
12699 * plugins/elements/gstfakesrc.h:
12700 Fix broken sync code.
12702 2005-12-05 Wim Taymans <wim@fluendo.com>
12704 * gst/gstcaps.c: (gst_caps_is_equal):
12705 Comparing NULL against !NULL yields different caps, not a
12708 2005-12-05 Wim Taymans <wim@fluendo.com>
12710 * gst/gstpipeline.c:
12711 Fix small typo in docs.
12713 2005-12-05 Andy Wingo <wingo@pobox.com>
12715 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
12717 * gst/gst.c (init_post): remove hard-coded 0.9 location for
12718 registries/plugins with a MAJORMINOR one.
12719 (plugin_desc): Rename library from gstcoreleements to
12720 staticelements. Fixes #323222.
12722 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
12724 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
12725 Change debug category to 'collectpads' from 'collect_pads'
12728 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
12730 patch by: Sebastien Moutte
12732 * libs/gst/controller/gstinterpolation.c:
12733 use convert function for uint64/double
12734 * win32/vs6/libgstcontroller.dsp:
12737 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
12739 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
12740 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
12742 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12743 add tests that seem to show that the guint64/gdouble conversions
12746 2005-12-02 Wim Taymans <wim@fluendo.com>
12748 * gst/gstregistry.c: (gst_registry_add_path):
12749 * gst/gstregistry.h:
12750 * gst/gstregistryxml.c:
12753 2005-12-02 Wim Taymans <wim@fluendo.com>
12755 * gst/gstutils.c: (gst_util_uint64_scale_int64),
12756 (gst_util_uint64_scale_int):
12759 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12760 Add debug log line.
12762 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
12765 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
12768 * win32/common/config.h:
12769 * win32/vs6/gstreamer.dsw:
12770 * win32/vs6/libgstcoreelements.dsp:
12771 * win32/vs6/libgstelements.dsp:
12772 renamed core elements plugin
12774 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
12776 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
12778 do piece-wise major/minor comparison so 0.9 < 0.10
12779 also allow .exe extensions for tools
12781 2005-12-02 Michael Smith <msmith@fluendo.com>
12784 Escape a % to make gtkdoc happier; bug 322958.
12786 === release 0.9.7 ===
12788 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12791 releasing 0.9.7, "My Dog Has No Nose"
12793 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12795 * common/gst-xmlinspect.py:
12797 * docs/libs/tmpl/gstdataprotocol.sgml:
12798 * docs/random/release:
12817 * win32/common/config.h:
12818 * win32/common/config.h.in:
12819 * win32/vs6/gst_inspect.dsp:
12820 * win32/vs6/gst_launch.dsp:
12821 * win32/vs6/libgstbase.dsp:
12822 * win32/vs6/libgstelements.dsp:
12823 * win32/vs6/libgstreamer.dsp:
12824 * win32/vs7/GStreamer.vcproj:
12825 * win32/vs7/gst-inspect.vcproj:
12826 * win32/vs7/gst-launch.vcproj:
12827 * win32/vs7/libgstbase.vcproj:
12828 bump GST_MAJORMINOR to 0.10
12829 reset libtool version
12831 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12835 Added Bulgarian translation by (Alexander Shopov)
12837 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12839 * tests/check/gst/gstplugin.c:
12842 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12844 * common/gst-xmlinspect.py:
12845 * common/gtk-doc-plugins.mak:
12847 * docs/Makefile.am:
12848 * docs/gst/Makefile.am:
12849 * docs/gst/gstreamer-docs.sgml:
12850 * docs/gst/gstreamer-sections.txt:
12851 * docs/gst/gstreamer.types:
12852 * docs/gst/gstreamer.types.in:
12853 * docs/plugins/Makefile.am:
12854 * docs/plugins/gstreamer-plugins-docs.sgml:
12855 * docs/plugins/gstreamer-plugins-sections.txt:
12856 * docs/plugins/gstreamer-plugins.types:
12857 * docs/plugins/inspect.stamp:
12858 * docs/plugins/inspect/plugin-coreelements.xml:
12859 * docs/plugins/inspect/plugin-coreindexers.xml:
12860 * docs/plugins/scanobj-build.stamp:
12861 * gstreamer.spec.in:
12862 * plugins/elements/Makefile.am:
12863 * plugins/elements/gstelements.c:
12864 * plugins/elements/gstfakesink.c:
12865 * plugins/elements/gstfakesrc.c:
12866 * plugins/elements/gstfilesink.c:
12867 * plugins/elements/gstfilesrc.c:
12868 * plugins/elements/gstqueue.c:
12869 * plugins/indexers/Makefile.am:
12870 * plugins/indexers/gstindexers.c:
12871 document core plugins in a separate document just like all the
12873 rename these plugins to something starting with core
12875 2005-12-01 Andy Wingo <wingo@pobox.com>
12877 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
12878 padding here before, but it missed the commit.
12880 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
12882 * libs/gst/controller/gstinterpolation.c:
12883 whitespace prices have crashed, we should feel free to use some now
12884 use gst_guint64_to_gdouble
12886 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
12888 * libs/gst/controller/gstcontroller.c:
12889 * libs/gst/controller/gsthelper.c:
12890 * libs/gst/controller/gstinterpolation.c:
12891 * libs/gst/controller/lib.c:
12892 wrap config.h include
12894 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
12896 * docs/gst/gstreamer-sections.txt:
12899 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
12901 * plugins/elements/gstelements.c:
12902 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
12903 (gst_fd_sink__class_init), (gst_fd_sink__init),
12904 (gst_fd_sink__chain), (gst_fd_sink__set_property),
12905 (gst_fd_sink__get_property):
12906 * plugins/elements/gstfdsink.h:
12907 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
12908 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
12909 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
12910 (gst_fd_src_unlock), (gst_fd_src_set_property),
12911 (gst_fd_src_get_property), (gst_fd_src_create),
12912 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
12913 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
12914 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
12915 (gst_fd_src_uri_handler_init):
12916 * plugins/elements/gstfdsrc.h:
12917 * plugins/elements/gstqueue.c: (gst_queue_get_type):
12920 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12922 * docs/gst/Makefile.am:
12923 * docs/gst/gstreamer.types.in:
12927 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
12933 * gst/gstregistry.h:
12934 * tests/benchmarks/complexity.c:
12935 * tests/benchmarks/mass-elements.c:
12936 * tests/check/Makefile.am:
12937 * tools/Makefile.am:
12938 * tools/gst-inspect.c:
12939 * tools/gst-xmlinspect.c:
12940 various fixes to make
12941 --disable-nls --disable-registry --disable-loadsave
12942 --disable-parse --disable-gst-debug
12943 work and get the core .so down to 360444 bytes after stripping
12945 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
12950 * docs/random/thomasvs/TODO:
12951 * tests/Makefile.am:
12955 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
12957 * win32/GStreamer.vcproj:
12960 * win32/Makefile.inspect:
12961 * win32/Makefile.launch:
12962 * win32/Makefile.register:
12963 * win32/README.txt:
12964 * win32/gst-inspect.vcproj:
12965 * win32/gst-launch.vcproj:
12966 * win32/gst-register.vcproj:
12967 * win32/gstelements.vcproj:
12968 * win32/gstgetbits.def:
12969 * win32/gstgetbits.vcproj:
12970 * win32/gstreamer-dbg.def:
12971 * win32/gstreamer.def:
12972 * win32/libgstbase.def:
12973 * win32/libgstbase.vcproj:
12974 * win32/link_oldruntime.c:
12978 * win32/msvc71.sln:
12979 move even more stuff, win32/ is nice and clean now
12981 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
12983 * libs/gst/control/.cvsignore:
12988 * win32/gstbytestream.def:
12989 * win32/gstbytestream.vcproj:
12990 * win32/gstconfig.h:
12991 * win32/gstenumtypes.c:
12992 * win32/gstenumtypes.h:
12993 * win32/gstoptimalscheduler.vcproj:
12994 * win32/gstversion.h:
12996 * win32/testsuite/bins.vcproj:
12997 * win32/testsuite/bytestream.vcproj:
12998 * win32/testsuite/caps.vcproj:
12999 * win32/testsuite/cleanup.vcproj:
13000 * win32/testsuite/clock.vcproj:
13001 * win32/testsuite/debug.vcproj:
13002 * win32/testsuite/dlopen.vcproj:
13003 * win32/testsuite/dynparams.vcproj:
13004 * win32/testsuite/elements.vcproj:
13005 * win32/testsuite/ghostpads.vcproj:
13006 * win32/testsuite/indexers.vcproj:
13007 * win32/testsuite/negotiation.vcproj:
13008 * win32/testsuite/parse.vcproj:
13009 * win32/testsuite/plugin.vcproj:
13010 * win32/testsuite/refcounting.vcproj:
13011 * win32/testsuite/schedulers.vcproj:
13012 * win32/testsuite/states.vcproj:
13013 * win32/testsuite/tags.vcproj:
13014 * win32/testsuite/threads.vcproj:
13015 remove old win32 stuff that isn't maintained and should be
13018 2005-11-30 Andy Wingo <wingo@pobox.com>
13020 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
13021 loading the gst.interfaces python module bork.
13023 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
13024 available since GLib 2.2. Fixes #318031.
13026 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13029 * check/.cvsignore:
13030 * check/Makefile.am:
13031 * check/elements/.cvsignore:
13032 * check/elements/fakesrc.c:
13033 * check/elements/fdsrc.c:
13034 * check/elements/identity.c:
13035 * check/generic/.cvsignore:
13036 * check/generic/states.c:
13037 * check/gst-libs/.cvsignore:
13038 * check/gst-libs/controller.c:
13039 * check/gst-libs/gdp.c:
13040 * check/gst/.cvsignore:
13041 * check/gst/capslist.h:
13043 * check/gst/gstbin.c:
13044 * check/gst/gstbuffer.c:
13045 * check/gst/gstbus.c:
13046 * check/gst/gstcaps.c:
13047 * check/gst/gstelement.c:
13048 * check/gst/gstevent.c:
13049 * check/gst/gstghostpad.c:
13050 * check/gst/gstiterator.c:
13051 * check/gst/gstmessage.c:
13052 * check/gst/gstminiobject.c:
13053 * check/gst/gstobject.c:
13054 * check/gst/gstpad.c:
13055 * check/gst/gstpipeline.c:
13056 * check/gst/gstplugin.c:
13057 * check/gst/gstsegment.c:
13058 * check/gst/gststructure.c:
13059 * check/gst/gstsystemclock.c:
13060 * check/gst/gsttag.c:
13061 * check/gst/gstutils.c:
13062 * check/gst/gstvalue.c:
13063 * check/net/.cvsignore:
13064 * check/net/gstnetclientclock.c:
13065 * check/net/gstnettimeprovider.c:
13066 * check/pipelines/.cvsignore:
13067 * check/pipelines/cleanup.c:
13068 * check/pipelines/simple_launch_lines.c:
13069 * check/pipelines/stress.c:
13070 * check/states/.cvsignore:
13071 * check/states/sinks.c:
13073 * examples/Makefile.am:
13074 * examples/appreader/.cvsignore:
13075 * examples/appreader/Makefile.am:
13076 * examples/appreader/appreader.c:
13077 * examples/controller/.cvsignore:
13078 * examples/controller/Makefile.am:
13079 * examples/controller/audio-example.c:
13080 * examples/cutter/.cvsignore:
13081 * examples/cutter/Makefile.am:
13082 * examples/cutter/cutter.c:
13083 * examples/cutter/cutter.h:
13084 * examples/events/Makefile.am:
13085 * examples/events/seek.c:
13086 * examples/helloworld/.cvsignore:
13087 * examples/helloworld/Makefile.am:
13088 * examples/helloworld/helloworld.c:
13089 * examples/helloworld2/.cvsignore:
13090 * examples/helloworld2/Makefile.am:
13091 * examples/helloworld2/helloworld2.c:
13092 * examples/launch/.cvsignore:
13093 * examples/launch/Makefile.am:
13094 * examples/launch/mp3parselaunch.c:
13095 * examples/launch/mp3play:
13096 * examples/manual/.cvsignore:
13097 * examples/manual/Makefile.am:
13098 * examples/manual/extract.pl:
13099 * examples/metadata/Makefile.am:
13100 * examples/metadata/read-metadata.c:
13101 * examples/mixer/.cvsignore:
13102 * examples/mixer/Makefile.am:
13103 * examples/mixer/mixer.c:
13104 * examples/mixer/mixer.h:
13105 * examples/pingpong/.cvsignore:
13106 * examples/pingpong/Makefile.am:
13107 * examples/pingpong/pingpong.c:
13108 * examples/plugins/.cvsignore:
13109 * examples/plugins/Makefile.am:
13110 * examples/plugins/example.c:
13111 * examples/plugins/example.h:
13112 * examples/pwg/.cvsignore:
13113 * examples/pwg/Makefile.am:
13114 * examples/pwg/extract.pl:
13115 * examples/queue/.cvsignore:
13116 * examples/queue/Makefile.am:
13117 * examples/queue/queue.c:
13118 * examples/queue2/.cvsignore:
13119 * examples/queue2/Makefile.am:
13120 * examples/queue2/queue2.c:
13121 * examples/queue3/.cvsignore:
13122 * examples/queue3/Makefile.am:
13123 * examples/queue3/queue3.c:
13124 * examples/queue4/.cvsignore:
13125 * examples/queue4/Makefile.am:
13126 * examples/queue4/queue4.c:
13127 * examples/retag/.cvsignore:
13128 * examples/retag/Makefile.am:
13129 * examples/retag/retag.c:
13130 * examples/retag/transcode.c:
13131 * examples/thread/.cvsignore:
13132 * examples/thread/Makefile.am:
13133 * examples/thread/thread.c:
13134 * examples/typefind/.cvsignore:
13135 * examples/typefind/Makefile.am:
13136 * examples/typefind/typefind.c:
13137 * examples/xml/.cvsignore:
13138 * examples/xml/Makefile.am:
13139 * examples/xml/createxml.c:
13140 * examples/xml/runxml.c:
13141 * tests/Makefile.am:
13142 * tests/check/Makefile.am:
13143 * testsuite/.cvsignore:
13144 * testsuite/Makefile.am:
13146 * testsuite/caps/.cvsignore:
13147 * testsuite/caps/Makefile.am:
13148 * testsuite/caps/app_fixate.c:
13149 * testsuite/caps/audioscale.c:
13150 * testsuite/caps/caps.c:
13151 * testsuite/caps/caps.h:
13152 * testsuite/caps/caps_strings:
13153 * testsuite/caps/compatibility.c:
13154 * testsuite/caps/deserialize.c:
13155 * testsuite/caps/enumcaps.c:
13156 * testsuite/caps/eratosthenes.c:
13157 * testsuite/caps/filtercaps.c:
13158 * testsuite/caps/fixed.c:
13159 * testsuite/caps/fraction-convert.c:
13160 * testsuite/caps/fraction-multiply-and-zero.c:
13161 * testsuite/caps/intersect2.c:
13162 * testsuite/caps/intersection.c:
13163 * testsuite/caps/normalisation.c:
13164 * testsuite/caps/random.c:
13165 * testsuite/caps/renegotiate.c:
13166 * testsuite/caps/sets.c:
13167 * testsuite/caps/simplify.c:
13168 * testsuite/caps/string-conversions.c:
13169 * testsuite/caps/structure.c:
13170 * testsuite/caps/subtract.c:
13171 * testsuite/caps/union.c:
13172 * testsuite/debug/.cvsignore:
13173 * testsuite/debug/Makefile.am:
13174 * testsuite/debug/category.c:
13175 * testsuite/debug/commandline.c:
13176 * testsuite/debug/global.c:
13177 * testsuite/debug/output.c:
13178 * testsuite/debug/printf_extension.c:
13179 * testsuite/dlopen/.cvsignore:
13180 * testsuite/dlopen/Makefile.am:
13181 * testsuite/dlopen/dlopen_gst.c:
13182 * testsuite/dlopen/loadgst.c:
13183 * testsuite/elements/.cvsignore:
13184 * testsuite/elements/Makefile.am:
13185 * testsuite/elements/gst-inspect-check.in:
13186 * testsuite/elements/struct_i386.h:
13187 * testsuite/elements/struct_size.c:
13188 * testsuite/indexers/.cvsignore:
13189 * testsuite/indexers/Makefile.am:
13190 * testsuite/indexers/cache1.c:
13191 * testsuite/indexers/indexdump.c:
13192 * testsuite/parse/.cvsignore:
13193 * testsuite/parse/Makefile.am:
13194 * testsuite/parse/parse1.c:
13195 * testsuite/parse/parse2.c:
13196 * testsuite/plugin/.cvsignore:
13197 * testsuite/plugin/Makefile.am:
13198 * testsuite/plugin/README:
13199 * testsuite/plugin/dynamic.c:
13200 * testsuite/plugin/linked.c:
13201 * testsuite/plugin/loading.c:
13202 * testsuite/plugin/registry.c:
13203 * testsuite/plugin/static.c:
13204 * testsuite/plugin/static2.c:
13205 * testsuite/plugin/testplugin.c:
13206 * testsuite/plugin/testplugin2.c:
13207 * testsuite/plugin/testplugin2_s.c:
13208 * testsuite/plugin/testplugin_s.c:
13209 * testsuite/refcounting/.cvsignore:
13210 * testsuite/refcounting/Makefile.am:
13211 * testsuite/refcounting/bin.c:
13212 * testsuite/refcounting/element.c:
13213 * testsuite/refcounting/element_pad.c:
13214 * testsuite/refcounting/mainloop.c:
13215 * testsuite/refcounting/mem.c:
13216 * testsuite/refcounting/mem.h:
13217 * testsuite/refcounting/object.c:
13218 * testsuite/refcounting/pad.c:
13219 * testsuite/refcounting/sched.c:
13220 * testsuite/refcounting/thread.c:
13221 * testsuite/states/.cvsignore:
13222 * testsuite/states/Makefile.am:
13223 * testsuite/states/bin.c:
13224 * testsuite/states/locked.c:
13225 * testsuite/states/parent.c:
13226 * testsuite/threads/.cvsignore:
13227 * testsuite/threads/159566.c:
13228 * testsuite/threads/159852.c:
13229 * testsuite/threads/Makefile.am:
13230 * testsuite/threads/queue.c:
13231 * testsuite/threads/signals.c:
13232 * testsuite/threads/staticrec.c:
13233 * testsuite/threads/thread.c:
13234 * testsuite/threads/threadb.c:
13235 * testsuite/threads/threadc.c:
13236 * testsuite/threads/threadd.c:
13237 * testsuite/threads/threade.c:
13238 * testsuite/threads/threadf.c:
13239 * testsuite/threads/threadg.c:
13240 * testsuite/threads/threadh.c:
13241 * testsuite/threads/threadi.c:
13242 move all of these under tests
13244 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13247 * tests/Makefile.am:
13250 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13252 * docs/gst/gstreamer-sections.txt:
13253 * tests/sched/.cvsignore:
13254 * tests/sched/Makefile.am:
13255 * tests/sched/cases/(fs-fs).xml:
13256 * tests/sched/cases/(fs-i-fs).xml:
13257 * tests/sched/cases/(fs-i-i-fs).xml:
13258 * tests/sched/cases/(fs-i-q[i-fs]).xml:
13259 * tests/sched/dynamic-pipeline.c:
13260 * tests/sched/interrupt1.c:
13261 * tests/sched/interrupt2.c:
13262 * tests/sched/interrupt3.c:
13263 * tests/sched/runtestcases:
13264 * tests/sched/runxml.c:
13265 * tests/sched/sched-stress.c:
13266 * tests/sched/sort.c:
13267 * tests/sched/testcases:
13268 * tests/sched/testcases1.tc:
13269 * tests/seeking/.cvsignore:
13270 * tests/seeking/Makefile.am:
13271 * tests/seeking/seeking1.c:
13272 * tests/threadstate/.cvsignore:
13273 * tests/threadstate/Makefile.am:
13274 * tests/threadstate/test1.c:
13275 * tests/threadstate/test2.c:
13276 * tests/threadstate/threadstate1.c:
13277 * tests/threadstate/threadstate2.c:
13278 * tests/threadstate/threadstate3.c:
13279 * tests/threadstate/threadstate4.c:
13280 * tests/threadstate/threadstate5.c:
13281 remove obsolete tests
13283 * tests/bench-complexity.scm:
13284 * tests/bench-mass_elements.scm:
13285 * tests/complexity.c:
13286 * tests/complexity.gnuplot:
13287 * tests/instantiate/.cvsignore:
13288 * tests/instantiate/Makefile.am:
13289 * tests/instantiate/caps.c:
13290 * tests/mass_elements.c:
13291 * tests/network-clock-utils.scm:
13292 * tests/network-clock.scm:
13294 First pass at cleaning up tests/ dir before moving the rest
13295 Combined with CVS surgery
13297 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13300 queue has moved, update
13302 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13304 * docs/gst/gstreamer-sections.txt:
13305 remove double entries from the docs
13306 * gst/gst_private.h:
13307 * gst/gstinfo.c: (_gst_debug_init):
13308 remove the THREAD debug category
13312 * docs/gst/gstreamer.types:
13313 * plugins/elements/gstqueue.c: (gst_queue_get_type),
13314 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
13315 completely move queue and fix up debugging categories
13317 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13319 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13320 make initialization portable, using LL is not
13322 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13324 * win32/common/gstconfig.h:
13327 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13329 * win32/common/libgstreamer.def:
13330 rename symbols; sort base section
13332 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13334 * gst/gstclock.c: (do_linear_regression):
13335 remove crack non-portable handrolled DEBUG macro
13337 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13339 * docs/random/release:
13341 * win32/common/gstenumtypes.c: (register_gst_object_flags),
13342 (gst_object_flags_get_type), (register_gst_bin_flags),
13343 (gst_bin_flags_get_type), (register_gst_buffer_flag),
13344 (gst_buffer_flag_get_type), (register_gst_bus_flags),
13345 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13346 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
13347 (gst_caps_flags_get_type), (register_gst_clock_return),
13348 (gst_clock_return_get_type), (register_gst_clock_entry_type),
13349 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13350 (gst_clock_flags_get_type), (register_gst_state),
13351 (gst_state_get_type), (register_gst_state_change_return),
13352 (gst_state_change_return_get_type), (register_gst_state_change),
13353 (gst_state_change_get_type), (register_gst_element_flags),
13354 (gst_element_flags_get_type), (register_gst_core_error),
13355 (gst_core_error_get_type), (register_gst_library_error),
13356 (gst_library_error_get_type), (register_gst_resource_error),
13357 (gst_resource_error_get_type), (register_gst_stream_error),
13358 (gst_stream_error_get_type), (register_gst_event_type_flags),
13359 (gst_event_type_flags_get_type), (register_gst_event_type),
13360 (gst_event_type_get_type), (register_gst_seek_type),
13361 (gst_seek_type_get_type), (register_gst_seek_flags),
13362 (gst_seek_flags_get_type), (register_gst_format),
13363 (gst_format_get_type), (register_gst_index_certainty),
13364 (gst_index_certainty_get_type), (register_gst_index_entry_type),
13365 (gst_index_entry_type_get_type),
13366 (register_gst_index_lookup_method),
13367 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13368 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13369 (gst_index_resolver_method_get_type), (register_gst_index_flags),
13370 (gst_index_flags_get_type), (register_gst_debug_level),
13371 (gst_debug_level_get_type), (register_gst_debug_color_flags),
13372 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13373 (gst_iterator_result_get_type), (register_gst_iterator_item),
13374 (gst_iterator_item_get_type), (register_gst_message_type),
13375 (gst_message_type_get_type), (register_gst_mini_object_flags),
13376 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13377 (gst_pad_link_return_get_type), (register_gst_flow_return),
13378 (gst_flow_return_get_type), (register_gst_activate_mode),
13379 (gst_activate_mode_get_type), (register_gst_pad_direction),
13380 (gst_pad_direction_get_type), (register_gst_pad_flags),
13381 (gst_pad_flags_get_type), (register_gst_pad_presence),
13382 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13383 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13384 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13385 (gst_plugin_error_get_type), (register_gst_plugin_flags),
13386 (gst_plugin_flags_get_type), (register_gst_rank),
13387 (gst_rank_get_type), (register_gst_query_type),
13388 (gst_query_type_get_type), (register_gst_tag_merge_mode),
13389 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13390 (gst_tag_flag_get_type), (register_gst_task_state),
13391 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13392 (gst_alloc_trace_flags_get_type),
13393 (register_gst_type_find_probability),
13394 (gst_type_find_probability_get_type), (register_gst_uri_type),
13395 (gst_uri_type_get_type), (register_gst_parse_error),
13396 (gst_parse_error_get_type):
13397 * win32/common/gstenumtypes.h:
13398 * win32/common/gstversion.h:
13399 update visual studio generated files
13401 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13403 * win32/vs6/libgstbase.dsp:
13404 * win32/vs6/libgstelements.dsp:
13405 update project files for new locations
13407 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13412 reinstate and update
13417 * docs/random/LICENSE:
13420 2005-11-30 Edward Hervey <edward@fluendo.com>
13422 * gst/gsttypefind.c: (gst_type_find_register):
13423 * gst/gsttypefind.h:
13424 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
13425 (gst_type_find_factory_dispose):
13426 * gst/gsttypefindfactory.h:
13427 Fix memory leak in GstTypeFindFactory.
13429 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13432 * plugins/elements/Makefile.am:
13433 * plugins/elements/gstelements.c:
13434 * plugins/elements/gstqueue.c:
13435 move queue from core to the elements plugin
13437 2005-11-29 Andy Wingo <wingo@pobox.com>
13439 * libs/gst/base/gstbasetransform.h:
13440 * libs/gst/base/gstbasesrc.h:
13441 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
13443 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
13444 of pointers by which to pad very extensible base classes (like the
13445 ones in libs/gst/base).
13447 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13449 * docs/gst/gstreamer-docs.sgml:
13450 * docs/gst/gstreamer-sections.txt:
13451 * docs/libs/gstreamer-libs-docs.sgml:
13452 * docs/libs/gstreamer-libs-sections.txt:
13453 moving documentation from core to lib
13455 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13457 * check/Makefile.am:
13459 * docs/gst/Makefile.am:
13461 * gst/base/.cvsignore:
13462 * gst/base/Makefile.am:
13464 * gst/base/gstadapter.c:
13465 * gst/base/gstadapter.h:
13466 * gst/base/gstbasesink.c:
13467 * gst/base/gstbasesink.h:
13468 * gst/base/gstbasesrc.c:
13469 * gst/base/gstbasesrc.h:
13470 * gst/base/gstbasetransform.c:
13471 * gst/base/gstbasetransform.h:
13472 * gst/base/gstcollectpads.c:
13473 * gst/base/gstcollectpads.h:
13474 * gst/base/gstpushsrc.c:
13475 * gst/base/gstpushsrc.h:
13476 * gst/base/gsttypefindhelper.c:
13477 * gst/base/gsttypefindhelper.h:
13478 * gst/check/Makefile.am:
13479 * gst/check/gstcheck.c:
13480 * gst/check/gstcheck.h:
13481 * gst/net/Makefile.am:
13482 * gst/net/gstnet.h:
13483 * gst/net/gstnetclientclock.c:
13484 * gst/net/gstnetclientclock.h:
13485 * gst/net/gstnettimepacket.c:
13486 * gst/net/gstnettimepacket.h:
13487 * gst/net/gstnettimeprovider.c:
13488 * gst/net/gstnettimeprovider.h:
13489 * libs/gst/Makefile.am:
13490 * libs/gst/base/Makefile.am:
13491 * libs/gst/base/gstbasetransform.c:
13492 * libs/gst/check/Makefile.am:
13493 * plugins/elements/Makefile.am:
13495 CVS surgery + support to move base, check, and net out of gst
13498 2005-11-29 Andy Wingo <wingo@pobox.com>
13500 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
13502 * gst/gststructure.h (struct _GstStructure): Only one pointer of
13505 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
13507 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
13509 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
13511 * gst/gstobject.h: (struct _GstObject): Only one pointer of
13512 padding; reduces object size by about 30%. We don't expect
13513 anything else to go into gstobject.
13515 * gst/gstminiobject.h (struct _GstMiniObject)
13516 (struct _GstMiniObjectClass): Only one pointer of padding; the
13517 payload is only a pointer and two ints anyway. For the class there
13518 are only two methods as well.
13520 * gst/gstelement.h (struct _GstElementClass): Removed
13521 the state_changed signal callback, it is not used.
13523 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
13525 * docs/gst/gstreamer.types:
13526 fix includes, though they are a little dinky
13528 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13530 * check/Makefile.am:
13531 look in the right place for elements, a lot more chance of
13534 remove indexers and elements subdirs
13535 * plugins/Makefile.am:
13536 make indexers conditional
13538 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13542 * plugins/elements/Makefile.am:
13543 * plugins/elements/gstcapsfilter.c:
13544 * plugins/elements/gstfilesink.c:
13545 * plugins/elements/gstfilesrc.c:
13546 * plugins/elements/gstidentity.c:
13547 * plugins/indexers/Makefile.am:
13548 do CVS surgery and related build fixery to move elements
13549 and indexers in a new gstreamer/plugins directory, out of the
13552 2005-11-29 Andy Wingo <wingo@pobox.com>
13554 * check/Makefile.am:
13555 * pkgconfig/gstreamer-net-uninstalled.pc.in:
13556 * pkgconfig/gstreamer-net.pc.in:
13557 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
13560 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
13562 * tools/Makefile.am:
13563 * tools/gst-complete.1.in:
13564 * tools/gst-complete.c:
13565 * tools/gst-compprep.1.in:
13566 * tools/gst-compprep.c:
13567 removing -compprep and -complete
13569 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
13571 * gst/gstevent.c: (gst_event_new_new_segment),
13572 (gst_event_parse_new_segment):
13574 fix #320529 - clean up new_segment API and structure.
13575 Let's hope everyone was using the methods, and not the structure.
13577 2005-11-29 Edward Hervey <edward@fluendo.com>
13579 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13580 (gst_base_sink_event), (gst_base_sink_do_sync),
13581 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13582 Properly handle non GST_FORMAT_TIME segment
13583 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13584 Properly handle non GST_FORMAT_TIME segment
13585 * gst/gstsegment.c:
13586 This function is valid if the accumulator is 0 and the format
13587 is different from the requested format.
13589 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
13591 * docs/gst/gstreamer-sections.txt:
13592 Add gst_query_new_seeking and gst_query_parse_seeking to the
13595 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
13597 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13598 Treat a pad alloc with new caps the same as if we were not
13599 negotiated, in order to allow a changing upstream output
13600 to produce a new format of data.
13602 2005-11-29 Edward Hervey <edward@fluendo.com>
13604 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13605 (gst_base_transform_event), (gst_base_transform_eventfunc):
13606 The event virtual method is now properly implemented, with a default
13608 Sub classes should call the parent_class event method. They should
13609 return FALSE if they had a problem handling the given event, or don't
13610 want GstBaseTransform to send that even downstream
13611 * gst/elements/gstidentity.c: (gst_identity_class_init),
13612 (gst_identity_init), (gst_identity_event),
13613 (gst_identity_transform_ip), (gst_identity_set_property),
13614 (gst_identity_get_property):
13615 * gst/elements/gstidentity.h:
13616 Added the single-segment boolean property.
13617 If set to TRUE, it will output a single segment of data, starting from
13618 0, will eat up all incoming newsegment, and modify the timestamp of the
13619 buffers accordingly
13621 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
13623 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
13624 Don't ref NULL target pad (#322751). Improve docs.
13626 2005-11-29 Michael Smith <msmith@fluendo.com>
13628 * gst/gstregistryxml.c: (load_plugin):
13629 Don't crash if we failed to load a feature from a plugin.
13631 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
13633 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13635 use more check API and less GLib API
13637 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
13640 don't run checks if we don't have check
13641 * common/check.mak:
13642 remove the registry when running make torture
13643 * docs/gst/gstreamer-sections.txt:
13644 remove second multiply
13645 * gst/gstqueue.c: (gst_queue_loop):
13646 fix a compile warning when disabling debug
13648 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
13651 Hey! Let's print the pad name if the pointer != NULL instead
13652 of when it == NULL :-)
13654 2005-11-28 Wim Taymans <wim@fluendo.com>
13656 * check/gst/gstutils.c: (GST_START_TEST):
13657 Updated check, add some scaling accuracy checking code.
13659 * gst/gstutils.c: (gst_util_div128_64),
13660 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
13661 (gst_util_uint64_scale_int):
13662 Fix 6 times faster division code. Optimize for common
13663 1/1 and less common X/1 cases.
13665 2005-11-28 Wim Taymans <wim@fluendo.com>
13667 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13670 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
13671 (do_linear_regression), (gst_clock_add_observation):
13673 Release lock when the clock cannot be slaved.
13674 Catch the case where the regression returned an invalid denominator.
13676 * gst/gstutils.c: (gst_util_div128_64_iterate),
13677 (gst_util_div128_64), (gst_util_uint64_scale_int64),
13678 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13679 Add protentially more performant non-iterative 128/64 divide function
13680 that unfortunatly does not work yet.
13681 Shortcut the trivial 0/X = 0 case.
13682 Remove the warnings on overflow.
13684 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
13686 * gst/gstplugin.c: (gst_plugin_register_func):
13687 everything causing a plugin not to load should be at least a WARNING
13689 2005-11-28 Stefan Kost <ensonic@users.sf.net>
13691 * docs/random/ensonic/dparams.txt:
13692 some TODOs for the next dev cycle
13693 * libs/gst/controller/gstcontroller.c:
13694 (gst_controlled_property_set_interpolation_mode),
13695 (gst_controlled_property_new):
13696 * libs/gst/controller/gstcontroller.h:
13697 use base type to assign acccessor functions
13699 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
13701 * check/Makefile.am:
13702 Oops, that should have been top_srcdir
13704 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
13706 * check/Makefile.am:
13707 * check/elements/fdsrc.c: (GST_START_TEST):
13708 Use a cmdline define to specify the location of a file to use for
13709 testing, to avoid breaking distcheck.
13711 2005-11-28 Andy Wingo <wingo@pobox.com>
13713 * gst/gstpad.c (fixate_value): Use array functions for arrays.
13715 2005-11-28 Edward Hervey <edward@fluendo.com>
13717 * tools/gst-launch.c: (main):
13718 Clarify the output strings, makes it easier to translate.
13721 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
13724 don't try and build net if we don't even have <sys/socket.h>
13726 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
13728 * check/Makefile.am:
13729 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
13730 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
13731 Add tests for fdsrc seekability
13733 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13734 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
13735 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
13736 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
13737 * gst/elements/gstfdsrc.h:
13738 fdsrc should not be a 'live' source.
13739 Implement seeking on seekable fd's.
13741 * gst/gstquery.c: (gst_query_new_seeking),
13742 (gst_query_parse_seeking):
13744 Implement SEEKING query functions:
13745 *_new_seeking and *_parse_seeking
13747 2005-11-27 Stefan Kost <ensonic@users.sf.net>
13749 * gst/gstelement.c: (gst_element_dispose):
13752 * gst/gstiterator.c:
13753 * gst/gststructure.c:
13756 * libs/gst/controller/gstcontroller.c:
13757 (gst_controlled_property_set_interpolation_mode):
13758 * libs/gst/controller/gstcontroller.h:
13759 * libs/gst/controller/gstinterpolation.c:
13760 (interpolate_none_get_enum_value_array):
13761 support controlling enums
13763 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
13766 Improve documentation for gst_value_union().
13769 Change return value for union, intersect and subtract functions
13770 from gint to gboolean.
13772 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
13774 * gst/gstvalue.c: (gst_value_serialize_any_list),
13775 (gst_value_transform_any_list_string),
13776 (gst_value_deserialize_list), (gst_value_deserialize_array),
13777 (gst_value_set_int_range), (gst_value_deserialize_int_range),
13778 (gst_value_set_double_range), (gst_value_deserialize_double_range),
13779 (gst_value_set_fraction_range_full),
13780 (gst_value_deserialize_fraction_range),
13781 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
13782 (gst_value_deserialize_boolean),
13783 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
13784 (gst_value_serialize_float), (gst_value_deserialize_float),
13785 (gst_string_wrap), (gst_value_deserialize_string),
13786 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
13787 (gst_value_union_int_range_int_range),
13788 (gst_value_intersect_int_range_int_range),
13789 (gst_value_intersect_double_range_double_range),
13790 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
13791 (gst_value_subtract_int_range_int_range),
13792 (gst_value_subtract_double_double_range),
13793 (gst_value_subtract_double_range_double_range),
13794 (gst_value_deserialize_fraction):
13796 Use gint, gdouble and gchar in our API instead of int, double and
13797 char (and make usage in gstvalue.c more consistent).
13799 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
13801 * check/Makefile.am:
13802 * libs/gst/controller/Makefile.am:
13803 * libs/gst/dataprotocol/Makefile.am:
13804 fix up Makefile.am and remove GST_ENABLE_NEW
13806 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
13810 * gst/base/Makefile.am:
13811 * gst/check/Makefile.am:
13812 * gst/elements/Makefile.am:
13813 * gst/net/Makefile.am:
13814 update LDFLAGS use some more
13816 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
13818 * common/m4/gst-doc.m4:
13821 2005-11-26 Edward Hervey <edward@fluendo.com>
13823 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13824 This shouldn't issue a g_warning since it returns NULL if it
13825 couldn't find the plugin, and all functions using this behave
13826 properly on a NULL return. Switching to a GST_WARNING.
13828 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
13830 * gst/gstbin.c: (gst_bin_handle_message_func):
13831 Don't leak clock messages.
13833 2005-11-25 Wim Taymans <wim@fluendo.com>
13835 * gst/gstutils.c: (gst_util_uint64_scale_int64),
13836 (gst_util_uint64_scale_int):
13837 Optimisations, remove unneeded vars.
13839 2005-11-25 Wim Taymans <wim@fluendo.com>
13841 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13842 Added more checks for the high precision uint64 cases.
13844 * gst/gstutils.c: (gst_util_uint64_scale_int64),
13845 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13846 Implement high precision (guint64 * guint64) / guint64.
13848 2005-11-24 Wim Taymans <wim@fluendo.com>
13850 * gst/base/gstbasesrc.c: (gst_base_src_query):
13851 Fix wrong percentage query.
13853 * gst/gstutils.c: (gst_util_uint64_scale),
13854 (gst_util_uint64_scale_int):
13855 Add some more common cases that can be handled
13856 efficiently to _scale.
13858 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
13860 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
13861 (gst_mini_object_suite):
13862 don't use check calls from threads; check probably isn't
13863 threadsafe and using a lock to make it threadsafe would
13864 defeat the purpose of this check
13865 * gst/check/gstcheck.c:
13866 * gst/check/gstcheck.h:
13867 use GST_DEBUG some more
13869 2005-11-24 Wim Taymans <wim@fluendo.com>
13871 * gst/gstutils.c: (gst_util_uint64_scale),
13872 (gst_util_uint64_scale_int):
13873 Chain trivial case to _scale_int.
13875 2005-11-24 Wim Taymans <wim@fluendo.com>
13877 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13878 Added test for scaling.
13883 * gst/gstutils.c: (gst_util_uint64_scale_int):
13884 Implemented high precision scaling code.
13886 2005-11-24 Stefan Kost <ensonic@users.sf.net>
13889 do not crash on pad==NULL
13891 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
13893 Patch by: Stefan Kost
13895 * common/gtk-doc.mak:
13896 * docs/gst/Makefile.am:
13897 * docs/libs/Makefile.am:
13898 Fix distcheck issues for the libraries docs build
13901 2005-11-24 Michael Smith <msmith@fluendo.com>
13903 * docs/manual/basics-helloworld.xml:
13904 Fix bug #315027: memory leak in example code in docs.
13906 2005-11-24 Michael Smith <msmith@fluendo.com>
13908 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13909 Unlock the PREROLL_LOCK in a failure case.
13911 2005-11-24 Wim Taymans <wim@fluendo.com>
13913 * docs/gst/gstreamer-sections.txt:
13914 * gst/base/gstadapter.h:
13915 * gst/base/gstbasesink.h:
13916 * gst/base/gstbasesrc.h:
13917 * gst/base/gstbasetransform.h:
13918 * gst/base/gstpushsrc.h:
13919 * gst/elements/gstfakesink.h:
13920 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
13921 * gst/elements/gstfakesrc.h:
13922 * gst/elements/gstfilesink.h:
13923 * gst/elements/gstfilesrc.h:
13926 * gst/gstbuffer.c: (_gst_buffer_copy):
13929 * gst/gstchildproxy.c:
13931 * gst/gstelement.c:
13932 * gst/gstelementfactory.c:
13933 * gst/gstelementfactory.h:
13935 * gst/gstghostpad.h:
13937 * gst/gstinterface.h:
13938 * gst/gstminiobject.c:
13939 * gst/gstminiobject.h:
13942 * gst/gstpadtemplate.h:
13943 * gst/gstpipeline.h:
13944 * gst/gstpluginfeature.h:
13947 * gst/gsttaglist.c:
13948 * gst/gsttaglist.h:
13949 * gst/gsttagsetter.c:
13950 * gst/gsttagsetter.h:
13953 * gst/gsttypefind.h:
13956 * gst/net/gstnetclientclock.c:
13957 * gst/net/gstnetclientclock.h:
13958 * gst/net/gstnettimepacket.c:
13959 * gst/net/gstnettimeprovider.c:
13960 * gst/net/gstnettimeprovider.h:
13963 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
13965 * configure.ac: back to HEAD
13967 === release 0.9.6 ===
13969 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
13972 releasing 0.9.6, "Always On Time"
13974 2005-11-23 Wim Taymans <wim@fluendo.com>
13976 * docs/gst/gstreamer-sections.txt:
13977 * gst/glib-compat.c:
13978 * gst/gsttagsetter.c:
13980 * gst/net/gstnetclientclock.c:
13981 * gst/net/gstnettimepacket.h:
13984 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
13986 * docs/faq/using.xml:
13987 * docs/libs/tmpl/gstcontrol.sgml:
13988 * docs/manual/advanced-dparams.xml:
13989 * docs/manual/appendix-checklist.xml:
13990 * docs/manual/basics-elements.xml:
13991 * docs/pwg/other-source.xml:
13992 * docs/random/moving-plugins:
13994 * tools/gst-launch.1.in:
13995 remove mentions of sinesrc
13997 2005-11-23 Michael Smith <msmith@fluendo.com>
13999 * docs/gst/gstreamer-sections.txt:
14000 Update for new API and API changes.
14002 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
14004 Documentation typo fix.
14005 * gst/net/gstnettimepacket.c:
14006 Documentation fixes for arguments.
14008 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
14010 * gst/gststructure.c: (gst_structure_get_fraction),
14011 (gst_structure_parse_value),
14012 (gst_structure_fixate_field_nearest_fraction):
14013 * gst/gststructure.h:
14014 * gst/gstutils.c: (gst_util_uint64_scale_int):
14016 * scripts/update-funcnames:
14018 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
14019 Make gst_structure_fixate_field_nearest_fraction take a numerator
14020 and denominator argument instead of a GValue
14021 add gst_structure_get_fraction helper function.
14023 2005-11-23 Wim Taymans <wim@fluendo.com>
14025 * docs/design/part-TODO.txt:
14028 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
14029 * gst/net/gstnetclientclock.h:
14030 Use parent fields for timeout and window_size.
14032 2005-11-23 Andy Wingo <wingo@pobox.com>
14034 * check/net/gstnetclientclock.c (test_functioning): Adjust to
14035 rate_num/rate_denom change.
14037 * gst/net/gstnetclientclock.c
14038 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
14039 OBJECT_LOCK. Don't call add_observation with the lock.
14041 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
14043 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
14045 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
14046 deal with rate as a fraction whose numerator and denominator are
14047 GstClockTime values.
14048 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
14049 master; the other fields are protected by the SLAVE_LOCK.
14050 (do_linear_regression): Note that this must be called with the
14052 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
14053 OBJECT_LOCK. Call set_calibration instead of touching the
14054 variables directly.
14055 (gst_clock_set_property, gst_clock_get_property): Protect
14056 master/slave parameters with the SLAVE_LOCK.
14058 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
14059 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
14060 note that all of the instance variables that add_observation and
14061 the set_master functions use are protected by that lock and not
14063 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
14065 * gst/gstclock.c (gst_clock_add_observation): No longer requires
14066 the caller to take the object lock.
14068 2005-11-23 Wim Taymans <wim@fluendo.com>
14070 * gst/gsterror.c: (_gst_core_errors_init):
14072 Add error for clock stuff.
14074 * gst/gstpipeline.c: (gst_pipeline_change_state),
14075 (gst_pipeline_set_clock):
14076 Post clock error when clock cannot be used in a pipeline.
14078 2005-11-23 Stefan Kost <ensonic@users.sf.net>
14080 * docs/gst/gstreamer-sections.txt:
14081 make two symbols from gstinfo private for the docs
14082 * gst/base/gstcollectpads.h:
14084 fix doc typos, update docs
14086 2005-11-22 Wim Taymans <wim@fluendo.com>
14088 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
14089 (gst_base_sink_wait), (gst_base_sink_do_sync),
14090 (gst_base_sink_handle_event):
14091 * gst/base/gstbasesink.h:
14092 No need to store the clock, the parent element class already
14095 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
14096 Updates for clock_set returning a gboolean
14098 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
14099 (gst_clock_id_wait_async), (gst_clock_class_init),
14100 (gst_clock_init), (gst_clock_finalize),
14101 (gst_clock_get_internal_time), (gst_clock_get_time),
14102 (gst_clock_slave_callback), (gst_clock_set_master),
14103 (gst_clock_get_master), (do_linear_regression),
14104 (gst_clock_add_observation), (gst_clock_set_property),
14105 (gst_clock_get_property):
14107 Implement master/slave. When setting a clock as a slave, a
14108 periodic timeout is scheduled to sample master and slave times.
14109 Then the slave clock is recalibrated to match offset and rate
14110 of the master clock.
14111 Update logging a bit.
14112 Add flag so that a clock can state that is cannot be slaved to
14115 * gst/gstelement.c: (gst_element_set_clock):
14116 * gst/gstelement.h:
14117 The set clock returns a gboolean for when an element cannot
14118 deal with the selected clock in the pipeline.
14120 * gst/gstpipeline.c: (gst_pipeline_change_state),
14121 (gst_pipeline_set_clock):
14122 * gst/gstpipeline.h:
14123 Handle the case where the selected clock cannot be set on
14126 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
14127 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
14128 (gst_net_client_clock_set_property),
14129 (gst_net_client_clock_get_property),
14130 (gst_net_client_clock_observe_times):
14131 * gst/net/gstnetclientclock.h:
14132 Use regression code in GstClock parent, remove duplicated
14135 2005-11-22 Michael Smith <msmith@fluendo.com>
14137 * gst/gstutils.c: (gst_util_clock_time_scale):
14139 * docs/gst/gstreamer-sections.txt:
14140 Rename method to have extra underscore.
14142 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
14144 * gst/elements/Makefile.am:
14145 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
14146 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14147 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14148 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
14149 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
14150 * gst/elements/gstfakesrc.h:
14151 * gst/gstqueue.c: (queue_leaky_get_type):
14152 correctly fix GEnumValues so that nick is the short lowercase
14154 * tools/gst-inspect.c: (print_element_properties_info):
14155 also show the nick, since it's useful to use from parse_launch
14159 2005-11-22 Michael Smith <msmith@fluendo.com>
14161 * gst/gstutils.c: (gst_util_clocktime_scale):
14163 * docs/gst/gstreamer-sections.txt:
14164 Add util method for scaling a clocktime by a fraction. Useful
14165 implementation is left as an exercise for the reader.
14167 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14169 * gst/gstvalue.c: (gst_value_collect_fraction_range):
14170 If needed, allocate storage in the destination value during
14173 2005-11-22 Edward Hervey <edward@fluendo.com>
14175 * docs/gst/gstreamer-sections.txt:
14178 * gst/gsturitype.c:
14179 * gst/gsturitype.h:
14180 * gst/gstutils.c: (gst_util_set_object_arg):
14181 * tools/gst-compprep.c: (main):
14182 * tools/gst-inspect.c: (print_element_properties_info):
14183 Removed GstURI, closes bug #321061
14185 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14187 * check/gst/gststructure.c: (GST_START_TEST):
14188 * gst/gststructure.c: (gst_structure_parse_value):
14189 Oops, broke automatic string type parsing.
14190 Add a test to catch it in future.
14192 2005-11-22 Andy Wingo <wingo@pobox.com>
14194 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
14195 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
14196 Actually rename the function implementations. Grr.
14198 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14200 * check/gst/capslist.h:
14202 * check/gst/gststructure.c: (GST_START_TEST),
14203 (gst_structure_suite):
14204 Test automatic value type detection in gst_structure_from_string.
14205 * gst/gststructure.c: (gst_structure_parse_value):
14206 Add fraction as a type we try and guess automatically in
14207 caps/structure strings.
14209 2005-11-22 Andy Wingo <wingo@pobox.com>
14211 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
14213 * gst/gsttagsetter.h:
14214 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
14215 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
14216 (gst_tag_setter_add_tag_valist)
14217 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
14218 _add_values, _add_valist, and _add_valist_values. Since this is an
14219 interface the function suffixes should be more explicit so
14220 language binding don't end up with element.add_valist ->
14221 gst_tag_setter_add_valist, for example. Fixes #322069.
14223 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14225 * check/gst/gstcaps.c: (GST_START_TEST):
14226 Extend caps string tests to check that a caps to string
14227 conversion is reversible and produces the same caps.
14229 * gst/gststructure.c: (gst_structure_value_get_generic_type):
14230 Output "fraction" as the generic type fraction range, so caps
14231 serialisation and deserialisation works.
14232 * check/gst/capslist.h:
14233 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14234 Support 'MIN' and 'MAX' for deserialising fractions.
14236 2005-11-22 Andy Wingo <wingo@pobox.com>
14238 * gst/gstevent.h (gst_event_new_new_segment)
14239 (gst_event_parse_new_segment, gst_event_new_buffer_size)
14240 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
14241 Renamed from *_newsegment, *_buffersize, *_notarget.
14243 * scripts/update-funcnames: New script, performs the changes
14246 2005-11-22 Wim Taymans <wim@fluendo.com>
14248 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14249 Make sure the GstFlowReturn is returned.
14251 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
14252 (gst_bus_add_signal_watch):
14254 add gst_bus_add_signal_watch_full.
14256 * gst/gstplugin.c: (gst_plugin_load_file):
14257 Small style cleanup.
14259 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14261 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
14262 Block the fakesrc srcpad when we send an event, to avoid
14263 contention on the stream_lock causing random test failures.
14265 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14267 * check/gst/gstvalue.c: (GST_START_TEST):
14268 * gst/gstvalue.c: (gst_value_fraction_subtract):
14271 2005-11-22 Stefan Kost <ensonic@users.sf.net>
14274 include "gstchildproxy.h"
14275 * gst/gstchildproxy.h:
14276 * libs/gst/controller/gstcontroller.h:
14277 use G_GNUC_NULL_TERMINATED
14279 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14281 * check/gst/capslist.h:
14282 * check/gst/gstcaps.c: (GST_START_TEST):
14283 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14284 * gst/gststructure.c: (gst_structure_parse_range),
14285 (gst_structure_fixate_field_nearest_fraction):
14286 * gst/gststructure.h:
14287 * gst/gstvalue.c: (gst_value_init_fraction_range),
14288 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
14289 (gst_value_collect_fraction_range),
14290 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
14291 (gst_value_set_fraction_range_full),
14292 (gst_value_get_fraction_range_min),
14293 (gst_value_get_fraction_range_max),
14294 (gst_value_serialize_fraction_range),
14295 (gst_value_transform_fraction_range_string),
14296 (gst_value_compare_fraction_range),
14297 (gst_value_deserialize_fraction_range),
14298 (gst_value_intersect_fraction_fraction_range),
14299 (gst_value_intersect_fraction_range_fraction_range),
14300 (gst_value_subtract_fraction_fraction_range),
14301 (gst_value_subtract_fraction_range_fraction),
14302 (gst_value_subtract_fraction_range_fraction_range),
14303 (gst_value_collect_fraction), (gst_value_fraction_multiply),
14304 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
14305 (gst_value_transform_string_fraction), (_gst_value_initialize):
14307 Implement fraction ranges and extend GstFraction to support
14308 arithmetic subtraction, as well as deserialization from integer
14309 strings such as "100"
14310 Add a testsuite as for int and double range set operations
14312 2005-11-21 Andy Wingo <wingo@pobox.com>
14314 * gst/gsttaglist.h:
14316 * gst/gststructure.h: Add glib-compat.h.
14318 2005-11-21 Wim Taymans <wim@fluendo.com>
14320 * gst/gstbin.c: (gst_bin_change_state_func):
14323 2005-11-21 Wim Taymans <wim@fluendo.com>
14325 * gst/gstsegment.h:
14326 And add a nice define too.
14328 2005-11-21 Wim Taymans <wim@fluendo.com>
14330 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
14331 (gst_segment_new), (gst_segment_free), (gst_segment_init),
14332 (gst_segment_set_duration), (gst_segment_set_last_stop),
14333 (gst_segment_set_seek), (gst_segment_set_newsegment),
14334 (gst_segment_to_stream_time), (gst_segment_to_running_time),
14335 (gst_segment_clip):
14336 * gst/gstsegment.h:
14337 Make binding friendly.
14339 2005-11-21 Andy Wingo <wingo@pobox.com>
14341 * gst/gsttagsetter.h:
14342 * gst/gsttaglist.h:
14343 * gst/gststructure.h:
14345 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
14348 * gst/gsterror.c (_gst_core_errors_init):
14349 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
14352 * gst/Makefile.am (gst_headers): Add glib-compat.h.
14353 (noinst_HEADERS): noinst the -private.
14355 2005-11-21 Michael Smith <msmith@fluendo.com>
14358 * gst/gstregistry.h:
14359 Remove unimplemented declarations for which we can see no sensible
14362 2005-11-21 Andy Wingo <wingo@pobox.com>
14364 * gst/gst.h: Include glib-compat.h.
14366 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
14368 * gst/glib-compat.c: Include the public and the private header.
14370 * gst/glib-compat-private.h: Copied here from glib-compat.h.
14374 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
14376 * check/gst/gstevent.c (create_custom_events): Check that
14377 FLUSH_STOP is serialized.
14379 * check/elements/identity.c (event_func):
14380 * check/elements/fakesrc.c (event_func): No stream lock, the core
14383 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
14384 stream lock taking, yay.
14386 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
14387 ensure that core takes the stream lock.
14389 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
14392 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
14393 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
14394 it already. For the flush start we do take it though so we get the
14395 right preroll state change messages.
14397 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
14398 the stream lock here, the core does it for us.
14400 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
14401 GST_STREAM_GET_LOCK.
14402 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
14403 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
14404 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
14405 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
14406 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
14407 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
14409 * gst/gstpad.c: Update for stream lock name change.
14411 * gst/base/gstbasesink.c: Update for preroll lock name change.
14413 2005-11-21 Wim Taymans <wim@fluendo.com>
14415 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
14416 (gst_clock_get_master):
14418 * gst/gstsystemclock.c: (gst_system_clock_init):
14419 Convert Clock flags to object flags.
14420 Added methods to manage master/slave clocks.
14422 2005-11-21 Wim Taymans <wim@fluendo.com>
14424 * check/gst/gstsegment.c: (GST_START_TEST):
14425 * docs/design/part-TODO.txt:
14426 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14427 (gst_base_sink_event), (gst_base_sink_do_sync),
14428 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14429 (gst_base_sink_query), (gst_base_sink_change_state):
14430 * gst/base/gstbasesink.h:
14431 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14432 (gst_base_src_default_newsegment),
14433 (gst_base_src_configure_segment), (gst_base_src_do_seek),
14434 (gst_base_src_get_range), (gst_base_src_loop),
14435 (gst_base_src_change_state):
14436 * gst/base/gstbasesrc.h:
14437 * gst/base/gstbasetransform.c:
14438 (gst_base_transform_prepare_output_buf),
14439 (gst_base_transform_event), (gst_base_transform_change_state):
14440 * gst/base/gstbasetransform.h:
14441 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
14442 (gst_collect_pads_event):
14443 * gst/base/gstcollectpads.h:
14444 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
14445 (gst_fake_src_create):
14446 * gst/elements/gstfakesrc.h:
14447 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14448 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14449 (gst_segment_set_last_stop), (gst_segment_set_seek),
14450 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14451 (gst_segment_to_running_time), (gst_segment_clip):
14452 * gst/gstsegment.h:
14453 More segment updates, replace code in plugins with segment
14456 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
14458 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
14459 Don't ignore sscanf results
14461 2005-11-21 Andy Wingo <wingo@pobox.com>
14463 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
14466 * *.c: Ran scripts/update-macros. Oh yes.
14468 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
14469 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
14472 * scripts/update-macros: New script. Run it on your files to
14473 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
14476 2005-11-21 Stefan Kost <ensonic@users.sf.net>
14478 * docs/gst/Makefile.am:
14479 * docs/gst/gstreamer-docs.sgml:
14480 * docs/gst/gstreamer-sections.txt:
14481 * docs/gst/gstreamer.types:
14483 more docs fixes, add new api to the docs
14485 2005-11-21 Andy Wingo <wingo@pobox.com>
14487 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
14488 state_broadcast call.
14490 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
14492 2005-11-21 Julien MOUTTE <julien@moutte.net>
14494 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
14495 function calls for arrays.
14497 2005-11-21 Stefan Kost <ensonic@users.sf.net>
14499 * docs/random/ensonic/media-device-daemon.txt:
14500 wild idea, can this be done?
14501 * docs/gst/gstreamer-sections.txt:
14506 * gst/gstpluginfeature.c:
14510 doc fixes and additions
14512 2005-11-21 Andy Wingo <wingo@pobox.com>
14514 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
14515 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
14516 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
14517 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
14518 private to the basesrc implementation.
14520 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
14521 behalf of event function if necessary. It should no longer be
14522 necessary to take the stream lock in pad's event functions. Fixes
14525 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
14526 * docs/gst/gstreamer-sections.txt:
14527 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
14528 (gst_structure_fixate_field_nearest_double),
14529 (gst_structure_fixate_field_boolean):
14530 * gst/gststructure.h:
14531 * win32/common/libgstreamer.def:
14532 * win32/gstreamer.def:
14534 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
14537 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
14539 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
14540 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
14541 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
14542 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
14543 (gst_fdsrc_uri_handler_init):
14544 * gst/elements/gstfdsrc.h:
14545 Port fd:// URI handler from 0.8 to fdsrc
14547 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14549 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
14550 (gst_value_serialize_fourcc):
14552 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
14553 consistent with our other format defines (#320324).
14555 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14557 * gst/gstvalue.c: (gst_value_is_fixed):
14558 Revert previous commit. Value lists are by definition
14559 not fixed, as they are a list of possible values.
14561 2005-11-21 Andy Wingo <wingo@pobox.com>
14563 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
14564 during the stable series if we need it. Fixes #319178.
14566 * gst/gstevent.c (gst_event_new_filler): Removed.
14568 * check/gst/gstevent.c: Update comment about filler events.
14570 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14572 * gst/gstvalue.c: (gst_value_is_fixed):
14573 Should handle both value arrays and value lists.
14575 2005-11-21 Andy Wingo <wingo@pobox.com>
14577 patch by: Alessandro Dessina <alessandro nnva org>
14579 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
14580 functions to access arrays. Fixes #321962.
14582 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14584 * docs/gst/gstreamer.types:
14585 gst_collectpads_get_type => gst_collect_pads_get_type.
14587 * gst/base/gstbasetransform.c:
14588 Remove unused SIGNAL_HANDOFF enum.
14590 2005-11-21 Andy Wingo <wingo@pobox.com>
14592 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
14593 the event type (upstream, downstream, serialized). Renamed
14594 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
14595 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
14596 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
14598 * gst/gstevent.c: Update for new CUSTOM event names.
14600 * check/gst/gstevent.c: Update check for new CUSTOM event names.
14603 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
14606 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14608 * docs/gst/gstreamer-sections.txt:
14609 * win32/common/libgstbase.def:
14610 * win32/libgstbase.def:
14611 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14612 (gst_collect_pads_class_init), (gst_collect_pads_init),
14613 (gst_collect_pads_finalize), (gst_collect_pads_new),
14614 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
14615 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
14616 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
14617 (gst_collect_pads_start), (gst_collect_pads_stop),
14618 (gst_collect_pads_peek), (gst_collect_pads_pop),
14619 (gst_collect_pads_available), (gst_collect_pads_read),
14620 (gst_collect_pads_flush), (gst_collect_pads_event),
14621 (gst_collect_pads_chain):
14622 * gst/base/gstcollectpads.h:
14623 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
14624 unimplemented functions as unimplemented. Add padding to
14625 GstCollectData. (#320766, #320423)
14627 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14629 * gst/gstmessage.c:
14630 Improve docs for DURATION message (usage of duration parameter)
14633 2005-11-20 Wim Taymans <wim@fluendo.com>
14635 * check/Makefile.am:
14636 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
14640 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14641 (gst_segment_set_seek), (gst_segment_set_newsegment),
14642 (gst_segment_to_stream_time), (gst_segment_to_running_time),
14643 (gst_segment_clip):
14644 * gst/gstsegment.h:
14645 Added segment helper structure and methods. Not fully implemented
14647 Added segment check.
14649 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
14651 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14652 Add a deserialisation test for fractions
14653 * examples/metadata/read-metadata.c: (message_loop),
14654 (make_pipeline), (main):
14655 Fix up metadata reading sample.
14656 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14658 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14659 Don't try and fixate empty caps
14660 * gst/gst_private.h:
14661 Wrap in G_BEGIN_DECLS/G_END_DECLS
14662 * gst/gstvalue.c: (gst_value_collect_fraction),
14663 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
14664 (gst_value_transform_string_fraction),
14665 (gst_value_compare_fraction):
14666 Add some extra guards to ensure that we don't end up
14667 with an invalid denominator of 0 in a gstfraction and
14668 that fractions always get reduced.
14670 2005-11-20 Wim Taymans <wim@fluendo.com>
14672 * docs/gst/gstreamer-sections.txt:
14674 * gst/gstelement.c:
14683 2005-11-20 Wim Taymans <wim@fluendo.com>
14685 * docs/design/part-TODO.txt:
14687 Make a proper enum of the flag.
14689 2005-11-19 Wim Taymans <wim@fluendo.com>
14691 * docs/design/part-TODO.txt:
14692 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
14693 (gst_format_to_quark), (gst_format_register):
14695 * gst/gstquery.c: (_gst_query_initialize),
14696 (gst_query_type_get_name), (gst_query_type_to_quark),
14697 (gst_query_type_register):
14699 Add type to quark and type to string conversions.
14701 2005-11-19 Andy Wingo <wingo@pobox.com>
14703 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
14706 2005-11-19 Wim Taymans <wim@fluendo.com>
14708 * docs/design/part-TODO.txt:
14709 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14710 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
14711 (gst_bin_handle_message_func):
14713 Make message handling overridable.
14715 2005-11-19 Andy Wingo <wingo@pobox.com>
14717 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
14720 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
14722 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
14723 is a GstClockTime. Fixes #321710.
14725 * gst/gstclock.h (GstClock): Remove offset property. Add
14726 internal_calibration and external_calibration. Fix padding. Pad
14727 also by GstClockTime so we don't run into problems.
14729 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
14730 (gst_clock_get_rate_offset): Remove.
14731 (gst_clock_set_time_adjust): Remove. Fixes #321712.
14734 * gst/gstutils.c (g_static_rec_cond_wait)
14735 (g_static_rec_cond_timed_wait): Removed, no longer needed.
14737 * gst/gstbin.c: Remove terrible continue_state prototype.
14739 * gst/gstelement.h (gst_element_continue_state): Make public.
14741 * gst/gstelement.h:
14742 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
14743 by continue_state. Fixes #319389.
14745 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
14746 Really fixes #168438. However I don't see anywhere where the
14747 filter function is called... stupid GStreamer...
14749 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
14750 don't have a dispose function, so it won't get called when the
14751 object is unreffed, but oh well!
14753 * gst/gstindex.c (gst_index_set_filter_full): New API function,
14754 allows a destroy function to be set so user_data can be freed.
14756 (gst_index_set_filter): Call gst_index_set_filter_full.
14758 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
14760 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
14761 string should produce an error, given the lack of a way to
14762 represent NULL strings. Fixes #165650.
14765 * gst/gstvalue.c (gst_value_array_append_value)
14766 (gst_value_array_prepend_value, gst_value_array_get_size)
14767 (gst_value_array_get_value): New API, copied from
14768 gst_value_list_*, only operates on arrays.
14769 (gst_value_list_append_value, gst_value_list_prepend_value)
14770 (gst_value_list_concat, gst_value_list_get_size)
14771 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
14773 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
14774 init_list, because it works on both.
14775 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
14776 (gst_value_copy_list_or_array): Renamed from copy_list.
14777 (gst_value_free_list_or_array): Renamed from free_list.
14778 (gst_value_collect_list_or_array): Renamed from collect_list.
14779 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
14780 (gst_value_list_or_array_peek_pointer): Renamed from
14782 (_gst_value_array_value_table, _gst_value_list_value_table):
14783 Update value table functions.
14784 (gst_value_compare_list_or_array): Renamed from compare_list.
14786 * gsttaglist.h: Whoops, foreach function returns void. Also fix
14789 * gst/gsttaglist.c:
14790 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
14791 GstTagList*. Fixes #143472.
14793 * gst/gststructure.h: Clarify what the foreach/map functions can
14794 or can't do to their arguments.
14796 2005-11-18 Wim Taymans <wim@fluendo.com>
14798 * gst/gstclock.c: (gst_clock_set_calibration),
14799 (gst_clock_get_calibration):
14801 Calibration can be set with internal time equal to current
14804 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
14810 2005-11-18 Andy Wingo <wingo@pobox.com>
14813 * pkgconfig/gstreamer-net.pc.in:
14814 * pkgconfig/gstreamer-net-uninstalled.pc.in:
14815 * pkgconfig/Makefile.am: Add net pkgconfig files.
14817 2005-11-18 Stefan Kost <ensonic@users.sf.net>
14820 * gst/gstghostpad.c:
14826 2005-11-18 Andy Wingo <wingo@pobox.com>
14828 * gst/net/gstnetclientclock.c: Turn off debugging.
14830 * check/net/gstnetclientclock.c (test_functioning): Assert that the
14831 times connverge somewhat. Can't make a real test.
14833 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
14834 integer arithmetic. Return the minimum of the domain, which can be
14835 set as "internal" for gst_clock_set_calibration.
14836 (gst_net_client_clock_observe_times): Call _set_calibration.
14837 (gst_net_client_clock_new): Call _set_calibration instead of
14840 * check/net/gstnetclientclock.c (test_functioning): Use the right
14844 * gst/gstclock.c (gst_clock_get_calibration)
14845 (gst_clock_set_calibration): New functions, obsolete the ones I
14846 added yesterday. Doh. Precision issues mean we have to extrapolate
14847 from a point in the more recent past than 1970.
14848 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
14850 (gst_clock_adjust_unlocked): Use the right calibration data.
14852 2005-11-18 Edward Hervey <edward@fluendo.com>
14854 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14855 Also reset the ->current_* values in READY->PAUSED
14857 2005-11-18 Andy Wingo <wingo@pobox.com>
14859 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
14860 Whoops, check the right fd. Also add some debugging.
14861 (gst_net_client_clock_observe_times): Adjust for int64 offset.
14862 (do_linear_regression): Add a crapload of debugging. Subtract off
14863 the minimum values from the input series to discard unneeded bits.
14864 Use only int arithmetic. There is still double arithmetic when
14865 calculating the intercept that needs fixing. Return boolean to
14866 indicate success; FALSE would mean the domain or range is too
14867 great. Still needs fixes.
14869 2005-11-18 Wim Taymans <wim@fluendo.com>
14871 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
14872 For the current position in stream time, we need to subtract
14875 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14876 Release lock before calling the callback function of async
14879 2005-11-18 Andy Wingo <wingo@pobox.com>
14881 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
14882 Port goes all the way to MAXUINT16.
14884 * gst/net/gstnettimeprovider.c: Make the port range the same as
14885 for the kernel: 0 assigns, otherwise ports are less than
14888 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
14891 * check/net/gstnetclientclock.c (test_functioning): Add the start
14894 2005-11-18 Wim Taymans <wim@fluendo.com>
14896 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14897 (gst_bin_remove_func), (bin_bus_handler):
14899 Removing a clock provider from a bin, triggers a clock lost message
14900 so that a new clock will be selected.
14901 Adding a clock to a bin triggers a clock provider message.
14902 Make sure we reselect a clock when we received a clock lost message.
14903 Keep a reference to the element that provided the clock.
14905 2005-11-18 Andy Wingo <wingo@pobox.com>
14907 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
14908 the clock initially so it produces values around the base time.
14909 (gst_net_client_clock_class_init): Typo fix.
14910 (gst_net_client_clock_thread): Add note on when the socket gets
14913 2005-11-17 Wim Taymans <wim@fluendo.com>
14915 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
14916 Free remote and local time arrays.
14918 2005-11-17 Wim Taymans <wim@fluendo.com>
14920 * gst/net/gstnetclientclock.c: (do_linear_regression),
14921 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
14922 Fix compilation, uninitialized vars and a forgotten continue.
14924 2005-11-17 Andy Wingo <wingo@pobox.com>
14926 * check/Makefile.am (check_PROGRAMS):
14927 * check/net/gstnetclientclock.c: Add a most minimal test for the
14928 net client clock. More to come later.
14930 * gst/net/gstnet.h:
14931 * gst/net/Makefile.am: Add netclientclock.
14933 * gst/net/gstnetclientclock.h:
14934 * gst/net/gstnetclientclock.c: New files, implement an untested
14935 GstClock that takes its time from a network time provider.
14936 Implements the algorithm in network-clock.scm.
14938 * tests/network-clock.scm (*window-size*): Rename from
14940 * tests/network-clock.scm (network-time):
14941 * tests/network-clock-utils.scm (q-push): Update callers.
14943 2005-11-17 Wim Taymans <wim@fluendo.com>
14945 * gst/gstbin.c: (gst_bin_provide_clock_func),
14946 (gst_bin_sort_iterator_new):
14947 And unref the child too..
14949 2005-11-17 Wim Taymans <wim@fluendo.com>
14951 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14952 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
14953 Refactor the sort iterator so it can be used while holding the
14955 Make clock selection select a clock closest to the source.
14957 2005-11-17 Michael Smith <msmith@fluendo.com>
14959 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
14960 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
14962 Anonymous structs are a gcc (and some other compilers) extension, so
14963 don't use them. Since this is only for ABI-compatibility, and our
14964 API/ABI freeze is over in a few days, this whole thing will only
14965 last a few days, so don't bother trying to think up a meaningful
14966 name for the struct.
14968 2005-11-17 Andy Wingo <wingo@pobox.com>
14970 * gst/gstclock.h (GstClock): Add rate and offset properties,
14971 preserving ABI stability. Add rate/offset accessors. Will file bug
14972 for the freeze break.
14974 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
14975 and offset, trying to keep precision and avoiding
14976 underflow/overflow.
14977 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
14978 functions. Make gst_clock_set_time_adjust obsolete.
14979 (gst_clock_set_time_adjust): Note that this function is obsolete.
14980 Will file bug soon.
14982 * gst/base/gstbasetransform.h: Make the ABI-stability hack
14983 greppable by using GST_PADDING-1+1.
14985 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
14987 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
14989 * gst/gstmessage.c: (gst_message_parse_clock_lost):
14990 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
14992 * gst/gstpadtemplate.h:
14993 * gst/gstpluginfeature.h:
14994 Don't use c++ style comments in headers (#321638).
14996 2005-11-16 Andy Wingo <wingo@pobox.com>
14998 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
15001 * check/net/gstnettimeprovider.c: Check to see that the time
15002 provider actually provides times. Works, yo!
15004 2005-11-16 Wim Taymans <wim@fluendo.com>
15006 * check/Makefile.am:
15009 * check/elements/fakesrc.c: (GST_START_TEST):
15010 Set element to NULL before disposing it.
15012 2005-11-16 Andy Wingo <wingo@pobox.com>
15014 * gst/net/Makefile.am:
15015 * gst/net/gstnet.h:
15016 * gst/net/gstnettimeprovider.c:
15017 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
15018 provider, include it from gstnet.h, and add it to the build.
15020 * gst/net/gstnettimepacket.h:
15021 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
15022 sending and receiving.
15024 2005-11-16 Wim Taymans <wim@fluendo.com>
15026 * check/Makefile.am:
15027 Enable valgrind check.
15029 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
15030 (gst_fake_src_alloc_buffer):
15033 2005-11-16 Wim Taymans <wim@fluendo.com>
15035 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
15036 Call parent finalize too.
15038 2005-11-16 Wim Taymans <wim@fluendo.com>
15040 * check/Makefile.am:
15041 Enable valgrind check that should work fine now.
15043 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15044 * gst/gstqueue.c: (gst_queue_init):
15045 Fix memleaks in pad allocation.
15047 2005-11-16 Andy Wingo <wingo@pobox.com>
15049 * gst/net/Makefile.am:
15050 * gst/net/gstnet.h: New part of core to hold network elements and
15051 objects. Put in core because it exposes API that applications want
15052 to use. The library is named libgstnet-tempname right now because
15053 of the existing libgstnet in gst-plugins-base. Solution is
15054 probably to rename the one in plugins-base; will file a bug for
15057 * gst/net/gstnettimeprovider.c:
15058 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
15059 get_time call over the network.
15062 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
15064 * check/Makefile.am:
15065 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
15066 get additions shortly.
15068 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15070 * gst/gstpad.c: (gst_pad_new_from_static_template):
15072 add gst_pad_new_from_static_template functions
15073 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
15074 (gst_check_setup_sink_pad):
15075 * gst/elements/gsttee.c: (gst_tee_init):
15078 2005-11-16 Wim Taymans <wim@fluendo.com>
15080 * gst/gstpad.c: (gst_pad_pause_task):
15081 Removed warning, it's not really an error either.
15083 2005-11-16 Wim Taymans <wim@fluendo.com>
15085 * gst/base/gstbasetransform.c:
15086 (gst_base_transform_prepare_output_buf),
15087 (gst_base_transform_event):
15088 Check if the caps are NULL, this can happen if the element
15089 is shutting down and the pad caps are set to NULL.
15091 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15093 * gst/elements/gsttee.c: (gst_tee_init):
15094 fix pad template leak in tee
15096 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15098 * gst/glib-compat.c: (g_value_dup_gst_object):
15099 * gst/glib-compat.h:
15100 * gst/gstpad.c: (gst_pad_set_property):
15101 use gst_object_ref when setting the pad template; this will
15102 trigger the pad template leaks on GLib 2.6 and the slaves
15104 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15106 * gst/glib-compat.c: (gst_flags_get_first_value):
15107 * gst/glib-compat.h:
15108 * gst/gstregistryxml.c:
15109 remove functions copied from GLib 2.6
15111 2005-11-16 Michael Smith <msmith@fluendo.com>
15114 Don't link against VALGRIND_LIBS. That was always the wrong thing to
15115 do, but only breaks with newer valgrind versions. We're not a
15116 valgrind tool, we have no link-time dependencies on libcoregrind.
15118 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15120 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15122 * gst/gstmessage.h:
15125 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15127 * gst/base/gstbasesrc.c: (gst_base_src_init):
15128 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15129 * gst/gstqueue.c: (gst_queue_init):
15130 * gst/gstregistryxml.c: (load_feature):
15131 Revert all these unrefs, they don't even pass make check !
15133 2005-11-15 Johan Dahlin <johan@gnome.org>
15135 * gst/base/gstbasesrc.c: (gst_base_src_init):
15136 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15137 * gst/gstqueue.c: (gst_queue_init):
15138 Free pad templates, fixes a couple of leaks.
15140 2005-11-15 Daniel Fischer <dan at f3c dot com>
15142 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
15144 * gst/gstpad.c: (gst_pad_get_property):
15145 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
15146 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
15149 2005-11-15 Wim Taymans <wim@fluendo.com>
15154 2005-11-15 Andy Wingo <wingo@pobox.com>
15156 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
15158 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
15159 using GST_CLOCK_TIME_NONE to disable base time management.
15160 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
15161 time if it was NONE before.
15162 (gst_pipeline_change_state): Only munge the base time if
15163 stream_time != GST_CLOCK_TIME_NONE.
15165 * check/gst/gstpipeline.c (test_base_time): Punt around the
15166 problem of the probe not being called, because that's not the
15167 issue I'm looking at. Add a check that setting stream_time to NONE
15168 disables base time management.
15170 2005-11-15 Wim Taymans <wim@fluendo.com>
15172 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15173 segment_stop == -1 at startup.
15175 * gst/base/gstbasetransform.c: (gst_base_transform_event),
15176 (gst_base_transform_change_state):
15177 Init segment values at start.
15179 2005-11-15 Wim Taymans <wim@fluendo.com>
15181 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15182 0 segment values are 0 in any format.
15184 * gst/base/gstbasetransform.c: (gst_base_transform_event):
15185 * gst/base/gstbasetransform.h:
15186 Parse newsegment correctly in basetransform
15188 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15189 Sync to clock using updated segment values.
15191 2005-11-15 Andy Wingo <wingo@pobox.com>
15193 * check/gst/gstpipeline.c (test_base_time): Add check that the
15194 base time and stream time are reset correctly.
15196 2005-11-15 Wim Taymans <wim@fluendo.com>
15198 * docs/design/part-TODO.txt:
15199 Some more TODO items.
15201 2005-11-15 Andy Wingo <wingo@pobox.com>
15203 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
15204 error if the user selected "no clock" as the clocking method.
15206 * check/gst/gstpipeline.c (test_base_time): New test for buffer
15207 timestamps with live capture.
15209 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
15210 is 0 but we are a live source, timestamp the buffers using the
15213 2005-11-14 Stefan Kost <ensonic@users.sf.net>
15215 * docs/gst/gstreamer-sections.txt:
15217 * gst/gstghostpad.c:
15222 2005-11-14 Wim Taymans <wim@fluendo.com>
15225 add suppressions from Wim's Debian machine
15227 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
15230 add suppressions from Andy's AMD64 Ubuntu machine
15232 2005-11-14 Andy Wingo <wingo@pobox.com>
15234 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
15235 STATE_LOCK not necessary. Fixes #311489.
15237 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
15240 * gst/gstindex.c (gst_index_add_object): Note in the docs that
15241 this function is not implemented.
15243 2005-11-14 Julien MOUTTE <julien@moutte.net>
15245 * gst/base/gstbasetransform.c:
15246 (gst_base_transform_prepare_output_buf):
15247 Ref the source pad caps while we need them.
15250 2005-11-11 Wim Taymans <wim@fluendo.com>
15252 * docs/gst/gstreamer-sections.txt:
15253 Added some docs for GstCollectData.
15255 * gst/base/gstadapter.c:
15256 Some small code example fix.
15258 * gst/base/gstcollectpads.c:
15259 * gst/base/gstcollectpads.h:
15260 Document some more.
15262 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
15264 * configure.ac: back to HEAD
15266 === release 0.9.5 ===
15268 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
15271 releasing 0.9.5, "Bike Lunch Day"
15273 2005-11-11 Wim Taymans <wim@fluendo.com>
15275 * gst/gstbuffer.c: (_gst_buffer_copy):
15278 * gst/gstcaps.c: (gst_caps_is_equal):
15280 Make _is_equal fast in the trivial cases.
15282 * gst/gstminiobject.c:
15283 * gst/gstminiobject.h:
15284 More docs. Spifify .h file.
15289 2005-11-11 Wim Taymans <wim@fluendo.com>
15291 * gst/base/gstbasetransform.c:
15292 (gst_base_transform_prepare_output_buf),
15293 (gst_base_transform_handle_buffer):
15295 If we're processing a buffer and need to allocate an output
15296 buffer, we cannot accept a format change. If we did get a
15297 format change, we have to alloc a buffer ourselves of the
15300 2005-11-11 Wim Taymans <wim@fluendo.com>
15302 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
15303 While checking the flag for reentrancy in the gstcaps function
15304 is nice to detect recursive invocations, it also makes it
15305 impossible to call getcaps from multiple threads, which must be
15306 possible. So, checking for recursive calls has to go.
15308 2005-11-11 Michael Smith <msmith@fluendo.com>
15310 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15311 Don't sync on buffers that fall partially outside our current
15312 segment. Prevents an assertion failure/abort playing some files.
15314 2005-11-10 Andy Wingo <wingo@pobox.com>
15316 * check/gst/gstbin.c (test_message_state_changed_children): Style
15319 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
15320 gst_bus_poll with the signal watch. Ensures that poll and a signal
15321 watch see the same messages.
15323 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
15324 a poll and a watch at the same time get the same messages.
15326 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
15328 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
15329 * gst/gstcaps.c: (gst_caps_intersect):
15330 Don't call gst_caps_do_simplify - it doesn't respect order of caps
15331 and it's not needed.
15333 2005-11-10 Wim Taymans <wim@fluendo.com>
15335 * docs/design/part-TODO.txt:
15338 2005-11-10 Wim Taymans <wim@fluendo.com>
15340 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15341 * gst/base/gstbasesrc.c: (gst_base_src_wait),
15342 (gst_base_src_do_sync), (gst_base_src_get_range):
15343 Implement clock sync in base class.
15345 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
15347 patch by: Tim-Philipp Müller <tim at centricular dot net>
15349 * gst/gststructure.c: (gst_structure_parse_field),
15350 (gst_structure_from_string):
15351 Forward-port a 0.8 patch to handle escaped spaces in structure string,
15352 so that gst_parse_launch() can deal with spaces in filtered link
15353 caps (fixes #164479)
15354 * check/gst/capslist.h:
15355 * check/gst/gststructure.c: (GST_START_TEST):
15356 add unit tests for this change
15358 2005-11-10 Wim Taymans <wim@fluendo.com>
15360 * docs/gst/gstreamer-sections.txt:
15361 * gst/gstelement.c:
15362 * gst/gstelement.h:
15363 Fix docs, move some STATE macros to private.
15365 2005-11-10 Wim Taymans <wim@fluendo.com>
15367 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15368 Added check for bug #317341
15372 Some more spiffifying.
15374 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
15375 Call peer linkfunction if we are a source pad. Totally fixes
15379 Update docs, source pads should call the peer linkfunction
15380 so they can atomically perform the pad link.
15382 2005-11-09 Wim Taymans <wim@fluendo.com>
15386 Uber-spiffy-spiffify some more.
15388 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
15390 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
15391 * gst/elements/gstfilesink.c: (gst_file_sink_init):
15392 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15393 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
15394 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
15395 * gst/gstpad.c: (gst_pad_init):
15396 Use GST_DEBUG_FUNCPTR() more extensively.
15398 2005-11-09 Wim Taymans <wim@fluendo.com>
15400 * gst/gstobject.c: (gst_object_class_init):
15402 Documentation fixes.
15404 2005-11-09 Edward Hervey <edward@fluendo.com>
15406 * gst/gsttypefindfactory.c:
15409 2005-11-09 Edward Hervey <edward@fluendo.com>
15411 * gst/base/gsttypefindhelper.c:
15412 * gst/gsttypefind.c:
15413 * gst/gsttypefind.h:
15416 2005-11-09 Wim Taymans <wim@fluendo.com>
15418 * gst/gstiterator.c:
15425 2005-11-09 Wim Taymans <wim@fluendo.com>
15431 2005-11-09 Wim Taymans <wim@fluendo.com>
15433 * docs/gst/gstreamer-sections.txt:
15434 Moved the message async delivery private lock and cond
15435 to the private section.
15437 * gst/gstmessage.c:
15438 * gst/gstmessage.h:
15441 2005-11-09 Edward Hervey <edward@fluendo.com>
15443 * docs/gst/gstreamer-sections.txt:
15446 Document GstURIHandler
15448 2005-11-09 Wim Taymans <wim@fluendo.com>
15450 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
15451 (gst_iterator_find_custom):
15452 * gst/gstiterator.h:
15455 2005-11-09 Wim Taymans <wim@fluendo.com>
15458 Document another field.
15460 * gst/gststructure.c:
15461 * gst/gststructure.h:
15464 2005-11-09 Wim Taymans <wim@fluendo.com>
15467 Documented structs.
15469 2005-11-09 Wim Taymans <wim@fluendo.com>
15471 * docs/gst/gstreamer-sections.txt:
15472 Added some new macros.
15479 2005-11-09 Wim Taymans <wim@fluendo.com>
15481 * docs/design/part-TODO.txt:
15482 Some more items for the TODO
15488 2005-11-09 Andy Wingo <wingo@pobox.com>
15490 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
15491 to work on something else now tho...
15493 * gst/base/gstadapter.c: More adapter docs.
15495 * gst/elements/gstfilesink.c (gst_file_sink_start)
15496 (gst_file_sink_stop): New functions, replace the state change
15498 (gst_file_sink_class_init): Hook up the start and stop functions.
15499 (gst_file_sink_base_init): Don't set the state change handler any
15500 more. It was a bit ugly too, being set from here...
15501 (gst_file_sink_get_property, gst_file_sink_set_property):
15503 (gst_file_sink_set_location): More robust check that doesn't call
15504 GST_STATE. Ugggggg.
15506 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
15508 * gst/base/gstbasetransform.c: (gst_base_transform_event):
15509 Hold STREAM_LOCK while pushing newsegment or tag events as well.
15511 2005-11-08 Wim Taymans <wim@fluendo.com>
15513 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15514 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15515 (gst_base_sink_chain), (gst_base_sink_change_state):
15516 * gst/base/gstbasesink.h:
15517 * gst/base/gstbasesrc.h:
15518 * gst/gstelement.h:
15520 Avoid excessive typechecking in macros.
15522 * gst/gstminiobject.c: (gst_mini_object_get_type),
15523 (gst_mini_object_init), (gst_mini_object_new),
15524 (gst_mini_object_free):
15525 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15526 (gst_object_finalize):
15527 Remove cruft code, optimize alloc_trace.
15529 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
15531 * docs/faq/gst-uninstalled:
15532 fix up PS1 for systems that try to reset it
15534 2005-11-07 Wim Taymans <wim@fluendo.com>
15536 * gst/base/gstbasesrc.c: (gst_base_src_init),
15537 (gst_base_src_get_range):
15538 Set the segment_end to -1 initially. Fixed typefind.
15540 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
15542 * gst/base/gstadapter.c:
15543 Debug category should be 'adapter', not 'GstAdapter'.
15545 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
15546 (gst_collectpads_class_init), (gst_collectpads_init),
15547 (gst_collectpads_peek), (gst_collectpads_pop),
15548 (gst_collectpads_event), (gst_collectpads_chain):
15549 Add debug category and some debugging output. Use boilerplate
15550 macros. Remove some extraneous words from docs.
15552 2005-11-05 Andy Wingo <wingo@pobox.com>
15554 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
15557 2005-11-04 Stefan Kost <ensonic@users.sf.net>
15559 * docs/gst/gstreamer-sections.txt:
15562 * gst/gstminiobject.h:
15567 2005-11-04 Wim Taymans <wim@fluendo.com>
15569 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15570 Small update to stop at the configured segment_end
15573 2005-11-04 Stefan Kost <ensonic@users.sf.net>
15575 * gst/gstregistry.c:
15576 * gst/gstregistry.h:
15579 2005-11-04 Edward Hervey <edward@fluendo.com>
15581 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15582 Check if we are doing a segment seek and have arrived at the
15583 end of that segment.
15585 2005-11-04 Wim Taymans <wim@fluendo.com>
15587 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
15588 Don't leak a mutex unlock in case of an error.
15593 2005-11-04 Wim Taymans <wim@fluendo.com>
15595 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
15597 Get the context to wake up only once.
15599 2005-11-03 Wim Taymans <wim@fluendo.com>
15601 * check/states/sinks.c: (GST_START_TEST):
15602 Uncomment fixed check.
15604 * docs/design/part-TODO.txt:
15607 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15608 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15609 (gst_base_sink_get_position):
15610 If we are going to PLAYING, post the right pending state
15611 when we post the intermediate paused message.
15613 * gst/gstelement.c: (gst_element_continue_state),
15614 (gst_element_set_state_func), (gst_element_change_state):
15615 Don't post state changes that were between the same state
15616 and were not ASYNC.
15618 2005-11-03 Stefan Kost <ensonic@users.sf.net>
15620 * docs/gst/gstreamer-sections.txt:
15623 * gst/gstminiobject.h:
15626 more docs and doc style fixes
15628 2005-11-03 Stefan Kost <ensonic@users.sf.net>
15630 * docs/gst/gstreamer-sections.txt:
15631 * gst/gstelement.c:
15632 * gst/gstminiobject.c:
15635 2005-11-03 Andy Wingo <wingo@pobox.com>
15637 * check/states/sinks.c (test_livesrc_sink): Add checks that the
15638 state-changed messages actually have the right order and the right
15641 2005-11-03 Wim Taymans <wim@fluendo.com>
15643 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
15644 Added some more checks. Specifically the case where NO_PREROLL
15645 elements are in the pipeline.
15647 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15648 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15649 (gst_base_sink_get_position):
15650 Post READY->PAUSED state change messages too.
15651 Fix bug where VOID was posted as pending state...
15653 * gst/gstbin.c: (gst_bin_recalc_state):
15654 use _element_continue_state() to continue the state change.
15656 * gst/gstelement.c: (gst_element_continue_state),
15657 (gst_element_commit_state), (gst_element_set_state_func),
15658 (gst_element_change_state), (gst_element_change_state_func):
15659 Lots of state change cleanups, assign the STATE_RETURN in
15660 a new continue_state() function that also propagates the
15661 last return value from a state change to the app.
15662 Update some debug statements with proper category.
15664 2005-11-03 Wim Taymans <wim@fluendo.com>
15666 * docs/design/part-events.txt:
15667 * docs/design/part-gstpipeline.txt:
15668 * docs/design/part-messages.txt:
15669 * docs/design/part-overview.txt:
15670 * docs/design/part-seeking.txt:
15671 * docs/design/part-states.txt:
15672 * docs/design/part-trickmodes.txt:
15673 * docs/manual/advanced-position.xml:
15674 Small docs updates.
15677 People think !! is ugly, this looks better.
15679 * gst/gstpad.c: (gst_pad_set_blocked_async):
15680 Remove !! since it's fixed elsewhere now.
15682 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
15684 * gst/gstminiobject.h:
15686 Add !! to _FLAG_IS_SET macros to make the result boolean.
15688 2005-11-03 Edward Hervey <edward@fluendo.com>
15690 * gst/gstpad.c: (gst_pad_set_blocked_async):
15691 comparing a flag and a gboolean rarely returns coherent results...
15692 Added two characters (!!) to make that work correctly.
15694 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
15696 * gst/gstbus.c: (gst_bus_class_init):
15699 * gst/gstqueue.c: (gst_queue_loop):
15700 Don't assume a miniobject that isn't a buffer is an
15701 event (it could be that there is a refcounting
15702 problem somewhere and the pointer is stale and
15703 refers to an already destroyed miniobject).
15705 2005-11-03 Julien MOUTTE <julien@moutte.net>
15707 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
15709 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
15711 * docs/manual/advanced-position.xml:
15712 Update seek example and explanations to current 0.9 API.
15714 * gst/elements/gsttypefindelement.c:
15715 (gst_type_find_element_activate):
15716 Remove FIXME comment now that the found caps
15719 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
15721 * gst/gstregistryxml.c: (load_feature):
15722 Add another GST_STR_NULL instance
15724 2005-11-02 Edward Hervey <edward@fluendo.com>
15726 * gst/gstpad.c: (handle_pad_block):
15727 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
15729 2005-11-02 Wim Taymans <wim@fluendo.com>
15734 * gst/gstelement.c: (gst_element_commit_state):
15735 Remove unused value.
15737 * gst/gstiterator.c:
15738 Mention that the returned element is reffed in the docs.
15740 2005-11-02 Wim Taymans <wim@fluendo.com>
15742 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
15743 (gst_pad_push), (gst_pad_push_event):
15744 Unlock blocked pads when they are flushed.
15746 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
15749 * docs/gst/gstreamer-sections.txt:
15752 * gst/gstregistry.c: (gst_registry_scan_path_level):
15753 fix for a nasty little missed situation where an installed plug-in
15754 which was in the cache did not get overridden by an uninstalled one
15755 which was earlier in the plugin path because the newly created plugin
15756 for the uninstalled one (not in the registry) didn't get its
15757 ->registered set to TRUE
15759 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
15761 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
15762 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
15763 (gst_collectpads_is_active), (gst_collectpads_collect),
15764 (gst_collectpads_collect_range), (gst_collectpads_start),
15765 (gst_collectpads_stop), (gst_collectpads_peek),
15766 (gst_collectpads_pop), (gst_collectpads_available),
15767 (gst_collectpads_read), (gst_collectpads_flush):
15768 Guard public API with assertions.
15771 Fix docs for gst_pad_set_link_function().
15773 2005-11-02 Johan Dahlin <johan@gnome.org>
15775 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
15776 Unref found_caps after we used it.
15778 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
15780 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
15781 Don't try to ref NULL.
15783 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
15785 * win32/common/config.h.in:
15786 provide a GST_FUNCTION that just gives a string for now
15788 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
15790 * win32/common/gstenumtypes.c: (register_gst_object_flags),
15791 (gst_object_flags_get_type), (register_gst_bin_flags),
15792 (gst_bin_flags_get_type), (register_gst_buffer_flag),
15793 (gst_buffer_flag_get_type), (register_gst_bus_flags),
15794 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15795 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
15796 (gst_clock_return_get_type), (register_gst_clock_entry_type),
15797 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15798 (gst_clock_flags_get_type), (register_gst_state),
15799 (gst_state_get_type), (register_gst_state_change_return),
15800 (gst_state_change_return_get_type), (register_gst_state_change),
15801 (gst_state_change_get_type), (register_gst_element_flags),
15802 (gst_element_flags_get_type), (register_gst_core_error),
15803 (gst_core_error_get_type), (register_gst_library_error),
15804 (gst_library_error_get_type), (register_gst_resource_error),
15805 (gst_resource_error_get_type), (register_gst_stream_error),
15806 (gst_stream_error_get_type), (register_gst_event_type),
15807 (gst_event_type_get_type), (register_gst_seek_type),
15808 (gst_seek_type_get_type), (register_gst_seek_flags),
15809 (gst_seek_flags_get_type), (register_gst_format),
15810 (gst_format_get_type), (register_gst_index_certainty),
15811 (gst_index_certainty_get_type), (register_gst_index_entry_type),
15812 (gst_index_entry_type_get_type),
15813 (register_gst_index_lookup_method),
15814 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15815 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15816 (gst_index_resolver_method_get_type), (register_gst_index_flags),
15817 (gst_index_flags_get_type), (register_gst_debug_level),
15818 (gst_debug_level_get_type), (register_gst_debug_color_flags),
15819 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15820 (gst_iterator_result_get_type), (register_gst_iterator_item),
15821 (gst_iterator_item_get_type), (register_gst_message_type),
15822 (gst_message_type_get_type), (register_gst_mini_object_flags),
15823 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15824 (gst_pad_link_return_get_type), (register_gst_flow_return),
15825 (gst_flow_return_get_type), (register_gst_activate_mode),
15826 (gst_activate_mode_get_type), (register_gst_pad_direction),
15827 (gst_pad_direction_get_type), (register_gst_pad_flags),
15828 (gst_pad_flags_get_type), (register_gst_pad_presence),
15829 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15830 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15831 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15832 (gst_plugin_error_get_type), (register_gst_plugin_flags),
15833 (gst_plugin_flags_get_type), (register_gst_rank),
15834 (gst_rank_get_type), (register_gst_query_type),
15835 (gst_query_type_get_type), (register_gst_tag_merge_mode),
15836 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15837 (gst_tag_flag_get_type), (register_gst_task_state),
15838 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15839 (gst_alloc_trace_flags_get_type),
15840 (register_gst_type_find_probability),
15841 (gst_type_find_probability_get_type), (register_gst_uri_type),
15842 (gst_uri_type_get_type), (register_gst_parse_error),
15843 (gst_parse_error_get_type):
15844 * win32/common/gstversion.h:
15845 update win32 copies
15847 2005-11-01 Luca Ognibene <luogni@tin.it>
15850 fix docs. popt is dead, long live GOption.
15852 2005-10-31 Wim Taymans <wim@fluendo.com>
15857 2005-10-31 Andy Wingo <wingo@pobox.com>
15861 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
15863 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
15864 need to serialize property notifications on GLib 2.8. GLib 2.6 has
15865 the possibility of deadlocks here if code calling notify() or
15866 set() has a lock that can be taken in another notify handler (ABBA
15867 with class lock and e.g. python GIL state lock).
15869 2005-10-28 Julien MOUTTE <julien@moutte.net>
15871 * gst/gstbus.c: Doc updates.
15873 2005-10-28 Wim Taymans <wim@fluendo.com>
15875 * docs/design/part-TODO.txt:
15876 * gst/gstiterator.c:
15877 * gst/gstsystemclock.c:
15878 * gst/gstsystemclock.h:
15881 2005-10-28 Edward Hervey <edward@fluendo.com>
15883 * docs/gst/gstreamer-docs.sgml:
15884 * docs/gst/gstreamer-sections.txt:
15885 the GstURIType documentation page is private, it only defines GstURIType
15886 which should be defined in the GstURIHandler page
15888 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
15890 * gst/gstbin.c: (gst_bin_class_init):
15893 Documentation updates.
15895 2005-10-28 Wim Taymans <wim@fluendo.com>
15897 * docs/gst/gstreamer-sections.txt:
15900 Documented the clocks.
15902 2005-10-28 Stefan Kost <ensonic@users.sf.net>
15904 * docs/gst/gstreamer-sections.txt:
15905 move some macros to private sections
15906 * gst/gstminiobject.c:
15907 * gst/gstminiobject.h:
15908 add descriptions provided by ds and some more
15910 mark macro as to be removed
15912 2005-10-28 Wim Taymans <wim@fluendo.com>
15914 * docs/design/part-TODO.txt:
15915 Add an item to TODO.
15917 * gst/gstiterator.c: (gst_iterator_fold),
15918 (gst_iterator_find_custom):
15919 * gst/gstiterator.h:
15922 2005-10-28 Wim Taymans <wim@fluendo.com>
15924 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
15925 (gst_base_transform_init):
15928 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
15929 An EOS event marks the queue as completely filled.
15931 2005-10-27 Wim Taymans <wim@fluendo.com>
15933 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15934 (gst_base_sink_do_sync), (gst_base_sink_get_position):
15935 Some more debugging.
15937 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
15938 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
15939 (gst_base_transform_event), (gst_base_transform_getrange),
15940 (gst_base_transform_chain):
15941 * gst/base/gstbasetransform.h:
15943 Protect transform and concurrent buffer alloc with a new lock.
15944 Try not to break ABI/API.
15946 2005-10-27 Wim Taymans <wim@fluendo.com>
15948 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15949 (gst_base_src_init), (gst_base_src_query),
15950 (gst_base_src_default_newsegment),
15951 (gst_base_src_configure_segment), (gst_base_src_do_seek),
15952 (gst_base_src_send_event), (gst_base_src_event_handler),
15953 (gst_base_src_pad_get_range), (gst_base_src_loop),
15954 (gst_base_src_unlock), (gst_base_src_default_negotiate),
15955 (gst_base_src_start), (gst_base_src_deactivate),
15956 (gst_base_src_activate_push), (gst_base_src_change_state):
15957 Move some stuff around and cleanup things.
15959 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
15961 * gst/base/gstbasesrc.c: (gst_base_src_query):
15962 Add missing break statements.
15964 2005-10-27 Wim Taymans <wim@fluendo.com>
15966 * check/gst/gstbin.c: (GST_START_TEST):
15967 An extra refcount is taken in basesrc.
15969 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
15970 (gst_base_src_get_range), (gst_base_src_pad_get_range),
15971 (gst_base_src_loop):
15972 Small cleanups, check for flushing after being unlocked from the
15973 LIVE_LOCK. take refcounts correctly (not yet everywhere).
15974 Don't send out EOS when going to READY.
15976 2005-10-27 Wim Taymans <wim@fluendo.com>
15978 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15979 (gst_base_sink_get_position):
15982 * gst/gstbin.c: (message_check), (bin_replace_message),
15983 (bin_remove_messages), (is_eos), (gst_bin_add_func),
15984 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
15985 (bin_query_duration_init), (bin_query_duration_fold),
15986 (bin_query_duration_done), (bin_query_generic_fold),
15988 * tools/gst-launch.c: (main):
15991 2005-10-26 Stefan Kost <ensonic@users.sf.net>
15993 * examples/controller/audio-example.c: (main):
15994 * examples/queue/queue.c: (event_loop):
15995 * gst/base/gstbasetransform.h:
15996 * gst/gstelement.c: (gst_element_send_event):
15998 * gst/gstpad.c: (gst_pad_send_event):
16001 changing log priority in error situations
16003 2005-10-25 Wim Taymans <wim@fluendo.com>
16005 * gst/gstbin.c: (message_check), (bin_replace_message),
16006 (bin_remove_messages), (is_eos), (gst_bin_add_func),
16007 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16008 (bin_query_duration_init), (bin_query_duration_fold),
16009 (bin_query_duration_done), (bin_query_generic_fold),
16011 Some doc and debug updates.
16012 Cache previously requested query DURATION for speed. invalidate
16013 cached duration if element posts a DURATION message.
16015 2005-10-25 Wim Taymans <wim@fluendo.com>
16017 * docs/design/part-TODO.txt:
16020 * gst/gstbin.c: (message_check), (bin_replace_message),
16021 (bin_remove_messages), (is_eos), (gst_bin_add_func),
16022 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16023 (bin_query_duration_init), (bin_query_duration_fold),
16024 (bin_query_duration_done), (bin_query_generic_fold),
16026 Handle SEGMENT_START/DONE messages correctly.
16027 More evolved query algorithm that handles duration queries
16030 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
16031 (gst_element_get_state_func), (gst_element_abort_state),
16032 (gst_element_commit_state), (gst_element_lost_state):
16033 Some more debugging.
16035 * gst/gstmessage.h:
16038 2005-10-25 Wim Taymans <wim@fluendo.com>
16040 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16041 Don't use invalid stream_time.
16043 * gst/gstevent.c: (gst_event_new_newsegment):
16044 stream_time in newsegment cannot be undefined.
16046 2005-10-24 Wim Taymans <wim@fluendo.com>
16051 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16053 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
16055 2005-10-24 Stefan Kost <ensonic@users.sf.net>
16057 * docs/libs/tmpl/gstdparam.sgml:
16058 * docs/libs/tmpl/gstdplinint.sgml:
16059 * docs/libs/tmpl/gstdpman.sgml:
16060 * docs/libs/tmpl/gstdpsmooth.sgml:
16061 * docs/libs/tmpl/gstunitconvert.sgml:
16064 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
16069 === release 0.9.4 ===
16071 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
16074 releasing 0.9.4, "Tyrannosaurus Rex"
16076 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
16078 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16079 (gst_file_sink_get_current_offset):
16080 Use fseeko() and ftello() if available. When falling back on
16081 lseek() to get the current offset, fflush() first to make sure
16082 everything is up-to-date and we get the right offset.
16084 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
16086 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16087 * gst/base/gstbasesrc.c: (gst_base_src_loop):
16088 * gst/gsterror.c: (_gst_stream_errors_init):
16090 * gst/gstqueue.c: (gst_queue_loop):
16092 remove prematurely added error category and clean up the instances
16094 2005-10-21 Wim Taymans <wim@fluendo.com>
16096 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16097 (gst_base_sink_get_position), (gst_base_sink_query),
16098 (gst_base_sink_change_state):
16099 Simply set the right flag when going to playing, that's all
16100 we need to do instead of calling a function inside the object
16101 lock (that could take the lock as well and deadlock)
16103 2005-10-21 Wim Taymans <wim@fluendo.com>
16105 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
16106 (gst_base_src_loop):
16107 Don't warn, the peer element knows what to do best when
16108 the seek failed, it might try something else.
16110 2005-10-21 Wim Taymans <wim@fluendo.com>
16112 * gst/base/gstbasesrc.c: (gst_base_src_init),
16113 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
16116 2005-10-21 Wim Taymans <wim@fluendo.com>
16118 * docs/design/part-segments.txt:
16121 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16122 Correctly set caps, even on the subbufer.
16124 2005-10-21 Wim Taymans <wim@fluendo.com>
16126 * docs/gst/gstreamer-docs.sgml:
16127 * docs/gst/gstreamer-sections.txt:
16128 * gst/gstelement.h:
16131 * gst/gstmessage.h:
16134 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
16138 And 2% more doc coverage.
16140 2005-10-21 Andy Wingo <wingo@pobox.com>
16142 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
16143 position reporting.
16145 2005-10-20 Wim Taymans <wim@fluendo.com>
16147 * gst/gsterror.c: (gst_error_get_message):
16150 * gst/gststructure.c:
16155 2005-10-20 Wim Taymans <wim@fluendo.com>
16160 Another 1% more coverage.
16162 2005-10-20 Wim Taymans <wim@fluendo.com>
16164 * docs/gst/gstreamer-sections.txt:
16165 * gst/gstelement.c: (gst_element_get_state_func),
16166 (gst_element_abort_state), (gst_element_commit_state),
16167 (gst_element_lost_state):
16169 * gst/gstquery.c: (gst_query_set_position),
16170 (gst_query_parse_position), (gst_query_set_duration),
16171 (gst_query_parse_duration), (gst_query_new_convert):
16173 Yay! 1% more docs coverage.
16175 2005-10-20 Wim Taymans <wim@fluendo.com>
16178 * gst/gstquery.c: (gst_query_set_position),
16179 (gst_query_parse_position), (gst_query_set_duration),
16180 (gst_query_parse_duration), (gst_query_new_convert):
16182 * gst/gstutils.c: (gst_element_query_convert):
16184 Docs and consistency fixes.
16186 2005-10-20 Wim Taymans <wim@fluendo.com>
16192 2005-10-20 Wim Taymans <wim@fluendo.com>
16194 * gst/gstbin.c: (message_check), (bin_replace_message),
16195 (bin_remove_messages), (is_eos), (gst_bin_add_func),
16196 (update_degree), (gst_bin_sort_iterator_next),
16197 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
16198 Reworked the message handling a bit, cache the messages instead of
16199 only the senders. alows us to do more in the future.
16201 2005-10-20 Wim Taymans <wim@fluendo.com>
16203 * docs/design/part-TODO.txt:
16206 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16207 (gst_base_sink_query):
16208 Don't use clock time to report position when in EOS.
16210 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
16212 * tools/gst-inspect.c: (print_interfaces),
16213 (print_element_properties_info), (print_element_info):
16214 Fix interface output with gst-inspect -a; don't print
16215 newlines after double/float properties.
16217 2005-10-20 Wim Taymans <wim@fluendo.com>
16219 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16220 (gst_base_sink_query):
16221 Speed up current position calculation.
16223 * gst/base/gstbasesrc.c: (gst_base_src_query),
16224 (gst_base_src_default_newsegment):
16225 Correctly set stream position in newsegment.
16227 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
16228 (update_degree), (gst_bin_sort_iterator_next),
16229 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
16230 * gst/gstmessage.c: (gst_message_new_custom):
16231 Clean up debugging info
16233 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
16234 (gst_queue_loop), (gst_queue_handle_src_query):
16237 2005-10-19 Wim Taymans <wim@fluendo.com>
16239 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16240 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16241 Fix query handling again.
16243 2005-10-19 Wim Taymans <wim@fluendo.com>
16245 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16246 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16247 * gst/base/gstbasesrc.c: (gst_base_src_query):
16248 * gst/elements/gstfilesink.c: (gst_file_sink_query):
16249 * gst/elements/gsttypefindelement.c:
16250 (gst_type_find_handle_src_query), (find_element_get_length),
16251 (gst_type_find_element_activate):
16254 * gst/gstquery.c: (gst_query_new_position),
16255 (gst_query_set_position), (gst_query_parse_position),
16256 (gst_query_new_duration), (gst_query_set_duration),
16257 (gst_query_parse_duration), (gst_query_set_segment),
16258 (gst_query_parse_segment):
16260 Bundling query position/duration is not a good idea since duration
16261 does not change much and we don't want to recalculate it for every
16262 position query, so they are separated again..
16263 Base value in segment query is not needed.
16265 * gst/gstqueue.c: (gst_queue_handle_src_query):
16266 * gst/gstutils.c: (gst_element_query_position),
16267 (gst_element_query_duration), (gst_pad_query_position),
16268 (gst_pad_query_duration):
16270 Updates for query API change.
16271 Added some docs here and there.
16273 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
16275 * check/gst/gstbin.c: (GST_START_TEST):
16276 * check/gst/gstghostpad.c: (GST_START_TEST):
16277 * check/pipelines/cleanup.c: (GST_START_TEST):
16278 wait on thread to die so we can check refcount correctly
16280 2005-10-18 Wim Taymans <wim@fluendo.com>
16282 * check/pipelines/stress.c: (GST_START_TEST):
16283 Make check a little more time consuming.
16285 2005-10-18 Wim Taymans <wim@fluendo.com>
16287 * check/Makefile.am:
16288 * check/pipelines/stress.c: (GST_START_TEST),
16289 (simple_launch_lines_suite), (main):
16290 Small state change torture test.
16292 * docs/design/part-states.txt:
16293 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16294 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
16295 (gst_base_sink_change_state):
16296 Never take state lock from streaming thread, clean up ugly
16297 hacks. Unfortunatly core does not yet support nice ways to
16298 async commit state.
16300 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
16302 Start state recalc if a STATE_DIRTY message is posted, but only
16303 on the toplevel bin.
16305 * gst/gstelement.c: (gst_element_sync_state_with_parent),
16306 (gst_element_get_state_func), (gst_element_abort_state),
16307 (gst_element_commit_state), (gst_element_lost_state),
16308 (gst_element_set_state_func), (gst_element_change_state):
16309 * gst/gstelement.h:
16310 State variables are now protected with the LOCK, the state
16311 lock is only used to serialize _set_state().
16313 2005-10-18 Wim Taymans <wim@fluendo.com>
16315 * check/gst/gstbin.c: (GST_START_TEST):
16316 * check/gst/gstmessage.c: (GST_START_TEST):
16317 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16318 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
16320 * gst/gstelement.c: (gst_element_abort_state),
16321 (gst_element_commit_state), (gst_element_lost_state):
16322 * gst/gstmessage.c: (gst_message_new_state_changed),
16323 (gst_message_new_state_dirty), (gst_message_new_segment_start),
16324 (gst_message_new_segment_done), (gst_message_new_duration),
16325 (gst_message_parse_state_changed),
16326 (gst_message_parse_segment_start),
16327 (gst_message_parse_segment_done), (gst_message_parse_duration):
16328 * gst/gstmessage.h:
16329 * tools/gst-launch.c: (event_loop):
16330 Seriously, this is better than a previous commit as we only need
16331 to notify the fact that an element changed state in a streaming
16332 thread, marking the state of the parents dirty, hence the
16333 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
16336 2005-10-18 Wim Taymans <wim@fluendo.com>
16338 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
16339 (gst_bin_recalc_func):
16340 * gst/gstelement.c: (gst_element_set_clock),
16341 (gst_element_abort_state), (gst_element_lost_state):
16342 Cleanups, prepare for state change fixes.
16344 2005-10-18 Wim Taymans <wim@fluendo.com>
16347 * gst/gstelement.c: (gst_element_class_init),
16348 (gst_element_set_state), (gst_element_set_state_func):
16349 * gst/gstelement.h:
16350 Pending ABI changes.
16351 GThreadPool in GstBinClass to monitor async state changes.
16352 state_cookie in GstElement to detect concurrent gst/set state.
16353 set_state is now virtual too in case a very complicated element
16354 has to be constructed.
16356 2005-10-18 Wim Taymans <wim@fluendo.com>
16358 * check/gst/gstbin.c: (GST_START_TEST):
16359 * check/gst/gstmessage.c: (GST_START_TEST):
16360 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16361 * gst/gstbin.c: (bin_bus_handler):
16362 * gst/gstelement.c: (gst_element_commit_state),
16363 (gst_element_lost_state):
16364 * gst/gstmessage.c: (gst_message_new_state_changed),
16365 (gst_message_new_segment_start), (gst_message_new_segment_done),
16366 (gst_message_new_duration), (gst_message_parse_state_changed),
16367 (gst_message_parse_segment_start),
16368 (gst_message_parse_segment_done), (gst_message_parse_duration):
16369 * gst/gstmessage.h:
16370 * tools/gst-launch.c: (event_loop):
16371 Make messages future proof.
16372 state-change gets a flag if it was a message comming from the
16374 segment-start/stop can also be specified in other formats.
16375 A message to notify an app that a pipeline changed playback
16377 Also fix a GstMessage leak in -launch
16379 2005-10-18 Andy Wingo <wingo@pobox.com>
16381 * gst/gstelement.c (gst_element_dispose): More helpful message.
16383 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
16385 reviewed by: <delete if not using a buddy>
16387 * common/gtk-doc.mak:
16389 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
16391 * gst/gstregistry.c: (gst_registry_scan_path_level):
16392 unref a plug-in we get that was already initialized
16394 2005-10-18 Stefan Kost <ensonic@users.sf.net>
16396 * docs/gst/gstreamer-sections.txt:
16397 * docs/libs/gstreamer-libs-sections.txt:
16398 * gst/gstelement.h:
16399 add new api entries
16400 hide internal macro
16402 2005-10-17 Andy Wingo <wingo@pobox.com>
16404 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
16407 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
16409 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
16411 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
16412 (gst_element_get_state_func): Better debug message.
16413 (gst_element_commit_state): s/INFO/DEBUG/.
16414 (gst_element_lost_state, gst_element_change_state):
16416 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
16417 (gst_message_new_custom): s/INFO/LOG/.
16419 2005-10-17 Michael Smith <msmith@fluendo.com>
16421 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16422 Check if end time is valid using end time, not start time.
16424 2005-10-17 Stefan Kost <ensonic@users.sf.net>
16426 * check/gst-libs/controller.c: (GST_START_TEST),
16427 (gst_controller_suite):
16428 * libs/gst/controller/gstcontroller.c:
16429 (gst_controlled_property_set_interpolation_mode):
16430 * libs/gst/controller/gstcontroller.h:
16431 * libs/gst/controller/gstinterpolation.c:
16432 * testsuite/controller/.cvsignore:
16433 * testsuite/controller/Makefile.am:
16434 * testsuite/controller/interpolator.c:
16435 merge controller testsuites
16437 remove mem-chunk from docs
16439 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
16441 * gst/gstmemchunk.c:
16442 * gst/gstmemchunk.h:
16443 * gst/gsttrashstack.c:
16444 * gst/gsttrashstack.h:
16445 out. get out. you're fired. to the Attic !
16447 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
16449 * gst/gstcaps.c: (gst_caps_intersect):
16450 fix signedness issues in a (hopefully) correct way
16451 * gst/gstelement.c: (gst_element_pads_activate):
16453 * gst/gstobject.c: (gst_object_set_parent):
16456 2005-10-17 Julien MOUTTE <julien@moutte.net>
16458 * gst/gstvalue.h: Fix prototypes.
16460 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16462 * docs/gst/gstreamer-sections.txt:
16463 * gst/gst.c: (gst_version_string):
16465 * gst/gstversion.h.in:
16466 * win32/common/libgstreamer.def:
16467 add gst_version_string ()
16469 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16473 * gst/gst.c: (init_post):
16474 * win32/common/config.h.in:
16476 * gst/gstcaps.c: (gst_caps_intersect):
16477 use gint64, the range could be bigger than a guint
16479 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16482 document potential problem in 2038
16484 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16486 * gst/gstcaps.c: (gst_caps_intersect):
16487 Fix guint j diving under 0
16489 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16492 * win32/common/config.h:
16493 * win32/common/config.h.in:
16494 check for process.h, declares getpid() on Windows
16496 include process.h if we have it
16497 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
16498 * gst/gstmemchunk.h:
16499 fix signedness issues
16500 * win32/common/libgstreamer.def:
16503 2005-10-16 Julien MOUTTE <julien@moutte.net>
16505 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
16506 fix. Because of unsigned ints, caps intersection was going nuts and
16507 trying to access structures with G_MAXUINT index. That fixes
16508 videotestsrc ! ffmpegcolorspace ! fakesink
16509 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
16512 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16515 use the gettext macro
16516 * gst/elements/gstelements.c:
16518 * gst/indexers/gstindexers.c:
16519 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
16520 * win32/common/config.h:
16522 * win32/common/config.h.in:
16523 add the template to generate config.h
16524 * win32/common/gstenumtypes.c:
16525 * win32/common/gstversion.h:
16528 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16530 * gst/gst.c: (gst_version):
16531 * gst/gstversion.h.in:
16534 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
16537 Oops, add missing closing bracket.
16539 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16542 use common m4's for argument checking
16544 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
16546 * docs/gst/gstreamer-sections.txt:
16548 Add GST_EVENT_TYPE_NAME() macro.
16550 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16553 * gst/gstpluginfeature.c:
16555 privatize more symbols
16557 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16560 add srcdir, builddir includes to GST_ALL_CFLAGS, since
16561 everything that uses GStreamer API should have the includes
16563 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16565 * docs/gst/gstreamer-sections.txt:
16566 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
16568 give each value a _get_type, removes the DATA exports
16570 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16574 remove _gst_registry_auto_load, not used anymore
16575 * gst/gstbin.c: (gst_bin_get_type):
16577 * gst/gstelement.c: (gst_element_get_type):
16578 * gst/gstelement.h:
16579 * gst/gstobject.c: (gst_object_get_type):
16581 * gst/gstpad.c: (gst_pad_get_type):
16583 make _get_type functions similar, fixes data export from library
16585 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16588 correctly make conditionals
16589 * gst/elements/Makefile.am:
16590 * gst/elements/gstelements.c:
16591 fix typo causing fdsrc not to build
16593 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16595 * testsuite/Makefile.am:
16596 * testsuite/bytestream/.cvsignore:
16597 * testsuite/bytestream/Makefile.am:
16598 * testsuite/bytestream/filepadsink.c:
16599 * testsuite/bytestream/gstbstest.c:
16600 * testsuite/bytestream/test1.c:
16601 * testsuite/bytestream/testfile1:
16602 * testsuite/caps/normalisation.c:
16603 * testsuite/caps/random.c: (main):
16604 * testsuite/cleanup/.cvsignore:
16605 * testsuite/cleanup/Makefile.am:
16606 * testsuite/cleanup/cleanup1.c:
16607 * testsuite/cleanup/cleanup2.c:
16608 * testsuite/cleanup/cleanup3.c:
16609 * testsuite/cleanup/cleanup4.c:
16610 * testsuite/cleanup/cleanup5.c:
16611 * testsuite/controller/interpolator.c:
16612 * testsuite/debug/printf_extension.c: (main):
16613 * testsuite/elements/tee.c:
16614 * testsuite/negotiation/.cvsignore:
16615 * testsuite/negotiation/Makefile.am:
16616 * testsuite/negotiation/pad_link.c:
16617 * testsuite/pad/Makefile.am:
16618 * testsuite/pad/chainnopull.c:
16619 * testsuite/pad/getnopush.c:
16620 * testsuite/pad/link.c:
16621 * testsuite/refcounting/sched.c: (create_pipeline):
16622 * testsuite/registry/Makefile.am:
16623 * testsuite/registry/gst-print-formats.c:
16624 * testsuite/schedulers/.cvsignore:
16625 * testsuite/schedulers/142183-2.c:
16626 * testsuite/schedulers/142183.c:
16627 * testsuite/schedulers/143777-2.c:
16628 * testsuite/schedulers/143777.c:
16629 * testsuite/schedulers/147713.c:
16630 * testsuite/schedulers/147819.c:
16631 * testsuite/schedulers/147894-2.c:
16632 * testsuite/schedulers/147894.c:
16633 * testsuite/schedulers/Makefile.am:
16634 * testsuite/schedulers/group_link.c:
16635 * testsuite/schedulers/queue_link.c:
16636 * testsuite/schedulers/relink.c:
16637 * testsuite/schedulers/unlink.c:
16638 * testsuite/schedulers/unref.c:
16639 * testsuite/schedulers/useless_iteration.c:
16640 * testsuite/states/bin.c:
16641 clean out/remove some stuff from the testsuite directories
16643 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16646 check for some headers
16647 * gst/elements/Makefile.am:
16648 * gst/elements/gstelements.c:
16649 don't compile fdsrc without sys/socket.h
16650 * gst/indexers/Makefile.am:
16651 * gst/indexers/gstindexers.c: (plugin_init):
16652 don't compile fileindex without mmap
16654 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16661 * check/Makefile.am:
16662 * docs/gst/Makefile.am:
16663 * examples/helloworld/Makefile.am:
16665 * gst/base/Makefile.am:
16666 * gst/check/Makefile.am:
16667 * gst/elements/Makefile.am:
16668 * gst/indexers/Makefile.am:
16669 * gst/parse/Makefile.am:
16670 * libs/gst/controller/Makefile.am:
16671 * libs/gst/dataprotocol/Makefile.am:
16672 * examples/helloworld/helloworld.c: (event_loop):
16673 compile fixes, though it's not being compiled currently
16675 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
16677 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
16678 Add some simple tests for the new taglist date API.
16680 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
16682 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
16683 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
16684 Beautify 'last-message' output: print 'none' for buffer timestamps
16685 and durations if none is set; improve alignment with next messages.
16687 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
16689 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
16690 * gst/gstpluginfeature.h:
16691 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
16692 * gst/gstregistry.h:
16693 * docs/gst/gstreamer-sections.txt:
16694 Add new API to check plugin feature version requirements.
16696 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
16697 Some basic tests for the above.
16699 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
16701 * gst/gststructure.c: (gst_structure_to_string):
16702 guard against NULL printf - happens when for example
16703 a message structure with GstClock gets serialized
16705 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
16707 * gst/base/gstcollectpads.c: (gst_collectpads_event):
16708 Fix presumable copy'n'pasto.
16710 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
16712 * gst/elements/gstfakesrc.h:
16713 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
16714 * gst/elements/gsttypefindelement.c:
16715 fix some signedness
16716 * gst/elements/gstfilesink.c: (gst_file_sink_render):
16717 I wonder if this could actually write +2GB files before
16719 2005-10-13 Andy Wingo <wingo@pobox.com>
16721 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
16722 Fix Timmeke Waymans bug.
16723 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
16724 string of the proper length to gst_caps_from_string. There's a
16725 potential for, before this fix, that this could cause someone
16726 connecting over the network to cause a segfault if the payload is
16727 not NUL-terminated.
16729 2005-10-13 Stefan Kost <ensonic@users.sf.net>
16731 * docs/design/draft-push-pull.txt:
16732 * docs/design/part-overview.txt:
16733 * docs/random/TODO-pre-0.9:
16734 * docs/random/old/ChangeLog.gstreamer:
16735 * gst/base/gstpushsrc.c:
16739 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
16741 * gst/glib-compat.c: (gst_flags_get_first_value):
16742 * gst/glib-compat.h:
16743 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
16744 (gst_value_compare_double), (gst_value_serialize_flags):
16745 GLib 2.6 g_flags_get_first_value has a bug that triggers an
16748 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
16750 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16751 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16753 * tools/gst-launch.c: (event_loop):
16754 print out clock nicely
16756 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
16758 * docs/gst/gstreamer-sections.txt:
16759 * gst/gsttaglist.h:
16760 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
16761 (gst_tag_list_get_date_index):
16762 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
16763 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
16765 2005-10-13 Julien MOUTTE <julien@moutte.net>
16767 * gst/base/gstcollectpads.c: (gst_collectpads_event),
16768 (gst_collectpads_chain):
16769 * gst/base/gstcollectpads.h: Handle newsegment and store informations
16772 2005-10-13 Stefan Kost <ensonic@users.sf.net>
16774 * docs/gst/gstreamer-sections.txt:
16777 * tools/gst-inspect.c: (main):
16778 * tools/gst-launch.c: (main):
16779 * tools/gst-run.c: (main):
16780 * tools/gst-xmlinspect.c: (main):
16781 fix GOption context leaks
16784 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
16788 * win32/common/config.h:
16790 * win32/vs6/grammar.dsp:
16791 * win32/vs6/libgstelements.dsp:
16792 * win32/vs6/libgstreamer.dsp:
16795 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
16797 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16798 * gst/base/gstbasesrc.c: (gst_base_src_query):
16799 fix more guint64<->gdouble conversions
16801 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
16804 add win32-update target
16805 * win32/common/gstconfig.h:
16806 * win32/common/gstenumtypes.c:
16807 * win32/common/gstenumtypes.h:
16808 * win32/common/gstversion.h:
16809 add files that visual studio can't generate
16811 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
16814 add a win32-update target
16817 2005-10-12 Wim Taymans <wim@fluendo.com>
16819 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16820 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
16821 * gst/gstelement.c: (gst_element_commit_state),
16822 (gst_element_set_state):
16823 Protect flags with proper lock.
16824 unref provided cached clock in dispose.
16826 2005-10-12 Stefan Kost <ensonic@users.sf.net>
16829 * gst/gstminiobject.h:
16831 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
16832 removed unused flags from miniobject
16835 2005-10-12 Wim Taymans <wim@fluendo.com>
16837 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16838 (gst_file_sink_event), (gst_file_sink_render):
16839 Flush before seeking.
16841 2005-10-12 Andy Wingo <wingo@pobox.com>
16843 * gst/gst.c (gst_init_check): Ignore unknown options, as has
16844 always been the case.
16846 2005-10-12 Stefan Kost <ensonic@users.sf.net>
16848 * check/gst/gstbin.c: (GST_START_TEST):
16849 * docs/gst/gstreamer-sections.txt:
16850 * gst/base/gstbasesink.c: (gst_base_sink_init):
16851 * gst/base/gstbasesrc.c: (gst_base_src_init),
16852 (gst_base_src_get_range), (gst_base_src_check_get_range),
16853 (gst_base_src_start), (gst_base_src_stop):
16854 * gst/base/gstbasesrc.h:
16855 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
16856 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16857 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
16861 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
16863 * gst/gstelement.c: (gst_element_is_locked_state),
16864 (gst_element_set_locked_state), (gst_element_commit_state),
16865 (gst_element_set_state):
16866 * gst/gstelement.h:
16867 * gst/gstindex.c: (gst_index_init):
16869 * gst/gstminiobject.h:
16870 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
16871 (gst_object_set_parent):
16873 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
16874 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
16876 * gst/gstpadtemplate.h:
16877 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
16878 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16879 * gst/gstpipeline.h:
16880 * gst/indexers/gstfileindex.c: (gst_file_index_load),
16881 (gst_file_index_commit):
16882 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
16883 * testsuite/pad/link.c: (gst_test_src_init),
16884 (gst_test_filter_init), (gst_test_sink_init):
16885 * testsuite/states/locked.c: (main):
16886 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
16887 moved bitshift from macro to enum definition
16889 2005-10-12 Wim Taymans <wim@fluendo.com>
16891 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
16892 * gst/elements/gstfilesink.c: (gst_file_sink_event),
16893 (gst_file_sink_render):
16894 Some more debugging info.
16896 2005-10-12 Wim Taymans <wim@fluendo.com>
16898 * docs/design/part-states.txt:
16899 * tools/gst-launch.c: (main):
16901 Revert non-intentional change.
16903 2005-10-12 Wim Taymans <wim@fluendo.com>
16905 * check/gst/gstbin.c: (GST_START_TEST):
16906 * check/gst/gstelement.c: (GST_START_TEST):
16907 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
16908 * check/gst/gstghostpad.c: (GST_START_TEST):
16909 * check/gst/gstpipeline.c: (GST_START_TEST):
16910 * check/pipelines/simple_launch_lines.c: (run_pipeline):
16911 * check/states/sinks.c: (GST_START_TEST):
16912 * gst/elements/gsttypefindelement.c: (stop_typefinding):
16913 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16914 (gst_bin_remove_func), (gst_bin_get_state_func),
16915 (gst_bin_recalc_state), (gst_bin_change_state_func),
16917 * gst/gstelement.c: (gst_element_get_state_func),
16918 (gst_element_get_state), (gst_element_abort_state),
16919 (gst_element_commit_state), (gst_element_set_state),
16920 (gst_element_change_state), (gst_element_change_state_func):
16921 * gst/gstelement.h:
16922 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
16923 (gst_pipeline_provide_clock_func):
16924 * gst/gstutils.c: (gst_element_link_pads_filtered):
16925 * tools/gst-launch.c: (main):
16926 * tools/gst-typefind.c: (main):
16927 Use GstClockTime in _get_state() instead of GTimeVal.
16928 Remove old code in gstutils.c
16930 2005-10-12 Andy Wingo <wingo@pobox.com>
16932 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
16935 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
16936 there is no task. Shouldn't affect any code, as nothing in our
16937 plugins checks this return value.
16938 (gst_pad_stop_task): Also take the stream lock if the pad has no
16939 task. Docs updated.
16941 2005-10-12 Wim Taymans <wim@fluendo.com>
16943 * gst/gstpad.c: (pre_activate), (post_activate),
16944 (gst_pad_activate_pull), (gst_pad_activate_push):
16945 Cleanup activation code. Reset old state if
16948 2005-10-12 Wim Taymans <wim@fluendo.com>
16950 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16951 (gst_base_sink_change_state):
16952 No need to prerol after receiving EOS.
16954 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
16955 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
16956 * gst/elements/gstidentity.c: (gst_identity_event):
16957 Print events more verbosely.
16959 2005-10-12 Wim Taymans <wim@fluendo.com>
16961 * check/Makefile.am:
16962 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
16963 * check/states/sinks2.c:
16964 Moved sinks2 testcode in sinks check.
16966 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16967 (gst_bin_remove_func), (gst_bin_recalc_state),
16968 (gst_bin_change_state_func), (bin_bus_handler):
16969 Fix potential race condition when _get_state() iterated over an
16970 ASYNC element right before it posted a state completion.
16973 Do proper cast here.
16975 * gst/gstevent.c: (gst_event_new_newsegment),
16976 (gst_event_parse_newsegment):
16977 A playback rate of 0.0 is not allowed.
16979 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
16981 * win32/common/config.h:
16982 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
16983 (_trewinddir), (_ttelldir), (_tseekdir):
16984 * win32/common/dirent.h:
16985 * win32/common/gtchar.h:
16986 * win32/common/libgstbase.def:
16987 * win32/common/libgstreamer.def:
16988 * win32/vs6/grammar.dsp:
16989 * win32/vs6/gst_inspect.dsp:
16990 * win32/vs6/gst_launch.dsp:
16991 * win32/vs6/gstreamer.dsw:
16992 * win32/vs6/libgstbase.dsp:
16993 * win32/vs6/libgstelements.dsp:
16994 * win32/vs6/libgstreamer.dsp:
16995 Visual Studio 6 project files, and a new common directory.
16998 2005-10-11 Wim Taymans <wim@fluendo.com>
17000 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17001 (gst_base_sink_do_sync), (gst_base_sink_query),
17002 (gst_base_sink_change_state):
17003 * gst/base/gstbasesink.h:
17004 Correctly parse newsegment info.
17006 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17008 * gst/gst.c: (init_post):
17009 split plugin paths correctly
17011 2005-10-11 Wim Taymans <wim@fluendo.com>
17013 * check/gst/gstevent.c: (GST_START_TEST):
17014 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17015 (gst_base_sink_change_state):
17016 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
17017 * gst/base/gstbasetransform.c: (gst_base_transform_event):
17018 * gst/elements/gstfilesink.c: (gst_file_sink_event):
17019 * gst/gstevent.c: (gst_event_new_newsegment),
17020 (gst_event_parse_newsegment):
17022 Added extra flag to newsegment for future API freeze.
17023 Updated check and base elements.
17025 2005-10-11 Julien MOUTTE <julien@moutte.net>
17027 * gst/base/gstcollectpads.c: (gst_collectpads_init),
17028 (gst_collectpads_add_pad), (gst_collectpads_pop),
17029 (gst_collectpads_event), (gst_collectpads_chain):
17030 * gst/base/gstcollectpads.h: Handle EOS correctly.
17032 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17034 * tools/gst-launch.c: (main):
17035 more null protecting
17037 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17039 * gst/gst-i18n-lib.h:
17040 check for ENABLE_NLS, not GETTEXT_PACKAGE
17041 * gst/gstregistry.c: (gst_registry_add_plugin),
17042 (gst_registry_scan_path_level),
17043 (_gst_registry_remove_cache_plugins):
17044 protect possibly NULL strings
17045 * gst/parse/types.h:
17046 config.h already included before
17047 * tools/gst-inspect.c: (main):
17048 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
17049 check for ENABLE_NLS, not GETTEXT_PACKAGE
17050 * tools/gst-launch.c: (main):
17051 check for ENABLE_NLS, not GETTEXT_PACKAGE
17053 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17056 if we don't have glib, fail before testing 2.8
17057 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
17058 fix a leak, should fix plugins-base testsuite
17060 2005-10-11 Andy Wingo <wingo@pobox.com>
17062 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
17063 take the mode we're going to as an arg. Go head and set the mode
17064 and flushing flags now, so that if the activate function starts a
17065 thread all the flags will be in the right state.
17066 (post_activate): Renamed also. Just handle making sure streaming
17067 finishes for the deactivation case, and setting the deactivated
17069 (gst_pad_set_active): Complain loudly if deactivation fails.
17070 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
17071 (gst_pad_activate_push): Adapt to pre/post_activate changes,
17072 remove the terrible hack.
17074 2005-10-11 Wim Taymans <wim@fluendo.com>
17076 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17077 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
17078 (gst_bin_recalc_state), (gst_bin_change_state_func),
17079 (gst_bin_dispose), (bin_bus_handler):
17081 Prepare to make current EOS message queue more generic.
17084 * gst/gstevent.c: (gst_event_new_newsegment),
17085 (gst_event_parse_newsegment):
17087 Rename base to stream_time.
17089 * gst/gstmessage.h:
17092 2005-10-11 Wim Taymans <wim@fluendo.com>
17094 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17095 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
17096 (gst_bin_change_state_func), (bin_bus_handler):
17098 Work on proper clock selection.
17100 2005-10-11 Edward Hervey <edward@fluendo.com>
17102 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
17103 * libs/gst/controller/gstcontroller.h:
17104 Added GList* version of _remove_properties() in order to be able to wrap
17107 2005-10-11 Wim Taymans <wim@fluendo.com>
17109 * docs/design/part-states.txt:
17112 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
17113 (gst_bin_change_state_func), (bin_bus_handler):
17114 Doc updates. Don't distribute the same clock over and over again.
17120 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
17121 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
17122 (gst_pad_send_event):
17124 Make probe emission threadsafe again.
17125 Register quarks and move _get_name() from utils.
17128 * gst/gstpipeline.c: (gst_pipeline_class_init),
17129 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17130 Only redistribute the clock of it changed.
17132 * gst/gstsystemclock.h:
17137 Moved the _flow_get_name() to GstPad.
17139 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17141 * check/gst-libs/gdp.c: (GST_START_TEST):
17142 * check/gst/gstcaps.c: (GST_START_TEST):
17143 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
17144 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
17145 (gst_dp_packet_from_caps):
17146 fix more valgrind warnings before turning up the heat
17148 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17150 * gst/parse/grammar.y:
17151 some cleanup before the hacking
17153 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
17155 * gst/base/gstbasesrc.c: (gst_base_src_query):
17157 * gst/gstutils.c: (gst_guint64_to_gdouble),
17158 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
17160 externalize, basesrc uses it
17161 obviously the implementation needs testing
17163 2005-10-10 Wim Taymans <wim@fluendo.com>
17165 * tests/sched/Makefile.am:
17166 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
17167 (make_pipeline3), (make_pipeline4), (print_elem), (main):
17169 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
17171 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
17172 apparently converting from guint64 to double is not implemented
17175 2005-10-10 Wim Taymans <wim@fluendo.com>
17177 * check/Makefile.am:
17178 * check/generic/states.c: (GST_START_TEST):
17179 * check/gst/gstbin.c: (GST_START_TEST):
17180 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17181 * check/states/sinks.c: (GST_START_TEST):
17182 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
17184 Check fixes, use API as stated in design docs, remove hacks.
17186 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17187 (gst_base_sink_change_state):
17188 Catch stopping our task while we're shutting down.
17190 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
17191 (gst_bin_remove_func), (gst_bin_get_state_func),
17192 (gst_bin_recalc_state), (gst_bin_change_state_func),
17195 * gst/gstelement.c: (gst_element_init),
17196 (gst_element_get_state_func), (gst_element_abort_state),
17197 (gst_element_commit_state), (gst_element_lost_state),
17198 (gst_element_set_state), (gst_element_change_state),
17199 (gst_element_change_state_func):
17200 * gst/gstelement.h:
17201 New state change algorithm (see #318116)
17203 * gst/gstpipeline.c: (gst_pipeline_class_init),
17204 (gst_pipeline_init), (gst_pipeline_set_property),
17205 (gst_pipeline_get_property), (do_pipeline_seek),
17206 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17207 * gst/gstpipeline.h:
17208 Remove crude state change hacks.
17211 Remove crude hacks.
17213 * tools/gst-launch.c: (main):
17214 Fixes for state change. Needs some more work to fully use the
17217 2005-10-10 Andy Wingo <wingo@pobox.com>
17219 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
17221 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
17222 this flag, but it's not even in GLib 2.6. Odd. Hack around the
17225 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
17227 * gst/gstiterator.c: (gst_iterator_new):
17228 Fix my previous commit: GTypes passed to gst_iterator_new()
17229 can be fundamental types.
17231 2005-10-10 Wim Taymans <wim@fluendo.com>
17233 * gst/gstelement.c: (gst_element_iterate_pad_list),
17234 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
17235 (gst_element_iterate_sink_pads):
17236 Use src/sink pads lists for the respective iterators instead
17239 2005-10-10 Andy Wingo <wingo@pobox.com>
17241 Merged in popt removal + GOption addition patch from Ronald, bug
17244 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
17245 GstElement macros around, remove popt-related symbols, add goption
17248 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
17250 * docs/gst/Makefile.am:
17251 * docs/libs/Makefile.am: No POPT_CFLAGS.
17253 * examples/manual/Makefile.am:
17254 * docs/manual/basics-init.xml: Doc updates with an example.
17256 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
17257 (gst_init), (parse_one_option), (parse_goption_arg):
17258 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
17259 bit of hand merging and debugging to get the GOption stuff working
17262 * tests/Makefile.am:
17263 * tools/Makefile.am:
17264 * tools/gst-inspect.c: (main):
17265 * tools/gst-launch.c: (main):
17266 * tools/gst-run.c: (main):
17267 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
17269 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
17271 * gst/gstiterator.c: (gst_iterator_new):
17272 Add assertions to make sure passed GType is likely to really
17273 be a GType (as the compiler won't catch it if the size and
17274 GType arguments get mixed up, see #318447).
17276 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
17278 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
17280 * gst/gstbin.c: (gst_bin_iterate_sorted):
17281 Pass GType and size arguments to gst_iterator_new() in the right
17282 order (maybe we should make _new() take the GType as first argument
17283 just like _new_list()?) (#318447).
17286 2005-10-10 Wim Taymans <wim@fluendo.com>
17288 * gst/gstelement.c: (gst_element_finalize):
17289 And free the GStaticRecMutex too
17291 2005-10-10 Andy Wingo <wingo@pobox.com>
17293 * gst/gstelement.c (gst_element_init, gst_element_finalize):
17294 Allocate and free the mutex properly.
17296 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
17298 (GstElement): The state_lock is now recursive. Rebuild your
17299 plugins, suckers. Old macros adapted.
17301 * docs/gst/gstreamer-sections.txt: Doc updates.
17304 * gst/gstutils.c (g_static_rec_cond_timed_wait)
17305 (g_static_rec_cond_wait): Ported from state changes patch, while
17306 we wait on bug #317802 to be solved in a well-distributed GLib.
17308 * gst/gstelement.c (gst_element_change_state_func): Renamed from
17309 gst_element_change_state, variable name changes.
17310 (gst_element_change_state): Split out of gst_element_set_state in
17311 preparation for the state change merge. Doesn't pay attention to
17312 the 'transition' argument.
17313 (gst_element_set_state): Updates, hopefully purely cosmetic.
17314 (gst_element_sync_state_with_parent): MT-safety. Ported from the
17315 state change patch.
17316 (gst_element_get_state_func): Renamed from get_state, cosmetic
17319 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
17321 * gst/elements/gstelements.c:
17322 * win32/GStreamer.vcproj:
17324 * win32/dirent.c: (_tseekdir):
17325 * win32/gst-inspect.vcproj:
17326 * win32/gst-launch.vcproj:
17327 * win32/gstconfig.h:
17328 * win32/gstelements.vcproj:
17329 * win32/gstenumtypes.c: (gst_object_flags_get_type):
17330 * win32/gstreamer.def:
17331 * win32/msvc71.sln:
17332 updates for the win32 build (patch from Sebastien Moutte)
17334 2005-10-10 Andy Wingo <wingo@pobox.com>
17336 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
17337 gst_bin_get_state, cleaned up (but no logic changes).
17338 (bin_element_is_sink): Comment updates.
17339 (sink_iterator_filter): Remove needless cast.
17340 (gst_bin_iterate_sinks): Doc update.
17341 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
17342 cleaned up (but no logic changes).
17344 * check/states/sinks.c (test_src_sink): Cleanups from the state
17346 (test_livesrc_sink): Sync on the state.
17348 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
17349 the state change patch.
17351 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
17354 * check/gst/gstbin.c: Merge in some style fixes and additional
17355 checks from Wim's state change patch.
17357 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
17359 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17360 (gst_type_find_helper):
17361 Check whether we have the requested data already in our list of
17362 cached buffers before pulling a new buffer; also make the buffer
17363 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
17365 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
17370 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17371 don't use long long, it's not portable. Replacing with
17372 gint64 seems to work; let's hope no skeletons fall out of the closet.
17374 2005-10-10 Andy Wingo <wingo@pobox.com>
17376 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
17378 2005-10-09 Stefan Kost <ensonic@users.sf.net>
17380 * docs/gst/gstreamer-sections.txt:
17385 * gst/gstmessage.c: (gst_message_parse_state_changed):
17388 more docs, fix compilation
17390 2005-10-09 Philippe Khalaf <burger@speedy.org>
17391 * gst/gstmessage.c:
17392 Fixed a few forgotten variables on previous commit
17394 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
17396 * gst/base/gsttypefindhelper.c: (helper_find_peek):
17397 Fix evil typefind crasher: getrange() might return a short
17398 buffer at the end of a file, but gst_type_find_peek() must
17399 either return the full data as requested or NULL, but
17400 never a short buffer.
17402 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
17404 * gst/gstmessage.c: (gst_message_new_state_changed),
17405 (gst_message_parse_state_changed):
17406 * gst/gstmessage.h:
17407 don't use "new", it's a C++ keyword
17409 2005-10-08 Wim Taymans <wim@fluendo.com>
17411 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
17412 * gst/gstelement.c: (gst_element_post_message):
17413 * gst/gstpipeline.c: (gst_pipeline_change_state):
17414 Small docs and debug updates.
17416 2005-10-08 Stefan Kost <ensonic@users.sf.net>
17418 * docs/gst/gstreamer-sections.txt:
17419 * gst/gstelementfactory.c:
17421 * gst/gsttaglist.c:
17424 2005-10-08 Wim Taymans <wim@fluendo.com>
17426 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
17427 (gst_bin_dispose), (bin_bus_handler):
17428 Fix typos, add comments.
17429 Clear EOS list when going to PAUSED from any direction and do it
17430 in a threadsafe way.
17431 Get base time in a threadsafe way too.
17432 Fix confusing debug in the change_state function.
17433 Various other small cleanups.
17435 * gst/gstelement.c: (gst_element_post_message):
17436 Fix very verbose bus posting code.
17438 * gst/gstpipeline.c: (gst_pipeline_class_init),
17439 (gst_pipeline_set_property), (gst_pipeline_get_property),
17440 (gst_pipeline_change_state):
17441 Small ARG_ -> PROP_ cleanup
17443 2005-10-08 Wim Taymans <wim@fluendo.com>
17445 * gst/gstbin.c: (is_eos), (bin_bus_handler):
17446 Do a less CPU demanding EOS check because we can.
17448 2005-10-08 Wim Taymans <wim@fluendo.com>
17450 * libs/gst/dataprotocol/dataprotocol.c:
17451 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
17452 (gst_dp_packet_from_event):
17453 * libs/gst/dataprotocol/dataprotocol.h:
17454 * libs/gst/dataprotocol/dp-private.h:
17455 It's about time we bump the version number.
17456 Since event types don't fit in the guint8 anymore describing
17457 the payload type, make payload type 16 bits wide.
17459 2005-10-08 Wim Taymans <wim@fluendo.com>
17461 * docs/design/part-TODO.txt:
17462 * docs/design/part-clocks.txt:
17463 * docs/design/part-events.txt:
17464 * docs/design/part-gstbin.txt:
17465 * docs/design/part-gstelement.txt:
17466 * docs/design/part-gstpipeline.txt:
17467 * docs/design/part-live-source.txt:
17468 * docs/design/part-messages.txt:
17469 * docs/design/part-overview.txt:
17470 * docs/design/part-states.txt:
17473 2005-10-08 Wim Taymans <wim@fluendo.com>
17477 Fix event quark registration.
17478 Add some space between events so we can insert them in the
17481 2005-10-08 Wim Taymans <wim@fluendo.com>
17483 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17484 (gst_base_sink_handle_buffer):
17485 Better log message.
17488 * gst/gstelement.h:
17491 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17492 (gst_queue_set_property), (gst_queue_get_property):
17494 Remove old unused properties.
17496 2005-10-08 Stefan Kost <ensonic@users.sf.net>
17497 * docs/gst/gstreamer-sections.txt:
17498 * gst/gstmessage.c:
17499 * gst/gstmessage.h:
17500 * gst/gstminiobject.c:
17501 * gst/gstminiobject.h:
17505 lots of new docs and doc fixes
17507 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
17509 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
17511 * gst/gstregistry.c: (gst_registry_lookup_locked),
17512 (gst_registry_scan_path_level):
17513 * gst/gstregistryxml.c: (load_plugin):
17514 Only ever load one plugin for a given plugin basename.
17515 This ensures correct overriding of GST_PLUGIN_PATH over
17516 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
17517 system installed plugins.
17519 2005-10-08 Wim Taymans <wim@fluendo.com>
17521 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17522 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
17523 Prepare for doing QOS.
17525 2005-10-08 Wim Taymans <wim@fluendo.com>
17527 * check/gst/gstbin.c: (GST_START_TEST):
17528 * check/pipelines/cleanup.c: (GST_START_TEST):
17529 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
17530 Allow new clock message too.
17532 2005-10-08 Wim Taymans <wim@fluendo.com>
17534 * gst/gstmessage.c: (gst_message_new_error),
17535 (gst_message_new_warning), (gst_message_new_tag),
17536 (gst_message_new_state_changed), (gst_message_new_clock_provide),
17537 (gst_message_new_clock_lost), (gst_message_new_new_clock),
17538 (gst_message_new_segment_start), (gst_message_new_segment_done),
17539 (gst_message_parse_state_changed),
17540 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
17541 (gst_message_parse_new_clock):
17542 * gst/gstmessage.h:
17543 Also carry the clock in question.
17545 2005-10-08 Wim Taymans <wim@fluendo.com>
17547 * gst/gstmessage.c: (gst_message_new_custom),
17548 (gst_message_new_eos), (gst_message_new_error),
17549 (gst_message_new_warning), (gst_message_new_tag),
17550 (gst_message_new_state_changed), (gst_message_new_clock_provide),
17551 (gst_message_new_new_clock), (gst_message_new_segment_start),
17552 (gst_message_new_segment_done), (gst_message_parse_state_changed),
17553 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
17554 * gst/gstmessage.h:
17556 Added clock related messages.
17558 * gst/gstpipeline.c: (gst_pipeline_change_state):
17559 Post message when the clock changed.
17561 * tools/gst-launch.c: (event_loop):
17564 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
17566 * tools/gst-inspect.c: (print_element_properties_info):
17567 Can't pass NULL strings to g_print() on windows.
17569 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
17571 * docs/Makefile.am:
17572 * docs/gst/Makefile.am:
17573 * docs/gst/gstreamer-docs.sgml:
17574 * docs/gst/running.xml:
17575 * docs/version.entities.in:
17576 add a chapter on running GStreamer.
17577 document GST_DEBUG and GST_PLUGIN* env vars
17579 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
17584 remove PLUGINS_BUILDDIR stuff
17585 * gst/gst.c: (init_post):
17586 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
17588 remove, it was condescending and not needed
17590 2005-10-08 Wim Taymans <wim@fluendo.com>
17592 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
17593 (gst_base_sink_handle_object), (gst_base_sink_event),
17594 (gst_base_sink_wait), (gst_base_sink_handle_event),
17595 (gst_base_sink_change_state):
17596 * gst/base/gstbasesink.h:
17597 Repost EOS message while going to PLAYING if still EOS.
17598 Make sure that when receiving a FLUSH_START we don't attempt
17599 to sync on the clock anymore.
17601 2005-10-08 Wim Taymans <wim@fluendo.com>
17603 * tools/gst-launch.c: (event_loop):
17604 Better message printout.
17606 2005-10-08 Wim Taymans <wim@fluendo.com>
17608 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
17609 (gst_bin_child_proxy_get_children_count):
17610 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17611 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
17612 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
17613 (gst_child_proxy_set_valist):
17614 * gst/parse/grammar.y:
17615 Make ChildProxy threadsafe and fix mem leaks.
17617 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
17619 * gst/gst.c: (init_post):
17620 debug the GST_PLUGIN_ env vars
17622 2005-10-08 Wim Taymans <wim@fluendo.com>
17624 * check/gst/gstbin.c: (GST_START_TEST):
17625 * check/gst/gstmessage.c: (GST_START_TEST):
17626 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17627 * gst/gstelement.c: (gst_element_commit_state),
17628 (gst_element_lost_state):
17629 * gst/gstmessage.c: (gst_message_new_state_changed),
17630 (gst_message_parse_state_changed):
17631 * gst/gstmessage.h:
17632 * tools/gst-launch.c: (event_loop):
17633 Added extra field to STATE_CHANGE message with the pending
17634 state, which will be different from the new state soon.
17636 2005-10-08 Wim Taymans <wim@fluendo.com>
17638 * gst/gstbus.c: (gst_bus_pop):
17640 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17641 Small cleanups and doc updates.
17643 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
17645 * gst/gst.c: (init_pre):
17646 * gst/gstbin.c: (gst_bin_add_func):
17647 log distributing clocks and base time
17648 * gst/gstregistry.c: (gst_registry_add_plugin),
17649 (gst_registry_scan_path_level), (gst_registry_scan_path):
17650 clean up the debugging output a little
17651 * gst/gstutils.c: (gst_element_state_get_name):
17652 warn about a memleak (I've actually seen this be used, though
17653 it was probably a bug)
17655 2005-10-07 Wim Taymans <wim@fluendo.com>
17657 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17658 (gst_base_src_init), (gst_base_src_default_newsegment),
17659 (gst_base_src_newsegment), (gst_base_src_do_seek),
17660 (gst_base_src_loop), (gst_base_src_start):
17661 * gst/base/gstbasesrc.h:
17662 Make the newsegment event customizable by subclasses.
17664 2005-10-07 Wim Taymans <wim@fluendo.com>
17666 * gst/gstevent.c: (gst_event_new_buffersize),
17667 (gst_event_parse_buffersize):
17669 New event for future idea.
17671 2005-10-07 Andy Wingo <wingo@pobox.com>
17673 * gst/gstelement.c (gst_element_post_message): Doc update.
17675 * docs/gst/gstreamer-sections.txt: Update.
17677 * gst/gstmessage.c (gst_message_new_application): Made into a
17678 function like honest API calls.
17679 (gst_message_new_element): New message type.
17681 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
17683 * check/elements/fakesrc.c (test_no_preroll): New check, checks
17684 that setting a live fakesrc to PAUSED returns NO_PREROLL both
17687 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
17688 NO_PREROLL from gst_element_change_state to fall through.
17690 2005-10-07 Wim Taymans <wim@fluendo.com>
17692 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
17693 (gst_ghost_pad_do_activate_push):
17694 Activating a ghostpad with no internal pad in push mode
17697 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
17700 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
17701 Fixes compilation on Windows.
17703 2005-10-07 Michael Smith <msmith@fluendo.com>
17705 * tools/gst-inspect.c:
17706 Print out feature and plugin count at the end when printing out
17709 2005-10-04 Michael Smith <msmith@fluendo.com>
17711 * gst/gsterror.c: (_gst_stream_errors_init):
17712 Add another error string used in a few existing plugins.
17715 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17716 * tools/gst-inspect.c: (print_element_info):
17717 When a feature disappears from a plugin (and the feature exists in
17718 the cached registry file), things went horribly wrong. This isn't a
17719 complete fix, we should actually be removing the 'missing' features
17720 from the features list when we load the actual plugin. That's not
17723 2005-10-04 Johan Dahlin <johan@gnome.org>
17725 * check/gst/gstiterator.c: (GST_START_TEST):
17726 * gst/gstbin.c: (gst_bin_iterate_elements),
17727 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
17728 * gst/gstelement.c: (gst_element_iterate_pads):
17729 * gst/gstformat.c: (gst_format_iterate_definitions):
17730 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17731 (gst_iterator_new_list), (gst_iterator_filter):
17732 * gst/gstiterator.h:
17733 * gst/gstquery.c: (gst_query_type_iterate_definitions):
17734 Add a GType to GstIterator, update callsites and tests.
17736 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
17738 * gst/gstpad.c: (gst_pad_event_default_dispatch):
17739 give events a chance to be handled by event probes when the pad
17742 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
17744 * gst/gstevent.c: (gst_event_type_get_name),
17745 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
17747 add string representations for event types
17749 2005-10-06 Wim Taymans <wim@fluendo.com>
17751 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
17752 Don't use NULL pointers.
17754 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
17756 * gst/gst_private.h:
17758 * gst/gstelement.c:
17760 * gst/gstpluginfeature.c:
17761 widen the debug category in output to fit the biggest one we have
17762 add a bus category and use it
17763 play with the colors
17764 fix up some categories
17766 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
17768 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
17769 add push activation of sink ghost pads.
17770 Andye, please verify
17772 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
17774 * gst/gstutils.c: (gst_element_link_pads):
17775 fix a bug in the case where neither element has a pad
17776 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
17777 add a test for that case
17779 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
17781 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
17782 emit have-data before checking for peers. This allows
17783 for probe handlers to connect elements. This helps autopluggers.
17784 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
17786 add six checks, linked/unlinked with no/true/false probe
17788 2005-10-04 Wim Taymans <wim@fluendo.com>
17790 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
17791 (gst_fake_sink_event), (gst_fake_sink_preroll),
17792 (gst_fake_sink_render), (gst_fake_sink_change_state):
17793 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
17794 (gst_fake_src_get_property), (gst_fake_src_create),
17795 (gst_fake_src_stop):
17796 * gst/elements/gstidentity.c: (gst_identity_stop):
17797 Protect last_message with lock.
17799 2005-10-04 Edward Hervey <edward@fluendo.com>
17802 Added precision in the comments for GST_FORMAT_DEFAULT
17804 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
17806 * tools/gst-launch.c: (main):
17807 Don't try to run erroneous pipelines.
17809 2005-10-04 Julien MOUTTE <julien@moutte.net>
17811 * gst/gstbus.c: We don't need this header.
17813 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
17816 back to development
17818 === release 0.9.3 ===
17820 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
17824 Releasing 0.9.3, "Unregistered"
17826 2005-10-03 Andy Wingo <wingo@pobox.com>
17828 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
17829 whereby calling a pad's activatepush() function can start a thread
17830 that starts to push or pull before the pad gets the FLUSHING flag
17831 unset. Hack around it by holding the stream lock until the flag is
17832 set. Need to replace this with a proper solution. Together with
17833 the ghost pad fixes, this fixes mp3 playing/tagreading.
17835 * docs/design/part-gstghostpad.txt: Add a note about activation of
17836 proxy pads outside of ghost pads.
17838 * gst/gstghostpad.c: Implement the ghost pad activation design.
17840 2005-10-02 Andy Wingo <wingo@pobox.com>
17842 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
17843 It is volatile, after all.
17845 * docs/design/part-gstghostpad.txt: Flesh out activation with
17848 * gst/base/gstbasesrc.c (gst_base_src_init): Use
17851 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
17854 Fix (unused) AM_CONDITIONAL tests.
17856 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
17858 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
17860 * gst/gstutils.c: (gst_pad_query_convert):
17861 Add assertion that makes sure src_val is >=0, just like
17862 gst_query_new_convert() has. (#315895)
17864 2005-09-30 Edward Hervey <edward@fluendo.com>
17866 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
17867 Let's not iterate pads we're not interested in, it avoids getting
17868 sky-high refcounts on sinkpad.
17870 2005-09-30 Wim Taymans <wim@fluendo.com>
17872 * gst/gstelement.c: (gst_element_set_state),
17873 (gst_element_change_state):
17874 Small tweak, element in ASYNC remains ASYNC.
17876 2005-09-30 Wim Taymans <wim@fluendo.com>
17878 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17879 Only error is an error.
17881 * gst/gstbin.c: (gst_bin_change_state):
17884 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
17885 Also call pad_block in pad alloc.
17887 * gst/gstutils.c: (gst_flow_get_name):
17890 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
17892 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17893 (gst_base_src_get_range):
17894 Fix documentation typos. Add some more debug info.
17896 2005-09-29 David Schleef <ds@schleef.org>
17898 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
17899 more end-user friendly.
17900 * tools/gst-inspect.c: (main): Check if command-line argument is
17901 a file and attempt to load that file as a plugin.
17903 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
17905 * check/gst/gstbin.c:
17906 * check/states/sinks.c:
17907 fix tests for the new warning
17908 * check/gst/gstpipeline.c:
17909 add a test for pipeline and bus interaction
17910 * gst/gstelement.c:
17911 elements should be NULL if they get disposed; add a warning if not
17913 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
17916 for 2.6 refcounting, make debug log more correct by printing
17917 the actual refcounts at the time of swap (Wim)
17919 2005-09-29 Andy Wingo <wingo@pobox.com>
17921 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
17922 removes signal watches previously added via
17923 gst_bus_add_signal_watch.
17924 (gst_bus_add_signal_watch): Don't return the source id, just store
17925 it on the bus if there wasn't an id already.
17927 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
17928 add_signal_watch and remove_signal_watch.
17930 2005-09-29 Edward Hervey <edward@fluendo.com>
17932 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
17933 Better if we actually iterate the list :)
17935 2005-09-29 Wim Taymans <wim@fluendo.com>
17937 * check/gst/gstbin.c: (GST_START_TEST):
17938 Change for new bus API.
17940 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
17941 (send_messages), (GST_START_TEST), (gstbus_suite):
17942 Change for new bus signal API.
17944 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
17945 (gst_bus_source_prepare), (gst_bus_source_check),
17946 (gst_bus_create_watch), (gst_bus_add_watch_full),
17947 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
17948 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
17950 Remove support for multiple GSources operating on different
17951 message types as it is too complex and unneeded when using
17953 Added support for receiving signals from the bus.
17955 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
17957 * docs/libs/tmpl/gstdataprotocol.sgml:
17958 * docs/manual/advanced-dataaccess.xml:
17959 * gst/elements/gstcapsfilter.c:
17961 rename filter-caps to caps property
17963 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
17965 * gst/gstvalue.c: (gst_value_deserialize_fraction):
17966 More robust fraction string parsing.
17968 * docs/pwg/appendix-porting.xml:
17969 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
17971 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
17973 * gst/gstcaps.c: (gst_caps_do_simplify):
17974 Thou shalt not free a structure and then continue using it
17975 in the next loop iteration.
17977 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
17979 Add test case for caps simplification.
17981 2005-09-29 Wim Taymans <wim@fluendo.com>
17983 * check/gst/gstbin.c: (GST_START_TEST):
17986 2005-09-29 Wim Taymans <wim@fluendo.com>
17988 * check/gst/gstbin.c: (GST_START_TEST):
17991 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
17992 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
17993 (find_element), (gst_bin_sort_iterator_next),
17994 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
17995 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
17996 (gst_bin_change_state), (gst_bin_dispose):
17997 A bin does not have a bus, it gets the bus from the parent.
17999 * gst/gstelement.c: (gst_element_requires_clock),
18000 (gst_element_provides_clock), (gst_element_is_indexable),
18001 (gst_element_is_locked_state), (gst_element_change_state),
18002 (gst_element_set_bus_func):
18005 * gst/gstpipeline.c: (gst_pipeline_class_init),
18006 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
18007 The pipeline provides a bus.
18009 2005-09-28 Johan Dahlin <johan@gnome.org>
18011 * gst/gstmessage.c (gst_message_parse_state_changed): Use
18012 gst_structure_get_enum instead of gst_structure_get_int
18014 * gst/gststructure.c (gst_structure_get_enum): Impl.
18016 * gst/gststructure.h (gst_structure_get_enum): Add
18018 * docs/gst/gstreamer-sections.txt: Ditto
18020 * gst/gstmessage.c (gst_message_new_state_changed): Use
18021 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
18022 which does introspection.
18023 Reviewed by Christian Schaller
18025 2005-09-28 Stefan Kost <ensonic@users.sf.net>
18027 * gst/gstinfo.c: (gst_debug_log_default):
18028 don't do dummy g_strdup()s
18029 * libs/gst/controller/gstcontroller.c:
18030 (on_object_controlled_property_changed),
18031 (gst_controlled_property_new), (gst_controller_new_valist),
18032 (gst_controller_new_list),
18033 (gst_controller_remove_properties_valist), (gst_controller_set),
18034 (gst_controller_get), (gst_controller_sync_values),
18035 (gst_controller_get_value_array), (_gst_controller_class_init),
18036 (gst_controller_get_type):
18037 * libs/gst/controller/gstcontroller.h:
18038 * libs/gst/controller/gstinterpolation.c:
18039 (gst_controlled_property_find_timed_value_node):
18040 convert // to /**/ comments
18042 2005-09-28 Wim Taymans <wim@fluendo.com>
18044 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
18045 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
18046 (gst_bus_sync_signal_handler):
18048 Added async-message and sync-message signals to the bus.
18049 Added helper BusFunc to emit signals for all posted messages.
18051 * gst/gstmessage.c: (gst_message_type_get_name),
18052 (gst_message_type_to_quark), (gst_message_get_type):
18053 * gst/gstmessage.h:
18054 Register quarks for message names.
18056 2005-09-28 Stefan Kost <ensonic@users.sf.net>
18058 * docs/libs/gstreamer-libs-sections.txt:
18059 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
18060 (gst_controller_new_list):
18061 * libs/gst/controller/gstcontroller.h:
18062 added another constructor for language bindings
18064 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
18066 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18070 * gst/gstinfo.c: (_gst_debug_init):
18071 slightly more readable color for refcount debugging
18073 2005-09-28 Wim Taymans <wim@fluendo.com>
18075 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18076 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18077 (find_element), (gst_bin_sort_iterator_next),
18078 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18079 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18080 (gst_bin_change_state), (gst_bin_dispose):
18081 Small doc fixes. get_clock -> provide_clock.
18083 * gst/gstelement.c: (gst_element_class_init),
18084 (gst_element_provides_clock), (gst_element_provide_clock),
18085 (gst_element_get_clock), (gst_element_commit_state),
18086 (gst_element_lost_state):
18087 * gst/gstelement.h:
18088 Make get/set_clock() symetric. Add provide_clock vmethod since
18089 that is actually what this function does.
18091 * gst/gstpipeline.c: (gst_pipeline_class_init),
18092 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
18093 (gst_pipeline_get_clock):
18094 get_clock -> provide_clock.
18096 2005-09-28 Andy Wingo <wingo@pobox.com>
18098 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
18099 lieu of real docs...
18101 * gst/elements/gstfdsrc.c: Cleaned up a bit.
18103 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
18105 * gst/elements/gstcapsfilter.c:
18106 * gst/elements/gstfakesink.c:
18107 * gst/elements/gstfakesrc.c:
18108 * gst/elements/gstfdsink.c:
18109 * gst/elements/gstfdsrc.c:
18110 * gst/elements/gstfilesink.c:
18111 * gst/elements/gstfilesrc.c:
18112 * gst/elements/gstidentity.c:
18113 * gst/elements/gsttee.c:
18114 * gst/elements/gsttypefindelement.c:
18115 Make element details static.
18117 2005-09-28 Wim Taymans <wim@fluendo.com>
18119 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18120 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18121 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18122 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18123 (gst_bin_change_state), (gst_bin_dispose):
18124 Some documentation updates.
18125 Clean up dispose handlers.
18127 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
18128 * gst/gstpad.c: (gst_pad_dispose):
18129 Clean up dispose handler.
18131 * gst/gstpipeline.c: (gst_pipeline_change_state):
18132 Removed spurious UNLOCK.
18134 2005-09-27 Stefan Kost <ensonic@users.sf.net>
18136 * docs/gst/gstreamer-sections.txt:
18137 * gst/base/gstbasesrc.h:
18138 * gst/gstelement.h:
18142 * gst/gstpipeline.c:
18143 * gst/gstpipeline.h:
18146 added two new functions to the docs
18147 documents all undocumented GstXXXFlags
18148 completed some incomplete docs
18150 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
18152 * gst/gstbin.c: (gst_bin_dispose):
18153 * gst/gstelement.c: (gst_element_dispose):
18154 remove now useless and leaky resurrection code in dispose
18155 * gst/base/gstbasesrc.c: (gst_base_src_init):
18156 * gst/gstelementfactory.c: (gst_element_factory_create):
18157 * gst/gstobject.c: (gst_object_set_parent):
18160 2005-09-27 Wim Taymans <wim@fluendo.com>
18162 * docs/design/part-TODO.txt:
18165 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18166 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18167 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18168 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18169 (gst_bin_change_state):
18170 * gst/gstelement.h:
18171 Remove element variable, we keep element info in the iterator now.
18173 2005-09-27 Andy Wingo <wingo@pobox.com>
18175 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
18178 2005-09-27 Wim Taymans <wim@fluendo.com>
18180 * check/gst/gstbin.c: (GST_START_TEST):
18181 Enable check that works now.
18183 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18184 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18185 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18186 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18187 (gst_bin_change_state):
18189 Redid the state change algorithm using a topological sort algo.
18190 Handles all cases correctly.
18191 Exposed iterator for state change order.
18193 * gst/gstelement.h:
18194 Temp storage for state changes. Need to get rid of this soon.
18196 2005-09-27 Wim Taymans <wim@fluendo.com>
18198 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
18199 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
18200 (link_fold_func), (gst_pad_proxy_setcaps):
18201 Leak fixes, the fold functions need to unref the passed object and
18202 _get_parent_*() returns ref to parent.
18204 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
18206 * check/gst/gstbuffer.c: (test_make_writable):
18207 Plug leak in test case and fix 'make check-valgrind'
18209 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
18211 * gst/gstbuffer.c: (gst_subbuffer_init):
18212 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
18213 works correctly in all circumstances (we could have just copied
18214 the parent buffer's readonly flag, but conceptually it seems
18215 cleaner to mark all subbuffers as read-only). (based on patch
18216 by Alessandro Decina, #314710).
18218 * check/gst/gstbuffer.c: (create_read_only_buffer),
18219 (test_make_writable), (test_subbuffer_make_writable),
18221 Add some tests for gst_buffer_make_writable().
18223 2005-09-27 Wim Taymans <wim@fluendo.com>
18225 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
18226 use gst_object_has_ancestor().
18228 * gst/gstobject.c: (gst_object_has_ancestor):
18230 gst_object_has_ancestor() copied from gstbin.c as it is a
18233 * tests/instantiate/create.c: (create_all_elements):
18234 * tests/lat.c: (handoff_src), (handoff_sink):
18235 * tests/sched/runxml.c: (main):
18236 * tests/seeking/seeking1.c: (main):
18237 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18239 Fix compilation of some tests.
18241 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
18244 Remove comment. GST_TYPE_G_ERROR is here to stay,
18245 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
18246 (#316961, #300610).
18248 2005-09-26 Wim Taymans <wim@fluendo.com>
18250 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18251 Added check that shows error in state change order.
18253 2005-09-26 Wim Taymans <wim@fluendo.com>
18255 * gst/gstbin.c: (gst_bin_change_state):
18256 Make state change function use 3 queues again, we were
18257 adding elements in the wrong order.
18259 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
18262 * gst/gstpad.c: (gst_pad_dispose):
18263 Added some debug info first.
18265 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
18267 * docs/design/draft-push-pull.txt:
18268 * docs/design/part-events.txt:
18269 * docs/design/part-overview.txt:
18270 * docs/design/part-scheduling.txt:
18271 Replace all _pull_region() with _pull_range()
18273 2005-09-26 Andy Wingo <wingo@pobox.com>
18275 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
18277 * check/gst-libs/controller.c: Update for controller api change.
18280 * tests/Makefile.am:
18281 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
18282 over by GLib bug 118439.
18284 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
18285 routines to a function.
18287 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
18289 * libs/gst/controller/gsthelper.c:
18290 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
18291 (gst_object_sync_values): Renamed from sink_values. Ugh.
18293 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
18295 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
18296 Renamed from controller_key, as it is exported.
18298 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
18300 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
18305 * gst/gstpadtemplate.h:
18308 * gst/gstqueryutils.c:
18309 * gst/gstqueryutils.h:
18310 remove queryutils headers after moving the two used functions
18311 to gstquery. also fixes build problem for gstsiddec
18313 2005-09-26 Michael Smith <msmith@fluendo.com>
18315 * tools/gst-launch.1.in:
18316 Correct documentation in manpage of debug syntax
18318 2005-09-26 Wim Taymans <wim@fluendo.com>
18320 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
18321 (gst_base_src_is_seekable), (gst_base_src_change_state):
18322 Some more debugging info.
18324 2005-09-25 Stefan Kost <ensonic@users.sf.net>
18326 * docs/gst/gstreamer-sections.txt:
18327 * gst/base/gstbasetransform.h:
18331 2005-09-25 Stefan Kost <ensonic@users.sf.net>
18333 * docs/gst/.cvsignore:
18334 * docs/gst/tmpl/.cvsignore:
18335 * docs/gst/tmpl/gstpipeline.sgml:
18336 * docs/gst/tmpl/gstplugin.sgml:
18337 * gst/gstpipeline.c:
18340 inlined the last two docs files
18341 removed the tmpl directory from cvs (no more conflicts here!)
18343 2005-09-25 Stefan Kost <ensonic@users.sf.net>
18345 * docs/gst/gstreamer-sections.txt:
18346 * docs/gst/tmpl/.cvsignore:
18347 * docs/gst/tmpl/gstpad.sgml:
18348 * docs/gst/tmpl/gstpadtemplate.sgml:
18350 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
18351 (gst_pad_finalize), (gst_pad_set_pad_template):
18353 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
18354 (gst_pad_template_class_init), (gst_pad_template_init),
18355 (gst_pad_template_dispose), (name_is_valid),
18356 (gst_static_pad_template_get), (gst_pad_template_new),
18357 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
18358 (gst_pad_template_pad_created):
18359 * gst/gstpadtemplate.h:
18360 inlined two more docs
18361 factored gstpadtemplate out of gstpad
18363 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
18365 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18366 (test_children_state_change_order_semi_sink):
18367 Fix test case: we can't rely on a fixed state change order when
18368 going from READY => PAUSED because the sink might commit its
18369 new state first when the first buffer created by the source
18370 reaches the sink before the source has finished its change state.
18371 (Test case still fails at times, see #316856, comment 5 onwards)
18373 2005-09-24 Wim Taymans <wim@fluendo.com>
18375 * docs/design/part-events.txt:
18376 * docs/design/part-gstbus.txt:
18377 * docs/design/part-gstpipeline.txt:
18378 * docs/design/part-messages.txt:
18379 * docs/design/part-overview.txt:
18380 * docs/design/part-segments.txt:
18384 * gst/gstelement.c:
18387 * gst/gstiterator.c:
18388 Various documentation updates.
18390 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
18393 Well, that's embarassing. Luckily we weren't using
18394 GST_CLOCK_DIFF anywhere.
18396 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
18398 * common/gtk-doc.mak:
18399 don't fail on building XML, FC4 slave shows a bunch of doc
18400 missing bits that I don't get
18402 * gst/gstpipeline.c:
18403 * gst/gststructure.c:
18406 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
18408 * docs/design/part-gstbin.txt:
18409 * docs/design/part-gstbus.txt:
18411 Add blurb about how the bus goes into flushing mode and
18412 drops all messages when its bin goes from READY into NULL
18415 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
18417 * docs/gst/gstreamer-sections.txt:
18418 * gst/gststructure.c: (gst_structure_get_clock_time):
18419 * gst/gststructure.h:
18420 add a method to get a GstClockTime out of a structure
18422 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
18424 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18425 (test_children_state_change_order_semi_sink), (gst_bin_suite):
18426 Added test to check state change order in bins (can still be made
18427 to fail here under heavy disk load; bails out with 'Push on pad
18428 fakesink:sink0, but it was not activated in push mode').
18430 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
18431 Fix state change order when there is only a semi sink (#316856)
18433 * gst/gstbus.c: (gst_bus_class_init):
18434 Use _class_peek_parent(), not _class_ref(); fix docs to say
18435 'default main context' instead of 'mainloop' where that is
18438 * gst/gstelement.c: (gst_element_commit_state),
18439 (gst_element_set_state):
18440 Fix typos in debug messages
18442 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
18445 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
18446 * gst/gstpluginfeature.c:
18448 various doc updates
18449 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18450 change an assert into an error until it gets fixed properly
18452 2005-09-23 Stefan Kost <ensonic@users.sf.net>
18454 * docs/gst/gstreamer-sections.txt:
18455 * docs/gst/tmpl/.cvsignore:
18456 * docs/gst/tmpl/gstelement.sgml:
18457 * docs/gst/tmpl/gstinfo.sgml:
18458 * docs/gst/tmpl/gstobject.sgml:
18459 * gst/gstelement.c:
18460 * gst/gstelement.h:
18463 * gst/gstobject.c: (gst_object_class_init):
18465 inlined 3 more biiiig doc files and added some missing docs on the fly
18467 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
18469 * check/gst/.cvsignore:
18470 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
18471 * gst/gstregistryxml.c: (load_plugin),
18472 (gst_registry_xml_save_plugin):
18473 put back source in registry. add checks for find_plugin.
18474 * testsuite/states/bin.c: (assert_state), (empty_bin),
18475 (test_adding_one_element), (main):
18476 * testsuite/states/locked.c: (main):
18477 some compile/run fixes
18479 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
18481 * check/gst/gstvalue.c: (GST_START_TEST):
18482 fix leaks in the test itself
18484 2005-09-22 Wim Taymans <wim@fluendo.com>
18486 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18487 (gst_base_sink_send_event), (gst_base_sink_peer_query),
18488 (gst_base_sink_query):
18489 Prepare for more accurate position reporting and query
18492 * gst/gstelement.c: (gst_element_send_event),
18493 (gst_element_set_state):
18496 2005-09-22 Wim Taymans <wim@fluendo.com>
18498 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
18499 (gst_query_parse_segment):
18501 More documentation.
18502 Add segment query for future use.
18504 2005-09-22 Wim Taymans <wim@fluendo.com>
18506 * gst/gstbin.c: (gst_bin_add_func):
18507 Some more debug info.
18509 * gst/gstelement.c: (gst_element_send_event):
18510 Simplify send_event
18512 * gst/gstelement.h:
18513 Don't know how flags got broken.
18518 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
18520 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
18521 Add simplistic test suite for GST_TYPE_DATE serialisation and
18524 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
18526 * docs/gst/gstreamer-sections.txt:
18527 * gst/gststructure.c: (gst_structure_set_valist),
18528 (gst_structure_get_date):
18529 * gst/gststructure.h:
18530 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
18531 (gst_date_copy), (gst_value_compare_date),
18532 (gst_value_serialize_date), (gst_value_deserialize_date),
18533 (gst_value_transform_date_string),
18534 (gst_value_transform_string_date), (_gst_value_initialize):
18536 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
18537 bunch of utility functions along with a hack that checks that
18538 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
18539 is required. Part of the grand scheme in #170777.
18541 2005-09-22 Andy Wingo <wingo@pobox.com>
18543 * gst/gstconfig.h.in: Psych out gtk-doc.
18545 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
18547 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
18549 * tools/gst-inspect.c (print_element_list): Plug some
18550 inconsequential leaks.
18552 * gst/gstregistry.c (gst_registry_get_default): Doc.
18554 * check/gst/gstplugin.c:
18555 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
18556 * gst/gstelementfactory.c (gst_element_factory_create):
18557 * gst/gstindexfactory.c (gst_index_factory_create): Update for
18560 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
18561 (gst_plugin_feature_load): Doc, don't eat refs.
18563 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
18564 (gst_plugin_list_free): Doc.
18565 (gst_plugin_load_file): Doc updates.
18567 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
18568 accessors returning refcounted objects, return a ref.
18570 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
18571 accessor for caps. IDEMPOTENCE. Oh yes.
18573 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
18575 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18577 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18578 (_gst_debug_register_funcptr):
18579 Add mutex to serialise access to the hash table with
18580 the function pointer => function name string mapping;
18581 make that hash table static scope (#316809).
18583 * gst/registries/.cvsignore:
18584 Remove left-over file.
18586 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
18588 * docs/pwg/appendix-porting.xml:
18589 And something about newsegment events and caps-on-buffers to
18590 the porting guide (feel free to improve).
18592 2005-09-21 Andy Wingo <wingo@pobox.com>
18594 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
18595 data and event probes on the same pad.
18596 (test_buffer_probe_once): Test that removing probes from within
18597 the probe functions works.
18599 2005-09-21 Andy Wingo <wingo@pobox.com>
18601 * check/gst/gstutils.c: New file.
18602 (test_buffer_probe_n_times): A simple buffer probe test. More to
18605 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
18606 have-data::buffer, not have-data.
18607 (gst_pad_add_event_probe): Likewise for have-data::event.
18608 (gst_pad_add_data_probe): More docs. The part about 'resolving the
18609 peer' isn't quite right yet though.
18610 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
18611 (gst_pad_remove_data_probe): Change to take the guint handler_id
18612 as their arg, not the function+data, which is more glib-like.
18614 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
18615 the signal emission to indicate if the data is a buffer or an
18617 (gst_pad_get_type): Initialize buffer and event quarks.
18618 (gst_pad_class_init): have-data is now a detailed signal, yes it
18621 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
18623 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
18624 * gst/gstutils.c: (gst_util_set_value_from_string),
18625 (gst_util_set_object_arg):
18626 Don't put functional code in g_return_if_fail() or
18627 g_return_val_if_fail() statements, otherwise things will
18628 break when G_DISABLE_CHECKS is defined during compilation.
18630 2005-09-21 Stefan Kost <ensonic@users.sf.net>
18632 * docs/gst/tmpl/.cvsignore:
18633 * docs/gst/tmpl/gstvalue.sgml:
18636 inlied another one and added some obvious docs
18638 2005-09-21 Wim Taymans <wim@fluendo.com>
18640 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18641 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
18642 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
18643 (gst_fdsrc_get_property), (gst_fdsrc_create):
18644 * gst/elements/gstfdsrc.h:
18645 Properly implement fdsrc. Removed signal and timeout,
18646 better implemented somewhere else.
18648 2005-09-21 Stefan Kost <ensonic@users.sf.net>
18650 * docs/gst/tmpl/.cvsignore:
18651 * docs/gst/tmpl/gstimplementsinterface.sgml:
18652 * gst/gstinterface.c:
18655 2005-09-21 Stefan Kost <ensonic@users.sf.net>
18657 * docs/gst/gstreamer-sections.txt:
18658 * docs/gst/tmpl/.cvsignore:
18659 * docs/gst/tmpl/gstenumtypes.sgml:
18660 remove obsolete doc file
18662 2005-09-21 David Schleef <ds@schleef.org>
18664 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
18665 little beer, fix a little leak.
18667 2005-09-21 Stefan Kost <ensonic@users.sf.net>
18669 * docs/gst/gstreamer-docs.sgml:
18670 * docs/gst/gstreamer-sections.txt:
18671 * docs/gst/tmpl/.cvsignore:
18675 * gst/gstelement.h:
18676 * gst/gstindex.c: (gst_index_class_init):
18678 * gst/gstindexfactory.c: (gst_index_factory_get_type),
18679 (gst_index_factory_class_init), (gst_index_factory_init),
18680 (gst_index_factory_finalize), (gst_index_factory_new),
18681 (gst_index_factory_destroy), (gst_index_factory_find),
18682 (gst_index_factory_create), (gst_index_factory_make):
18683 * gst/gstindexfactory.h:
18684 * gst/gstpluginfeature.c:
18685 * gst/gstpluginfeature.h:
18686 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18687 more docs inlined, splitted gstindex.{c,h}
18689 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
18691 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18694 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
18696 * gst/elements/gstfilesink.c: (gst_file_sink_init):
18697 Set sync to FALSE by default.
18699 2005-09-20 Wim Taymans <wim@fluendo.com>
18701 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18702 (gst_base_sink_init):
18703 Make sync property settable from subclass.
18705 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
18706 (gst_fake_sink_change_state):
18707 Set sync to FALSE by default.
18709 2005-09-20 Wim Taymans <wim@fluendo.com>
18711 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
18712 * tools/gst-launch.c: (main):
18713 The timeout handler should have lower priority than the source
18714 so we don't timeout before popping a message with 0 timeout.
18715 Dump error messages after failed state change.
18717 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
18719 * tools/gst-inspect.c: (print_element_properties_info):
18722 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
18724 * check/gst/gstevent.c:
18725 * gst/elements/gstfakesink.c:
18726 * gst/elements/gstfakesink.h:
18727 remove the sync property from fakesink.
18728 has the side effect of setting sync TRUE
18729 for fakesink, which is a change. Anyone who knows how
18730 to fix this nicely in a GObject-y way, feel free.
18732 2005-09-20 Stefan Kost <ensonic@users.sf.net>
18734 * docs/gst/gstreamer-docs.sgml:
18735 remove probe refsection
18737 2005-09-20 Stefan Kost <ensonic@users.sf.net>
18739 * check/Makefile.am:
18740 disable valgrinding the controller test again
18741 * docs/gst/gstreamer-sections.txt:
18742 update for api-changes
18744 2005-09-20 Wim Taymans <wim@fluendo.com>
18746 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18747 (gst_base_sink_set_property), (gst_base_sink_get_property),
18748 (gst_base_sink_do_sync):
18749 * gst/base/gstbasesink.h:
18750 Added sync property to basesink to disable clock sync.
18752 2005-09-20 Andy Wingo <wingo@pobox.com>
18754 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
18755 eating the caller's refcount.
18757 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
18758 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
18761 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
18762 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
18763 of GLib 2.8 public, so we can know which refcount to check in
18766 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
18767 (gst_object_init): Only set the gst refcount if we're going ahead
18768 with the refcount hack.
18770 2005-09-20 Stefan Kost <ensonic@users.sf.net>
18772 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18773 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18774 more leaks plumbed, added more debug-logging
18778 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
18780 * gst/gstmessage.c:
18781 remove include of gstmemchunk.h
18783 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
18785 * gst/gstclock.c: (_gst_clock_id_free):
18786 Commit from the Political Party For More Atomic CVS Commits,
18787 so that people don't waste too much of their day fishing
18788 out obvious leaks out of massive commits.
18789 Oh, and fix a pretty damn obvious leak in the memchunk
18792 2005-09-20 Stefan Kost <ensonic@users.sf.net>
18794 * check/Makefile.am:
18795 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18796 plug mem-leak, re-add to valgrindable tests
18798 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
18801 unbreak the build for those who have chronic arthritis
18802 and typing "make check" is just too taxing on the hands
18804 2005-09-20 Andy Wingo <wingo@pobox.com>
18806 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
18807 really want it out, you should fix plugins at the same time.
18809 2005-09-19 Stefan Kost <ensonic@users.sf.net>
18812 * docs/gst/gstreamer-sections.txt:
18814 added missing symbols to api docs
18815 disable ref-count hack if we have glib >= 2.8
18817 2005-09-19 David Schleef <ds@schleef.org>
18819 * docs/gst/Makefile.am: Ignore a few more internal headers
18820 * docs/gst/gstreamer-docs.sgml: Remove old sections
18821 * docs/gst/gstreamer-sections.txt: Remove old sections
18822 * docs/gst/tmpl/gstobject.sgml: update
18823 * docs/gst/tmpl/gstplugin.sgml: update
18824 * docs/gst/tmpl/gstpluginfeature.sgml: update
18825 * docs/random/ds/0.9-suggested-changes: update.
18826 * gst/Makefile.am: remove memchunk and trashstack, since they're
18828 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
18829 * gst/gst.h: don't include some headers
18830 * gst/gstchildproxy.c: add gstmarshal.h
18831 * gst/gstclock.c: Don't use memchunks
18832 * gst/gstminiobject.c: Add some docs
18833 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
18834 * gst/gstobject.h: same
18835 * gst/gstplugin.c: include gstmacros.h
18836 * gst/gstplugin.h: don't include gstmacros.h, since it's private
18837 * gst/gstquery.c: don't use memchunks
18838 * gst/gstregistry.c: rename gst_registry_deinit()
18839 * gst/gstregistry.h: same
18841 2005-09-19 David Schleef <ds@schleef.org>
18843 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
18844 * docs/libs/gstreamer-libs-sections.txt:
18845 * docs/libs/tmpl/gstgetbits.sgml:
18846 * docs/libs/tmpl/gstputbits.sgml:
18848 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
18850 * win32/gstenumtypes.c:
18851 * win32/gstenumtypes.h:
18854 2005-09-19 Wim Taymans <wim@fluendo.com>
18856 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
18857 Automatically PAUSE and RESUME a pipeline when a flushing seek
18860 2005-09-19 Andy Wingo <wingo@pobox.com>
18862 * gst/gstregistry.h: Spacing fixen.
18864 2005-09-19 Wim Taymans <wim@fluendo.com>
18866 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
18867 Handle state change failure more correctly.
18869 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
18871 * check/Makefile.am:
18872 * check/pipelines/cleanup.c: (run_pipeline):
18873 * check/pipelines/simple_launch_lines.c: (run_pipeline),
18875 enable cleanup again after fixing the leak
18877 some more info on docs
18879 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
18881 * check/Makefile.am:
18882 re-enable tests now that leaks are plugged
18884 * check/gst/gstbin.c:
18885 * check/gst/gstpipeline.c:
18886 add some more tests while fixing leaks
18887 * common/check.mak:
18888 make sure binaries are uptodate when valgrinding/gdbing
18890 * gst/gstelementfactory.c:
18891 remove a ref too many, and add a FIXME for when we get
18892 round to disposing of classes
18894 fix the refcounting when loading a plugin from a file and
18895 the code pretends that the pointer is the same even though
18896 of course it can change
18897 * gst/gstpluginfeature.c:
18898 unref plugins marked cached (a bit confusing as a name)
18899 as the docs state should be done
18900 various doc additions to explain refcounting
18901 * gst/gstregistry.c:
18902 * gst/gstregistryxml.c:
18905 2005-09-19 Wim Taymans <wim@fluendo.com>
18907 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
18908 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
18909 (send_messages), (GST_START_TEST), (gstbus_suite):
18910 * check/gst/gstpipeline.c: (GST_START_TEST):
18911 * check/pipelines/cleanup.c: (run_pipeline):
18912 * check/pipelines/simple_launch_lines.c: (run_pipeline),
18914 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
18915 (gst_bus_source_check), (gst_bus_source_dispatch),
18916 (gst_bus_create_watch), (gst_bus_add_watch_full),
18917 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
18919 * tools/gst-launch.c: (event_loop):
18920 * tools/gst-md5sum.c: (event_loop):
18921 GstBusHandler -> GstBusFunc, return value has the same meaning as
18922 any other GSource (FALSE == remove source).
18923 _add_watch() and _add_watch_full() now take a MessageType mask to
18924 only handle specific types of messages.
18925 _poll() returns the GstMessage instead of the message type to avoid
18927 _have_pending() takes a MessageType mask now too.
18928 Added testsuite for multiple bus watches.
18929 Fix testsuites and applications for new bus API.
18931 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
18933 * check/Makefile.am:
18934 mark a bunch of the tests as to fix until we fix them
18936 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
18938 * common/check.mak:
18939 use GST_PLUGIN settings for valgrind tests as well, so we're
18940 valgrinding the correct thing
18941 * gst/gst.c: (init_post):
18944 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
18946 * gst/gst.c: (init_post), (gst_deinit):
18947 * gst/gstelementfactory.c: (gst_element_factory_class_init),
18948 (gst_element_factory_finalize), (gst_element_factory_cleanup):
18949 * gst/gstindex.c: (gst_index_factory_class_init),
18950 (gst_index_factory_finalize):
18951 * gst/gstobject.c: (gst_object_dispose):
18952 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
18953 (gst_plugin_load_file), (gst_plugin_desc_free):
18954 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
18955 (gst_plugin_feature_finalize):
18956 * gst/gstregistry.c: (gst_registry_class_init),
18957 (gst_registry_init), (gst_registry_finalize),
18958 (gst_registry_get_default), (gst_registry_deinit):
18959 * gst/gstregistry.h:
18960 * gst/gstregistryxml.c: (load_feature), (load_plugin):
18961 various cleanups and memleak plugging. make valgrind is happy now.
18963 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
18965 * common/check.mak:
18966 add a check-valgrind target
18968 2005-09-18 David Schleef <ds@schleef.org>
18970 * tools/gst-inspect.c: Revert the GOption code.
18972 2005-09-17 David Schleef <ds@schleef.org>
18974 * check/Makefile.am: Fix environment variables.
18975 * check/gst/gstplugin.c: Fix for API changes.
18976 * tools/gst-inspect.c: Fix for API changes.
18977 * tools/gst-xmlinspect.c: Fix for API changes.
18978 * gst/gstelementfactory.c:
18981 * gst/gstpluginfeature.c:
18982 * gst/gstpluginfeature.h:
18983 * gst/gstregistry.c:
18984 * gst/gstregistry.h:
18985 * gst/gstregistryxml.c:
18986 * gst/gsttypefind.c:
18987 * gst/gsttypefindfactory.c:
18988 * gst/indexers/gstfileindex.c:
18989 * gst/indexers/gstmemindex.c:
18990 * gst/schedulers/Makefile.am:
18991 Change registry to keep track of both plugins and features,
18992 removing the feature tracking from plugins themselves.
18994 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
18996 * check/Makefile.am:
18997 * tools/gst-register.1.in:
18998 remove gst-register
19000 2005-09-15 David Schleef <ds@schleef.org>
19002 * check/gst/gstplugin.c:
19003 * gst/gstelementfactory.c:
19005 * gst/gstpluginfeature.c:
19006 * gst/gstregistry.c:
19007 Getting tired of debugging. Disabled all the unreffing of
19008 plugins and features, which fixes the segfaults, but of
19009 course leaks like crazy. At least playbin works.
19011 2005-09-15 David Schleef <ds@schleef.org>
19013 * check/gst/gstplugin.c: (register_check_elements),
19014 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
19016 * gst/elements/gsttypefindelement.c: Fix refcounting.
19017 * gst/gsttypefind.c:
19018 * gst/gsttypefindfactory.c:
19019 * gst/gsttypefindfactory.h:
19021 2005-09-15 David Schleef <ds@schleef.org>
19023 * gst/gstindex.c: get refcounting correct.
19024 * gst/gstregistry.c: Handle the case where a feature/plugin is
19027 2005-09-15 David Schleef <ds@schleef.org>
19029 * check/Makefile.am:
19030 * check/gst/gstplugin.c: Add test
19031 * gst/gstplugin.c: Fix problems noticed by testsuite
19033 * gst/gstregistry.c:
19034 * gst/gstregistry.h:
19036 2005-09-15 David Schleef <ds@schleef.org>
19038 * gst/gstplugin.c: Implement semi-decent recounting and locking
19039 in plugins and plugin features.
19041 * gst/gstpluginfeature.c:
19042 * gst/gstpluginfeature.h:
19043 * gst/gstregistry.c:
19045 2005-09-15 Michael Smith <msmith@fluendo.com>
19047 * gst/gstregistry.c: (gst_registry_get_feature_list):
19048 Implement this. Makes oggdemux work; decodebin still broken.
19050 2005-09-14 David Schleef <ds@schleef.org>
19052 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
19054 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
19055 * gst/check/Makefile.am:
19056 * libs/gst/controller/Makefile.am:
19057 * libs/gst/dataprotocol/Makefile.am:
19059 2005-09-14 David Schleef <ds@schleef.org>
19061 * configure.ac: Remove getbits library. Nothing uses it, and
19062 it should be in something like liboil if someone did want
19064 * libs/gst/Makefile.am:
19065 * libs/gst/getbits/Makefile.am:
19066 * libs/gst/getbits/gbtest.c:
19067 * libs/gst/getbits/getbits.c:
19068 * libs/gst/getbits/getbits.h:
19069 * libs/gst/getbits/gstgetbits_generic.c:
19070 * libs/gst/getbits/gstgetbits_i386.s:
19071 * libs/gst/getbits/gstgetbits_inl.h:
19073 2005-09-14 David Schleef <ds@schleef.org>
19075 * gst/Makefile.am: Dist glib-compat.h
19077 2005-09-14 David Schleef <ds@schleef.org>
19079 * configure.ac: Remove gst/registries, since it's no longer used.
19080 * gst/registries/Makefile.am:
19081 * gst/registries/gstlibxmlregistry.c:
19082 * gst/registries/gstlibxmlregistry.h:
19083 * gst/registries/gstxmlregistry.c:
19084 * gst/registries/gstxmlregistry.h:
19085 * gst/registries/registrytest.c:
19087 2005-09-14 David Schleef <ds@schleef.org>
19089 * gst/glib-compat.h:
19090 * gst/gstregistryxml.c:
19091 Convergence is near. Seriously.
19093 2005-09-14 David Schleef <ds@schleef.org>
19095 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19096 * gst/glib-compat.h:
19097 Attempt #4 to appease the buildbots.
19099 2005-09-14 David Schleef <ds@schleef.org>
19101 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19104 2005-09-14 David Schleef <ds@schleef.org>
19106 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19109 2005-09-14 David Schleef <ds@schleef.org>
19111 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
19114 2005-09-14 David Schleef <ds@schleef.org>
19116 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19117 * gst/glib-compat.h: Add some functions that are in newer versions
19118 of glib than we care to require.
19119 * gst/gstregistryxml.c: Use them.
19121 2005-09-14 David Schleef <ds@schleef.org>
19123 * po/POTFILES.in: remove gst-register.c
19125 2005-09-14 David Schleef <ds@schleef.org>
19127 * docs/gst/gstreamer-docs.sgml:
19128 * docs/gst/gstreamer-sections.txt:
19129 * docs/gst/gstreamer.types:
19130 * docs/gst/tmpl/gstelement.sgml:
19131 * docs/gst/tmpl/gstplugin.sgml:
19132 * docs/gst/tmpl/gstpluginfeature.sgml:
19133 Documentation updates for registry changes.
19135 2005-09-14 David Schleef <ds@schleef.org>
19137 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
19138 because we don't require glib-2.8.
19140 2005-09-14 David Schleef <ds@schleef.org>
19142 * gst/gstregistryxml.c: Added. Essentially moved out of the
19143 registries directory.
19145 2005-09-14 David Schleef <ds@schleef.org>
19147 * check/Makefile.am:
19148 * check/generic/states.c:
19152 * gst/gst_private.h:
19153 * gst/gstelementfactory.c:
19158 * gst/gstpluginfeature.c:
19159 * gst/gstpluginfeature.h:
19160 * gst/gstregistry.c:
19161 * gst/gstregistry.h:
19162 * gst/gstregistrypool.c: remove
19163 * gst/gstregistrypool.h: remove
19164 * gst/gsttypefind.c:
19165 * gst/gsttypefindfactory.c:
19167 * tools/Makefile.am:
19168 * tools/gst-compprep.c:
19169 * tools/gst-inspect.c:
19170 * tools/gst-register.c: remove
19171 * tools/gst-xmlinspect.c:
19172 Registry rewrite. Changes registry from being a file created
19173 by a tool into a simple cache file created automatically by
19174 libgstreamer. Removed gst-register (because it's no longer
19175 needed). Remove registry pools, because we only have one
19176 registry implementation (XML). Fix up other subsystems as
19179 2005-09-13 Michael Smith <msmith@fluendo.com>
19181 * gst/gstconfig.h.in:
19182 Don't Use windows linking attributes for MinGW. Fixes #316157
19184 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
19186 * gst/gstutils.c: (set_state_async_thread_func),
19187 (gst_element_set_state_async):
19188 Apparently people think it's better if this function doesn't
19189 try to set the state to whatever state was asked for on the first
19190 call to this function for any object. Seriously.
19192 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
19194 * check/gst/gstpipeline.c: (GST_START_TEST):
19195 * docs/gst/gstreamer-sections.txt:
19196 * gst/gstutils.c: (set_state_async_thread_func),
19197 (gst_element_set_state_async):
19199 add a "gst_element_set_state_async" method that
19200 sets the state and starts a thread to make sure the state
19201 change completes as best as it can
19203 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
19205 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19206 codify design+behaviour in testsuite after discussion
19208 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
19210 * docs/gst/tmpl/gstelement.sgml:
19211 * docs/manual/appendix-quotes.xml:
19213 * gst/gstelement.c: (gst_element_set_state):
19216 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
19218 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19219 (gst_base_transform_prepare_output_buf),
19220 (gst_base_transform_handle_buffer):
19221 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
19222 (gst_capsfilter_prepare_buf):
19223 Remove the requirement for sub-classes to call the parent
19224 implementation of prepare_output_buffer with a wrapper function.
19226 * gst/gsttaglist.h:
19227 * gst/gsttagsetter.h:
19228 Fix #define wrapper
19230 2005-09-11 Stefan Kost <ensonic@users.sf.net>
19232 * docs/gst/gstreamer-sections.txt:
19235 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
19237 * docs/gst/gstreamer-sections.txt:
19238 * docs/gst/tmpl/gstelement.sgml:
19239 * docs/gst/tmpl/gstplugin.sgml:
19240 * gst/gstminiobject.c:
19242 docs now stop throwing warnings
19244 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
19246 * docs/gst/gstreamer-sections.txt:
19247 * docs/gst/gstreamer.types:
19248 * docs/gst/tmpl/gstpad.sgml:
19249 * docs/gst/tmpl/gsttypes.sgml:
19250 * gst/base/gstadapter.h:
19251 * gst/base/gstbasesink.h:
19252 * gst/base/gstbasesrc.h:
19258 * gst/gstelement.h:
19260 * gst/gstmessage.h:
19262 * gst/gststructure.c:
19263 * gst/registries/gstlibxmlregistry.h:
19264 various documentation fixes
19266 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
19268 * docs/gst/gstreamer-sections.txt:
19269 * docs/gst/tmpl/gstvalue.sgml:
19270 rearrange gstvalue section
19271 * gst/gstutils.c: (gst_element_state_get_name):
19273 * gst/gstvalue.c: (_gst_value_initialize):
19277 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
19279 * check/gst-libs/controller.c:
19280 Header include fix.
19281 * gst/base/gstbasetransform.c:
19282 (gst_base_transform_default_prepare_buf),
19283 (gst_base_transform_handle_buffer):
19284 * gst/base/gstbasetransform.h:
19285 Some more basetransform changes and fixes to enable sub-classes
19286 that modify buffer metadata only.
19287 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
19288 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
19289 (gst_capsfilter_prepare_buf):
19290 If the output pad has fixed allowed caps and input buffers
19291 don't have any, set the fixed caps on outgoing buffers.
19293 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
19294 * check/elements/identity.c: (GST_START_TEST):
19295 Make the error a little clearer when the test fails because
19296 identity made a copy of the buffer.
19297 * docs/gst/gstreamer-sections.txt:
19298 New symbols in gstbasetransform.h
19299 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19300 (gst_base_transform_init), (gst_base_transform_transform_size),
19301 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19302 (gst_base_transform_default_prepare_buf),
19303 (gst_base_transform_get_unit_size),
19304 (gst_base_transform_buffer_alloc),
19305 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
19306 (gst_base_transform_change_state),
19307 (gst_base_transform_set_passthrough),
19308 (gst_base_transform_set_in_place),
19309 (gst_base_transform_is_in_place):
19310 * gst/base/gstbasetransform.h:
19311 Change BaseTransform to separate in_place operate from same_caps
19312 output. in_place implies that the element can perform the transform
19313 on incoming buffers in-place, even if the caps on the output are
19315 Sub-class elements can now implement special buffer allocation
19316 methods for outgoing buffers if they wish to.
19317 Big documentation addition.
19318 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
19319 * gst/elements/gstelements.c:
19320 Changes for basetransform modifications.
19321 * gst/elements/Makefile.am:
19322 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
19323 Compile fix. Extra debug output.
19325 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
19327 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
19329 add tests for valid pad naming
19330 * gst/check/gstcheck.c: (gst_check_log_message_func),
19331 (gst_check_log_critical_func):
19333 remove printing of code, it is fragile when the code contains
19334 % and the line number is enough info
19335 * gst/check/gstcheck.h:
19336 * gst/gstpad.c: (gst_pad_template_new):
19339 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
19342 say what CHECK flags we use
19343 * docs/libs/gstreamer-libs.types:
19344 * libs/gst/controller/Makefile.am:
19345 * libs/gst/controller/gst-controller.c:
19346 * libs/gst/controller/gst-controller.h:
19347 * libs/gst/controller/gst-helper.c:
19348 * libs/gst/controller/gst-interpolation.c:
19349 * libs/gst/controller/gstcontroller.c:
19350 * libs/gst/controller/gsthelper.c:
19351 * libs/gst/controller/gstinterpolation.c:
19352 * tools/gst-inspect.c: (print_plugin_info):
19353 we don't use dashes in header names
19355 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
19357 * check/Makefile.am:
19358 * check/gst/.cvsignore:
19359 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
19360 (gst_pipeline_suite), (main):
19361 adding a test for pipelines and state changes
19362 * gst/gstutils.c: (get_state_func):
19364 * gstreamer.spec.in:
19367 2005-09-08 Michael Smith <msmith@fluendo.com>
19369 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
19370 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
19371 (gst_file_src_is_seekable), (gst_file_src_get_size),
19372 (gst_file_src_start):
19373 * gst/elements/gstfilesrc.h:
19374 Various fixes for unseekable, unmmapable, and non-normal files, so
19375 that fallback to read() rather than mmap() works.
19376 * gst/gstevent.c: (gst_event_new_newsegment):
19377 Allow newsegment events with segment_start == segment_end, as will
19378 correctly happen if you use filesrc on a zero-size file, for
19381 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
19383 * gst/gstplugin.c: (gst_plugin_load_file):
19384 Call g_module_close when we don't load the module
19386 * gst/registries/gstlibxmlregistry.c:
19387 (gst_xml_registry_get_property):
19388 Port leak fix from 0.8
19390 2005-09-07 Stefan Kost <ensonic@users.sf.net>
19392 * docs/gst/gstreamer-docs.sgml:
19393 * docs/gst/tmpl/.cvsignore:
19394 * docs/gst/tmpl/gsttrace.sgml:
19395 * docs/gst/tmpl/gsttrashstack.sgml:
19398 * gst/gstelement.h:
19400 * gst/gstmessage.c:
19401 * gst/gstmessage.h:
19404 * gst/gsttaginterface.c:
19405 * gst/gsttaginterface.h:
19406 * gst/gsttaglist.c:
19407 * gst/gsttaglist.h:
19408 * gst/gsttagsetter.c:
19409 * gst/gsttagsetter.h:
19412 * gst/gsttrashstack.c:
19413 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
19414 inlined docs for gsttrace, gsttrashstack
19416 2005-09-07 Stefan Kost <ensonic@users.sf.net>
19419 * gst/elements/gstbufferstore.h:
19420 * gst/elements/gsttypefindelement.c:
19421 * gst/elements/gsttypefindelement.h:
19423 * gst/gsttypefind.c:
19424 * gst/gsttypefind.h:
19425 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
19426 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
19427 (gst_type_find_factory_dispose),
19428 (gst_type_find_factory_unload_thyself),
19429 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
19430 (gst_type_find_factory_get_caps),
19431 (gst_type_find_factory_get_extensions),
19432 (gst_type_find_factory_call_function):
19433 * gst/gsttypefindfactory.h:
19434 * gst/registries/gstlibxmlregistry.c:
19435 * gst/registries/gstxmlregistry.c:
19436 splitted gsttypefind into gsttypefind, gsttypefindfactory
19438 2005-09-07 Andy Wingo <wingo@pobox.com>
19440 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
19441 condition whereby the pad's task function is entered before the
19442 pad_mode variable was set.
19444 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
19446 * gst/gstpad.c: (gst_pad_alloc_buffer):
19447 Catch misbehaving pad_alloc functions that don't
19448 set up caps and do it for them.
19450 2005-09-07 Stefan Kost <ensonic@users.sf.net>
19452 * check/pipelines/simple_launch_lines.c: (run_pipeline):
19453 test for pipe!=NULL
19454 * docs/gst/tmpl/.cvsignore:
19455 * docs/gst/tmpl/gstmemchunk.sgml:
19456 * docs/gst/tmpl/gstparse.sgml:
19457 * docs/gst/tmpl/gsttaglist.sgml:
19458 * docs/gst/tmpl/gsttagsetter.sgml:
19459 * docs/gst/tmpl/gsttypefind.sgml:
19460 * docs/gst/tmpl/gsttypefindfactory.sgml:
19461 * gst/gstmemchunk.c:
19464 * gst/gsttaginterface.c:
19465 * gst/gsttypefind.c:
19466 * gst/gsttypefind.h:
19469 === release 0.9.2 ===
19471 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
19476 releasing 0.9.2, "South"
19478 2005-09-05 Andy Wingo <wingo@pobox.com>
19480 * gst/registries/gstxmlregistry.h:
19481 * gst/registries/gstxmlregistry.c: Um... resurrect...
19483 * gst/registries/gstxmlregistry.h:
19484 * gst/registries/gstxmlregistry.c: and update to newer API.
19485 Incidentally they should be a bit faster now that they don't have
19488 2005-09-05 Andy Wingo <wingo@pobox.com>
19490 * gst/registries/gstxmlregistry.h:
19491 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
19492 replaced by the libxml registry a while back
19494 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
19496 * docs/gst/tmpl/gstplugin.sgml:
19497 * gst/elements/gstelements.c:
19499 * gst/gstplugin.c: (gst_plugin_register_func),
19500 (gst_plugin_desc_copy), (gst_plugin_desc_free),
19501 (gst_plugin_get_source):
19503 * gst/registries/gstlibxmlregistry.c: (load_plugin),
19504 (gst_xml_registry_save_plugin):
19505 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
19506 (gst_xml_registry_save_plugin):
19507 * tools/gst-inspect.c: (print_plugin_info):
19508 add a "source" plugin description field, to represent the source
19509 module this plugin is a part of. By default GST_PLUGIN_DEFINE
19510 will set it to PACKAGE, which is automake's idea of the name of
19511 the source project.
19513 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
19518 * docs/Makefile.am:
19519 * docs/faq/Makefile.am:
19520 * docs/gst/tmpl/gstelement.sgml:
19521 * docs/gst/tmpl/gsttypes.sgml:
19522 * docs/htmlinstall.mak:
19523 * docs/manual/Makefile.am:
19524 * docs/pwg/Makefile.am:
19525 reorganize doc build a little
19526 split out docbook and gtk-doc stuff
19527 have two separate --enable's and enable them through autogen
19528 but disable by default in configure (to be similar to other
19530 * gstreamer.spec.in:
19531 clean up docs install
19549 translation updates
19551 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
19553 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
19556 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
19557 (gst_fake_sink_change_state):
19558 Make state change function thread-safe.
19560 * gst/gstpad.c: (gst_pad_alloc_buffer):
19561 Set offset on generic buffer allocated by fallback.
19563 2005-09-03 Stefan Kost <ensonic@users.sf.net>
19565 * docs/gst/gstreamer-sections.txt:
19566 * docs/gst/tmpl/gstelement.sgml:
19568 * libs/gst/controller/gst-controller.c:
19569 (gst_controlled_property_set_interpolation_mode),
19570 (gst_controlled_property_new),
19571 (gst_controller_find_controlled_property):
19572 run the wingo-magic script against the docs
19574 2005-09-02 Stefan Kost <ensonic@users.sf.net>
19576 * docs/gst/gstreamer-docs.sgml:
19577 * docs/gst/gstreamer-sections.txt:
19578 * docs/gst/tmpl/.cvsignore:
19579 * docs/gst/tmpl/gstelementdetails.sgml:
19580 * docs/gst/tmpl/gstelementfactory.sgml:
19583 * gst/gstelementfactory.c:
19584 * gst/gstelementfactory.h:
19585 merged elementdetails docs into elementfactory docs
19588 2005-09-02 Andy Wingo <wingo@pobox.com>
19590 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
19591 consider this enum an enum and not a flags.
19593 2005-09-02 Stefan Kost <ensonic@users.sf.net>
19595 * docs/gst/gstreamer-docs.sgml:
19596 * docs/gst/tmpl/.cvsignore:
19597 * docs/gst/tmpl/gstghostpad.sgml:
19598 * docs/gst/tmpl/gstiterator.sgml:
19599 * docs/gst/tmpl/gstmacros.sgml:
19600 * docs/gst/tmpl/gstrealpad.sgml:
19601 * docs/gst/tmpl/gstregistry.sgml:
19602 * docs/gst/tmpl/gstregistrypool.sgml:
19603 * docs/gst/tmpl/gststructure.sgml:
19604 * docs/gst/tmpl/gstsystemclock.sgml:
19605 * docs/gst/tmpl/gsttrace.sgml:
19606 * gst/gstghostpad.c:
19608 * gst/gstmemchunk.c:
19609 * gst/gstmemchunk.h:
19611 * gst/gstregistry.c:
19612 * gst/gstregistrypool.c:
19613 * gst/gststructure.c:
19614 * gst/gstsystemclock.c:
19617 2005-09-02 Andy Wingo <wingo@pobox.com>
19619 * gst/gstelement.h (GstState): Renamed from GstElementState,
19620 changed to be a normal enum instead of flags.
19621 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
19622 munged to be GST_STATE_CHANGE_*.
19623 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
19624 work with the new state representation.
19625 (GstStateChange): New enumeration of possible state transitions.
19626 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
19627 (GstElementClass::change_state): Pass the GstStateChange along as
19628 an argument. Helps language bindings, so they don't have to use
19629 tricky lock-needing macros like GST_STATE_CHANGE ().
19631 * scripts/update-states (file): New script. Run it on a file to
19632 update it for state naming and API changes. Updates files in
19635 * All files updated for the new API.
19637 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
19639 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
19640 * gst/gstutils.c: (gst_util_set_value_from_string),
19641 (gst_util_set_object_arg):
19642 fix a bunch of unchecked return values
19643 * tools/gst-complete.c: (main):
19644 * gstreamer.spec.in:
19647 2005-09-01 Wim Taymans <wim@fluendo.com>
19649 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19650 (gst_base_sink_event), (gst_base_sink_do_sync),
19651 (gst_base_sink_handle_event):
19652 * gst/base/gstbasesink.h:
19653 Handle newsegments more correctly.
19658 * gst/gstevent.c: (gst_event_new_newsegment):
19659 A newsegment cannot have a start_time of -1
19661 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
19663 * win32/gstenumtypes.c:
19664 * win32/gstenumtypes.h:
19667 2005-08-31 Stefan Kost <ensonic@users.sf.net>
19669 * libs/gst/controller/gst-controller.c:
19670 (gst_controlled_property_set_interpolation_mode),
19671 (gst_controlled_property_new):
19672 fixed boolean again
19674 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
19676 * docs/faq/gst-uninstalled:
19681 * gst/gstutils.c: (gst_element_link_filtered):
19683 add gst_element_link_filtered
19685 2005-08-31 Stefan Kost <ensonic@users.sf.net>
19687 * docs/gst/gstreamer-docs.sgml:
19688 * docs/gst/gstreamer-sections.txt:
19689 * docs/gst/tmpl/.cvsignore:
19690 * docs/gst/tmpl/gsterror.sgml:
19691 * docs/gst/tmpl/gstfilter.sgml:
19692 * docs/gst/tmpl/gsturihandler.sgml:
19693 * docs/gst/tmpl/gsturitype.sgml:
19694 * docs/gst/tmpl/gstutils.sgml:
19695 * docs/gst/tmpl/gstxml.sgml:
19700 * gst/gsturitype.c:
19703 inlined more docs, fixed double id-ref
19705 2005-08-31 Wim Taymans <wim@fluendo.com>
19707 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19708 (gst_base_transform_handle_buffer):
19709 Passthrough elements don't need the caps as they don't care.
19711 2005-08-31 Wim Taymans <wim@fluendo.com>
19713 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19714 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
19715 Don't leak refcounts on buffers.
19717 2005-08-31 Wim Taymans <wim@fluendo.com>
19719 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
19720 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19721 (gst_base_transform_chain), (gst_base_transform_change_state):
19722 * gst/base/gstbasetransform.h:
19723 Handle the case where we are not negotiated more gracefully.
19725 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
19727 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
19728 (gst_file_src_map_region):
19729 Set READONLY flag on mmap'ed buffers, otherwise
19730 gst_buffer_make_writable() won't work properly (#314708).
19732 2005-08-31 Wim Taymans <wim@fluendo.com>
19734 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
19735 passthrough elements can even do inplace on non writable
19736 buffers (as they don't touch them).
19738 2005-08-31 Stefan Kost <ensonic@users.sf.net>
19740 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
19741 (gst_test_mono_source_set_property),
19742 (gst_test_mono_source_class_init), (GST_START_TEST),
19743 (gst_controller_suite):
19744 more tests (hehe I have the most)
19746 describe popping messages whenusing mulltiple sources
19747 * libs/gst/controller/gst-controller.c:
19748 (gst_controlled_property_set_interpolation_mode),
19749 (gst_controlled_property_new):
19750 * libs/gst/controller/gst-controller.h:
19751 * libs/gst/controller/gst-interpolation.c:
19752 implement boolean properties
19754 2005-08-31 Wim Taymans <wim@fluendo.com>
19756 * gst/gstminiobject.c: (gst_mini_object_ref):
19757 Cannot assert that the refcount has to be positive
19758 since a disposed object can be resurrected.
19760 2005-08-31 Wim Taymans <wim@fluendo.com>
19762 * gst/gstpad.c: (gst_pad_init):
19763 Revert change, need to first fix badly behaving
19766 2005-08-30 Wim Taymans <wim@fluendo.com>
19768 * check/elements/fakesrc.c: (setup_fakesrc):
19769 * check/elements/identity.c: (setup_identity):
19770 Activate pads before using them.
19772 2005-08-30 Wim Taymans <wim@fluendo.com>
19774 * gst/base/gstadapter.c: (gst_adapter_flush):
19775 Flushing out 0 bytes is ok for this function.
19777 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19778 no newsegment gives a warning and sets the start/stop to
19781 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
19782 (gst_base_transform_set_passthrough):
19785 * gst/gstminiobject.c: (gst_mini_object_ref):
19786 Check refcount here too.
19788 * gst/gstpad.c: (gst_pad_init):
19789 Pads are initially flushing and refusing data.
19791 * gst/gstutils.c: (gst_element_link_pads_filtered):
19792 When adding a capsfilter element make sure it has the
19793 same state as the parent bin.
19795 2005-08-30 Stefan Kost <ensonic@users.sf.net>
19797 * docs/gst/tmpl/.cvsignore:
19798 * docs/gst/tmpl/gstformat.sgml:
19799 * docs/gst/tmpl/gstversion.sgml:
19803 * gst/gstversion.h.in:
19804 more docs and two more inlined
19806 2005-08-30 Wim Taymans <wim@fluendo.com>
19808 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
19809 Don't sync to clock.
19811 2005-08-30 Stefan Kost <ensonic@users.sf.net>
19813 * docs/gst/gstreamer-sections.txt:
19814 ultral33t func10ns deserve to appear in the docs actually
19815 * docs/gst/tmpl/.cvsignore:
19816 * docs/gst/tmpl/gstcompat.sgml:
19817 * docs/gst/tmpl/gstconfig.sgml:
19818 * gst/check/gstcheck.c:
19820 * gst/gstconfig.h.in:
19823 2005-08-30 Stefan Kost <ensonic@users.sf.net>
19825 * docs/gst/tmpl/.cvsignore:
19826 * docs/gst/tmpl/gstquery.sgml:
19827 * docs/gst/tmpl/gstutils.sgml:
19830 inlined and extended docs
19832 2005-08-30 Stefan Kost <ensonic@users.sf.net>
19834 * check/gst-libs/controller.c: (GST_START_TEST),
19835 (gst_controller_suite):
19837 * docs/gst/tmpl/gstutils.sgml:
19838 * docs/libs/gstreamer-libs-sections.txt:
19839 * docs/libs/tmpl/gstdataprotocol.sgml:
19841 * examples/controller/audio-example.c: (main):
19842 controller example works now
19845 * tools/gst-inspect.c: (print_element_properties_info):
19846 show param spec flags
19848 2005-08-29 Andy Wingo <wingo@pobox.com>
19850 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
19852 2005-08-28 Andy Wingo <wingo@pobox.com>
19854 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
19855 as having two arguments instead of just one. Allows superclasses
19856 to access information on subclasses -- see the terrible for() loop
19857 in gtype.c:g_type_create_instance for the reason why. All callers
19860 2005-08-27 Stefan Kost <ensonic@users.sf.net>
19862 * docs/design/part-messages.txt:
19864 * docs/gst/tmpl/.cvsignore:
19865 * docs/gst/tmpl/gstcaps.sgml:
19866 * docs/gst/tmpl/gstclock.sgml:
19872 * gst/gstmessage.c:
19873 added descriptions for bus and message
19874 inline caps and clock docs
19876 2005-08-27 Stefan Kost <ensonic@users.sf.net>
19878 * gst/gstmessage.c:
19879 * gst/gstmessage.h:
19882 2005-08-27 Stefan Kost <ensonic@users.sf.net>
19884 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
19887 2005-08-26 Andy Wingo <wingo@pobox.com>
19889 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
19890 element_set_state's return val.
19891 (test_2_elements): Add test that's been disabled for months.
19893 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
19894 can-activate-pull properties.
19896 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
19897 can-activate-pull properties. Implement is_seekable so fakesrc can
19898 operate in pull mode.
19900 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
19902 (gst_base_sink_activate, gst_base_sink_activate_pull)
19903 (gst_base_sink_activate_push): Make activation mode choosing work.
19905 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
19906 is right. Make pull mode work. Post an eos before pausing in pull
19908 (gst_base_sink_change_state): Pay attention to the core's
19909 change_state() return val.
19911 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
19912 has-getrange properties. Cleanups.
19914 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
19915 has_getrange and replace with can_activate_pull and
19918 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
19919 locking comments. Remove has_loop, has_chain and replace with
19920 can_activate_pull and can_activate_push.
19922 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
19925 * examples/Makefile.am:
19926 * examples/metadata/Makefile.am:
19927 * examples/metadata/read-metadata.c: (message_loop),
19928 (have_pad_handler), (make_pipeline), (print_tag), (main):
19929 Add metadata reading example that loops over a list of filenames,
19930 dumping any tags found.
19932 * gst/gstbus.c: (gst_bus_dispose):
19933 * gst/gstelement.c: (gst_element_dispose):
19934 Release a few potentially-held references in dispose.
19936 2005-08-26 Stefan Kost <ensonic@users.sf.net>
19938 * docs/gst/tmpl/gstminiobject.sgml:
19939 do *not* add tmpl/*.sgml files to CVS!
19941 2005-08-26 Stefan Kost <ensonic@users.sf.net>
19943 * libs/gst/bytestream/.cvsignore:
19944 * libs/gst/bytestream/Makefile.am:
19945 * libs/gst/bytestream/adapter.c:
19946 * libs/gst/bytestream/adapter.h:
19947 * libs/gst/bytestream/bytestream.c:
19948 * libs/gst/bytestream/bytestream.h:
19949 * libs/gst/bytestream/filepad.c:
19950 * libs/gst/bytestream/filepad.h:
19951 removing obsolete files
19953 2005-08-26 Stefan Kost <ensonic@users.sf.net>
19955 * docs/gst/gstreamer-docs.sgml:
19956 * docs/libs/gstreamer-libs-docs.sgml:
19957 disabed additional index entries again, as this makes docs-gen just
19958 slow and they aren't useful yet
19959 * docs/libs/gstreamer-libs-sections.txt:
19960 little -section.txt cleanup for libs
19962 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
19964 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19965 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
19966 fix up some debugging
19967 (gst_base_transform_get_unit_size),
19968 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
19969 (gst_base_transform_handle_buffer):
19970 * gst/base/gstbasetransform.h:
19971 handle and store timed NEWSEGMENT events so that subclasses that
19972 calculate time by counting samples have a segment_start time they
19973 need to add to their timestamps - see audioresample
19975 2005-08-26 Stefan Kost <ensonic@users.sf.net>
19978 removed ';' from the end of macro defs
19979 * docs/gst/gstreamer-docs.sgml:
19980 * docs/gst/gstreamer-sections.txt:
19981 * docs/gst/tmpl/.cvsignore:
19983 * gst/gstelement.c: (gst_element_class_init),
19984 (gst_element_set_state), (activate_pads),
19985 (gst_element_save_thyself):
19986 * gst/gstevent.c: (gst_event_new_newsegment):
19988 * gst/gstiterator.c:
19989 * gst/gstiterator.h:
19992 * gst/gstutils.c: (gst_pad_query_convert):
19994 fixed parameter name mismatches between source, header and docs
19995 added some more docs, resolved the last batch of unused elements in
19996 docs (now someone needs to doc them)
19998 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
20000 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
20001 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
20002 don't walk through the plugins backwards. Where is all this
20003 reversed logic coming from ?
20005 2005-08-25 Wim Taymans <wim@fluendo.com>
20007 * gst/base/gstbasetransform.c: (gst_base_transform_init),
20008 (gst_base_transform_transform_size),
20009 (gst_base_transform_configure_caps),
20010 (gst_base_transform_get_unit_size),
20011 (gst_base_transform_buffer_alloc),
20012 (gst_base_transform_change_state):
20013 * gst/base/gstbasetransform.h:
20014 Cache caps unit_size.
20015 Make sure we cannot negotiate up and downstream at the
20018 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
20020 * gst/gst.c: (init_pre), (init_post):
20021 register the installed plugin path after the env var
20022 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
20023 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
20024 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
20025 directories, so the tests can prefer uninstalled over installed
20027 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
20029 * gst/base/gstbasetransform.h:
20034 2005-08-25 Wim Taymans <wim@fluendo.com>
20036 * gst/gstbin.c: (bin_bus_handler):
20037 Be a bit more conservative about the posted message.
20039 * gst/gstbus.c: (gst_bus_post):
20040 Some cleanups, warn wrong return values.
20042 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
20044 * check/gst/gstbin.c: (GST_START_TEST):
20045 * gst/gstbin.c: (bin_bus_handler):
20046 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20047 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20048 (gst_message_new_warning), (gst_message_new_tag),
20049 (gst_message_new_state_changed), (gst_message_new_segment_start),
20050 (gst_message_new_segment_done), (gst_message_new_custom):
20051 * gst/gstmessage.h:
20052 * tools/gst-launch.c: (event_loop):
20053 * tools/gst-md5sum.c: (event_loop):
20054 Revert unpopular change for GST_MESSAGE_SRC to GObject.
20056 2005-08-25 Wim Taymans <wim@fluendo.com>
20058 * check/generic/states.c: (GST_START_TEST):
20059 Cleanup can be done at the end.
20061 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
20062 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20063 (gst_task_get_state), (gst_task_start), (gst_task_pause):
20064 Oh boy.. Thanks for finding this, Thomas.
20066 2005-08-25 Stefan Kost <ensonic@users.sf.net>
20068 * docs/gst/gstreamer.types:
20069 added missing types
20071 2005-08-25 Stefan Kost <ensonic@users.sf.net>
20073 * docs/gst/gstreamer-docs.sgml:
20074 * docs/gst/gstreamer-sections.txt:
20075 * docs/gst/tmpl/.cvsignore:
20077 * gst/gstiterator.c:
20079 * gst/registries/gstxmlregistry.h:
20080 added missing classes and symbols (123 more to go)
20081 removed removed symbols from section file
20082 fixed many doc-comments
20084 2005-08-24 Wim Taymans <wim@fluendo.com>
20086 * check/generic/states.c: (GST_START_TEST):
20087 Make sure all tasks are stopped.
20089 * check/gst/gstbin.c: (GST_START_TEST):
20090 Unref after usage for proper valgrinding.
20092 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
20093 Really wait for the task to stop before destroying the
20096 * gst/gstqueue.c: (gst_queue_sink_activate_push),
20097 (gst_queue_src_activate_push):
20098 Small cleanups. Don't stop the task when we did not start
20101 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
20102 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20103 (gst_task_get_state), (gst_task_start), (gst_task_pause),
20106 Protect the stream lock with the object lock.
20107 Disallow setting the stream lock when running.
20108 Add cleanup_all to wait for the threadpool to finish.
20109 Remove code to autoallocate a mutex if none was provided.
20110 Add _join() to wait for a task to stop.
20111 Protect the thread pool with a global lock.
20113 2005-08-24 Wim Taymans <wim@fluendo.com>
20115 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20116 (gst_base_sink_get_times), (gst_base_sink_do_sync),
20117 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
20118 * gst/base/gstbasesink.h:
20119 Handle newsegment events correctly.
20120 Drop buffers out of the segment range.
20122 2005-08-22 Andy Wingo <wingo@pobox.com>
20124 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
20125 macro, implements an interface and gstimplementsinterface for a
20128 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
20130 * check/Makefile.am:
20131 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
20132 add a test that does a bunch of state changes on elements
20133 needs some fixing for valgrind
20134 * check/states/sinks.c: (gst_object_suite):
20137 add prototype for gst_caps_is_equal_fixed
20139 * gst/gstregistrypool.c:
20142 2005-08-24 Andy Wingo <wingo@pobox.com>
20144 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
20145 convert a negative value. Doesn't make much sense. Mostly this is
20146 here to force callers to ensure -1 maps to -1.
20148 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
20150 * docs/pwg/advanced-types.xml:
20151 Well done to Michael for catching my deliberate introduction
20152 of this spelling mistake.
20153 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
20154 * gst/gstelement.h:
20155 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
20156 unlink pads before removing the element from the bin.
20158 2005-08-24 Andy Wingo <wingo@pobox.com>
20160 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
20161 the same thing as GST_DEBUG=*:4.
20162 (parse_debug_level, parse_debug_category): New helper parsers.
20164 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
20166 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20167 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
20168 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
20169 (gst_base_transform_buffer_alloc),
20170 (gst_base_transform_handle_buffer):
20171 use gboolean return values and pointers to size so we can use the
20172 full GST_BUFFER_SIZE range (guint) for buffer sizes
20173 use GstPadDirection for transform_caps
20174 * gst/base/gstbasetransform.h:
20175 rename get_size to get_unit_size since that's what it is
20176 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
20177 use GstPadDirection for transform_caps
20178 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20180 cleanup and debugging
20182 2005-08-24 Stefan Kost <ensonic@users.sf.net>
20184 * gst/gstelement.c: (gst_element_class_init),
20185 (gst_element_set_state), (activate_pads),
20186 (gst_element_save_thyself):
20187 * tools/gst-compprep.c: (main):
20188 * tools/gst-inspect.c: (print_element_properties_info):
20189 * tools/gst-xmlinspect.c: (print_element_properties):
20190 Fixed long standing mem-leak
20192 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
20194 * check/gst/gstbin.c: (GST_START_TEST):
20195 * gst/gstbin.c: (bin_bus_handler):
20196 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20197 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20198 (gst_message_new_warning), (gst_message_new_tag),
20199 (gst_message_new_state_changed), (gst_message_new_segment_start),
20200 (gst_message_new_segment_done), (gst_message_new_custom):
20201 * gst/gstmessage.h:
20202 * tools/gst-launch.c: (event_loop):
20203 * tools/gst-md5sum.c: (event_loop):
20204 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
20205 that applications can sensibly post custom messages with references
20206 to their own objects.
20208 2005-08-24 Andy Wingo <wingo@pobox.com>
20210 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
20213 2005-08-24 Wim Taymans <wim@fluendo.com>
20215 * gst/base/gstbasetransform.c: (gst_base_transform_init),
20216 (gst_base_transform_transform_caps),
20217 (gst_base_transform_transform_size),
20218 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20219 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20220 (gst_base_transform_handle_buffer):
20221 * gst/base/gstbasetransform.h:
20222 Many fixes and new features added by Thomas. Can now also do
20223 transforms with variable sizes and a custom fixate_caps function.
20225 2005-08-24 Wim Taymans <wim@fluendo.com>
20227 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20231 Cast to ClockTime before formatting to time.
20236 2005-08-24 Stefan Kost <ensonic@users.sf.net>
20238 * check/gst-libs/controller.c: (GST_START_TEST),
20239 (gst_controller_suite):
20240 * docs/gst/tmpl/gstcaps.sgml:
20241 * docs/gst/tmpl/gstghostpad.sgml:
20242 * docs/gst/tmpl/gstquery.sgml:
20243 * docs/gst/tmpl/gstutils.sgml:
20244 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
20245 (gst_object_sink_values), (gst_object_get_value_arrays),
20246 (gst_object_get_value_array):
20247 gracefully handle helper method calls to objects that are not beeing
20248 controlled, added test case for that
20250 2005-08-23 Wim Taymans <wim@fluendo.com>
20252 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
20253 (gst_event_new_newsegment), (gst_event_parse_newsegment),
20254 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
20255 (gst_event_parse_qos), (gst_event_new_seek),
20256 (gst_event_parse_seek):
20258 Some more debugging output and doc cleanups.
20260 * gst/gstqueue.c: (gst_queue_handle_sink_event):
20261 Fix possible deadlock.
20263 2005-08-23 Stefan Kost <ensonic@users.sf.net>
20265 * docs/gst/gstreamer-docs.sgml:
20266 * docs/gst/gstreamer-sections.txt:
20267 * docs/gst/gstreamer.types:
20268 * docs/gst/tmpl/.cvsignore:
20271 * gst/gstelement.c:
20273 added 100 symbols from gstreamer-unused.txt to the right sections
20274 fixed more broken comments
20275 added GstBus to docs
20277 2005-08-23 Stefan Kost <ensonic@users.sf.net>
20279 * docs/gst/gstreamer-sections.txt:
20280 * docs/gst/tmpl/.cvsignore:
20281 * docs/gst/tmpl/gstbin.sgml:
20282 * docs/gst/tmpl/gstbuffer.sgml:
20283 * gst/base/gstbasesrc.c:
20284 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
20287 * tools/gst-launch.1.in:
20288 inlined more doc comments, added missing comments and fixed comments
20291 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
20293 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20297 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
20299 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
20300 * gst/gststructure.h:
20301 add a fixate function for booleans; add a FIXME that these func
20302 names should probably be gst_structure_fixate_*
20304 2005-08-23 Stefan Kost <ensonic@users.sf.net>
20306 * docs/gst/gstreamer-docs.sgml:
20307 * docs/gst/gstreamer-sections.txt:
20309 * gst/gstbin.c: (gst_bin_get_type),
20310 (gst_bin_child_proxy_get_child_by_index),
20311 (gst_bin_child_proxy_get_children_count),
20312 (gst_bin_child_proxy_init):
20313 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20314 (gst_child_proxy_get_child_by_index),
20315 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
20316 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
20317 (gst_child_proxy_get), (gst_child_proxy_set_property),
20318 (gst_child_proxy_set_valist), (gst_child_proxy_set),
20319 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
20320 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
20321 * gst/gstchildproxy.h:
20322 * gst/parse/grammar.y:
20323 * tools/gst-inspect.c: (print_interfaces),
20324 (print_element_properties_info), (print_element_info):
20325 ported gstchildproxy over from 0.8
20326 ported gst-inspect fixes and enhancements over from 0.8
20328 2005-08-22 Wim Taymans <wim@fluendo.com>
20330 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20331 (gst_base_transform_handle_buffer):
20332 Also call the transform function if we have ANY caps.
20334 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
20337 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
20339 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
20340 Don't pretend to handle seek events if the source is not seekable
20342 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
20344 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20345 Remove extra parameter to debug output
20347 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20348 (gst_base_src_do_seek), (gst_base_src_activate_push):
20349 Fix seek event handling.
20351 * gst/gstpipeline.c: (gst_pipeline_change_state):
20352 * gst/gstqueue.c: (gst_queue_handle_sink_event),
20353 (gst_queue_src_activate_push):
20354 Don't start the src pad task on FLUSH_STOP if the pad
20358 2005-08-22 Wim Taymans <wim@fluendo.com>
20360 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
20361 Added check for gst_static_caps_get() refcounting.
20363 2005-08-22 Wim Taymans <wim@fluendo.com>
20365 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
20366 Make _static_caps_get() refcounting sane.
20368 * gst/gstelement.c: (gst_element_set_state):
20369 Add g_return_val_if_fail() to protect against segfaults.
20371 2005-08-22 Stefan Kost <ensonic@users.sf.net>
20373 * docs/gst/tmpl/gstevent.sgml:
20376 inlined remaining docs, added missing doc comments
20378 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
20380 * check/gst/gstbin.c: (GST_START_TEST):
20381 since we don't know when preroll is done, use refcount range
20383 * gst/check/gstcheck.h:
20384 add macro for checking refcount range
20386 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
20388 * check/Makefile.am:
20389 clean up environment for when registry gets built versus
20390 when actual tests are run; valgrind seems to not report
20391 leaks if GST_PLUGIN_PATH is set to some specific values
20392 * check/gst/gstbin.c: (GST_START_TEST):
20393 add more refcounting checks; maybe this exposes a
20395 * common/check.mak:
20396 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20397 * gst/check/gstcheck.h:
20398 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
20399 (gst_bin_change_state):
20400 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
20401 add/fix debugging/whitespace
20403 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
20405 * check/gst/gstevent.c: (event_probe), (test_event),
20407 Er, don't call gst_bin_watch_for_state_change you idiot.
20409 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
20411 * check/Makefile.am:
20412 Use CHECK_CFLAGS and CHECK_LIBS
20413 * check/gst/gstevent.c: (event_probe), (test_event),
20416 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20417 (gst_base_src_start), (gst_base_src_stop),
20418 (gst_base_src_activate_push), (gst_base_src_activate_pull),
20419 (gst_base_src_change_state):
20420 Sprinkle gst_base_src_stop liberally around error paths to fix
20421 problems reusing a source after failed state changes.
20422 * gst/base/gsttypefindhelper.c: (helper_find_peek),
20423 (helper_find_suggest), (gst_type_find_helper):
20424 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
20426 * docs/gst/tmpl/gstevent.sgml:
20427 Migrate part of the docs from the SGML file. Wait for ensonic to
20428 tell me how I did it wrong ;)
20429 * tools/gst-typefind.c: (main):
20430 Extra robustness to state changes between files.
20432 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
20434 * check/Makefile.am:
20435 don't valgrind the controller test - it's leaking - Stefan, HELP
20436 * gst/check/gstcheck.c: (gst_check_message_error),
20437 (gst_check_chain_func), (gst_check_setup_element),
20438 (gst_check_teardown_element), (gst_check_setup_src_pad),
20439 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
20440 (gst_check_teardown_sink_pad):
20441 * gst/check/gstcheck.h:
20442 add a bunch of methods to set up elements, and src and sink pads
20443 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
20444 * check/elements/identity.c: (setup_identity), (cleanup_identity),
20447 * gst/gstmessage.c:
20449 whitespace/doc fixes
20451 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
20453 * gst/gstelement.h:
20454 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
20455 be handled by the application and not always printed as well
20457 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
20459 * check/Makefile.am:
20461 * gst/check/gstcheck.c: (gst_check_message_error):
20462 * gst/check/gstcheck.h:
20463 add a fail_unless_equals_int
20464 add fail_unless for error messages
20466 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
20468 * check/Makefile.am:
20470 * common/Makefile.am:
20471 * common/check.mak:
20473 factor out some of the common stuff so we can use it
20475 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
20477 * check/Makefile.am:
20478 * check/gst/gstiterator.c: (GST_START_TEST):
20479 * check/gst/gstsystemclock.c: (GST_START_TEST),
20480 (gst_systemclock_suite):
20481 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20483 valgrind more tests
20485 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
20487 * check/elements/.cvsignore:
20488 * check/elements/gstfakesrc.c:
20489 rename to name of element
20490 * check/elements/identity.c: (chain_func), (event_func),
20491 (setup_identity), (cleanup_identity), (GST_START_TEST),
20492 (identity_suite), (main):
20493 add a test for identity
20494 * check/Makefile.am:
20495 * pkgconfig/Makefile.am:
20496 * pkgconfig/gstreamer-check.pc.in:
20497 * pkgconfig/gstreamer-check-uninstalled.pc.in:
20501 move the check stuff to a library that gets installed
20502 * check/gst-libs/controller.c: (GST_START_TEST):
20503 * check/gst-libs/gdp.c:
20504 * check/gst/gst.c: (GST_START_TEST):
20505 * check/gst/gstbin.c:
20506 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20507 * check/gst/gstbus.c:
20508 * check/gst/gstcaps.c: (GST_START_TEST):
20509 * check/gst/gstelement.c:
20510 * check/gst/gstghostpad.c:
20511 * check/gst/gstiterator.c:
20512 * check/gst/gstmessage.c:
20513 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
20514 * check/gst/gstobject.c:
20515 * check/gst/gstpad.c: (GST_START_TEST):
20516 * check/gst/gststructure.c: (GST_START_TEST):
20517 * check/gst/gstsystemclock.c: (GST_START_TEST),
20518 (gst_systemclock_suite):
20519 * check/gst/gsttag.c: (gst_tag_suite):
20520 * check/gst/gstvalue.c:
20521 * check/pipelines/cleanup.c:
20522 * check/pipelines/simple_launch_lines.c:
20523 * check/states/sinks.c:
20524 change include statement
20526 * docs/gst/gstreamer-sections.txt:
20527 * docs/gst/tmpl/gstpad.sgml:
20528 document more pad stuff
20529 * gst/gstminiobject.c: (gst_mini_object_ref),
20530 (gst_mini_object_unref):
20533 2005-08-19 Stefan Kost <ensonic@users.sf.net>
20535 * docs/gst/tmpl/gst.sgml:
20537 eliminate another tmpl file, fix spelling in the long-description
20539 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
20541 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20542 (test_event), (timediff), (gstevents_suite):
20543 Should fix build on 64-bit arch's
20545 2005-08-18 Andy Wingo <wingo@pobox.com>
20547 Make sure that when a pipeline goes to PLAYING, that data has
20548 actually hit the sink.
20550 * check/states/sinks.c (test_sink): A sink that doesn't get any
20551 data shouldn't return SUCCESS for going to either PLAYING or
20552 PAUSED. Test also the return values on the way back down.
20554 * gst/gstelement.c (gst_element_set_state): When changing the
20555 state of an element currently changing state asynchronously, go to
20556 lost-state after commiting the pending state. Makes future calls
20557 to get_state continue to return ASYNC.
20559 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
20560 ASYNC when going to PLAYING if we still don't have preroll, as can
20561 happen with live sources.
20563 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
20565 * docs/pwg/advanced-types.xml:
20566 Hack long paragraph into 2 chunks as a workaround for buggy
20567 jadetex version in sid and breezy that loops infinitely and
20570 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
20572 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20573 (test_event), (timediff), (gstevents_suite):
20574 Provide more error margin in clock measurements to allow for
20575 g_get_current_time inaccuracies.
20577 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
20579 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20580 (test_event), (timediff), (gstevents_suite):
20581 Fix error message output so I might be able to tell why the
20582 test works here but fails on the build farm.
20584 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
20586 * check/Makefile.am:
20587 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20588 (test_event), (timediff), (gstevents_suite), (main):
20591 * docs/design/part-seeking.txt:
20592 Spelling correction
20594 * docs/gst/tmpl/gstevent.sgml:
20595 * docs/gst/tmpl/gstfakesrc.sgml:
20598 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20599 Treat a buffer-without-newsegment the same as a receiving
20600 a newsegment not in time format, and disable syncing to the clock
20603 * gst/gstbus.c: (gst_bus_set_sync_handler):
20604 Assert if anyone tries to replace the existing sync_handler for bus,
20605 as only the owner should be setting it.
20608 Have a fixed set of custom event enums with events identified by
20609 their structure name (as in 0.8), rather than a free-for-all
20610 allowing collisions between enum values from different plugins.
20612 * gst/gstpad.c: (gst_pad_class_init):
20615 * gst/gstqueue.c: (gst_queue_handle_sink_event):
20616 Handle out-of-band downstream events from the sending thread.
20618 2005-08-17 Andy Wingo <wingo@pobox.com>
20620 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
20621 play-timeout==0 to mean no timeout at all. In that case, don't
20622 bother with a get_state or a warning, just return directly, even
20625 * gst/base/gstbasetransform.c: Debug changes.
20628 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
20629 ensure bins post state change messages. A bit of a hack but I can't
20630 think of a way to avoid it.
20632 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
20634 2005-08-16 Andy Wingo <wingo@pobox.com>
20636 * gst/base/gstadapter.h:
20637 * gst/base/gstadapter.c (gst_adapter_take): New function, like
20638 peek() but you own the data. Not terribly efficient atm.
20640 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20642 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
20643 (gst_element_found_tags):
20645 Add two utility functions for tag handling.
20647 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20649 * docs/manual/advanced-dataaccess.xml:
20650 * docs/manual/basics-helloworld.xml:
20651 Fix docs to use _bin_add() before _link(), which fixes the examples
20652 with recent core versions (reported by Madhan Raj M
20653 <raj_madan@rediffmail.com>, #313199).
20655 2005-08-16 Wim Taymans <wim@fluendo.com>
20657 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20658 Added subtract checks.
20660 * docs/design/part-events.txt:
20661 Some more docs about newsegment
20663 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20666 * gst/gstcaps.c: (gst_caps_to_string):
20667 Add comments, cleanups.
20669 * gst/gstelement.c: (gst_element_save_thyself):
20672 * gst/gstvalue.c: (gst_value_collect_int_range),
20673 (gst_string_unwrap), (gst_value_union_int_int_range),
20674 (gst_value_union_int_range_int_range),
20675 (gst_value_intersect_int_int_range),
20676 (gst_value_intersect_int_range_int_range),
20677 (gst_value_intersect_double_double_range),
20678 (gst_value_intersect_double_range_double_range),
20679 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
20680 (gst_value_subtract_int_range_int),
20681 (gst_value_subtract_double_range_double),
20682 (gst_value_subtract_double_range_double_range),
20683 (gst_value_subtract_from_list), (gst_value_subtract_list),
20684 (gst_value_can_compare), (gst_value_compare_fraction):
20685 Cleanups, add comments, remove unneeded asserts.
20687 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
20689 * tools/gst-launch.c: (event_loop):
20690 don't convert NULL structures to strings
20692 2005-08-15 Stefan Kost <ensonic@users.sf.net>
20694 * docs/gst/gstreamer-sections.txt:
20695 made some defines private
20696 * docs/gst/tmpl/gstconfig.sgml:
20697 * docs/gst/tmpl/gstqueue.sgml:
20698 * docs/gst/tmpl/gsttaglist.sgml:
20699 * docs/gst/tmpl/gsttypes.sgml:
20700 * docs/gst/tmpl/gstutils.sgml:
20701 * docs/pwg/appendix-porting.xml:
20702 * gst/base/gstbasesink.h:
20703 * gst/base/gstbasesrc.c:
20704 * gst/base/gstbasesrc.h:
20705 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
20706 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
20707 * gst/gstelement.c: (gst_element_class_init):
20708 * gst/gstpad.c: (gst_pad_class_init):
20709 * gst/gstqueue.c: (gst_queue_class_init):
20710 * gst/gstxml.c: (gst_xml_class_init):
20711 documented all undocumented signal inline
20712 * libs/gst/controller/gst-controller.h:
20715 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20717 * docs/pwg/appendix-porting.xml:
20718 Document _set_link_function -> _set_setcaps_function.
20720 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
20722 * check/Makefile.am:
20723 add a .check target for running the check
20724 * check/gst-libs/controller.c: (GST_START_TEST):
20726 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20727 complete checks for gstbuffer; would be nice if I could get the
20728 gcov stuff to work so I can see if I actually completed gstbuffer.c
20729 * check/gstcheck.h:
20730 add ASSERT_BUFFER_REFCOUNT
20732 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
20734 * docs/gst/gstreamer-sections.txt:
20735 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
20737 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
20738 spew out a warning if a tag that is already registered
20739 is re-registered, unless it is re-registered with a
20740 different type (#308438).
20742 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
20744 * docs/pwg/appendix-porting.xml:
20745 * docs/pwg/building-state.xml:
20746 Add some paragraphs about state changes in 0.9 to the PWG
20747 and the porting guide, in particular about the new meaning
20748 of GST_STATE_PAUSED and how to write state change functions
20749 with concurrent access by multiple threads in mind.
20751 2005-08-11 Stefan Kost <ensonic@users.sf.net>
20753 * docs/gst/gstreamer-docs.sgml:
20754 * docs/libs/gstreamer-libs-docs.sgml:
20755 added deprecation and since indexes
20756 * libs/gst/controller/gst-controller.c:
20757 * libs/gst/controller/gst-helper.c:
20761 2005-08-11 Wim Taymans <wim@fluendo.com>
20763 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
20764 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
20765 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
20766 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
20767 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
20768 (gst_ghost_pad_set_target):
20769 Actually implement (re)setting the target on a ghostpad
20770 as described in the docs.
20772 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
20774 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
20775 Check whether GST_DEBUG_NO_COLOR environment variable is
20776 set and disable coloured debug output if that is the case.
20778 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
20780 * gst/base/gsttypefindhelper.c: (helper_find_peek),
20781 (gst_type_find_helper):
20782 The memory returned by gst_type_find_peek() needs to
20783 stay valid until the end of a typefind function, and
20784 typefind functions may keep results from different
20785 offsets around, so we can't just unref the buffer from
20786 the previous _peek(), but have to save all buffers
20787 returned by _peek() until typefinding is done and only
20790 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
20792 * docs/gst/gstreamer-sections.txt:
20794 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
20796 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20798 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
20799 Fix a pretty good memleak.
20801 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
20803 * gst/gstiterator.h:
20804 Fix wrong include and 'make distcheck'.
20806 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20808 * gst/gstbin.c: (bin_bus_handler):
20809 Use gst_element_post_message() instead.
20811 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
20813 * gst/base/gstadapter.h:
20814 * gst/base/gstbasesink.h:
20815 * gst/base/gstbasesrc.h:
20816 * gst/base/gstbasetransform.h:
20817 * gst/base/gstcollectpads.h:
20818 * gst/base/gstpushsrc.h:
20819 * gst/gstiterator.h:
20820 Add padding to our base elements' class and instance structs and
20821 to GstIterator (you will need to rebuild all plugins and apps!)
20823 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20825 * gst/gstbin.c: (bin_bus_handler):
20826 Make default message forwarding from child->bus to bin->bus
20827 threadsafe and make it not emit warnings if the parent has no bus.
20829 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20831 * gst/gstelement.c: (activate_pads):
20832 On paused->ready, set pad->caps to NULL, as is the documented
20833 behaviour in this state change. Fixes playback of series of
20834 media files when visualization is enabled in Totem.
20836 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20838 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20839 Allow NULL as filter-caps (which means "any").
20841 2005-08-05 Stefan Kost <ensonic@users.sf.net>
20843 * docs/libs/gstreamer-libs-sections.txt:
20844 * libs/gst/controller/gst-controller.c:
20845 * libs/gst/controller/gst-controller.h:
20846 * libs/gst/controller/gst-helper.c:
20847 adding more entries to the docs and fix small doc-bugs
20849 2005-08-05 Stefan Kost <ensonic@users.sf.net>
20851 * docs/gst/gstreamer-docs.sgml:
20852 * docs/gst/gstreamer-sections.txt:
20853 * docs/gst/gstreamer.types:
20854 * docs/gst/tmpl/gstbasesink.sgml:
20855 * docs/gst/tmpl/gstbasesrc.sgml:
20856 * docs/gst/tmpl/gstbasetransform.sgml:
20857 * docs/gst/tmpl/gstfakesrc.sgml:
20858 * gst/base/gstcollectpads.c:
20859 * gst/base/gstcollectpads.h:
20860 * libs/gst/controller/gst-controller.c:
20861 * libs/gst/controller/gst-controller.h:
20862 * libs/gst/controller/gst-helper.c:
20863 * libs/gst/controller/gst-interpolation.c:
20864 * libs/gst/controller/lib.c:
20865 added long/short desc for controller docs
20866 added collectpads base class docs
20867 added correct includes to base-class docs
20869 2005-08-05 Stefan Kost <ensonic@users.sf.net>
20871 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
20872 (gst_test_mono_source_set_property),
20873 (gst_test_mono_source_class_init), (GST_START_TEST),
20874 (gst_controller_suite):
20875 * docs/gst/gstreamer-docs.sgml:
20876 * docs/gst/gstreamer-sections.txt:
20877 * docs/gst/gstreamer.types:
20878 * docs/libs/gstreamer-libs-docs.sgml:
20879 * docs/libs/gstreamer-libs-sections.txt:
20880 * gst/base/gstadapter.c:
20881 * libs/gst/controller/gst-controller.c:
20882 (gst_controlled_property_new), (gst_controlled_property_free),
20883 (gst_controller_new_valist),
20884 (gst_controller_remove_properties_valist),
20885 (gst_controller_sink_values), (_gst_controller_finalize):
20886 * libs/gst/controller/gst-controller.h:
20887 * libs/gst/controller/gst-helper.c:
20888 (gst_object_control_properties), (gst_object_uncontrol_properties),
20889 (gst_object_get_controller), (gst_object_set_controller),
20890 (gst_object_sink_values), (gst_object_get_value_arrays),
20891 (gst_object_get_value_array):
20892 more tests (and fixes) for the controller
20893 more docs for the controller
20894 integrated companies docs for the adapter
20896 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
20898 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
20899 (GST_START_TEST), (fakesrc_suite):
20900 add tests for sizetype
20902 2005-08-04 Andy Wingo <wingo@pobox.com>
20904 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
20905 fixes buffer_alloc proxying among other things.
20907 * gst/base/gstbasetransform.c:
20908 * gst/base/gstbasetransform.h:
20909 Revert patch to gstbasetransform from 7-28 removing
20912 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
20913 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
20914 Semantics changed, should return not the size of the output buffer
20915 but the byte size of a buffer with a given caps.
20917 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
20919 (gst_base_transform_configure_caps): Don't set out_size here: (in,
20920 out) are not the pad caps until setcaps finishes.
20921 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
20922 not-in-place case as well. Deal with changing from in-place to
20923 not-in-place within calling pad_alloc_buffer. Still a bit
20924 concerned about the overhead here...
20926 2005-08-03 Andy Wingo <wingo@pobox.com>
20928 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
20929 fixating is an error.
20931 2005-08-04 Edward Hervey <edward@fluendo.com>
20933 * gst/base/gstadapter.h:
20934 Added gst_adapter_get_type() to the header
20936 2005-08-03 Stefan Kost <ensonic@users.sf.net>
20938 * check/Makefile.am:
20939 * check/gst-libs/controller.c:
20940 * libs/gst/controller/gst-controller.c:
20941 (gst_controller_new_valist):
20942 added check test suite for the controller
20943 * gst/base/gstpushsrc.c:
20946 2005-08-03 Stefan Kost <ensonic@users.sf.net>
20948 * docs/gst/Makefile.am:
20949 * docs/gst/gstreamer-docs.sgml:
20950 * docs/gst/gstreamer-sections.txt:
20951 * docs/gst/gstreamer.types:
20952 * docs/gst/tmpl/gstfakesrc.sgml:
20954 * gst/base/gstbasesink.c:
20955 * gst/base/gstbasesink.h:
20956 * gst/base/gstbasesrc.c:
20957 * gst/base/gstbasesrc.h:
20958 * gst/base/gstbasetransform.c:
20959 * gst/base/gstpushsrc.c:
20960 * gst/base/gstpushsrc.h:
20961 add short/long description docs to base classes
20962 add pushsrc to the docs
20963 remove consolidated doc fragments
20965 2005-08-03 Stefan Kost <ensonic@users.sf.net>
20968 * docs/libs/Makefile.am:
20969 * docs/libs/gstreamer-libs-docs.sgml:
20970 * docs/libs/gstreamer-libs-sections.txt:
20971 * docs/libs/gstreamer-libs.types:
20972 * examples/Makefile.am:
20973 * examples/controller/.cvsignore:
20974 * examples/controller/Makefile.am:
20975 * examples/controller/audio-example.c: (main):
20976 * libs/gst/Makefile.am:
20977 * libs/gst/controller/.cvsignore:
20978 * libs/gst/controller/Makefile.am:
20979 * libs/gst/controller/gst-controller.c:
20980 (on_object_controlled_property_changed), (gst_timed_value_compare),
20981 (gst_timed_value_find),
20982 (gst_controlled_property_set_interpolation_mode),
20983 (gst_controlled_property_new), (gst_controlled_property_free),
20984 (gst_controller_find_controlled_property),
20985 (gst_controller_new_valist), (gst_controller_new),
20986 (gst_controller_remove_properties_valist),
20987 (gst_controller_remove_properties), (gst_controller_set),
20988 (gst_controller_set_from_list), (gst_controller_unset),
20989 (gst_controller_get), (gst_controller_get_all),
20990 (gst_controller_sink_values), (gst_controller_get_value_arrays),
20991 (gst_controller_get_value_array),
20992 (gst_controller_set_interpolation_mode),
20993 (_gst_controller_finalize), (_gst_controller_init),
20994 (_gst_controller_class_init), (gst_controller_get_type):
20995 * libs/gst/controller/gst-controller.h:
20996 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
20997 (g_object_uncontrol_properties), (g_object_get_controller),
20998 (g_object_set_controller), (g_object_sink_values),
20999 (g_object_get_value_arrays), (g_object_get_value_array):
21000 * libs/gst/controller/gst-interpolation.c:
21001 (gst_controlled_property_find_timed_value_node),
21002 (interpolate_none_get), (interpolate_trigger_get),
21003 (interpolate_trigger_get_value_array):
21004 * libs/gst/controller/lib.c: (gst_controller_init):
21005 * pkgconfig/Makefile.am:
21006 * pkgconfig/gstreamer-control-uninstalled.pc.in:
21007 * pkgconfig/gstreamer-control.pc.in:
21008 * testsuite/Makefile.am:
21009 * testsuite/controller/.cvsignore:
21010 * testsuite/controller/Makefile.am:
21011 * testsuite/controller/interpolator.c: (main):
21012 added controller code
21013 removed dparam pc files
21015 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
21016 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
21017 (gst_collectpads_stop):
21018 Broadcast the condition when shutting down, to make sure we wake all
21019 threads up. Shut down pads on finalize, for safety.
21021 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
21022 * gst/base/gstbasetransform.c: (gst_base_transform_init),
21023 (gst_base_transform_handle_buffer),
21024 (gst_base_transform_change_state):
21025 Handle PAUSED->READY->PAUSED transition after negotiation
21027 * gst/gstmessage.c: (gst_message_init):
21028 Extra piece of debug for new messages.
21030 2005-08-01 Stefan Kost <ensonic@users.sf.net>
21033 * docs/gst/tmpl/gstbasesrc.sgml:
21034 * docs/gst/tmpl/gstelement.sgml:
21035 * docs/gst/tmpl/gstevent.sgml:
21036 * docs/gst/tmpl/gstfakesrc.sgml:
21037 * docs/gst/tmpl/gstformat.sgml:
21038 * docs/gst/tmpl/gstghostpad.sgml:
21039 * docs/gst/tmpl/gstpad.sgml:
21040 * docs/gst/tmpl/gstquery.sgml:
21041 * docs/gst/tmpl/gststructure.sgml:
21042 * docs/gst/tmpl/gsttaglist.sgml:
21043 * docs/gst/tmpl/gstvalue.sgml:
21044 * docs/libs/gstreamer-libs-docs.sgml:
21045 * docs/libs/gstreamer-libs-sections.txt:
21046 * docs/libs/gstreamer-libs.types:
21047 * libs/gst/Makefile.am:
21048 * libs/gst/control/.cvsignore:
21049 * libs/gst/control/Makefile.am:
21050 * libs/gst/control/control.c:
21051 * libs/gst/control/control.h:
21052 * libs/gst/control/dparam.c:
21053 * libs/gst/control/dparam.h:
21054 * libs/gst/control/dparam_smooth.c:
21055 * libs/gst/control/dparam_smooth.h:
21056 * libs/gst/control/dparamcommon.h:
21057 * libs/gst/control/dparammanager.c:
21058 * libs/gst/control/dparammanager.h:
21059 * libs/gst/control/dplinearinterp.c:
21060 * libs/gst/control/dplinearinterp.h:
21061 * libs/gst/control/unitconvert.c:
21062 * libs/gst/control/unitconvert.h:
21063 * testsuite/Makefile.am:
21064 * testsuite/dynparams/.cvsignore:
21065 * testsuite/dynparams/Makefile.am:
21066 * testsuite/dynparams/dparamstest.c:
21067 * tools/Makefile.am:
21068 * tools/gst-inspect.c: (print_element_info), (main):
21069 * tools/gst-xmlinspect.c: (print_element_info), (main):
21070 deactivate and remove dparams (libgstcontrol)
21072 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
21074 * gst/elements/gsttypefindelement.c:
21075 (gst_type_find_element_have_type), (gst_type_find_element_init),
21076 (stop_typefinding), (gst_type_find_element_handle_event),
21077 (gst_type_find_element_chain), (gst_type_find_element_getrange):
21078 * gst/elements/gsttypefindelement.h:
21079 Set caps on all outgoing buffers, not just the first one.
21081 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
21083 * gst/elements/gsttypefindelement.c:
21084 (gst_type_find_element_have_type),
21085 (gst_type_find_element_check_set_buffer_caps),
21086 (gst_type_find_element_init), (stop_typefinding),
21087 (gst_type_find_element_handle_event),
21088 (gst_type_find_element_chain), (gst_type_find_element_getrange):
21089 * gst/elements/gsttypefindelement.h:
21090 Set caps on first outgoing buffer when we've found the type.
21092 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
21094 * docs/gst/gstreamer-docs.sgml:
21095 * docs/gst/gstreamer-sections.txt:
21096 * docs/gst/tmpl/gstscheduler.sgml:
21097 * docs/gst/tmpl/gstschedulerfactory.sgml:
21098 Remove some old cruft from docs.
21100 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
21103 Fix inline docs for GstPadLinkReturn.
21105 * gst/gststructure.c: (gst_structure_has_name):
21106 * gst/gststructure.h:
21107 * docs/gst/gstreamer-sections.txt:
21108 New API: gst_structure_has_name().
21110 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
21113 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
21114 and _LARGEFILE_SOURCE in config.h as required. Do not
21115 export those flags in our .pc files any longer (#142209).
21117 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
21119 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
21120 (gst_file_sink_do_seek), (gst_file_sink_event),
21121 (gst_file_sink_get_current_offset), (gst_file_sink_render):
21122 Redo seek/tell calls with large file support in mind; add some
21123 debugging messages; add log message that tells us when large
21124 file support is unavailable or not enabled for some reason.
21126 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
21127 Add log message that tells us when large file support
21128 is unavailable or not enabled for some reason.
21130 2005-07-29 Wim Taymans <wim@fluendo.com>
21132 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21133 Added test for removing an element with ghostpad from a bin.
21134 Fixed test as current implementation does the right thing.
21136 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
21137 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
21138 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
21139 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
21140 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
21141 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
21142 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
21143 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
21144 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
21145 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
21146 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
21147 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
21148 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
21149 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
21150 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
21151 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
21152 * gst/gstghostpad.h:
21153 Clean up ghostpads, remove properties for internal stuff.
21156 Prepare for switching targets, not all use cases work yet.
21158 2005-07-29 Wim Taymans <wim@fluendo.com>
21160 * docs/design/part-gstghostpad.txt:
21163 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21164 (gst_bin_remove_func):
21165 Unlinking pads while holding the bin LOCK is not a good
21168 * gst/gstpad.c: (gst_pad_class_init),
21169 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
21170 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
21171 No prob setting template after creating the pad.
21173 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
21175 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
21176 (gst_bus_peek), (gst_bus_source_dispatch),
21177 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
21178 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
21179 gst_bus_poll may be called from other threads. Handle
21180 this nicely by not making poll_data disappear off the
21181 stack once gst_bus_poll returns.
21182 gst_bus_peek now increments the refcount on the returned
21185 2005-07-29 Wim Taymans <wim@fluendo.com>
21187 * docs/design/part-gstghostpad.txt:
21188 Overview of current GhostPad datastructures and use
21189 cases for changing the target.
21191 2005-07-28 Wim Taymans <wim@fluendo.com>
21193 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21194 Added checks for hierarchy consistency whan adding linked
21197 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21198 Added check to test element scheduling without bin/pipeline.
21200 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21201 First add elements to bin, then link.
21203 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21204 (gst_bin_remove_func):
21205 Unlink pads from elements added/removed from bin to maintain
21206 hierarchy consistency.
21208 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21210 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21211 (gst_base_transform_handle_buffer):
21212 * gst/base/gstbasetransform.h:
21213 Remove broken delay_configure (fixes renegotiation of software
21214 scaling pipelines); remove some leftover printf()s.
21216 2005-07-28 Wim Taymans <wim@fluendo.com>
21218 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21219 Added some more tests for wrong hierarchy
21221 * docs/design/part-overview.txt:
21224 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
21227 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
21228 (gst_element_dispose):
21229 Some more cleanups.
21231 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21232 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
21233 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21234 (gst_pad_set_caps), (gst_pad_send_event):
21235 Check for correct hierarchy when linking pads. Moving to
21236 strict requirement for ghostpads when linking elements in
21240 Clean ups. Added WRONG_HIERARCHY return value.
21242 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21244 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
21245 Better debug if no transform is possible.
21247 2005-07-27 Wim Taymans <wim@fluendo.com>
21249 * docs/random/wtay/network-transp:
21250 Some old doc I had.
21252 2005-07-27 Wim Taymans <wim@fluendo.com>
21254 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21255 (gst_dp_event_from_packet):
21256 Fix serialization of seek events.
21258 2005-07-27 Wim Taymans <wim@fluendo.com>
21260 * check/gst-libs/gdp.c: (GST_START_TEST):
21261 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21262 Fix compilation and fix event serialization.
21264 2005-07-27 Wim Taymans <wim@fluendo.com>
21267 * docs/design/part-TODO.txt:
21268 * docs/design/part-events.txt:
21271 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21272 (gst_base_sink_event), (gst_base_sink_do_sync),
21273 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21274 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21275 (gst_base_src_do_seek), (gst_base_src_event_handler),
21276 (gst_base_src_loop):
21277 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21278 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21279 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21280 (gst_base_transform_event), (gst_base_transform_handle_buffer),
21281 (gst_base_transform_set_passthrough),
21282 (gst_base_transform_is_passthrough):
21283 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21284 * gst/elements/gstfilesink.c: (gst_file_sink_event):
21290 * gst/gstelement.c: (gst_element_seek):
21291 * gst/gstelement.h:
21292 Update gst_element_seek.
21294 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
21295 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
21296 (gst_event_new_flush_start), (gst_event_new_flush_stop),
21297 (gst_event_new_eos), (gst_event_new_newsegment),
21298 (gst_event_parse_newsegment), (gst_event_new_tag),
21299 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
21300 (gst_event_parse_qos), (gst_event_new_seek),
21301 (gst_event_parse_seek), (gst_event_new_navigation):
21303 Make GstEvent use GstStructure. Add parsing code, make sure the
21304 API is sufficiently generic.
21305 Mark possible directions of events and serialization.
21307 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
21308 (_gst_message_copy), (gst_message_new_segment_start),
21309 (gst_message_new_segment_done), (gst_message_new_custom),
21310 (gst_message_parse_segment_start),
21311 (gst_message_parse_segment_done):
21314 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21315 (gst_pad_set_caps), (gst_pad_send_event):
21316 Update for new events.
21317 Catch events sent in wrong directions.
21319 * gst/gstqueue.c: (gst_queue_link_src),
21320 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21321 (gst_queue_handle_src_query):
21326 Remove event code from this file.
21328 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21329 (gst_dp_event_from_packet):
21332 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21334 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
21335 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21336 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
21337 Make debugging actually useful.
21339 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21341 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
21342 (gst_pad_fixate_caps):
21343 Implement default fixation once again, so that gst_pad_fixate()
21344 actually does anything at all. This probably needs to be some
21345 sort of a last resort, and use profile-based fixation first, but
21346 since that doesn't exist yet, this is the best we have. Fixes
21347 visualization in Totem.
21349 2005-07-22 Wim Taymans <wim@fluendo.com>
21351 * docs/design/part-events.txt:
21354 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21355 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
21356 (gst_base_sink_activate_pull):
21357 Some more comments.
21359 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
21360 (gst_fake_src_create):
21361 Fix handoff marshall.
21363 * gst/elements/gstidentity.c: (gst_identity_class_init),
21364 (gst_identity_transform_ip):
21365 We're a real inplace element.
21367 * gst/gstbus.c: (gst_bus_post):
21368 Added some comments.
21370 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
21371 * tests/muxing/case1.c: (main):
21372 * tests/sched/dynamic-pipeline.c: (main):
21373 * tests/sched/interrupt1.c: (main):
21374 * tests/sched/interrupt2.c: (main):
21375 * tests/sched/interrupt3.c: (main):
21376 * tests/sched/runxml.c: (main):
21377 * tests/sched/sched-stress.c: (main):
21378 * tests/seeking/seeking1.c: (event_received), (main):
21379 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
21381 * tests/threadstate/threadstate3.c: (main):
21382 * tests/threadstate/threadstate4.c: (main):
21383 * tests/threadstate/threadstate5.c: (main):
21386 2005-07-21 Wim Taymans <wim@fluendo.com>
21388 * docs/design/part-seeking.txt:
21389 Some small additions.
21391 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21392 (gst_base_sink_get_times), (gst_base_sink_do_sync),
21393 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21394 * gst/base/gstbasesink.h:
21395 discont values are gint64, handle the math correctly.
21397 * gst/base/gstbasesrc.c: (gst_base_src_loop):
21398 Make the basesrc report error if the source pad is not linked.
21400 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21401 (gst_queue_loop), (gst_queue_handle_src_query),
21402 (gst_queue_src_activate_push):
21403 Make queue collect data even if the srcpad is not linked.
21404 Start pushing out data as soon as it is linked.
21406 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
21408 Added gst_flow_get_name() to ease error reporting.
21410 2005-07-20 Wim Taymans <wim@fluendo.com>
21412 * gst/gstmessage.c: (gst_message_new_segment_start),
21413 (gst_message_new_segment_done), (gst_message_parse_segment_start),
21414 (gst_message_parse_segment_done):
21415 * gst/gstmessage.h:
21416 Added a bunch of messages for advanced seeking.
21418 * gst/parse/grammar.y:
21419 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
21420 (gst_dpman_state_changed):
21421 Fix some new-pad -> pad-added signals
21423 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21425 * docs/manual/appendix-porting.xml:
21426 * docs/pwg/appendix-porting.xml:
21427 Document new-pad/state-change signal renames and the FixedList
21430 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21432 * docs/manual/advanced-autoplugging.xml:
21433 * docs/manual/basics-helloworld.xml:
21434 * docs/manual/basics-pads.xml:
21435 * docs/random/ds/0.9-suggested-changes:
21436 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
21437 * gst/gstelement.h:
21441 * gst/gststructure.c: (gst_structure_value_get_generic_type),
21442 (gst_structure_parse_array), (gst_structure_parse_value):
21443 * gst/gstvalue.c: (gst_type_is_fixed),
21444 (gst_value_list_prepend_value), (gst_value_list_append_value),
21445 (gst_value_list_get_size), (gst_value_list_get_value),
21446 (gst_value_transform_array_string), (gst_value_serialize_array),
21447 (gst_value_deserialize_array), (gst_value_intersect_array),
21448 (gst_value_is_fixed), (_gst_value_initialize):
21450 GstElement::new-pad -> pad-added, GstElement::state-change ->
21451 state-changed, GstValueFixedList -> GstValueArray, add format and
21452 flags as their own arguments in gst_element_seek() (should improve
21453 "bindeability"), remove function generators since they don't work
21454 under a whole bunch of compilers (they were deprecated already
21457 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21459 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21460 (_gst_debug_register_funcptr):
21462 Fix illegal cast on some platforms (#309253).
21464 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21466 * gst/gstmessage.c: (gst_message_new_custom):
21467 * gst/gstmessage.h:
21468 Add _new_custom, make _new_application a macro to _new_custom.
21470 2005-07-20 Wim Taymans <wim@fluendo.com>
21472 * gst/base/gstbasesrc.c: (gst_base_src_init),
21473 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21474 * gst/base/gstbasesrc.h:
21475 Add a gboolean to decide when to push out a discont.
21477 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21478 (gst_queue_loop), (gst_queue_handle_src_query),
21479 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
21480 (gst_queue_set_property), (gst_queue_get_property):
21483 * tests/threadstate/threadstate1.c: (main):
21484 Make a thread test compile and run... very silly..
21487 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21489 * docs/manual/appendix-porting.xml:
21490 Mention removal of libgstgconf-0.9.la and existence of gconf
21493 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21495 * docs/pwg/advanced-clock.xml:
21496 * docs/pwg/appendix-porting.xml:
21497 * docs/pwg/intro-preface.xml:
21498 * docs/pwg/other-base.xml:
21499 * docs/pwg/other-manager.xml:
21500 * docs/pwg/other-nton.xml:
21501 * docs/pwg/other-ntoone.xml:
21502 * docs/pwg/other-oneton.xml:
21503 * docs/pwg/pwg.xml:
21504 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
21505 demuxer), remove n-to-n (was never written), fix some code examples
21506 and links and update the porting section to include all this.
21508 2005-07-19 Wim Taymans <wim@fluendo.com>
21510 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
21511 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
21512 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
21513 (gst_queue_src_activate_push), (gst_queue_change_state),
21514 (gst_queue_get_property):
21516 Propagate GstFlowReturn more intelligently upstream and output
21517 an ERROR/EOS when streaming stopped due to fatal error.
21519 2005-07-19 Wim Taymans <wim@fluendo.com>
21521 * tools/gst-launch.c: (check_intr), (event_loop), (main):
21522 Don't block forever for the state change to complete, the
21523 pipeline already did with a sensible timeout.
21525 2005-07-19 Wim Taymans <wim@fluendo.com>
21527 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21528 Make sure we never call the create function is we
21531 2005-07-19 Andy Wingo <wingo@pobox.com>
21533 * gst/parse/parse.l: Attempt to solve bug #172815.
21535 2005-07-19 Wim Taymans <wim@fluendo.com>
21537 * docs/design/part-clocks.txt:
21538 * docs/design/part-events.txt:
21539 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
21540 Small docs updates.
21541 Only update the seeking values when we are not
21544 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
21546 * gst/base/gstbasesrc.c: (gst_base_src_loop):
21547 Oops, ignore the result of gst_pad_push_event here.
21549 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
21551 * gst/base/gstbasesrc.c: (gst_base_src_loop),
21552 (gst_base_src_activate_push):
21553 Send discont event from the loop function, as pads
21554 aren't activated yet in the activate_push handler.
21556 * gst/gstbin.c: (bin_bus_handler):
21557 Don't leak element name.
21559 2005-07-18 Andy Wingo <wingo@pobox.com>
21561 * configure.ac: Use AS_LIBTOOL_TAGS.
21563 2005-07-18 Wim Taymans <wim@fluendo.com>
21565 * docs/gst/gstreamer.types:
21566 Remove deleted types.
21568 2005-07-18 Wim Taymans <wim@fluendo.com>
21570 * check/elements/gstfakesrc.c: (GST_START_TEST):
21573 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
21574 (init_popt_callback):
21576 * gst/gst_private.h:
21577 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
21578 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
21581 * gst/gstconfig.h.in:
21582 * gst/gstelement.c: (gst_element_class_init),
21583 (gst_element_set_base_time), (gst_element_get_base_time),
21584 (iterator_fold_with_resync), (gst_element_change_state),
21585 (gst_element_dispose), (gst_element_get_bus):
21586 * gst/gstelement.h:
21587 * gst/gstelementfactory.h:
21588 * gst/gsterror.c: (_gst_core_errors_init):
21591 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21593 * gst/gstinfo.c: (_gst_debug_init):
21594 * gst/gstmessage.c: (_gst_message_copy):
21595 * gst/gstmessage.h:
21596 * gst/gstminiobject.h:
21599 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21600 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
21603 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
21604 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21605 (gst_pipeline_get_last_stream_time):
21606 * gst/gstpipeline.h:
21607 * gst/gstpluginfeature.h:
21609 * gst/gstscheduler.c:
21610 * gst/gstscheduler.h:
21611 * gst/gststructure.h:
21612 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
21613 (gst_task_finalize), (gst_task_func), (gst_task_create),
21614 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
21615 (gst_task_stop), (gst_task_pause):
21617 * gst/gsttypefind.h:
21619 * gst/registries/gstlibxmlregistry.c: (load_feature),
21620 (gst_xml_registry_load), (gst_xml_registry_save_feature):
21621 * gst/registries/gstxmlregistry.c:
21622 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
21623 * gst/schedulers/threadscheduler.c:
21624 * libs/gst/control/dparammanager.h:
21625 * tools/gst-inspect.c: (print_element_list),
21626 (print_plugin_features), (print_element_features):
21627 * tools/gst-xmlinspect.c: (print_element_list),
21628 (print_plugin_info), (main):
21629 Removed plugable schedulers.
21630 Removed Scheduler/Manager from elements.
21631 Removed gsttypes.h, rearranged includes.
21632 Removed dependency pad<->element, element<>pipeline, and
21633 various others, fix includes.
21634 implement gst_pad_get_parent() with gst_object_get_parent()
21635 Make GstTask sefcontained.
21636 Fix _get_state() on GstBin, it did not return ASYNC with a 0
21638 Fix endless loop in iterator_fold_with_resync.
21641 2005-07-18 Wim Taymans <wim@fluendo.com>
21647 2005-07-18 Wim Taymans <wim@fluendo.com>
21650 No more cothreads.h
21652 2005-07-18 Wim Taymans <wim@fluendo.com>
21656 Let's remove these.
21658 2005-07-18 Wim Taymans <wim@fluendo.com>
21660 * docs/design/part-dynamic.txt:
21661 * docs/design/part-events.txt:
21662 * docs/design/part-seeking.txt:
21663 Some more docs in the works.
21665 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21666 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
21667 (gst_base_transform_setcaps), (gst_base_transform_get_size),
21668 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
21669 (gst_base_transform_handle_buffer),
21670 (gst_base_transform_sink_activate_push),
21671 (gst_base_transform_src_activate_pull),
21672 (gst_base_transform_set_passthrough),
21673 (gst_base_transform_is_passthrough):
21676 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
21679 * gst/gstevent.c: (gst_event_finalize):
21682 * gst/gstutils.c: (gst_element_unlink),
21683 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
21684 (gst_pad_proxy_setcaps):
21686 Add _get_parent_element() to get a pads parent as an element.
21688 2005-07-18 Wim Taymans <wim@fluendo.com>
21690 * check/gst/gstbin.c: (GST_START_TEST):
21693 2005-07-18 Wim Taymans <wim@fluendo.com>
21695 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
21696 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
21697 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
21698 (gst_base_sink_event), (gst_base_sink_do_sync),
21699 (gst_base_sink_chain), (gst_base_sink_loop),
21700 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
21701 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
21703 Fix logic for returning ASYNC when not prerolled.
21705 2005-07-18 Wim Taymans <wim@fluendo.com>
21707 * gst/gstqueue.c: (gst_queue_handle_sink_event):
21708 Fix nasty refcount bug.
21710 2005-07-16 Philippe Khalaf <burger@speedy.org>
21712 * gst/elements/gstfdsrc.c:
21713 * gst/elements/gstfdsrc.h:
21714 * gst/elements/gstelements.c:
21715 * gst/elements/Makefile.am:
21716 Ported fdsrc to 0.9.
21718 2005-07-16 Wim Taymans <wim@fluendo.com>
21720 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21721 (gst_base_sink_do_sync):
21724 2005-07-16 Wim Taymans <wim@fluendo.com>
21726 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21727 (gst_base_sink_event), (gst_base_sink_get_times),
21728 (gst_base_sink_do_sync), (gst_base_sink_change_state):
21729 * gst/base/gstbasesink.h:
21730 Store and use discont values when syncing buffers as described
21733 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21734 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
21735 (gst_base_src_activate_push):
21736 Push discont event when starting.
21738 * gst/elements/gstidentity.c: (gst_identity_transform):
21741 * gst/gstbin.c: (gst_bin_change_state):
21742 Small cleanups in base_time distribution.
21744 * gst/gstelement.c: (gst_element_set_base_time),
21745 (gst_element_get_base_time), (gst_element_change_state):
21746 * gst/gstelement.h:
21747 Added methods for the base_time of the element.
21750 * gst/gstpipeline.c: (gst_pipeline_send_event),
21751 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21752 (gst_pipeline_get_last_stream_time):
21753 * gst/gstpipeline.h:
21755 Handle seeking as described in design doc, remove stream_time
21757 Cleanups clock and stream_time selection code. Added accessors
21758 for the stream_time.
21761 2005-07-16 Andy Wingo <wingo@pobox.com>
21763 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
21766 2005-07-16 Wim Taymans <wim@fluendo.com>
21768 * check/gst/gstbin.c: (GST_START_TEST):
21769 Make elements silent as the deep_notify refs the
21770 parent, which might make the test fail.
21772 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21773 Don't hold the lock for too long.
21775 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
21777 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21778 Don't unref the caps we passed to gst_caps_make_writable() after
21779 passing them. gst_caps_make_writable() will do that for us.
21781 2005-07-15 Andy Wingo <wingo@pobox.com>
21783 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
21786 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
21787 own marshalling function for the handoff signal. Properly type the
21788 buffer as a buffer. Fixes some warnings. Should do a more general
21790 (gst_identity_class_init): Plug into the right marshaller.
21792 2005-07-15 Wim Taymans <wim@fluendo.com>
21794 * docs/design/part-TODO.txt:
21795 * docs/design/part-clocks.txt:
21796 * docs/design/part-element-sink.txt:
21797 * docs/design/part-events.txt:
21798 * docs/design/part-gstpipeline.txt:
21799 Updated docs, mostly DISCONT related.
21801 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
21803 * docs/pwg/building-pads.xml:
21804 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
21806 2005-07-15 Andy Wingo <wingo@pobox.com>
21808 * tools/gst-typefind.c: Update, add copyright block.
21810 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
21811 Normalize and truncate caps before fixation.
21814 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
21815 discards all but the first structure from its argument.
21817 2005-07-15 Wim Taymans <wim@fluendo.com>
21819 * gst/base/gstbasetransform.c: (gst_base_transform_init),
21820 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
21821 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21822 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21823 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
21824 (gst_base_transform_chain), (gst_base_transform_change_state),
21825 (gst_base_transform_set_passthrough),
21826 (gst_base_transform_is_passthrough):
21827 * gst/base/gstbasetransform.h:
21828 Make passthrough work using the bufferpools.
21829 Changed API a bit, subclasses have to write into a buffer
21830 provided by the base class.
21831 More debug info in nego functions.
21833 * gst/elements/gstidentity.c: (gst_identity_init),
21834 (gst_identity_transform):
21835 Port to new base class.
21837 2005-07-15 Wim Taymans <wim@fluendo.com>
21839 * gst/gstmessage.c: (gst_message_new_state_changed):
21840 * tools/gst-launch.c: (event_loop), (main):
21841 Totally dump messages in -launch with the -m option.
21842 Fix message name for State messages,
21844 2005-07-14 Wim Taymans <wim@fluendo.com>
21846 * gst/base/gstbasesrc.c: (gst_base_src_loop):
21847 Post error messages on errors.
21849 2005-07-14 Wim Taymans <wim@fluendo.com>
21851 * gst/gstcaps.c: (gst_caps_do_simplify):
21855 Define error for stream stopped.
21857 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21858 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
21859 Do proper return values.
21861 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21862 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
21863 (gst_pad_get_range):
21864 Better return values.
21867 Reorganise return values, add macro to check for fatal errors.
21869 * gst/gstqueue.c: (gst_queue_chain):
21870 Return proper GstFlowReturn values,
21872 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
21874 * docs/gst/gstreamer-sections.txt:
21875 * docs/gst/gstreamer.types:
21876 * docs/gst/tmpl/gst.sgml:
21877 * docs/gst/tmpl/gstbasesink.sgml:
21878 * docs/gst/tmpl/gstbasesrc.sgml:
21879 * docs/gst/tmpl/gstbasetransform.sgml:
21880 * docs/gst/tmpl/gstbin.sgml:
21881 * docs/gst/tmpl/gstbuffer.sgml:
21882 * docs/gst/tmpl/gstcaps.sgml:
21883 * docs/gst/tmpl/gstclock.sgml:
21884 * docs/gst/tmpl/gstcompat.sgml:
21885 * docs/gst/tmpl/gstconfig.sgml:
21886 * docs/gst/tmpl/gstelement.sgml:
21887 * docs/gst/tmpl/gstelementdetails.sgml:
21888 * docs/gst/tmpl/gstelementfactory.sgml:
21889 * docs/gst/tmpl/gstenumtypes.sgml:
21890 * docs/gst/tmpl/gsterror.sgml:
21891 * docs/gst/tmpl/gstevent.sgml:
21892 * docs/gst/tmpl/gstfakesink.sgml:
21893 * docs/gst/tmpl/gstfakesrc.sgml:
21894 * docs/gst/tmpl/gstfilesink.sgml:
21895 * docs/gst/tmpl/gstfilesrc.sgml:
21896 * docs/gst/tmpl/gstfilter.sgml:
21897 * docs/gst/tmpl/gstformat.sgml:
21898 * docs/gst/tmpl/gstghostpad.sgml:
21899 * docs/gst/tmpl/gstimplementsinterface.sgml:
21900 * docs/gst/tmpl/gstindex.sgml:
21901 * docs/gst/tmpl/gstindexfactory.sgml:
21902 * docs/gst/tmpl/gstinfo.sgml:
21903 * docs/gst/tmpl/gstiterator.sgml:
21904 * docs/gst/tmpl/gstmacros.sgml:
21905 * docs/gst/tmpl/gstmemchunk.sgml:
21906 * docs/gst/tmpl/gstminiobject.sgml:
21907 * docs/gst/tmpl/gstobject.sgml:
21908 * docs/gst/tmpl/gstpad.sgml:
21909 * docs/gst/tmpl/gstpadtemplate.sgml:
21910 * docs/gst/tmpl/gstparse.sgml:
21911 * docs/gst/tmpl/gstpipeline.sgml:
21912 * docs/gst/tmpl/gstplugin.sgml:
21913 * docs/gst/tmpl/gstpluginfeature.sgml:
21914 * docs/gst/tmpl/gstquery.sgml:
21915 * docs/gst/tmpl/gstqueue.sgml:
21916 * docs/gst/tmpl/gstregistry.sgml:
21917 * docs/gst/tmpl/gstregistrypool.sgml:
21918 * docs/gst/tmpl/gstscheduler.sgml:
21919 * docs/gst/tmpl/gstschedulerfactory.sgml:
21920 * docs/gst/tmpl/gststructure.sgml:
21921 * docs/gst/tmpl/gstsystemclock.sgml:
21922 * docs/gst/tmpl/gsttaglist.sgml:
21923 * docs/gst/tmpl/gsttagsetter.sgml:
21924 * docs/gst/tmpl/gsttrace.sgml:
21925 * docs/gst/tmpl/gsttrashstack.sgml:
21926 * docs/gst/tmpl/gsttypefind.sgml:
21927 * docs/gst/tmpl/gsttypefindfactory.sgml:
21928 * docs/gst/tmpl/gsttypes.sgml:
21929 * docs/gst/tmpl/gsturihandler.sgml:
21930 * docs/gst/tmpl/gsturitype.sgml:
21931 * docs/gst/tmpl/gstutils.sgml:
21932 * docs/gst/tmpl/gstvalue.sgml:
21933 * docs/gst/tmpl/gstversion.sgml:
21934 * docs/gst/tmpl/gstxml.sgml:
21935 * docs/libs/tmpl/gstcontrol.sgml:
21936 * docs/libs/tmpl/gstdataprotocol.sgml:
21937 * docs/libs/tmpl/gstdparam.sgml:
21938 * docs/libs/tmpl/gstdplinint.sgml:
21939 * docs/libs/tmpl/gstdpman.sgml:
21940 * docs/libs/tmpl/gstdpsmooth.sgml:
21941 * docs/libs/tmpl/gstgetbits.sgml:
21942 * docs/libs/tmpl/gstunitconvert.sgml:
21943 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
21944 (gst_push_src_base_init), (gst_push_src_class_init),
21945 (gst_push_src_init), (gst_push_src_create):
21946 * gst/base/gstpushsrc.h:
21947 * gst/elements/gstelements.c:
21948 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
21949 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
21950 (gst_fake_sink_init), (gst_fake_sink_set_property),
21951 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
21952 (gst_fake_sink_event), (gst_fake_sink_preroll),
21953 (gst_fake_sink_render), (gst_fake_sink_change_state):
21954 * gst/elements/gstfakesink.h:
21955 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
21956 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
21957 (gst_fake_src_base_init), (gst_fake_src_class_init),
21958 (gst_fake_src_init), (gst_fake_src_event_handler),
21959 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
21960 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
21961 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
21962 (gst_fake_src_create_buffer), (gst_fake_src_create),
21963 (gst_fake_src_start), (gst_fake_src_stop):
21964 * gst/elements/gstfakesrc.h:
21965 * gst/elements/gstfilesink.c: (_do_init),
21966 (gst_file_sink_base_init), (gst_file_sink_class_init),
21967 (gst_file_sink_init), (gst_file_sink_dispose),
21968 (gst_file_sink_set_location), (gst_file_sink_set_property),
21969 (gst_file_sink_get_property), (gst_file_sink_open_file),
21970 (gst_file_sink_close_file), (gst_file_sink_query),
21971 (gst_file_sink_event), (gst_file_sink_render),
21972 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
21973 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
21974 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
21975 * gst/elements/gstfilesink.h:
21976 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
21977 (gst_file_src_class_init), (gst_file_src_init),
21978 (gst_file_src_finalize), (gst_file_src_set_location),
21979 (gst_file_src_set_property), (gst_file_src_get_property),
21980 (gst_file_src_map_region), (gst_file_src_map_small_region),
21981 (gst_file_src_create_mmap), (gst_file_src_create_read),
21982 (gst_file_src_create), (gst_file_src_is_seekable),
21983 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
21984 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
21985 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
21986 (gst_file_src_uri_handler_init):
21987 * gst/elements/gstfilesrc.h:
21988 more autistic cleanliness in functions/names/defines
21990 2005-07-13 Andy Wingo <wingo@pobox.com>
21992 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
21993 source couldn't negotiate.
21995 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
21999 * gst/gstutils.c (gst_element_link_pads_filtered): New old
22000 function. I am channeling Hades. Put your boots on suckers!!!
22002 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
22004 * testsuite/caps/Makefile.am:
22005 * testsuite/caps/value_compare.c:
22006 * testsuite/caps/value_intersect.c:
22007 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22008 move two testsuite apps over to the check dir
22010 2005-07-12 Wim Taymans <wim@fluendo.com>
22012 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
22013 Added more debug info in the negotiate process.
22015 * gst/gstmessage.h:
22016 Prepare for segment playback.
22018 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
22024 * tools/gst-launch.c: (main):
22025 NULL pipeline on errors.
22027 2005-07-12 Andy Wingo <wingo@pobox.com>
22029 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
22030 not it comes from a malloc region. Make sure our copy gets freed.
22032 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
22034 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22035 * check/gst/gstmessage.c: (GST_START_TEST):
22036 * check/gst/gststructure.c: (GST_START_TEST),
22037 (gst_structure_suite), (main):
22039 * gst/gstelement.c: (gst_element_message_full):
22040 clean up GError and debug string now that they get copied
22041 * gst/gstmessage.c: (gst_message_new_error),
22042 (gst_message_new_warning), (gst_message_parse_error),
22043 (gst_message_parse_warning):
22044 use GST_TYPE_G_ERROR for structure_new, and take copies of
22045 arguments, so that we don't mess up refcounting
22047 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
22049 * check/Makefile.am:
22050 add per-test valgrind targets
22051 * check/gst-libs/gdp.c: (GST_START_TEST),
22052 (gst_data_protocol_suite), (main):
22055 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
22057 * check/Makefile.am:
22058 instate more valgrindable tests
22059 * check/elements/gstfakesrc.c: (chain_func), (event_func),
22060 (GST_START_TEST), (fakesrc_suite):
22061 * check/gst/gstpad.c: (GST_START_TEST):
22062 * check/gst/gststructure.c: (GST_START_TEST):
22064 * docs/gst/tmpl/gstminiobject.sgml:
22065 * gst/gstpad.c: (gst_pad_finalize):
22066 fix the static mutex leak
22068 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
22070 * check/Makefile.am:
22071 add two more tests for valgrinding
22072 * check/gst/gstvalue.c: (GST_START_TEST):
22073 test refcount of deserialized buffer, found a leak
22074 * docs/gst/gstreamer-docs.sgml:
22075 * docs/gst/gstreamer-sections.txt:
22076 * docs/gst/gstreamer.types:
22077 * docs/gst/tmpl/gstminiobject.sgml:
22078 add miniobject to docs
22079 * gst/gstminiobject.c:
22081 * gst/gstvalue.c: (gst_value_deserialize_buffer),
22082 (gst_string_unwrap):
22083 fix a hard-to-find invalid write for one of the tests
22084 fix a leak for deserialized buffers
22086 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22088 * docs/pwg/advanced-events.xml:
22089 * docs/pwg/advanced-request.xml:
22090 * docs/pwg/advanced-scheduling.xml:
22091 * docs/pwg/appendix-porting.xml:
22092 * docs/pwg/building-boiler.xml:
22093 * docs/pwg/intro-preface.xml:
22094 * docs/pwg/other-ntoone.xml:
22095 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
22096 of example code and explanation for pad activation, loop() and
22097 getrange() functions and a bit more. Remove old comments pointing
22099 * examples/pwg/Makefile.am:
22100 Add loop/getrange examples.
22102 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
22105 check for valgrind binary + some fixes
22107 valgrind suppressions for the tests
22108 * check/Makefile.am:
22109 add a valgrind: target that valgrinds the unit tests
22110 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
22111 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22112 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22113 * check/gst/gstghostpad.c:
22115 * check/gst/gstdata.c:
22117 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
22118 (thread_unref), (gst_mini_object_suite), (main):
22120 * gst/gst.c: (gst_deinit):
22122 add a method to clean up.
22123 * gst/gstsystemclock.c: (gst_system_clock_dispose),
22124 (gst_system_clock_obtain):
22125 allow for disposing the system clock.
22126 * tools/gst-launch.c: (main):
22129 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
22131 * docs/gst/tmpl/gstbasesrc.sgml:
22132 * docs/gst/tmpl/gstfakesrc.sgml:
22133 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22134 (gst_base_src_init), (gst_base_src_set_property),
22135 (gst_base_src_get_property), (gst_base_src_get_range),
22136 (gst_base_src_start):
22137 * gst/base/gstbasesrc.h:
22138 add num-buffers property
22139 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22140 (gst_fakesrc_init), (gst_fakesrc_set_property),
22141 (gst_fakesrc_get_property), (gst_fakesrc_create),
22142 (gst_fakesrc_start):
22143 remove num-buffers property
22145 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
22147 * docs/gst/gstreamer-sections.txt:
22148 * docs/gst/tmpl/gstbasesink.sgml:
22149 * docs/gst/tmpl/gstbasesrc.sgml:
22150 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22151 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22152 (gst_base_sink_finalize), (gst_base_sink_set_clock),
22153 (gst_base_sink_set_property), (gst_base_sink_get_property),
22154 (gst_base_sink_handle_object), (gst_base_sink_event),
22155 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
22156 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
22157 (gst_base_sink_loop), (gst_base_sink_deactivate),
22158 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
22159 (gst_base_sink_change_state):
22160 * gst/base/gstbasesink.h:
22161 * gst/base/gstbasesrc.h:
22162 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
22163 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22164 (gst_filesink_init):
22165 more macro splitting
22167 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
22169 * gst/gstelement.c: (gst_element_get_bus):
22171 * tools/gst-launch.c: (check_intr), (event_loop):
22174 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
22176 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
22179 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
22181 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22182 (gst_base_src_finalize):
22183 add finalize method and clean up properly
22184 * gst/gstpipeline.c: (gst_pipeline_dispose):
22187 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
22189 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
22191 add more things to check
22192 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22193 * gst/gstelement.c:
22196 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
22198 * check/elements/gstfakesrc.c: (chain_func), (event_func),
22199 (GST_START_TEST), (fakesrc_suite):
22200 * check/gst-libs/gdp.c: (GST_START_TEST):
22201 * check/gst/gst.c: (GST_START_TEST):
22202 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22203 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22204 * check/gst/gstbus.c: (GST_START_TEST):
22205 * check/gst/gstcaps.c: (GST_START_TEST):
22206 * check/gst/gstdata.c: (GST_START_TEST):
22207 * check/gst/gstelement.c: (GST_START_TEST):
22208 * check/gst/gstghostpad.c: (GST_START_TEST):
22209 * check/gst/gstiterator.c: (GST_START_TEST):
22210 * check/gst/gstmessage.c: (GST_START_TEST):
22211 * check/gst/gstobject.c: (GST_START_TEST):
22212 * check/gst/gstpad.c: (GST_START_TEST):
22213 * check/gst/gststructure.c: (GST_START_TEST):
22214 * check/gst/gstsystemclock.c: (GST_START_TEST),
22215 (gst_systemclock_suite):
22216 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22217 * check/gst/gstvalue.c: (GST_START_TEST):
22218 * check/pipelines/cleanup.c: (GST_START_TEST):
22219 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22220 * check/states/sinks.c: (GST_START_TEST):
22221 * check/gstcheck.c: (gst_check_init):
22222 * check/gstcheck.h:
22223 add debugging category
22224 use GST_START_TEST now, so we add a debug line
22226 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
22228 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
22229 add test for state change message on a bin
22230 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
22232 * gst/gstbin.c: (gst_bin_init):
22233 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
22234 * gst/gstelement.c: (gst_element_post_message),
22235 (gst_element_set_state):
22236 * gst/gstelementfactory.c: (gst_element_factory_create):
22237 * gst/gstmessage.c: (gst_message_new):
22238 * gst/gstscheduler.c:
22239 various debugging additions and cleanups
22241 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
22243 * check/Makefile.am:
22244 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
22246 adding tests for elements
22247 * gst/gstelement.c: (gst_element_dispose):
22249 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
22251 * gst/registries/gstlibxmlregistry.c: (load_feature):
22252 plug more leaks. A simple gst_init() now is leakfree, yay.
22254 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
22256 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
22257 (gst_xml_registry_load):
22258 plug another memleak
22260 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
22263 use GST_SET_ERROR_CFLAGS
22264 * docs/faq/cvs.xml:
22265 change to ERROR_CFLAGS
22267 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
22270 make GST_ERROR_CFLAGS overridable and re-enable Werror
22271 * docs/faq/cvs.xml:
22272 add a note about error CFLAGS
22273 * docs/gst/tmpl/gstfakesrc.sgml:
22274 * gst/elements/gstfakesrc.c:
22275 comment out some unused code
22276 * gst/gst.c: (split_and_iterate):
22277 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
22281 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
22283 * common/Makefile.am:
22284 * common/gtk-doc.mak:
22285 * docs/gst/Makefile.am:
22286 factor out gtk-doc.mak
22288 2005-07-07 Wim Taymans <wim@fluendo.com>
22290 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
22291 (gst_thread_scheduler_dispose):
22292 Unlock the STREAM_LOCK completely.
22294 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
22296 * check/Makefile.am:
22297 * check/elements/.cvsignore:
22298 * check/elements/gstfakesrc.c: (chain_func), (event_func),
22299 (START_TEST), (fakesrc_suite), (main):
22300 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22301 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22302 (gst_fakesrc_create), (gst_fakesrc_start):
22303 * gst/elements/gstfakesrc.h:
22304 adding a first element test
22306 2005-07-07 Andy Wingo <wingo@pobox.com>
22308 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
22311 2005-07-07 Wim Taymans <wim@fluendo.com>
22317 2005-07-07 Wim Taymans <wim@fluendo.com>
22319 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22320 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
22321 Allow subclasses to implement their own negotiation.
22323 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
22325 * docs/design/part-gstbin.txt:
22326 * docs/design/part-gstpipeline.txt:
22327 Update design notes to reflect the movement of
22328 responsibility for bus handling from GstPipeline to
22331 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
22334 Remove unnecessary queue2/3/4 examples.
22336 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
22338 * examples/Makefile.am:
22339 * examples/helloworld/helloworld.c: (event_loop), (main):
22340 * examples/queue/queue.c: (event_loop), (main):
22341 * examples/queue2/queue2.c: (main):
22342 Update a couple of the examples to work again.
22344 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22345 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
22346 Spelling corrections and extra debug.
22348 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
22349 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
22350 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
22352 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22353 (gst_pipeline_change_state):
22354 * gst/gstpipeline.h:
22355 Move the bus handler for children to the GstBin, and create a
22356 separate bus for receiving messages from children to the one the
22357 bus sends 'upwards' on.
22359 2005-07-06 Wim Taymans <wim@fluendo.com>
22362 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22363 (gst_base_sink_handle_object), (gst_base_sink_loop),
22364 (gst_base_sink_change_state):
22365 * gst/base/gstbasesink.h:
22366 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22367 (gst_base_src_init), (gst_base_src_setcaps),
22368 (gst_base_src_getcaps), (gst_base_src_loop),
22369 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
22370 (gst_base_src_start), (gst_base_src_change_state):
22371 * gst/base/gstbasesrc.h:
22372 Make basesrc negotiate.
22373 Handle the case where preroll fails in basesink.
22376 2005-07-06 Wim Taymans <wim@fluendo.com>
22378 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
22379 Implement the fixate function.
22380 Clean up acceptcaps.
22382 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22384 * docs/pwg/building-filterfactory.xml:
22385 * docs/pwg/pwg.xml:
22386 Remove never-written filter-factory chapter; I'll add the various
22387 base classes to part 4 ("other element types") later on.
22389 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22391 * docs/pwg/advanced-negotiation.xml:
22392 * docs/pwg/building-boiler.xml:
22393 * docs/pwg/building-pads.xml:
22394 * docs/pwg/pwg.xml:
22395 * examples/pwg/Makefile.am:
22396 Add a chapter on caps negotiation, simplify the original code
22397 samples a bit w.r.t. caps negotiation, add link to the advanced
22398 section. Add a bunch of examples showing different use cases of
22399 different types of caps negotiation. Upstream renegotiation isn't
22400 fully documented yet since nobody knows how that works.
22402 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
22404 * check/gst/gstpad.c:
22405 * check/gstcheck.c:
22406 * gst/gstpad.c: (gst_pad_get_internal_links_default):
22407 if pad has no parent, return NULL as list of internal links
22409 2005-07-05 Andy Wingo <wingo@pobox.com>
22411 * gst/elements/gstfilesrc.c:
22412 * gst/elements/gstfakesrc.c:
22413 * gst/base/gstpushsrc.c:
22414 * gst/base/gstbasesrc.h:
22415 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
22417 2005-07-05 Stefan Kost <ensonic@users.sf.net>
22420 better report generation target (lcov needs a patch)
22422 2005-07-05 Andy Wingo <wingo@pobox.com>
22424 * gst/elements, testsuite: Null if we got it...
22426 2005-07-05 Wim Taymans <wim@fluendo.com>
22429 * libs/gst/dataprotocol/Makefile.am:
22430 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
22431 * libs/gst/dataprotocol/dataprotocol.h:
22432 * pkgconfig/Makefile.am:
22433 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
22434 * pkgconfig/gstreamer-dataprotocol.pc.in:
22435 Ported dataprotol to 0.9.
22436 Added pkgconfig files.
22438 2005-07-05 Andy Wingo <wingo@pobox.com>
22440 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
22441 Default to returning TRUE for the case when tranform_caps returns
22442 a fixed caps, like for identity or volume.
22444 * check/gst/gstbus.c (pound_bus_with_messages):
22445 * check/gst/gstmessage.c (START_TEST):
22446 * check/pipelines/simple_launch_lines.c (got_handoff): Application
22447 message API change.
22449 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
22450 logic weaks here: always run transform_caps, trying passthrough
22451 operation only if the original caps intersects with the transform.
22453 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
22454 source and sink caps.
22456 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
22457 Intersect the peer caps with the pad template before going into
22459 (gst_base_transform_transform_caps): More debugging.
22461 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
22464 2005-07-04 Edward Hervey <edward@fluendo.com>
22468 (gst_pad_add_*_probe): now returns the signal id for better wrapping
22471 2005-07-04 Andy Wingo <wingo@pobox.com>
22473 * check/gst/gstpad.c: Only set explicit caps on pads.
22475 2005-07-01 Andy Wingo <wingo@pobox.com>
22477 * tests/network-clock.scm: Commentary update.
22479 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
22480 Didn't really make sense, not implementable with basetransform,
22482 (gst_identity_transform): Unref inbuf via make_writable. Feeble
22483 attempt at implementing the sync property, needs an unlock method.
22485 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
22486 New func, by default returns the same caps (the identity
22488 (gst_base_transform_getcaps): Uses transform_caps to return
22489 something sensible.
22490 (gst_base_transform_setcaps): Complicated logic to get caps on
22491 both pads, even if they are different, and to call set_caps once
22492 for every time both pads get their caps set.
22493 (gst_base_transform_handle_buffer): Give the ref to the transform
22494 function. Allows in-place modification of the buffer.
22496 * gst/base/gstbasetransform.h (transform_caps): New class method.
22497 Given caps on one side, what can I do on the other.
22498 (set_caps): Take two caps, one for each side of the element.
22501 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
22502 caps in place. This is safe because we can check the mutability of
22503 the caps, and a good idea because fixate functions are just called
22504 as a matter of last resort. (Not actually implemented.)
22505 (gst_pad_set_caps): If the caps we're setting is actually the same
22506 as the existing pad caps, just update the pointer without calling
22507 setcaps. Assert that caps is either NULL or fixed, as per the
22510 * gst/gstghostpad.c: Update for fixate changes.
22512 2005-07-02 Andy Wingo <wingo@pobox.com>
22515 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
22516 two refcounts makes it immutable, which is enough. Doc more.
22518 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
22520 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
22521 Put the mini_object into GValue as a mini_object,
22522 not a gpointer, since that's how we declared
22525 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22527 * examples/pwg/Makefile.am:
22528 Fix buildbot again.
22530 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22532 * docs/pwg/building-testapp.xml:
22534 * examples/pwg/Makefile.am:
22537 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22540 * examples/Makefile.am:
22541 * examples/pwg/Makefile.am:
22542 * examples/pwg/extract.pl:
22543 Enable building the PWG examples.
22544 * docs/pwg/advanced-interfaces.xml:
22545 Add URI interface stub.
22546 * docs/pwg/advanced-types.xml:
22547 * docs/pwg/other-autoplugger.xml:
22548 * docs/pwg/appendix-porting.xml:
22549 * docs/pwg/pwg.xml:
22550 Add porting guide (mostly stubs), remove autoplugging (see ADM).
22551 * docs/pwg/building-boiler.xml:
22552 * docs/pwg/building-chainfn.xml:
22553 * docs/pwg/building-pads.xml:
22554 * docs/pwg/building-props.xml:
22555 * docs/pwg/building-state.xml:
22556 * docs/pwg/building-testapp.xml:
22557 Update the building-*.xml parts for 0.9 changes. All examples
22558 code blocks compile in examples/pwg/*.
22560 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22562 * docs/manual/advanced-autoplugging.xml:
22563 * docs/manual/appendix-checklist.xml:
22564 * docs/manual/appendix-integration.xml:
22565 * docs/manual/highlevel-components.xml:
22566 Fix playbin/decodebin examples, update docs a bit, mention bus
22567 instead of signals in various places, mention kmplayer and
22568 kaffeine since they have a working GStreamer backend in the KDE
22571 2005-06-30 Wim Taymans <wim@fluendo.com>
22574 * docs/design/draft-ghostpads.txt:
22575 * docs/design/draft-push-pull.txt:
22576 * docs/design/draft-query.txt:
22577 * docs/design/part-TODO.txt:
22578 * docs/design/part-query.txt:
22579 Added CHANGES-0.9 doc, updated status of other docs.
22584 2005-06-30 Wim Taymans <wim@fluendo.com>
22586 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22587 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
22588 (gst_base_sink_change_state):
22589 * gst/base/gstbasesink.h:
22590 Some tweaks, only EOS and a buffer complete a preroll.
22592 2005-06-30 Andy Wingo <wingo@pobox.com>
22594 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
22595 activate_push down to the internal pad as well.
22597 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
22599 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22601 * gst/gsttaginterface.c:
22602 Some documentation fixes (#307394 and #307397).
22604 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
22606 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22608 * gst/gstvalue.c: (gst_value_intersect_list):
22609 Fix memleak (#309125).
22611 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22613 * docs/manual/advanced-dataaccess.xml:
22614 Fix fakesrc example to compile; doesn't work, bug somewhere...?
22615 * docs/manual/basics-pads.xml:
22616 Add reference for filtered caps to above chapter.
22618 2005-06-30 Wim Taymans <wim@fluendo.com>
22620 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
22621 (gst_bin_change_state):
22623 Lame attempt at making the state change function a bit
22626 2005-06-30 Wim Taymans <wim@fluendo.com>
22628 * docs/design/part-clocks.txt:
22629 * docs/design/part-element-sink.txt:
22630 * docs/design/part-events.txt:
22631 * docs/design/part-preroll.txt:
22632 * docs/design/part-states.txt:
22633 Some more tweeks and additions to the docs.
22635 2005-06-30 Wim Taymans <wim@fluendo.com>
22637 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22638 (default_have_data), (gst_pad_class_init), (gst_pad_init),
22639 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22640 (gst_pad_check_pull_range), (gst_pad_get_range),
22641 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
22643 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
22644 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22645 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22646 (gst_pad_remove_buffer_probe):
22647 Removed atomic operations, use existing LOCK.
22648 Move exception handling out of main code path.
22650 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22652 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22653 (silly_return_true_function), (gst_pad_class_init),
22654 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22655 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
22656 (gst_pad_send_event):
22657 Fix accumulator, add default value by using _emitv() instead
22658 of _emit() for signal emission.
22660 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22662 * docs/manual/advanced-dataaccess.xml:
22663 * examples/manual/Makefile.am:
22665 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
22668 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
22670 * gst/elements/gstfilesink.c: (gst_filesink_render):
22671 Simplify code so that we don't have to handle short
22672 writes and return GST_FLOW_ERROR if an error occured.
22674 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22676 * docs/gst/gstreamer-docs.sgml:
22677 Remove probes more.
22679 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22681 * docs/gst/gstreamer-sections.txt:
22682 * docs/gst/tmpl/gstpad.sgml:
22683 * docs/gst/tmpl/gstprobe.sgml:
22685 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22686 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
22687 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
22688 (gst_pad_push_event), (gst_pad_send_event):
22690 * gst/gstutils.c: (gst_pad_add_data_probe),
22691 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22692 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22693 (gst_pad_remove_buffer_probe):
22695 Remove old probes, add new g-signal-based probes and some utility
22698 2005-06-29 Edward Hervey <edward@fluendo.com>
22700 * gst/gstelementfactory.c:
22703 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
22704 the definition to the header file.
22706 2005-06-29 Andy Wingo <wingo@pobox.com>
22708 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
22709 plugins from the source directory.
22711 2005-06-29 Wim Taymans <wim@fluendo.com>
22713 * docs/gst/tmpl/gstbuffer.sgml:
22714 * docs/gst/tmpl/gstclock.sgml:
22715 Some fixings for blantently wrong text.
22717 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
22719 * check/Makefile.am:
22720 * gst/gst.c: (add_path_func), (init_pre):
22721 * gst/gstregistry.c: (gst_registry_add_path):
22722 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
22723 only scan the GST_PLUGIN_PATH locations, and not add
22726 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
22728 * docs/gst/gstreamer-sections.txt:
22729 * docs/gst/tmpl/gstbasesrc.sgml:
22730 * gst/gstelement.c:
22731 * gst/gstelement.h:
22736 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22738 * docs/manual/advanced-autoplugging.xml:
22739 Fix autoplugging example.
22741 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22743 * docs/manual/advanced-autoplugging.xml:
22744 * docs/manual/mime-world.fig:
22745 Try to get autoplugging working, fix type detection. Fix text
22746 in hello-world image.
22748 2005-06-29 Wim Taymans <wim@fluendo.com>
22750 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22751 (gst_base_sink_change_state):
22755 map SIGNAL and BROADCAST to the right function.
22758 Remove redundant braces.
22760 * gst/gstpad.c: (gst_pad_set_caps):
22761 Don't call setcaps function when reseting caps to NULL.
22763 * gst/gstsystemclock.c: (gst_system_clock_dispose),
22764 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
22765 (gst_system_clock_id_unschedule):
22766 Use BROADCAST as this is what we do.
22768 2005-06-29 Wim Taymans <wim@fluendo.com>
22770 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22771 We are actually prerolling before commiting the state
22774 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22776 * docs/manual/advanced-clocks.xml:
22777 * docs/manual/advanced-interfaces.xml:
22778 * docs/manual/advanced-metadata.xml:
22779 * docs/manual/advanced-position.xml:
22780 * docs/manual/advanced-schedulers.xml:
22781 * docs/manual/advanced-threads.xml:
22782 * docs/manual/appendix-porting.xml:
22783 * docs/manual/basics-bins.xml:
22784 * docs/manual/basics-bus.xml:
22785 * docs/manual/basics-elements.xml:
22786 * docs/manual/basics-helloworld.xml:
22787 * docs/manual/basics-pads.xml:
22788 * docs/manual/highlevel-components.xml:
22789 * docs/manual/manual.xml:
22790 * docs/manual/thread.fig:
22791 Update (until threads/scheduling) Application Development Manual;
22792 remove GstThread, add GstBus, add simple porting checklist, add
22793 documentation for tag writing, clocks, make all examples until this
22794 part compile and run.
22795 * examples/manual/Makefile.am:
22796 Update from changes to Application Development Manual; add bus
22797 example, remove thread example.
22799 2005-06-28 Wim Taymans <wim@fluendo.com>
22801 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
22802 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
22803 (gst_bus_source_dispatch):
22804 Add debugging messages.
22805 Make internal methods static.
22806 Handle the case where the bus is flushed in the handler.
22808 * gst/gstelement.c: (gst_element_get_bus):
22809 Fix refcount in _get_bus();
22811 * gst/gstpipeline.c: (gst_pipeline_change_state),
22812 (gst_pipeline_get_clock_func):
22813 Clock refcounting fixes.
22814 Handle the case where preroll timed out more gracefully.
22816 * gst/gstsystemclock.c: (gst_system_clock_dispose):
22817 Clean up the internal thread in dispose. This is needed
22818 for subclasses that actually get disposed.
22820 * gst/schedulers/threadscheduler.c:
22821 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22822 (gst_thread_scheduler_dispose):
22823 Free thread pool in dispose.
22825 2005-06-28 Andy Wingo <wingo@pobox.com>
22827 * tests/network-clock-utils.scm (debug, print-event): New utils.
22829 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
22830 (*packet-loss*): Unified loss probability.
22831 (network-time): Report out-of-band events.
22833 * tests/plot-data: Add support for out-of-band events. Hack it
22834 into this script instead of passing it down the pipe; should fix
22837 2005-06-28 Wim Taymans <wim@fluendo.com>
22839 * docs/gst/gstreamer.types:
22840 * docs/gst/tmpl/gstbasesrc.sgml:
22841 * docs/gst/tmpl/gstpad.sgml:
22844 2005-06-28 Wim Taymans <wim@fluendo.com>
22846 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22847 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
22848 (gst_proxy_pad_do_fixatecaps):
22849 Correctly proxy the check_pull_range function.
22851 2005-06-28 Andy Wingo <wingo@pobox.com>
22853 * tests/network-clock.scm: Removed need for slib.
22855 2005-06-28 Wim Taymans <wim@fluendo.com>
22857 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
22858 (gst_basesink_preroll_queue_flush):
22859 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
22860 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
22861 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22862 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
22863 (gst_proxy_pad_set_property):
22866 * gst/gstqueue.c: (gst_queue_init):
22867 The deprecated pad loop function is removed now.
22869 2005-06-28 Andy Wingo <wingo@pobox.com>
22871 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
22872 New parameters, simulate network packet loss.
22874 * tests/network-clock-utils.scm: Initialize the RNG.
22876 2005-06-28 Wim Taymans <wim@fluendo.com>
22878 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
22879 (gst_basesink_event), (gst_basesink_deactivate):
22880 Flushing the preroll queue always needs to unlock the waiters.
22882 2005-06-28 Edward Hervey <edward@fluendo.com>
22884 * gst/gstpipeline.c: (gst_pipeline_send_event):
22885 Wheen a seek was successful on a pipeline, set the stream_time to the
22886 seek offset in order to have a synchronized stream_time.
22888 2005-06-28 Wim Taymans <wim@fluendo.com>
22890 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22891 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
22892 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
22893 (gst_proxy_pad_do_fixatecaps):
22894 Call wrapper function instead of just calling the function
22895 pointers. This takes care of any locking and whatmore.
22897 2005-06-28 Wim Taymans <wim@fluendo.com>
22899 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
22900 (gst_pad_pull_range):
22902 CONNECTED -> LINKED.
22904 2005-06-28 Andy Wingo <wingo@pobox.com>
22906 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
22907 source-munging commit!!!
22909 * gst/gstobject.c (gst_object_unref, gst_object_ref)
22910 (gst_object_sink): Take gpointer arguments, not GstObject --
22911 avoids casts. Like GLib.
22913 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
22916 2005-06-27 Andy Wingo <wingo@pobox.com>
22918 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
22921 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
22922 returns a sorted copy of the trace list.
22923 (gst_alloc_trace_print_live): New API, only prints traces with
22924 live objects. Sort the list.
22925 (gst_alloc_trace_print_all): Sort the list.
22926 (gst_alloc_trace_print): Align columns.
22928 * gst/elements/gstttypefindelement.c:
22929 * gst/elements/gsttee.c:
22930 * gst/base/gstbasesrc.c:
22931 * gst/base/gstbasesink.c:
22932 * gst/base/gstbasetransform.c:
22933 * gst/gstqueue.c: Adapt for pad activation changes.
22935 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
22937 (gst_pipeline_dispose): Drop ref on sched.
22939 * gst/gstpad.c (gst_pad_init): Set the default activate func.
22940 (gst_pad_activate_default): Push mode by default.
22941 (pre_activate_switch, post_activate_switch): New stubs, things to
22942 do before and after switching activation modes on pads.
22943 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
22944 the pad's activate function to choose which mode to activate.
22945 Shortcut on deactivation and call the right function directly.
22946 (gst_pad_activate_pull): New API, (de)activates a pad in pull
22948 (gst_pad_activate_push): New API, same for push mode.
22949 (gst_pad_set_activate_function)
22950 (gst_pad_set_activatepull_function)
22951 (gst_pad_set_activatepush_function): Setters for new API.
22953 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
22954 Trace all miniobjects.
22955 (gst_mini_object_make_writable): Unref the arg if we copy, like
22956 gst_caps_make_writable.
22958 * gst/gstmessage.c (_gst_message_initialize): No trace init.
22960 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
22961 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
22962 Adapt for new pad API.
22964 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
22966 * gst/gstelement.h:
22967 * gst/gstelement.c (gst_element_iterate_src_pads)
22968 (gst_element_iterate_sink_pads): New API functions.
22970 * gst/gstelement.c (iterator_fold_with_resync): New utility,
22971 should fold into gstiterator.c in some form.
22972 (gst_element_pads_activate): Simplified via use of fold and
22973 delegation of decisions to gstpad->activate.
22975 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
22978 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
22979 class once in init, like gstmessage. Didn't run into this issue
22980 but it seems correct. Don't initialize a trace, gstminiobject does
22983 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
22984 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
22986 (assert_live_count): New util function, uses alloc traces to check
22989 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
22990 To be modified when unlink drops the internal pad.
22992 2005-06-27 Wim Taymans <wim@fluendo.com>
22994 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
22995 (gst_bin_change_state):
22996 Cleanup the get_state() function a little, make sure it
22997 iterates the same set of elements.
22998 Added stub iterate_state_order().
23000 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
23002 * docs/gst/gstreamer-docs.sgml:
23003 * docs/gst/gstreamer-sections.txt:
23004 * docs/gst/gstreamer.types:
23005 * docs/gst/tmpl/gstbasesink.sgml:
23006 * docs/gst/tmpl/gstbasesrc.sgml:
23007 * docs/gst/tmpl/gstbasetransform.sgml:
23008 * docs/gst/tmpl/gstelement.sgml:
23009 * docs/gst/tmpl/gstiterator.sgml:
23010 * gst/base/gstbasesrc.c:
23011 * gst/base/gstbasesrc.h:
23012 * gst/base/gstbasetransform.h:
23013 * gst/gstelement.c:
23014 * gst/gstiterator.h:
23015 adding basetransform and iterator docs
23017 2005-06-27 Andy Wingo <wingo@pobox.com>
23019 * docs/design/part-activation.txt: Notes on how activation should
23020 work -- not quite implemented yet.
23022 2005-06-25 Wim Taymans <wim@fluendo.com>
23024 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
23025 At least get the chain function correct, needs more
23028 2005-06-25 Wim Taymans <wim@fluendo.com>
23030 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23031 (gst_basesink_handle_object), (gst_basesink_event),
23032 (gst_basesink_do_sync), (gst_basesink_handle_event),
23033 (gst_basesink_change_state):
23035 Right, two problems here: ghostpads don't take locks and
23036 glib _rec_mutex_lock_full() with depth==0 still locks.
23037 Catch illegal locking and g_warn them.
23039 2005-06-25 Wim Taymans <wim@fluendo.com>
23041 * check/states/sinks.c: (START_TEST), (gst_object_suite):
23042 Have to check for completion now...
23044 2005-06-25 Wim Taymans <wim@fluendo.com>
23046 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23047 (gst_basesink_handle_object), (gst_basesink_event),
23048 (gst_basesink_do_sync), (gst_basesink_handle_event),
23049 (gst_basesink_change_state):
23051 Unlock STREAM_LOCK whatever the recursion was.
23053 2005-06-25 Wim Taymans <wim@fluendo.com>
23055 * gst/base/gstbasesink.c: (gst_basesink_set_property),
23056 (gst_basesink_preroll_queue_empty),
23057 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
23058 (gst_basesink_event), (gst_basesink_do_sync),
23059 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
23060 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
23061 (gst_basesink_change_state):
23062 Reworked the base sink, handle event and buffer serialisation
23063 correctly and removed possible deadlock.
23064 Handle EOS correctly.
23066 2005-06-25 Wim Taymans <wim@fluendo.com>
23068 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
23069 (gst_pipeline_change_state):
23070 * tools/gst-launch.c: (check_intr), (event_loop), (main):
23071 Allow elements to post EOS in the state change function.
23072 Fix up -launch, make it exit the poll loop when the
23073 pipeline actually changed state.
23074 Fix up warning parsing in -launch.
23076 2005-06-25 Wim Taymans <wim@fluendo.com>
23078 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
23079 (gst_tee_sink_activate):
23080 Core takes STREAM_LOCK for us now.
23082 2005-06-25 Wim Taymans <wim@fluendo.com>
23084 * gst/gstelement.c: (gst_element_get_state_func),
23085 (gst_element_set_state):
23086 * gst/gstelement.h:
23087 * gst/gstmessage.c: (gst_message_parse_error),
23088 (gst_message_parse_warning):
23089 Keep track of current target state while performing a state
23090 change so that subclasses can do something interesting.
23091 Fix parsing of warning/error messages when GError is NULL.
23093 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
23095 * docs/gst/Makefile.am:
23096 * docs/gst/gstreamer-docs.sgml:
23097 * docs/gst/gstreamer-sections.txt:
23098 * docs/gst/gstreamer.types:
23099 * docs/gst/tmpl/gstbasesink.sgml:
23100 * docs/gst/tmpl/gstbasesrc.sgml:
23101 * docs/gst/tmpl/gstbin.sgml:
23102 * docs/gst/tmpl/gstcompat.sgml:
23103 * docs/gst/tmpl/gstfakesink.sgml:
23104 * docs/gst/tmpl/gstfakesrc.sgml:
23105 * docs/gst/tmpl/gstfilesink.sgml:
23106 * docs/gst/tmpl/gstfilesrc.sgml:
23107 * docs/gst/tmpl/gstindex.sgml:
23108 * docs/manual/appendix-quotes.xml:
23109 * gst/base/gstbasesrc.h:
23110 * gst/elements/gstfakesrc.h:
23111 * gst/gstmessage.h:
23112 start pulling in base classes and elements in our docs
23114 2005-06-24 Stefan Kost <ensonic@users.sf.net>
23116 * docs/gst/Makefile.am:
23117 * docs/libs/Makefile.am:
23118 fixed make distcheck with gtk-doc 1.3
23120 2005-06-23 Wim Taymans <wim@fluendo.com>
23122 * gst/gstelement.c: (gst_element_get_state_func),
23123 (gst_element_set_state), (gst_element_change_state):
23124 When the state did not change, also report NO_PREROLL
23127 2005-06-23 Wim Taymans <wim@fluendo.com>
23129 * gst/gstpad.c: (gst_pad_event_default):
23130 * gst/gstqueue.c: (gst_queue_loop):
23131 No unsafe task pausing please.
23133 2005-06-23 Wim Taymans <wim@fluendo.com>
23135 * gst/schedulers/threadscheduler.c:
23136 (gst_thread_scheduler_task_start),
23137 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
23138 Ref the task before pushing it on the threadpool. This
23139 makes sure that we have a ref when the threadfunction is
23142 2005-06-23 Andy Wingo <wingo@pobox.com>
23144 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
23145 offset is greater than the file's size.
23147 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
23148 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
23149 * gst/gstobject.c (gst_object_class_init): Make the class lock
23150 recursive. Wim won't let me drop deep_notify. Decodebin works
23151 again, whoopdy doo.
23153 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
23154 internal pad, and hacks accordingly. Doesn't do it on the target
23155 pad because we change its caps. Probably catches all cases of
23157 (gst_ghost_pad_set_property): Connect to notify::caps as
23160 * tests/network-clock.scm (plot-simulation): Pipe data to the
23161 elite python skript.
23163 * tests/network-clock-utils.scm (define-parameter): New macro,
23164 defines a parameter that can be set via the command line.
23165 (set-parameter!, parse-parameter-arguments): Command line args
23168 * tests/plot-data: Simple matplotlib-based plotter, takes input on
23171 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
23173 * gst/elements/gsttypefindelement.c:
23174 (gst_type_find_element_handle_event):
23175 Don't restart typefinding on a discont.
23176 * gst/gstelement.c: (gst_element_set_state):
23177 Debug spelling fix.
23178 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
23179 Allow changing mode of an active pad.
23180 Debug output fixes.
23181 * gst/registries/gstlibxmlregistry.c: (load_feature):
23182 Don't cast a static pad template to a normal pad template.
23184 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
23186 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23187 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23188 remove gst_strtoll completely, since it didn't actually do
23189 anything more than what g_ascii_strtoull already does.
23190 check for range errors when deserializing
23191 do a cast for the unsigned cases; but further fixing needs
23192 a decision on what the interpretation of "(int)" and
23193 deserialization should be for values that fall outside the
23194 type's boundaries (ie, refuse, or interpret as casting)
23196 2005-06-23 Wim Taymans <wim@fluendo.com>
23198 * check/Makefile.am:
23199 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
23200 * docs/design/part-live-source.txt:
23201 * docs/design/part-states.txt:
23202 * gst/base/gstbasesrc.c: (gst_basesrc_init),
23203 (gst_basesrc_set_live), (gst_basesrc_is_live),
23204 (gst_basesrc_get_range), (gst_basesrc_activate),
23205 (gst_basesrc_change_state):
23206 * gst/base/gstbasesrc.h:
23207 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23208 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
23209 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
23210 * gst/gstelement.c: (gst_element_get_state_func),
23211 (gst_element_set_state):
23212 * gst/gstelement.h:
23214 * tools/gst-launch.c: (event_loop), (main):
23215 Added support for live sources and other elements that
23217 Updated design docs, added live-source design doc.
23218 Implemented live source functionality in basesrc
23219 Fix error condition in _bin_get_state()
23220 Implement live source handling in -launch.
23221 Added check for live sources.
23222 Fixed case in GstBin where elements were changed state
23226 2005-06-23 Andy Wingo <wingo@pobox.com>
23228 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
23229 borken refcounting.
23231 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
23232 gst_caps_replace takes care of this for us.
23234 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
23235 gst_pad_set_caps on the target, not just its setcaps() function.
23237 * tests/network-clock.scm:
23238 * tests/network-clock-utils.scm: A network clock simulator.
23239 Something of an algorithmic testbed before doing something in C.
23241 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
23243 * check/Makefile.am:
23244 * check/gst/capslist.h:
23245 copy over from 0.8, and add two with bitmasks specified with
23247 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23248 add test to parse everything from capslist.h
23249 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
23251 add test for structure deserialization
23252 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23253 add tests for deserialization of strings to int types
23254 * gst/gststructure.c: (gst_structure_nth_field_name):
23255 * gst/gststructure.h:
23256 add a way to get the name of a field referenced by index
23257 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23258 instead of checking if the resulting long long lies between
23259 min and max, we check if the long long would fit into
23260 a number of bytes for the final type.
23261 This fixes cases where a string represents 2^32 - 1, which
23262 when cast to int would be the (valid) -1, but is bigger than
23265 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
23267 * gst/parse/grammar.y:
23268 add a log line for type deserialization
23270 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
23272 * check/gst/gstvalue.c: (START_TEST):
23273 * gst/gstvalue.c: (gst_value_deserialize):
23274 return long long, not int, so gint64 deserialization actually
23275 works. Is there any flag that makes the compiler check this ?
23278 2005-06-22 Wim Taymans <wim@fluendo.com>
23281 Added convenience macros for setting buffers in GValue.
23283 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
23285 * check/gst/.cvsignore:
23286 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23287 add a test deserializing int64, and comment part out because
23290 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
23292 * check/Makefile.am:
23293 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
23294 * testsuite/Makefile.am:
23295 * testsuite/caps/Makefile.am:
23296 * testsuite/caps/value_serialize.c:
23297 * testsuite/test_gst_init.c:
23298 move a value_serialize test over
23300 2005-06-20 Wim Taymans <wim@fluendo.com>
23305 * gst/gstvalue.c: (gst_value_compare_buffer),
23306 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
23307 (gst_value_compare_flags), (gst_value_serialize_flags),
23308 (gst_value_deserialize_flags), (_gst_value_initialize):
23309 Fix serialisation of buffers, they are not boxed types anymore
23311 2005-06-20 Wim Taymans <wim@fluendo.com>
23313 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23314 Testcase to show error in buffer-on-caps serialisation.
23316 2005-06-20 Andy Wingo <wingo@pobox.com>
23318 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
23319 will be adding to later.
23321 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
23322 if its socks fill with rocks.
23323 (gst_system_clock_obtain): Set the name on object construction.
23324 Avoid double-checked locking.
23326 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
23328 * gst/gsturi.c: (gst_element_make_from_uri):
23329 Fix potential endless loop.
23331 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
23333 * check/Makefile.am:
23335 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
23337 move over from testsuite dir and clean up
23340 * testsuite/Makefile.am:
23341 * testsuite/tags/.cvsignore:
23342 * testsuite/tags/Makefile.am:
23343 * testsuite/tags/merge.c:
23344 remove testsuite/tags
23346 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
23348 * docs/gst/gstreamer-sections.txt:
23349 * docs/gst/tmpl/gstenumtypes.sgml:
23350 * win32/gstenumtypes.c:
23351 clean up documentation build a little
23353 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
23355 * check/gstcheck.h:
23356 add macros for checking refcounts on objects and caps
23357 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
23358 add some more unit tests
23359 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23360 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
23361 fix leaked refcounts (I hope :)) so unittest works
23365 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
23367 * configure.ac: back to HEAD
23369 === release 0.9.1 ===
23371 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
23377 2005-06-17 Andy Wingo <wingo@pobox.com>
23379 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
23380 assert; it's always possible that the pad gets deactivated in
23381 between the checks in gstpad.c and the implementation. Rely on
23382 finish_preroll() to return a FLUSHING or similar instead of on the
23385 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
23386 clock and post an EOS message if we come out of finish_preroll in
23389 2005-06-16 David Schleef <ds@schleef.org>
23391 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23392 (gst_capsfilter_set_property): Allow NULL as possible value
23393 for filter_caps property, indicating GST_CAPS_ANY.
23395 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
23397 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
23399 * gst/schedulers/Makefile.am:
23401 * gstreamer.spec.in:
23404 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
23406 * gstreamer.spec.in:
23409 2005-06-08 Andy Wingo <wingo@pobox.com>
23411 * gst/gstutils.c: RPAD fixes all around.
23412 (gst_element_link_pads): Refcounting fixes.
23414 * tools/gst-inspect.c:
23415 * tools/gst-xmlinspect.c:
23417 * gst/base/gsttypefindhelper.c:
23418 * gst/base/gstbasesink.c:
23419 * gst/gstqueue.c: RPAD fixes.
23421 * gst/gstghostpad.h:
23422 * gst/gstghostpad.c: New ghost pad implementation as full proxy
23423 pads. The tricky thing is they provide both source and sink
23424 interfaces, since they proxy the internal pad for the external
23425 pad, and vice versa. Implement with lower-level ProxyPad objects,
23426 with the interior proxy pad as a child of the exterior ghost pad.
23427 Should write a doc on this.
23429 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
23430 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
23433 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
23434 pads are real pads. No ghost pads in this file. Not documenting
23435 the myriad s/RPAD/PAD/ and REALIZE fixes.
23436 (gst_pad_class_init): Add properties for "direction" and
23437 "template". Both are construct-only, so they can't change during
23438 the life of the pad. Fixes properly deriving from GstPad.
23439 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
23440 derived objects, just set properties when creating the objects via
23442 (gst_pad_get_parent): Implement as a function, return NULL if the
23443 parent is not an element.
23444 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
23445 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
23447 * gst/gstobject.c (gst_object_class_init): Make name a construct
23448 property. Don't set it in the object init.
23450 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
23451 with UNKNOWN direction.
23452 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
23453 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
23454 (gst_element_remove_pad): Remove ghost-pad special cases.
23455 (gst_element_pads_activate): Remove rpad cruft.
23457 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
23458 catch the pad's-parent-not-an-element case.
23460 * gst/gst.h: Include gstghostpad.h.
23462 * gst/gst.c (init_post): No more real, ghost pads.
23464 * gst/Makefile.am: Add gstghostpad.[ch].
23466 * check/Makefile.am:
23467 * check/gst/gstbin.c:
23468 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
23469 into a bin creates ghost pads, and that the refcounts are right.
23470 Partly moved from gstbin.c.
23472 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
23474 * check/gst-libs/.cvsignore:
23475 * check/gst/.cvsignore:
23476 * check/pipelines/.cvsignore:
23478 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
23479 (START_TEST), (cleanup_suite), (main):
23480 add some tests related to cleanup after running pipelines
23482 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
23484 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
23485 add a testsuite for GstBuffer
23487 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
23489 * gst/gstminiobject.h:
23490 add defines for accessing the refcount
23492 2005-06-03 Stefan Kost <ensonic@users.sf.net>
23494 * Makefile.am: added support for html unit test coverage reports
23496 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
23498 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23499 Free existing caps if the capsfilter changes. Add a FIXME about
23500 setting those caps on the pads.
23502 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
23503 Before adding a ghost pad to a parent bin, check that there isn't
23504 already one for the element on the bin. Prevents infinite recursion
23505 when using decodebin in parse pipelines. Andy says he'll rewrite the
23506 way this works anyway, so ignore the hack.
23508 2005-06-02 Andy Wingo <wingo@pobox.com>
23510 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
23511 file size, pass it on to the type find helper.
23513 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
23514 segment_start and segment_end properly according to the seek
23515 method. Segment_end is still a bit flaky because offset can be
23516 negative for CUR and END cases, but it takes -1 as an "unset"
23519 2005-06-02 Wim Taymans <wim@fluendo.com>
23521 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
23522 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
23523 (gst_basesink_activate):
23524 * gst/base/gstbasesink.h:
23525 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23526 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23527 (gst_pad_query), (gst_pad_start_task):
23529 * gst/gstqueue.c: (gst_queue_bufferalloc),
23530 (gst_queue_handle_sink_event), (gst_queue_chain):
23531 Bufferalloc: return GstFlowReturn to more accuratly report
23532 why allocation failed.
23534 2005-06-02 Wim Taymans <wim@fluendo.com>
23536 * gst/gstpipeline.c: (gst_pipeline_send_event):
23537 Take snapshot of state without blocking.
23539 2005-06-02 Wim Taymans <wim@fluendo.com>
23541 * docs/design/part-TODO.txt:
23542 * docs/design/part-caps.txt:
23543 * docs/design/part-clocks.txt:
23544 * docs/design/part-negotiation.txt:
23545 * docs/design/part-preroll.txt:
23548 2005-05-30 Wim Taymans <wim@fluendo.com>
23550 * gst/elements/gstidentity.c: (gst_identity_event),
23551 (gst_identity_transform), (gst_identity_get_property):
23552 Protect last_message property as it is accessed from
23555 2005-05-30 Wim Taymans <wim@fluendo.com>
23557 * gst/gstelement.c: (gst_element_init),
23558 (gst_element_pads_activate), (gst_element_change_state):
23559 Slicker pad activation code.
23561 2005-05-30 Wim Taymans <wim@fluendo.com>
23564 * gst/gstelement.h:
23565 * gst/gstelementfactory.h:
23567 Move elementfactory methods to separate .h file.
23569 2005-05-30 Wim Taymans <wim@fluendo.com>
23571 * docs/design/part-overview.txt:
23572 * gst/gstsystemclock.h:
23573 Small typo fixes, doc updates.
23575 2005-05-30 Wim Taymans <wim@fluendo.com>
23577 * gst/gst.c: (gst_init_get_popt_table), (init_post),
23578 (init_popt_callback):
23579 Remove cpu-opt flag.
23581 2005-05-30 Wim Taymans <wim@fluendo.com>
23583 * gst/gstbuffer.c: (gst_subbuffer_finalize),
23584 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
23586 Avoid typechecking in places where not needed.
23587 Added accessor for malloc_data.
23589 2005-05-30 Wim Taymans <wim@fluendo.com>
23591 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
23592 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
23593 (gst_pad_configure_sink), (gst_pad_configure_src),
23594 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
23595 (gst_pad_start_task):
23596 Propagate errors from _set_caps() in configure_src/sink
23597 functions instead of returning TRUE.
23598 FLUSH events can travel up and downstream
23601 2005-05-30 Wim Taymans <wim@fluendo.com>
23603 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23604 (gst_basesink_activate):
23605 Handle EOS in preroll.
23607 2005-05-30 Wim Taymans <wim@fluendo.com>
23609 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23610 (gst_queue_loop), (gst_queue_handle_src_event):
23611 Remove old pieces of code
23612 Flushing the queue in an upstream event is a very bad idea.
23614 2005-05-26 Andy Wingo <wingo@pobox.com>
23616 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
23617 gst_value_set_mini_object so as to add a ref on the object (which
23618 will be removed when the value is unset).
23620 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
23621 arg type in ::handoff.
23623 * gst/gstelement.c (gst_element_change_state): Also deactivate
23624 pads in READY->NULL, just in case the element didn't make it to
23625 PAUSED. Wingo tested, Wim approved.
23627 2005-05-26 Wim Taymans <wim@fluendo.com>
23629 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23630 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23631 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
23632 A flushing pad cannot be used to alloc_buffer from.
23634 2005-05-26 Wim Taymans <wim@fluendo.com>
23636 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
23637 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
23638 (gst_bus_source_dispatch), (gst_bus_source_finalize),
23639 (gst_bus_create_watch), (gst_bus_add_watch_full):
23641 Implement a real GSource and use g_main_context_wakeup() to
23642 signal new messages instead of the socketpair.
23644 2005-05-25 Wim Taymans <wim@fluendo.com>
23646 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
23647 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
23648 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23649 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23650 (gst_pad_send_event), (gst_pad_start_task):
23651 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
23652 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23653 (gst_queue_sink_activate), (gst_queue_src_activate),
23654 (gst_queue_change_state):
23656 Fix state changes for non sinks. We now change sinks, then elements
23657 with unconnected srcpads, then the rest.
23658 More efficient queue unlocking in flush and state changes.
23659 Set the pad activate mode even if it does not have an activate
23662 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23664 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
23665 Don't go in pull mode for non-seekable sources.
23666 * gst/elements/gsttypefindelement.h:
23667 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
23668 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
23669 (free_entry), (stop_typefinding),
23670 (gst_type_find_element_handle_event), (find_peek),
23671 (gst_type_find_element_chain), (do_pull_typefind),
23672 (gst_type_find_element_change_state):
23673 Allow typefinding (w/o seeking) in push-mode, simplified version
23674 of what was in 0.8.
23675 * gst/gstutils.c: (gst_buffer_join):
23677 gst_buffer_join() from 0.8.
23679 2005-05-25 Wim Taymans <wim@fluendo.com>
23681 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23682 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23683 (gst_pad_send_event), (gst_pad_start_task):
23684 Disable attempt at mode switching until it is figured out.
23686 2005-05-25 Wim Taymans <wim@fluendo.com>
23688 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
23689 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23690 (gst_basesink_finish_preroll), (gst_basesink_chain),
23691 (gst_basesink_loop), (gst_basesink_activate),
23692 (gst_basesink_change_state):
23693 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
23694 (gst_basesrc_get_range), (gst_basesrc_loop),
23695 (gst_basesrc_activate):
23696 * gst/elements/gsttee.c: (gst_tee_sink_activate):
23697 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23698 (gst_real_pad_init), (gst_real_pad_set_property),
23699 (gst_real_pad_get_property), (gst_pad_set_active),
23700 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
23701 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
23702 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
23703 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
23704 (gst_pad_event_default_dispatch), (gst_pad_event_default),
23705 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
23706 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
23707 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
23708 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
23709 (gst_pad_stop_task):
23711 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23712 (gst_queue_loop), (gst_queue_src_activate):
23713 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
23714 (gst_task_get_state):
23716 * gst/schedulers/threadscheduler.c:
23717 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
23718 Implement gst_pad_pause/start/stop_task(), take STREAM lock
23720 Remove ACTIVE pad flag, use FLUSHING everywhere
23721 Added _pad_chain(), _pad_get_range() to call chain/getrange
23723 Add locks around IS_FLUSHING when reading.
23724 Take STREAM lock in chain(), get_range() functions so plugins
23725 don't need to take it anymore.
23729 2005-05-25 Wim Taymans <wim@fluendo.com>
23731 * tools/gst-launch.c: (event_loop):
23732 Unref message after using its contents instead of
23735 2005-05-24 Wim Taymans <wim@fluendo.com>
23737 * docs/design/draft-ghostpads.txt:
23738 * docs/design/draft-push-pull.txt:
23739 * docs/design/draft-query.txt:
23740 * docs/design/part-overview.txt:
23741 Docs updates, added general overview doc.
23743 2005-05-21 David Schleef <ds@schleef.org>
23745 * docs/gst/tmpl/old/GstBin.sgml:
23746 * docs/gst/tmpl/old/GstBuffer.sgml:
23747 * docs/gst/tmpl/old/GstCaps.sgml:
23748 * docs/gst/tmpl/old/GstClock.sgml:
23749 * docs/gst/tmpl/old/GstCompat.sgml:
23750 * docs/gst/tmpl/old/GstData.sgml:
23751 * docs/gst/tmpl/old/GstElement.sgml:
23752 * docs/gst/tmpl/old/GstEvent.sgml:
23753 * docs/gst/tmpl/old/GstIndex.sgml:
23754 * docs/gst/tmpl/old/GstStructure.sgml:
23755 * docs/gst/tmpl/old/GstTag.sgml:
23756 * docs/gst/tmpl/old/cothreads.sgml:
23757 * docs/gst/tmpl/old/cothreads_compat.sgml:
23758 * docs/gst/tmpl/old/gettext.sgml:
23759 * docs/gst/tmpl/old/gobject2gtk.sgml:
23760 * docs/gst/tmpl/old/grammar.tab.sgml:
23761 * docs/gst/tmpl/old/gst-i18n-app.sgml:
23762 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
23763 * docs/gst/tmpl/old/gst_private.sgml:
23764 * docs/gst/tmpl/old/gstaggregator.sgml:
23765 * docs/gst/tmpl/old/gstarch.sgml:
23766 * docs/gst/tmpl/old/gstatomic_impl.sgml:
23767 * docs/gst/tmpl/old/gstbufferstore.sgml:
23768 * docs/gst/tmpl/old/gstdata_private.sgml:
23769 * docs/gst/tmpl/old/gstdisksink.sgml:
23770 * docs/gst/tmpl/old/gstdisksrc.sgml:
23771 * docs/gst/tmpl/old/gstelementfactory.sgml:
23772 * docs/gst/tmpl/old/gstextratypes.sgml:
23773 * docs/gst/tmpl/old/gstfakesink.sgml:
23774 * docs/gst/tmpl/old/gstfakesrc.sgml:
23775 * docs/gst/tmpl/old/gstfdsink.sgml:
23776 * docs/gst/tmpl/old/gstfdsrc.sgml:
23777 * docs/gst/tmpl/old/gstfilesink.sgml:
23778 * docs/gst/tmpl/old/gstfilesrc.sgml:
23779 * docs/gst/tmpl/old/gsthttpsrc.sgml:
23780 * docs/gst/tmpl/old/gstidentity.sgml:
23781 * docs/gst/tmpl/old/gstindexfactory.sgml:
23782 * docs/gst/tmpl/old/gstmarshal.sgml:
23783 * docs/gst/tmpl/old/gstmd5sink.sgml:
23784 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
23785 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
23786 * docs/gst/tmpl/old/gstpadtemplate.sgml:
23787 * docs/gst/tmpl/old/gstpipefilter.sgml:
23788 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
23789 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
23790 * docs/gst/tmpl/old/gstshaper.sgml:
23791 * docs/gst/tmpl/old/gstspider.sgml:
23792 * docs/gst/tmpl/old/gstspideridentity.sgml:
23793 * docs/gst/tmpl/old/gststatistics.sgml:
23794 * docs/gst/tmpl/old/gsttee.sgml:
23795 * docs/gst/tmpl/old/gsttimecache.sgml:
23796 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
23797 * docs/gst/tmpl/old/gstxmlregistry.sgml:
23798 * docs/gst/tmpl/old/gthread-cothreads.sgml:
23799 * docs/gst/tmpl/old/types.sgml:
23800 I didn't intend to add these or check them in.
23802 2005-05-19 David Schleef <ds@schleef.org>
23804 * configure.ac: Use -no-common everywhere. In a sane world, it
23805 would be the default in libtool, because without it, you can't
23806 build DLLs on Windows.
23807 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
23808 * docs/gst/gstreamer-sections.txt:
23809 * docs/gst/tmpl/gstcpu.sgml:
23810 * docs/gst/tmpl/gstdata.sgml:
23811 * docs/gst/tmpl/gstthread.sgml:
23813 2005-05-19 David Schleef <ds@schleef.org>
23815 * gst/gstminiobject.c: (gst_value_set_mini_object),
23816 (gst_value_take_mini_object), (gst_value_get_mini_object):
23817 * gst/gstminiobject.h: Add GValue set/get functions.
23819 2005-05-19 Wim Taymans <wim@fluendo.com>
23821 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
23822 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
23823 (gst_subbuffer_init), (gst_buffer_is_span_fast):
23825 * gst/gstbus.c: (gst_bus_post):
23826 * gst/gstelement.c: (gst_element_get_random_pad):
23827 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
23828 Make subbufer unref the parent in finalize.
23829 some more debugging info.
23832 2005-05-19 Wim Taymans <wim@fluendo.com>
23834 * gst/base/gstbasesink.c: (gst_basesink_class_init),
23835 (gst_basesink_init), (gst_basesink_finalize),
23836 (gst_basesink_activate), (gst_basesink_change_state):
23837 Don't free preroll queue too early.
23839 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23843 Hi, I'm outdated. Please shoot me.
23845 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23847 * gst/gstpipeline.c: (gst_pipeline_send_event):
23848 Do not access variables after they have been deleted.
23850 2005-05-19 Wim Taymans <wim@fluendo.com>
23852 * tools/gst-inspect.c: (print_plugin_features):
23853 A plugin feature does unfortunatly not use the
23856 2005-05-18 Wim Taymans <wim@fluendo.com>
23858 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
23859 Port _span() functions to new subbuffers.
23861 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23863 * gst/gstbin.c: (gst_bin_add_func):
23864 Fix clock settery in bins when adding kids after the clock has
23867 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23869 * gst/elements/gstidentity.c: (gst_identity_class_init):
23870 Workaround until signals support GstMiniObject.
23872 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
23875 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
23877 2005-05-18 Wim Taymans <wim@fluendo.com>
23879 * gst/base/Makefile.am:
23880 * gst/base/gstadapter.c: (gst_adapter_base_init),
23881 (gst_adapter_class_init), (gst_adapter_init),
23882 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
23883 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
23884 (gst_adapter_flush), (gst_adapter_available),
23885 (gst_adapter_available_fast):
23886 * gst/base/gstadapter.h:
23887 Ported and added adapter to the base classes.
23889 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
23892 * gst/gstmessage.c:
23893 Make sure the class is reffed/unreffed once before threads can be
23894 used. Fixes #304551.
23896 2005-05-17 Wim Taymans <wim@fluendo.com>
23898 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
23899 (gst_basesink_chain_unlocked), (gst_basesink_activate):
23900 * gst/gstminiobject.c: (gst_mini_object_get_type),
23901 (gst_mini_object_free):
23902 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
23903 (gst_pad_push), (gst_pad_push_event):
23904 * gst/gstqueue.c: (gst_queue_change_state):
23905 Don't queue buffers in basesink when we are flushing.
23906 Unref buffer when flushing in basesink.
23907 Flush queue when going to READY
23908 Unref buffer when _push() returns an error.
23909 Don't free MiniObject instance when refcount is incremented
23910 in _finalize() so that we can recover objects.
23912 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
23914 * docs/manual/advanced-schedulers.xml:
23915 * docs/manual/appendix-checklist.xml:
23916 * docs/pwg/advanced-clock.xml:
23917 * docs/pwg/advanced-interfaces.xml:
23918 * docs/pwg/advanced-request.xml:
23919 * docs/pwg/advanced-types.xml:
23920 * docs/pwg/intro-preface.xml:
23921 * examples/plugins/example.c: (gst_example_get_type),
23922 (gst_example_class_init), (gst_example_chain),
23923 (gst_example_set_property), (gst_example_get_property),
23924 (gst_example_change_state), (plugin_init):
23925 * examples/plugins/example.h:
23928 2005-05-17 Wim Taymans <wim@fluendo.com>
23930 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
23931 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
23932 * gst/gstqueue.c: (gst_queue_change_state):
23933 Clear queue when going to READY.
23934 Remove IN_SETCAPS flag too.
23936 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
23938 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
23939 Remove implicit cast from gboolean to GstElementStateReturn;
23940 make sure we still return failure in paused => ready case if
23941 the parent class fails to change state and our own stop
23944 2005-05-17 Wim Taymans <wim@fluendo.com>
23946 * tools/gst-launch.c: (event_loop):
23947 Message was unreffed too soon.
23949 2005-05-16 Andy Wingo <wingo@pobox.com>
23951 * gst/gstbin.c (sink_iterator_filter): Err... um...
23953 * check/gst/gstbin.c (test_ghost_pads): New test for the
23954 ghosting-if-elements-not-in-same-bin behavior.
23956 2005-05-16 David Schleef <ds@schleef.org>
23958 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
23959 accessing refcount directly.
23961 2005-05-15 David Schleef <ds@schleef.org>
23963 * check/Makefile.am: remove GstData checks
23964 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
23965 * gst/Makefile.am: add miniobject, remove data
23966 * gst/gst.h: add miniobject, remove data
23967 * gst/gstdata.c: remove
23968 * gst/gstdata.h: remove
23969 * gst/gstdata_private.h: remove
23970 * gst/gsttypes.h: remove GstEvent and GstMessage
23971 * gst/gstelement.c: (gst_element_post_message): fix for API changes
23972 * gst/gstmarshal.list: change BOXED -> OBJECT
23974 Implement GstMiniObject.
23975 * gst/gstminiobject.c:
23976 * gst/gstminiobject.h:
23978 Modify to be subclasses of GstMiniObject.
23979 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
23980 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
23981 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
23982 (gst_subbuffer_get_type), (gst_subbuffer_init),
23983 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
23986 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
23987 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
23988 (_gst_event_copy), (gst_event_new):
23990 * gst/gstmessage.c: (_gst_message_initialize),
23991 (gst_message_get_type), (gst_message_class_init),
23992 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
23993 (gst_message_new), (gst_message_new_error),
23994 (gst_message_new_warning), (gst_message_new_tag),
23995 (gst_message_new_state_changed), (gst_message_new_application):
23996 * gst/gstmessage.h:
23997 * gst/gstprobe.c: (gst_probe_perform),
23998 (gst_probe_dispatcher_dispatch):
24000 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
24001 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
24002 (_gst_query_copy), (gst_query_new):
24004 Update elements for GstData -> GstMiniObject changes
24006 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
24007 (gst_queue_chain), (gst_queue_loop):
24008 * gst/elements/gstbufferstore.c:
24009 (gst_buffer_store_add_buffer_func),
24010 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
24011 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24012 (gst_fakesink_render):
24013 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24014 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
24015 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
24016 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
24017 (gst_filesrc_create_read):
24018 * gst/elements/gstidentity.c: (gst_identity_class_init):
24019 * gst/elements/gsttypefindelement.c:
24020 (gst_type_find_element_src_event), (free_entry_buffers),
24021 (gst_type_find_element_handle_event):
24022 * libs/gst/dataprotocol/dataprotocol.c:
24023 (gst_dp_header_from_buffer):
24024 * libs/gst/dataprotocol/dataprotocol.h:
24025 * libs/gst/dataprotocol/dp-private.h:
24027 2005-05-15 David Schleef <ds@schleef.org>
24029 * gst/elements/gstelements.c: Don't include headers that were
24032 2005-05-15 David Schleef <ds@schleef.org>
24034 * gst/elements/Makefile.am: Remove some elements that don't
24035 need to be in the core (or even exist at all).
24036 * gst/elements/gstaggregator.c:
24037 * gst/elements/gstaggregator.h:
24038 * gst/elements/gstmd5sink.c:
24039 * gst/elements/gstmd5sink.h:
24040 * gst/elements/gstmultifilesrc.c:
24041 * gst/elements/gstmultifilesrc.h:
24042 * gst/elements/gstpipefilter.c:
24043 * gst/elements/gstpipefilter.h:
24044 * gst/elements/gstshaper.c:
24045 * gst/elements/gstshaper.h:
24046 * gst/elements/gststatistics.c:
24047 * gst/elements/gststatistics.h:
24048 * po/POTFILES.in: Remove above files.
24050 2005-05-14 Andy Wingo <wingo@pobox.com>
24052 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
24053 so as to get the refs right.
24054 (sink_iterator_filter): New function, wraps bin_element_is_sink,
24055 unreffing objects that don't pass the filter.
24057 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
24058 gst_element_set_bus.
24059 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
24060 normal cases, this will destroy the bus.
24062 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
24065 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
24068 2005-05-13 Andy Wingo <wingo@pobox.com>
24070 * gst/gstutils.c (gst_element_link_pads): Instead of calling
24071 gst_pad_link, call pad_link_maybe_ghosting,
24072 (pad_link_maybe_ghosting): Links pads, making sure that the
24073 elements being linked are in the same bin.
24074 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
24075 Helpers for pad_link_maybe_ghosting.
24077 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
24080 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
24082 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
24084 * docs/design/part-element-source.txt:
24087 2005-05-12 Wim Taymans <wim@fluendo.com>
24089 * gst/base/gstbasesink.c: (gst_basesink_init),
24090 (gst_basesink_activate):
24091 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
24092 (gst_basesrc_is_seekable):
24093 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
24094 (bin_element_is_sink), (gst_bin_change_state):
24095 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24096 * gst/gstelement.h:
24097 Identify sinks by their flag to avoid overly complicated
24099 Do state changes even for elements not reachable from the
24101 BaseSink is a sink now :)
24102 Some more debugging info in the basesrc.
24105 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24107 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
24108 Implement _query on a bin, similar to _send_event.
24110 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
24112 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
24113 Discont event offset format should be GST_FORMAT_BYTES,
24114 not GST_FORMAT_TIME.
24116 2005-05-12 Wim Taymans <wim@fluendo.com>
24118 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
24119 Same fix as Ronald's but without the signal.
24121 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24123 * gst/gstutils.c: (gst_element_query_position):
24124 No, an element is not a pad.
24126 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24128 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
24129 (gst_bin_get_state):
24130 If a child is removed from a bin while we remove the child from
24131 the bin and while we're retrieving its state, signal this to the
24132 get_state function so we abort the wait (instead of waiting for
24133 a timeout) and can immediately re-iterate over all other elements.
24135 2005-05-12 Wim Taymans <wim@fluendo.com>
24137 * gst/base/Makefile.am:
24138 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
24139 (gst_basesrc_start):
24140 * gst/base/gstbasesrc.h:
24141 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
24142 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
24143 (gst_pushsrc_init), (gst_pushsrc_create):
24144 * gst/base/gstpushsrc.h:
24145 Added is_seekable to BaseSrc
24146 Added simple PushSrc.
24148 2005-05-11 Wim Taymans <wim@fluendo.com>
24150 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24151 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24152 (gst_element_link_pads), (gst_element_query_position),
24153 (gst_element_query_convert), (intersect_caps_func),
24154 (gst_pad_query_position), (gst_pad_query_convert):
24155 Fix refcounting in utils function.
24156 No point in trying to activate a pad when it's added, it could
24157 be added from the state change function and then we deadlock, the
24158 element has to decide what to do.
24160 2005-05-10 Andy Wingo <wingo@pobox.com>
24162 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
24163 *all* the arguments.
24165 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
24166 stream lock if it's a FLUSH_DONE; normal flushes don't get the
24167 lock (according to the docs -- if this is wrong change the docs).
24169 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
24170 flush messages in the NULL state.
24172 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
24173 message immediately and return.
24174 (gst_bus_set_flushing): New function. If a bus is flushing, it
24175 flushes out any queued messages and immediately unrefs new
24176 messages. This is so when an element goes to NULL, all of the
24177 unhandled messages coming from it can be freed, and their
24178 references to the element dropped. In other words: message source
24179 ref considered harmful :P
24181 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
24182 we're finished with it.
24184 * gst/gstmessage.c (gst_message_new_state_changed):
24186 2005-05-10 Wim Taymans <wim@fluendo.com>
24188 * gst/gstvalue.c: (gst_value_compare_flags),
24189 (gst_value_serialize_flags), (gst_value_deserialize_flags),
24190 (_gst_value_initialize):
24191 Added flags serialize/deserialize/compare code.
24193 2005-05-09 Andy Wingo <wingo@pobox.com>
24195 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
24196 Intersect the peer's caps with our caps.
24198 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24200 * gst/base/gsttypefindhelper.c: (helper_find_peek):
24201 * gst/elements/gsttypefindelement.c: (find_peek):
24202 Handle negative offsets better. Fixes decodebin.
24204 2005-05-09 Wim Taymans <wim@fluendo.com>
24206 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
24207 (gst_base_transform_event):
24208 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
24209 Implement accept_caps.
24210 Fix silly lock/unlock mismatch in base class.
24212 2005-05-09 Wim Taymans <wim@fluendo.com>
24214 * docs/design/draft-push-pull.txt:
24215 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
24216 * gst/elements/gstfilesink.c: (gst_filesink_init),
24217 (gst_filesink_query):
24218 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24219 (gst_type_find_handle_src_query), (find_element_get_length):
24220 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
24221 * gst/gstelement.h:
24222 * gst/gstmessage.c:
24223 * gst/gstmessage.h:
24224 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
24225 (gst_real_pad_get_caps_unlocked),
24226 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
24227 (gst_pad_event_default_dispatch), (gst_pad_event_default),
24228 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
24229 (gst_real_pad_dispose), (gst_real_pad_finalize),
24230 (gst_pad_load_and_link), (gst_pad_save_thyself),
24231 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
24232 (gst_pad_check_pull_range), (gst_pad_pull_range),
24233 (gst_pad_template_get_type), (gst_pad_template_class_init),
24234 (gst_pad_template_init), (gst_pad_template_dispose),
24235 (name_is_valid), (gst_static_pad_template_get),
24236 (gst_pad_template_new), (gst_static_pad_template_get_caps),
24237 (gst_pad_template_get_caps), (gst_pad_set_element_private),
24238 (gst_pad_get_element_private), (gst_pad_start_task),
24239 (gst_pad_pause_task), (gst_pad_stop_task),
24240 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
24241 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
24242 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
24243 (gst_ghost_pad_new):
24245 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
24246 (gst_query_new_position), (gst_query_set_position),
24247 (gst_query_parse_position), (gst_query_new_convert),
24248 (gst_query_set_convert), (gst_query_parse_convert):
24250 * gst/gstqueryutils.c:
24251 * gst/gstqueryutils.h:
24252 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24253 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24254 (gst_queue_handle_src_query):
24255 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24256 (gst_element_query_position), (gst_element_query_convert),
24257 (intersect_caps_func), (gst_pad_query_position),
24258 (gst_pad_query_convert):
24260 * tools/gst-inspect.c: (print_pad_info):
24261 * tools/gst-xmlinspect.c: (print_element_info):
24262 Remove old query functions. Ported old code.
24263 Added position/convert helper functions to gstutils.
24264 Reordered gstpad.c code, grouping relevant things.
24265 Remove gst_message_new(), always need to speficy a specific
24269 2005-05-09 Andy Wingo <wingo@pobox.com>
24271 * gst/gstiterator.h: Add some includes.
24273 * gst/gstqueryutils.h: Include more headers.
24276 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
24277 some uses of gst_pad_query.
24279 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
24280 NULL out parameters.
24281 (gst_query_new_position): New proc, allocates a new position
24284 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
24285 gstqueryutils.c to the build.
24287 * gst/gststructure.c (gst_structure_set_valist): Implement with
24288 the generic G_VALUE_COLLECT.
24290 2005-05-08 Edward Hervey <bilboed@bilboed.com>
24292 * gst/Makefile.am: (gst_headers):
24293 Added gstqueryutils.h to the list of headers to install, that was
24294 a 'nachty' move wingo :)
24296 2005-05-06 Andy Wingo <wingo@pobox.com>
24299 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
24300 GstData, init a memchunk.
24301 (standard_definitions): Add a few query types, deprecate a few.
24302 (gst_query_get_type): New proc.
24303 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
24305 (gst_query_new_application, gst_query_get_structure): New public
24308 * docs/design/draft-query.txt: Removed LINKS from the query types,
24309 because all the rest can be dispatched to other pads -- seemed
24310 ugly to have a query that couldn't be dispatched. internal_links
24311 is fine as a pad method.
24313 * gst/gstpad.h: Add query2 as a pad method, add the new functions
24314 in gstpad.c, but maintain binary compatibility for the moment.
24315 Will fix before 0.9 is out.
24317 * gst/gstqueryutils.c:
24318 * gst/gstqueryutils.h: New files, implement 3 methods for each
24319 query type: parse_query, parse_response, and set. Probably need an
24322 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
24324 * gst/elements/gstfilesink.c (gst_filesink_query2):
24325 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
24326 query_types, and formats methods.
24328 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
24329 (gst_pad_set_query2_function): New functions.
24330 (gst_real_pad_init): Set query2_default as the default query2
24331 function. Basically just dispatches to internally linked pads.
24335 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
24336 without using the atomic operations. Only one thread can possibly
24337 be accessing the data at this point. Changed so as to avoid
24338 gst_atomic operations.
24340 2005-05-06 Wim Taymans <wim@fluendo.com>
24342 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
24343 Also set caps if we use the fallback buffer alloc.
24345 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
24347 * docs/gst/Makefile.am:
24348 * docs/gst/gstreamer-docs.sgml:
24349 * docs/gst/gstreamer-sections.txt:
24350 * docs/gst/tmpl/gstatomic.sgml:
24351 * docs/gst/tmpl/gstmemchunk.sgml:
24352 * testsuite/elements/struct_i386.h:
24353 * win32/GStreamer.vcproj:
24355 Purge GstAtomic stuff from docs and win32 makefiles as well
24357 2005-05-06 Wim Taymans <wim@fluendo.com>
24359 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
24360 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
24361 * gst/gstpad.c: (gst_pad_peer_get_caps):
24362 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24363 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24364 (gst_queue_src_activate), (gst_queue_change_state):
24366 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24367 (intersect_caps_func):
24368 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
24369 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
24370 Some fixes for the peer_get_caps() change.
24372 2005-05-06 Wim Taymans <wim@fluendo.com>
24374 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24375 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
24376 (gst_basesink_activate):
24377 Actually do something with error codes returned from the push
24380 2005-05-06 Wim Taymans <wim@fluendo.com>
24382 * docs/design/part-element-sink.txt:
24383 * docs/design/part-element-source.txt:
24384 * gst/base/gstbasesink.c: (gst_basesink_class_init),
24385 (gst_basesink_event), (gst_basesink_activate):
24386 * gst/base/gstbasesink.h:
24387 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
24388 (gst_basesrc_activate):
24389 * gst/base/gstbasesrc.h:
24390 * gst/gstelement.c: (gst_element_pads_activate):
24391 Some more documentation.
24392 Fixed scheduling decision in _pads_activate().
24394 2005-05-05 Andy Wingo <wingo@pobox.com>
24396 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
24399 2005-05-05 Wim Taymans <wim@fluendo.com>
24401 * gst/base/Makefile.am:
24402 * gst/base/gstbasesink.h:
24403 * gst/base/gstbasesrc.c: (gst_basesrc_init),
24404 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
24405 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
24406 (gst_collectpads_class_init), (gst_collectpads_init),
24407 (gst_collectpads_finalize), (gst_collectpads_new),
24408 (gst_collectpads_set_function), (gst_collectpads_add_pad),
24409 (find_pad), (gst_collectpads_remove_pad),
24410 (gst_collectpads_is_active), (gst_collectpads_collect),
24411 (gst_collectpads_collect_range), (gst_collectpads_start),
24412 (gst_collectpads_stop), (gst_collectpads_peek),
24413 (gst_collectpads_pop), (gst_collectpads_available),
24414 (gst_collectpads_read), (gst_collectpads_flush),
24415 (gst_collectpads_chain):
24416 * gst/base/gstcollectpads.h:
24417 * gst/elements/Makefile.am:
24418 * gst/elements/gstelements.c:
24419 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24420 (gst_fakesink_get_times), (gst_fakesink_event),
24421 (gst_fakesink_preroll), (gst_fakesink_render):
24422 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24423 (gst_filesink_init), (gst_filesink_set_location),
24424 (gst_filesink_open_file), (gst_filesink_close_file),
24425 (gst_filesink_pad_query), (gst_filesink_event),
24426 (gst_filesink_render), (gst_filesink_change_state):
24427 * gst/elements/gstfilesink.h:
24428 Added object to help in making collect pad based elements.
24430 Make event function in sink baseclass return gboolean.
24432 2005-05-05 Wim Taymans <wim@fluendo.com>
24434 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
24435 (gst_bin_get_by_name):
24437 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
24438 (gst_clock_finalize):
24439 * gst/gstdata.c: (gst_data_replace):
24441 * gst/gstelement.c: (gst_element_request_pad),
24442 (gst_element_pads_activate):
24443 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
24444 (gst_object_unref):
24445 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24446 (gst_pad_set_checkgetrange_function),
24447 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
24448 (gst_pad_check_pull_range), (gst_pad_pull_range),
24449 (gst_static_pad_template_get_caps), (gst_pad_start_task),
24450 (gst_pad_pause_task), (gst_pad_stop_task):
24451 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24452 (gst_element_request_pad), (gst_pad_proxy_getcaps):
24453 Fix name lookup in GstBin.
24454 Added _data_replace() function and _buffer_replace()
24455 Use finalize method to clean up clock.
24456 Fix refcounting on request pads.
24457 Fix pad schedule mode error.
24458 Some more object refcounting debug info,
24461 2005-05-04 Andy Wingo <wingo@pobox.com>
24463 * check/Makefile.am:
24464 * docs/gst/tmpl/gstatomic.sgml:
24465 * docs/gst/tmpl/gstplugin.sgml:
24466 * gst/base/gstbasesink.c: (gst_basesink_activate):
24467 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
24468 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
24469 (gst_basesrc_query), (gst_basesrc_set_property),
24470 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
24471 (gst_basesrc_activate):
24472 * gst/base/gstbasesrc.h:
24473 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
24474 (gst_base_transform_src_activate):
24475 * gst/elements/gstelements.c:
24476 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24477 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
24478 * gst/elements/gsttee.c: (gst_tee_sink_activate):
24479 * gst/elements/gsttypefindelement.c: (find_element_get_length),
24480 (gst_type_find_element_checkgetrange),
24481 (gst_type_find_element_activate):
24482 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
24483 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
24484 (gst_caps_load_thyself):
24485 * gst/gstelement.c: (gst_element_pads_activate),
24486 (gst_element_save_thyself), (gst_element_restore_thyself):
24487 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
24488 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
24490 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
24491 (gst_xml_parse_file), (gst_xml_parse_memory),
24492 (gst_xml_get_element), (gst_xml_make_element):
24493 * gst/indexers/gstfileindex.c: (gst_file_index_load),
24494 (_file_index_id_save_xml), (gst_file_index_commit):
24495 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
24496 (read_enum), (load_pad_template), (load_feature), (load_plugin),
24498 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
24499 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
24500 * tools/gst-complete.c: (main):
24501 * tools/gst-compprep.c: (main):
24502 * tools/gst-inspect.c: (print_element_properties_info):
24503 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
24504 * tools/gst-xmlinspect.c: (print_element_properties):
24507 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
24509 * gst/gstplugin.c: (gst_plugin_check_module),
24510 (gst_plugin_check_file), (gst_plugin_load_file):
24511 apply patch from #172526 to make register work on MacOSX
24513 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
24515 * docs/gst/tmpl/gstconfig.sgml:
24516 * gst/gstconfig.h.in:
24517 move documentation for some symbols. Add doc for GST_PTR_FORMAT
24518 * testsuite/debug/printf_extension.c: (main):
24519 Do not use GST_PTR_FORMAT on pointers to types with
24520 sizeof < sizeof(gpointer). Fixes test on 64-bit
24521 * testsuite/elements/property.h:
24522 use correct printf format
24524 2005-05-02 Wim Taymans <wim@fluendo.com>
24526 * docs/design/draft-push-pull.txt:
24527 * docs/design/draft-query.txt:
24528 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
24529 (gst_basesrc_start):
24530 Added draft for new query API.
24531 Added draft for better selecting scheduling methods.
24532 Make basesrc ignore length if the subclass does not support
24535 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
24538 possible fixes for automake-1.5 - _LIBADD is reserved
24540 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
24542 * docs/faq/Makefile.am:
24543 * docs/manual/Makefile.am:
24544 * docs/manuals.mak:
24545 * docs/pwg/Makefile.am:
24547 possible fixes for automake-1.5
24549 2005-04-28 Wim Taymans <wim@fluendo.com>
24551 * gst/base/gstbasesink.c: (gst_basesink_base_init),
24552 (gst_basesink_pad_getcaps), (gst_basesink_init),
24553 (gst_basesink_do_sync):
24554 * gst/gstclock.c: (gst_clock_entry_new):
24555 * gst/gstevent.c: (gst_event_discont_get_value):
24556 * gst/gstpipeline.c: (pipeline_bus_handler),
24557 (gst_pipeline_change_state):
24558 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
24559 Better debugging of clocking info.
24560 Allow NULL values when getting discont values.
24562 2005-04-27 Wim Taymans <wim@fluendo.com>
24564 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
24565 * check/gst/gstpad.c: (gst_pad_suite):
24566 Increase timeout for checks.
24568 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
24570 * check/Makefile.am:
24571 fix the broken rule for cleanup. Apparently this rule is
24572 only needed on FC2, so maybe this warrants further autotool
24575 2005-04-26 Wim Taymans <wim@fluendo.com>
24577 * gst/gsttrashstack.h:
24578 Ooohh. a nasty one! After having a failed pop() from the stack,
24579 it's possible that the stack is empty. In that case, don't
24580 follow the NULL pointer.
24582 2005-04-25 Wim Taymans <wim@fluendo.com>
24584 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24585 (gst_pad_set_checkgetrange_function),
24586 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
24587 (gst_pad_check_pull_range), (gst_pad_pull_range),
24588 (gst_static_pad_template_get_caps), (gst_pad_start_task),
24589 (gst_pad_pause_task), (gst_pad_stop_task):
24590 * gst/gstplugin.c: (gst_plugin_load):
24592 Remove gst_library_load as it does more harm than good with
24593 the new g_module flags.
24594 Revert bogus caps template check in pad linking, pad caps
24595 are important when linking not the template, which is more
24596 general than the current caps.
24598 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24600 * gst/autoplug/.cvsignore:
24601 * gst/autoplug/Makefile.am:
24602 * gst/autoplug/gstsearchfuncs.c:
24603 * gst/autoplug/gstsearchfuncs.h:
24604 * gst/autoplug/gstspider.c:
24605 * gst/autoplug/gstspider.h:
24606 * gst/autoplug/gstspideridentity.c:
24607 * gst/autoplug/gstspideridentity.h:
24608 * gst/autoplug/spidertest.c:
24611 2005-04-25 Wim Taymans <wim@fluendo.com>
24613 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24614 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24615 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
24616 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
24618 Added stubs for unimplemented functions.
24620 2005-04-24 David Schleef <ds@schleef.org>
24622 * gst/gstpad.h: Disable some unimplemented functions. Wim,
24625 2005-04-24 David Schleef <ds@schleef.org>
24627 Convert everything from GstAtomicInt to g_atomic_int_*, and
24632 * gst/gstatomic_impl.h:
24640 * gst/gstdata_private.h:
24644 * gst/gstmessage.c:
24647 * gst/gststructure.c:
24648 * gst/gststructure.h:
24649 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
24652 2005-04-24 David Schleef <ds@schleef.org>
24654 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
24655 make the regressions tests work. Remove some code that is no
24657 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
24658 Disable warning for pads without templates.
24660 2005-04-24 David Schleef <ds@schleef.org>
24662 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
24663 functions that handle filtered links.
24664 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
24666 * gst/gstutils.c: Fix/remove utility functions that handle
24669 * gst/gstvalue.c: Add serialization/deserialization of caps
24670 * gst/parse/grammar.y: Ignore filtered caps when linking. This
24671 requires fixing so that the filter caps notation creates
24672 a capsfilter element and sets the filter_caps property. I
24673 think everyone probably wants to keep the shorthand notation.
24674 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
24675 * docs/gst/tmpl/gstpad.sgml:
24677 * gst/elements/gstelements.c: Register capsfilter element.
24678 * gst/Makefile.am: fix spacing
24679 * docs/random/ds/0.9-suggested-changes: random
24681 2005-04-23 David Schleef <ds@schleef.org>
24683 * gst/elements/Makefile.am:
24684 * gst/elements/gstcapsfilter.c: New element that acts like an
24685 identity, but filters caps. Will eventually replace filtered
24686 caps in pad linking.
24687 * gst/gstutils.c: (gst_element_create_all_pads): New function
24688 to create all the ALWAYS pads that are registered with an
24689 element class. This functionality should eventually be
24690 merged in with GstElement initialization.
24692 * testsuite/trigger/README: part of trigger test code that should
24693 have been checked in a long time ago.
24695 2005-04-23 David Schleef <ds@schleef.org>
24697 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
24698 needed with new versions of libtool (nobody will confirm this),
24699 and hard to carry around.
24700 * gst/autoplug/Makefile.am:
24701 * gst/base/Makefile.am:
24702 * gst/elements/Makefile.am:
24703 * gst/indexers/Makefile.am:
24704 * gst/schedulers/Makefile.am:
24705 * libs/gst/bytestream/Makefile.am:
24706 * libs/gst/control/Makefile.am:
24707 * libs/gst/dataprotocol/Makefile.am:
24708 * libs/gst/getbits/Makefile.am:
24710 2005-04-21 Wim Taymans <wim@fluendo.com>
24712 * docs/design/draft-push-pull.txt:
24713 * docs/design/part-MT-refcounting.txt:
24714 * docs/design/part-TODO.txt:
24715 * docs/design/part-caps.txt:
24716 * docs/design/part-events.txt:
24717 * docs/design/part-gstbus.txt:
24718 * docs/design/part-gstpipeline.txt:
24719 * docs/design/part-messages.txt:
24720 * docs/design/part-push-pull.txt:
24721 * docs/design/part-query.txt:
24724 2005-04-21 Wim Taymans <wim@fluendo.com>
24726 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
24727 (gst_message_new), (gst_message_new_error),
24728 (gst_message_new_warning), (gst_message_new_tag),
24729 (gst_message_new_state_changed), (gst_message_new_application),
24730 (gst_message_get_structure):
24731 * gst/gstmessage.h:
24732 * gst/gststructure.c: (gst_structure_set_parent_refcount),
24733 (gst_structure_copy_conditional):
24734 Use parent refcount in GstMessage to ensure GstStructure
24736 Cleaned up headers a bit.
24739 2005-04-20 Wim Taymans <wim@fluendo.com>
24741 * gst/base/gstbasesink.c: (gst_basesink_base_init),
24742 (gst_basesink_pad_getcaps), (gst_basesink_init),
24743 (gst_basesink_chain_unlocked):
24744 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
24745 (gst_type_find_helper):
24746 * gst/elements/gsttypefindelement.c:
24747 (gst_type_find_element_have_type), (gst_type_find_element_init),
24748 (stop_typefinding), (gst_type_find_element_handle_event),
24749 (find_suggest), (gst_type_find_element_chain),
24750 (gst_type_find_element_checkgetrange),
24751 (gst_type_find_element_getrange), (do_typefind),
24752 (gst_type_find_element_activate):
24753 * gst/gstbuffer.c: (_gst_buffer_sub_free),
24754 (gst_buffer_default_free), (gst_buffer_default_copy),
24755 (gst_buffer_set_caps):
24756 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
24757 (gst_caps_replace):
24758 * gst/gstmessage.c: (gst_message_new),
24759 (gst_message_new_state_changed):
24760 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24761 (gst_pad_set_checkgetrange_function),
24762 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
24763 (gst_pad_set_caps), (gst_pad_check_pull_range),
24764 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
24766 * gst/gsttypefind.c: (gst_type_find_register):
24767 Make gst_caps_replace() work like other _replace() functions.
24768 Use _caps_replace() where possible.
24769 Make sure _message_new() initialises its field.
24770 Add gst_static_pad_template_get_caps()
24773 2005-04-18 Andy Wingo <wingo@pobox.com>
24775 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
24776 on the peer, not the pad. I think that was a typo. Pass an extra
24777 arg to see if random access is possible. Activate the pads as
24778 PULL_RANGE if possible.
24780 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
24782 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
24783 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
24786 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24788 * docs/faq/using.xml:
24789 Add note on gstreamer-properties (#154996).
24791 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24793 * docs/random/bbb/optional-properties:
24794 Some analysis on optional properties.
24796 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24798 * docs/gst/tmpl/gstelementfactory.sgml:
24799 * gst/gstelement.h:
24800 * gst/gstelementfactory.c: (gst_element_factory_init),
24801 (gst_element_factory_cleanup), (gst_element_register),
24802 (__gst_element_factory_add_static_pad_template),
24803 (gst_element_factory_get_static_pad_templates),
24804 (gst_element_factory_can_src_caps),
24805 (gst_element_factory_can_sink_caps):
24806 * gst/registries/Makefile.am:
24807 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
24808 (gst_xml_registry_class_init), (gst_xml_registry_init),
24809 (gst_xml_registry_new), (gst_xml_registry_set_property),
24810 (gst_xml_registry_get_property), (get_time), (make_dir),
24811 (gst_xml_registry_get_perms_func),
24812 (plugin_times_older_than_recurse), (plugin_times_older_than),
24813 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
24814 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
24815 (add_to_char_array), (read_string), (read_uint), (read_enum),
24816 (load_pad_template), (load_feature), (load_plugin), (load_paths),
24817 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
24818 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
24819 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
24820 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
24821 (gst_xml_registry_rebuild):
24822 * gst/registries/gstlibxmlregistry.h:
24823 * tools/gst-compprep.c: (main):
24824 * tools/gst-inspect.c: (print_pad_templates_info):
24825 * tools/gst-xmlinspect.c: (print_element_info):
24826 Use libxml2 for registry parsing, use staticpadtemplates in
24827 elementfactories. Makes gst_init() +/- 10x faster.
24829 2005-04-12 Wim Taymans <wim@fluendo.com>
24831 * gst/base/Makefile.am:
24832 * gst/base/gstbasesink.c: (gst_basesink_base_init),
24833 (gst_basesink_pad_getcaps), (gst_basesink_init),
24834 (gst_basesink_event), (gst_basesink_change_state):
24835 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24836 (gst_basesrc_init), (gst_basesrc_query),
24837 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
24838 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
24839 (gst_basesrc_check_get_range), (gst_basesrc_loop),
24840 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
24841 (gst_basesrc_stop), (gst_basesrc_activate),
24842 (gst_basesrc_change_state):
24843 * gst/base/gsttypefindhelper.c: (helper_find_peek),
24844 (helper_find_suggest), (gst_type_find_helper):
24845 * gst/base/gsttypefindhelper.h:
24846 * gst/elements/Makefile.am:
24847 * gst/elements/gstelements.c:
24848 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24849 (gst_fakesink_get_times), (gst_fakesink_event),
24850 (gst_fakesink_preroll), (gst_fakesink_render):
24851 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24852 (gst_fakesrc_init), (gst_fakesrc_event_handler),
24853 (gst_fakesrc_get_property), (gst_fakesrc_create),
24854 (gst_fakesrc_start), (gst_fakesrc_stop):
24855 * gst/elements/gstfakesrc.h:
24856 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
24857 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
24858 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
24859 (gst_filesrc_create_read), (gst_filesrc_create),
24860 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
24861 (gst_filesrc_start):
24862 * gst/elements/gsttypefindelement.c:
24863 (gst_type_find_element_have_type), (gst_type_find_element_init),
24864 (start_typefinding), (stop_typefinding), (push_buffer_store),
24865 (gst_type_find_element_handle_event),
24866 (gst_type_find_element_chain),
24867 (gst_type_find_element_checkgetrange),
24868 (gst_type_find_element_getrange), (do_typefind),
24869 (gst_type_find_element_activate),
24870 (gst_type_find_element_change_state):
24871 * gst/elements/gsttypefindelement.h:
24872 * gst/gstpipeline.c: (pipeline_bus_handler):
24873 Added typefind helper.
24874 Small preroll fix in the base sink.
24875 Disable typefind code in basesrc.
24876 Crude port of typefindelement.
24880 2005-04-11 Wim Taymans <wim@fluendo.com>
24882 * check/gst/gstbus.c: (gstbus_suite):
24883 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
24884 * check/gstcheck.h:
24885 Fix up the timeout so that the test does not fail.
24887 2005-04-06 Wim Taymans <wim@fluendo.com>
24890 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24891 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
24892 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
24893 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
24894 (gst_basesrc_check_get_range), (gst_basesrc_loop),
24895 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
24896 (gst_basesrc_stop), (gst_basesrc_activate),
24897 (gst_basesrc_change_state), (basesrc_find_peek),
24898 (basesrc_find_suggest), (gst_basesrc_type_find):
24899 * gst/base/gstbasesrc.h:
24900 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
24901 (gst_filesrc_class_init), (gst_filesrc_init),
24902 (gst_filesrc_finalize), (gst_filesrc_set_location),
24903 (gst_filesrc_set_property), (gst_filesrc_get_property),
24904 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
24905 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
24906 (gst_filesrc_create_read), (gst_filesrc_create),
24907 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
24908 * gst/elements/gstfilesrc.h:
24909 * gst/gstelement.c: (gst_element_get_state_func),
24910 (gst_element_lost_state), (gst_element_pads_activate):
24911 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24912 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24913 (gst_pad_pull_range):
24915 More work on the generic source base class, implement seeking,
24917 Make filesrc extend the base source class.
24918 Added gst_pad_set_checkgetrange_function to GstPad.
24920 2005-04-06 Andy Wingo <wingo@pobox.com>
24922 * pkgconfig/gstreamer-base.pc.in:
24923 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
24925 * pkgconfig/Makefile.am:
24926 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
24928 2005-04-04 Wim Taymans <wim@fluendo.com>
24930 * gst/base/Makefile.am:
24932 * gst/base/gstbasesink.c: (gst_basesink_base_init),
24933 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
24934 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
24935 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
24936 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24937 (gst_basesrc_base_init), (gst_basesrc_class_init),
24938 (gst_basesrc_init), (gst_basesrc_get_formats),
24939 (gst_basesrc_get_query_types), (gst_basesrc_query),
24940 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
24941 (gst_basesrc_set_property), (gst_basesrc_get_property),
24942 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
24943 (gst_basesrc_loop), (gst_basesrc_activate),
24944 (gst_basesrc_change_state):
24945 * gst/base/gstbasesrc.h:
24946 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
24947 (gst_fakesrc_class_init), (gst_fakesrc_init),
24948 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
24949 (gst_fakesrc_get_property), (gst_fakesrc_create):
24950 * gst/elements/gstfakesrc.h:
24951 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
24952 (gst_filesrc_open_file), (gst_filesrc_loop),
24953 (gst_filesrc_activate), (filesrc_find_peek),
24954 (gst_filesrc_type_find):
24955 Made base source class, make fakesrc extend it.
24956 Add comments to basesink class.
24957 Some filesrc cleanup.
24959 2005-03-31 David Schleef <ds@schleef.org>
24961 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
24962 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
24963 expected to link against libgstreamer.
24964 * gst/base/Makefile.am: link against libgstreamer
24965 * gst/elements/Makefile.am: same
24967 2005-03-31 Andy Wingo <wingo@pobox.com>
24969 * tests/instantiate/Makefile.am:
24970 * tests/instantiate/caps.c: Add test to test speed of caps copy
24973 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
24974 GMemChunk to be fair.
24976 * gst/gsttrashstack.h: Remove warning about using the fallback
24977 trash stack implementation, it's still faster than malloc.
24979 2005-03-30 Andy Wingo <wingo@pobox.com>
24981 * tests/complexity.c: Add a copyright.
24983 2005-03-31 Wim Taymans <wim@fluendo.com>
24985 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
24986 (gst_base_transform_class_init), (gst_base_transform_init),
24987 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
24988 (gst_base_transform_get_property),
24989 (gst_base_transform_sink_activate),
24990 (gst_base_transform_src_activate),
24991 (gst_base_transform_change_state):
24992 * gst/base/gstbasetransform.h:
24993 * gst/elements/gstidentity.c: (gst_identity_class_init),
24994 (gst_identity_event), (gst_identity_check_perfect),
24995 (gst_identity_transform), (gst_identity_start),
24996 (gst_identity_stop):
24997 Added start/stop methods to transform base class so subclasses
24998 don't need to deal with state changes even.
25000 2005-03-31 Wim Taymans <wim@fluendo.com>
25002 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
25003 (gst_event_new_discontinuous), (gst_event_discont_get_value):
25005 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25006 (gst_pad_pull_range):
25007 Added rate to the discont event to prepare for variable speed
25008 and reverse playback.
25010 2005-03-29 David Schleef <ds@schleef.org>
25013 * testsuite/trigger/Makefile.am:
25014 * testsuite/trigger/trigger.c: A little example program to show
25015 how trigger-based elements can work.
25017 2005-03-29 Wim Taymans <wim@fluendo.com>
25019 * gst/base/Makefile.am:
25021 * gst/base/gstbasesink.c: (gst_basesink_get_type),
25022 (gst_basesink_base_init), (gst_basesink_class_init),
25023 (gst_basesink_pad_getcaps), (gst_basesink_init),
25024 (gst_basesink_activate), (gst_basesink_change_state):
25025 * gst/base/gstbasesink.h:
25026 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
25027 (gst_base_transform_base_init), (gst_base_transform_finalize),
25028 (gst_base_transform_class_init), (gst_base_transform_init),
25029 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
25030 (gst_base_transform_event), (gst_base_transform_getrange),
25031 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
25032 (gst_base_transform_set_property),
25033 (gst_base_transform_get_property),
25034 (gst_base_transform_sink_activate),
25035 (gst_base_transform_src_activate),
25036 (gst_base_transform_change_state):
25037 * gst/base/gstbasetransform.h:
25038 * gst/elements/gstidentity.c: (gst_identity_finalize),
25039 (gst_identity_class_init), (gst_identity_init),
25040 (gst_identity_event), (gst_identity_check_perfect),
25041 (gst_identity_transform), (gst_identity_set_property),
25042 (gst_identity_get_property), (gst_identity_change_state):
25043 * gst/elements/gstidentity.h:
25044 * gst/gstelement.c: (gst_element_get_state_func),
25045 (gst_element_lost_state), (gst_element_pads_activate):
25046 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25047 (gst_pad_check_pull_range), (gst_pad_pull_range):
25049 Simplify pad activation.
25050 Added function to check if pull_range can be performed.
25051 Error out when pulling inactive or flushing pads.
25052 Removed const from refcounted types as it does not make sense.
25053 Simplify pad templates in basesink
25054 Added base class for simple 1-to-1 transforms.
25055 Make identity subclass the base transform.
25057 2005-03-29 Andy Wingo <wingo@pobox.com>
25059 * docs/libs/gstreamer-libs-overrides.txt:
25060 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
25061 really don't understand what's going on, but like whatever. I want
25064 * docs/gst/Makefile.am:
25065 * docs/libs/Makefile.am: Dist the overrides files.
25067 * check/Makefile.am (clean-local): Remove .libs directories.
25069 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
25070 elements to EXTRA_DIST, so po/ files are happy.
25072 * po/POTFILES.in: Er, remove it here.
25074 * po/POTFILES: Remove gstspider.c.
25076 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
25078 * docs/libs/gstreamer-libs-docs.sgml:
25079 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
25082 * tests/complexity.c (main): Set the length of the preroll queue
25083 on the sinks to prevent a lockup.
25085 * libs/gst/dataprotocol/Makefile.am:
25086 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
25087 the same as the one in check/gst-libs/gdp.c.
25089 * po/, docs/gst/: Commit automatic changes to docs and po files.
25091 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
25092 the versioned libgstbase.
25094 * check/Makefile.am: Depend on an unversioned gst-register, seems
25095 to make autoconf happier.
25097 * gst/base/Makefile.am: Make libgstbase a versioned lib.
25099 2005-03-28 Wim Taymans <wim@fluendo.com>
25102 * docs/design/part-gstelement.txt:
25103 * docs/design/part-negotiation.txt:
25104 * docs/design/part-preroll.txt:
25105 * docs/design/part-scheduling.txt:
25106 * docs/design/part-states.txt:
25108 * gst/base/Makefile.am:
25110 * gst/base/gstbasesink.c: (gst_basesink_get_template),
25111 (gst_basesink_base_init), (gst_basesink_class_init),
25112 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25113 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25114 (gst_basesink_set_pad_functions),
25115 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
25116 (gst_basesink_set_property), (gst_basesink_get_property),
25117 (gst_base_sink_get_template), (gst_base_sink_get_caps),
25118 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
25119 (gst_basesink_preroll_queue_push),
25120 (gst_basesink_preroll_queue_empty),
25121 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
25122 (gst_basesink_event), (gst_basesink_get_times),
25123 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
25124 (gst_basesink_chain_unlocked), (gst_basesink_chain),
25125 (gst_basesink_loop), (gst_basesink_activate),
25126 (gst_basesink_change_state):
25127 * gst/base/gstbasesink.h:
25128 * gst/elements/Makefile.am:
25129 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
25130 (gst_fakesink_class_init), (gst_fakesink_init),
25131 (gst_fakesink_set_property), (gst_fakesink_get_property),
25132 (gst_fakesink_get_times), (gst_fakesink_event),
25133 (gst_fakesink_preroll), (gst_fakesink_render),
25134 (gst_fakesink_change_state):
25135 * gst/elements/gstfakesink.h:
25136 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25137 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
25138 * gst/gstelement.c: (gst_element_add_pad),
25139 (gst_element_get_state_func), (gst_element_abort_state),
25140 (gst_element_commit_state), (gst_element_lost_state),
25141 (gst_element_set_state), (gst_element_pads_activate):
25142 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
25143 * gst/gstpipeline.c: (gst_pipeline_send_event),
25144 (gst_pipeline_change_state):
25145 Added state change code.
25146 Added/updated docs.
25147 Added sink base class, make fakesink extend the base class.
25148 Small cleanups in GstPipeline.
25150 2005-03-26 David Schleef <ds@schleef.org>
25152 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
25153 is broken and should be implemented in a different library.
25154 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
25155 * gst/gst.h: remove gstcpu.h
25156 * gst/gstcpu.c: remove
25157 * gst/gstcpu.h: remove
25158 * gst/Makefile.am.future: Remove this file. It's ancient.
25160 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25162 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25163 (gst_bin_send_event):
25164 Add default event/set_manager handlers. The set_manager handler
25165 takes care that the manager is distributed over kids that were
25166 already in the bin before the manager was set. The event handler
25167 is a utility virtual function that sends the event over all sinks,
25168 so that gst_element_send_event (bin, event); has the expected
25170 * gst/gstpad.c: (gst_pad_event_default):
25171 Re-install default event handling for discontinuities, so that
25172 seeking works without requiring hacks in applications or extra
25174 * gst/gstpipeline.c: (gst_pipeline_class_init),
25175 (gst_pipeline_send_event):
25176 Half hack, half utility: set a pipeline to PAUSED for seek events,
25177 since that is the only way we can guarantee a/v sync. Means that
25178 you can do gst_element_seek (pipeline, method, pos); on a pipeline
25179 and it "just works".
25181 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25183 * gst/gstpipeline.c: (gst_pipeline_use_clock):
25184 Lock/unlock mismatch.
25186 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
25188 * docs/faq/gst-uninstalled:
25189 add gst-plugins-base
25190 * docs/gst/Makefile.am:
25191 don't error out until docs are fixed
25192 * docs/gst/gstreamer.types:
25195 2005-03-22 Wim Taymans <wim@fluendo.com>
25197 * check/Makefile.am:
25198 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
25199 * gst/gststructure.c: (gst_structure_set_valist),
25200 (gst_structure_copy_conditional):
25201 Activated more tests.
25202 Added message test.
25203 Added G_TYPE_POINTER to GstStructure.
25206 2005-03-22 Wim Taymans <wim@fluendo.com>
25208 * docs/design/part-TODO.txt:
25209 * docs/design/part-events.txt:
25210 * docs/design/part-gstbin.txt:
25211 * docs/design/part-gstbus.txt:
25212 * docs/design/part-gstpipeline.txt:
25213 * docs/design/part-messages.txt:
25215 * gst/gstmessage.c:
25218 2005-03-21 Wim Taymans <wim@fluendo.com>
25220 * gst/gstbus.c: (gst_bus_post):
25221 Fix copy-and-paste error.
25223 2005-03-21 Wim Taymans <wim@fluendo.com>
25225 * check/Makefile.am:
25227 * gst/elements/Makefile.am:
25228 * gst/elements/gstelements.c:
25229 * gst/elements/gstfakesink.c: (gst_fakesink_init),
25230 (gst_fakesink_event), (gst_fakesink_chain):
25231 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25232 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
25233 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
25234 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
25235 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25236 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
25237 (gst_fakesrc_loop), (gst_fakesrc_activate),
25238 (gst_fakesrc_change_state):
25239 * gst/elements/gstfakesrc.h:
25240 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
25241 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
25242 (gst_filesrc_open_file), (gst_filesrc_loop),
25243 (gst_filesrc_activate), (gst_filesrc_change_state),
25244 (filesrc_find_peek), (filesrc_find_suggest),
25245 (gst_filesrc_type_find):
25246 * gst/elements/gstidentity.c: (gst_identity_finalize),
25247 (gst_identity_class_init), (gst_identity_init),
25248 (gst_identity_proxy_getcaps), (identity_queue_push),
25249 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
25250 (gst_identity_getrange), (gst_identity_chain),
25251 (gst_identity_sink_loop), (gst_identity_src_loop),
25252 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
25253 (gst_identity_set_property), (gst_identity_get_property),
25254 (gst_identity_change_state):
25255 * gst/elements/gstidentity.h:
25256 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
25257 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
25258 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
25259 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
25260 (gst_tee_sink_activate):
25261 * gst/elements/gsttee.h:
25262 * gst/gst.c: (gst_register_core_elements), (init_post):
25264 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
25265 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
25266 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
25267 (gst_bin_change_state):
25269 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
25270 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
25271 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
25272 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
25273 (gst_bus_set_sync_handler), (gst_bus_create_watch),
25274 (bus_watch_callback), (bus_watch_destroy),
25275 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
25276 (poll_timeout), (gst_bus_poll):
25280 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25281 (gst_element_post_message), (gst_element_message_full),
25282 (gst_element_get_state_func), (gst_element_get_state),
25283 (gst_element_abort_state), (gst_element_commit_state),
25284 (gst_element_lost_state), (gst_element_set_state),
25285 (gst_element_pads_activate), (gst_element_change_state),
25286 (gst_element_dispose), (gst_element_set_manager_func),
25287 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
25288 (gst_element_set_manager), (gst_element_get_manager),
25289 (gst_element_set_bus), (gst_element_get_bus),
25290 (gst_element_set_scheduler), (gst_element_get_scheduler):
25291 * gst/gstelement.h:
25292 * gst/gstevent.c: (gst_event_new_segment_seek),
25293 (gst_event_new_flush):
25295 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
25296 (_gst_message_free), (gst_message_get_type), (gst_message_new),
25297 (gst_message_new_eos), (gst_message_new_error),
25298 (gst_message_new_warning), (gst_message_new_tag),
25299 (gst_message_new_state_changed), (gst_message_new_application),
25300 (gst_message_get_structure), (gst_message_parse_tag),
25301 (gst_message_parse_state_changed), (gst_message_parse_error),
25302 (gst_message_parse_warning):
25303 * gst/gstmessage.h:
25304 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
25305 (gst_real_pad_set_property), (gst_pad_set_active),
25306 (gst_pad_is_active), (gst_pad_set_blocked_async),
25307 (gst_pad_set_blocked), (gst_pad_is_blocked),
25308 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
25309 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
25310 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
25311 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
25312 (gst_pad_link_filtered), (gst_pad_relink_filtered),
25313 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
25314 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
25315 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
25316 (gst_pad_set_caps), (gst_pad_configure_sink),
25317 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
25318 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
25319 (gst_real_pad_dispose), (gst_real_pad_finalize),
25320 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
25321 (gst_pad_event_default_dispatch), (gst_pad_event_default),
25322 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
25324 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
25325 (pipeline_bus_handler), (gst_pipeline_change_state),
25326 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
25327 * gst/gstpipeline.h:
25329 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
25330 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
25331 (gst_queue_link_src), (gst_queue_bufferalloc),
25332 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
25333 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
25334 (gst_queue_loop), (gst_queue_handle_src_event),
25335 (gst_queue_handle_src_query), (gst_queue_src_activate),
25336 (gst_queue_change_state):
25338 * gst/gstscheduler.c: (gst_scheduler_init),
25339 (gst_scheduler_dispose), (gst_scheduler_create_task),
25340 (gst_scheduler_factory_create):
25341 * gst/gstscheduler.h:
25342 * gst/gststructure.c: (gst_structure_get_type),
25343 (gst_structure_copy_conditional):
25344 * gst/gststructure.h:
25345 * gst/gsttaginterface.h:
25346 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25347 (gst_task_init), (gst_task_dispose), (gst_task_create),
25348 (gst_task_get_state), (gst_task_start), (gst_task_stop),
25354 * gst/schedulers/Makefile.am:
25355 * gst/schedulers/cothreads_compat.h:
25356 * gst/schedulers/entryscheduler.c:
25357 * gst/schedulers/faircothreads.c:
25358 * gst/schedulers/faircothreads.h:
25359 * gst/schedulers/fairscheduler.c:
25360 * gst/schedulers/gstbasicscheduler.c:
25361 * gst/schedulers/gstoptimalscheduler.c:
25362 * gst/schedulers/gthread-cothreads.h:
25363 * gst/schedulers/threadscheduler.c:
25364 (gst_thread_scheduler_task_get_type),
25365 (gst_thread_scheduler_task_class_init),
25366 (gst_thread_scheduler_task_init),
25367 (gst_thread_scheduler_task_start),
25368 (gst_thread_scheduler_task_stop),
25369 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
25370 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25371 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
25372 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
25374 * libs/gst/Makefile.am:
25375 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
25376 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
25377 (gst_file_pad_parent_set):
25378 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25379 (gst_dp_event_from_packet):
25380 * tests/complexity.c: (main):
25381 * tests/mass_elements.c: (main):
25382 * testsuite/states/locked.c: (message_received), (main):
25383 * testsuite/states/parent.c: (main):
25384 * tools/gst-inspect.c: (print_element_flag_info),
25385 (print_implementation_info), (print_pad_info):
25386 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
25388 * tools/gst-md5sum.c: (event_loop), (main):
25389 * tools/gst-typefind.c: (main):
25390 * tools/gst-xmlinspect.c: (print_element_info):
25392 Added GstBus for mainloop integration.
25393 Added GstMessage for sending notifications on the bus.
25394 Added GstTask as an abstraction for pipeline entry points.
25396 Removed Schedulers.
25397 Simplified GstQueue for multithreaded core.
25398 Made _link threadsafe, removed old capsnego.
25399 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
25400 Added pad blocking functions.
25401 Reworked scheduling functions in GstPad to prepare for
25402 scheduling updates soon.
25403 Moved events out of data stream.
25404 Simplified GstEvent types.
25405 Added return values to push/pull.
25406 Removed clocking from GstElement.
25407 Added prototypes for state change function for next merge.
25408 Removed iterate from bins and state change management.
25409 Fixed some elements, disabled others for now.
25410 Fixed -inspect and -launch.
25411 Added check for GstBus.
25413 2005-03-10 Wim Taymans <wim@fluendo.com>
25415 * docs/design/part-MT-refcounting.txt:
25416 * docs/design/part-clocks.txt:
25417 * docs/design/part-gstelement.txt:
25418 * docs/design/part-gstobject.txt:
25419 * docs/design/part-standards.txt:
25420 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25421 (gst_bin_remove_func), (gst_bin_remove):
25425 * testsuite/clock/clock1.c: (main):
25426 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
25428 * testsuite/dlopen/loadgst.c: (do_test):
25429 * testsuite/refcounting/bin.c: (add_remove_test1),
25430 (add_remove_test2), (main):
25431 * testsuite/refcounting/element.c: (main):
25432 * testsuite/refcounting/element_pad.c: (main):
25433 * testsuite/refcounting/pad.c: (main):
25434 * tools/gst-launch.c: (sigint_handler_sighandler):
25435 * tools/gst-typefind.c: (main):
25437 Added doc about clock.
25438 removed gst_bin_iterate_recurse_up(), marked methods
25440 Fix more testsuites.
25442 2005-03-09 Wim Taymans <wim@fluendo.com>
25444 * gst/gstpad.c: (gst_pad_get_direction),
25445 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
25446 (gst_pad_collect_valist):
25447 * testsuite/bins/interface.c: (main):
25448 * testsuite/caps/audioscale.c: (test_caps):
25449 * testsuite/caps/caps.c: (test1), (test2), (test3):
25450 * testsuite/caps/deserialize.c: (main):
25451 * testsuite/caps/enumcaps.c: (main):
25452 * testsuite/caps/filtercaps.c: (main):
25453 * testsuite/caps/intersect2.c: (main):
25454 * testsuite/caps/random.c: (main):
25455 * testsuite/caps/renegotiate.c: (my_fixate), (main):
25456 * testsuite/caps/sets.c: (check_caps):
25457 * testsuite/caps/simplify.c: (check_caps), (main):
25458 * testsuite/caps/subtract.c: (check_caps):
25459 Fix _pad_get_direction wrt ghostpads.
25460 Fix caps testsuite.
25462 2005-03-09 Wim Taymans <wim@fluendo.com>
25464 * check/Makefile.am:
25465 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
25466 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
25467 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
25468 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
25469 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
25470 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
25471 (gst_bin_remove), (gst_bin_iterate_recurse_up),
25472 (bin_element_is_sink), (gst_bin_iterate_sinks),
25473 (gst_bin_iterate_all_by_interface):
25475 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
25476 (gst_element_change_state), (gst_element_dispose),
25477 (gst_element_finalize), (gst_element_set_loop_function):
25478 * gst/gstelement.h:
25479 * gst/gstiterator.c: (find_custom_fold_func):
25480 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25481 (gst_pad_collectv), (gst_pad_collect_valist),
25482 (gst_pad_template_new):
25483 * gst/gstpipeline.c: (gst_pipeline_class_init),
25484 (gst_pipeline_dispose), (gst_pipeline_set_property),
25485 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
25486 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
25487 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
25489 * gst/schedulers/entryscheduler.c:
25490 * gst/schedulers/gstbasicscheduler.c:
25491 (gst_basic_scheduler_cothreaded_chain),
25492 (gst_basic_scheduler_chain_add_element):
25493 * testsuite/bins/interface.c: (main):
25495 Added GstSystemClock test.
25496 Implemented clock distribution code in GstBin.
25497 Implemented iterate sinks method for future use.
25498 Rearranged gstelement.h
25499 Fix GstIterator comparison bug.
25500 Moved some code to GstPipeline, mostly clocking related.
25502 2005-03-09 Wim Taymans <wim@fluendo.com>
25505 * gst/gst_private.h:
25506 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25507 (gst_bin_remove_func), (gst_bin_remove),
25508 (gst_bin_get_by_name_recurse_up):
25509 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
25510 (gst_clock_id_compare_func), (gst_clock_id_wait),
25511 (gst_clock_id_wait_async), (gst_clock_init),
25512 (gst_clock_adjust_unlocked), (gst_clock_get_time):
25513 * gst/gstelement.h:
25514 * gst/gstinfo.c: (_gst_debug_init):
25516 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25517 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
25519 Bump version number, we're now 0.9.0
25520 Add future debugging category.
25521 Fix NULL _unref() in _get_by_name_recurse_up
25522 Rearrange gstpad.h.
25525 2005-03-08 Wim Taymans <wim@fluendo.com>
25527 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
25528 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
25529 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
25530 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
25531 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
25532 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
25533 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
25534 * gst/elements/gstidentity.c: (gst_identity_class_init):
25535 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
25536 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
25537 * gst/elements/gstshaper.c: (gst_shaper_class_init):
25538 * gst/elements/gststatistics.c: (gst_statistics_class_init):
25539 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
25541 * gst/gstelement.c: (gst_element_class_init),
25542 (gst_element_base_class_init), (gst_element_init),
25543 (gst_element_get_random_pad), (gst_element_wait_state_change),
25544 (gst_element_change_state), (gst_element_dispose),
25545 (gst_element_finalize), (gst_element_set_loop_function):
25546 * gst/gstelement.h:
25547 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
25548 * gst/gstthread.c: (gst_thread_class_init),
25549 (gst_thread_release_children_locks), (gst_thread_change_state):
25550 * gst/schedulers/gstbasicscheduler.c:
25551 (gst_basic_scheduler_loopfunc_wrapper),
25552 (gst_basic_scheduler_chain_wrapper),
25553 (gst_basic_scheduler_src_wrapper),
25554 (gst_basic_scheduler_remove_element):
25555 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
25556 Remove threadsafe properties. Fix elements because GObject
25557 complains when installing a property before declaring a
25558 set/get_property handler.
25559 Rearrange gstelement.h file, use STATE macros for state locks.
25560 Free mutexes in the finalize method instead of dispose.
25562 2005-03-08 Wim Taymans <wim@fluendo.com>
25564 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
25565 * gst/gstthread.c: (gst_thread_release_children_locks):
25566 Added parentage check.
25567 Fix build og GstThread again.
25569 2005-03-08 Wim Taymans <wim@fluendo.com>
25571 * docs/design/part-MT-refcounting.txt:
25572 * docs/design/part-conventions.txt:
25573 * docs/design/part-gstobject.txt:
25574 * docs/design/part-relations.txt:
25575 * docs/design/part-standards.txt:
25576 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25577 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
25578 (gst_bin_get_by_name), (gst_bin_get_by_interface),
25579 (gst_bin_iterate_all_by_interface):
25582 * gst/gstelement.c: (gst_element_class_init),
25583 (gst_element_change_state), (gst_element_set_loop_function):
25584 * gst/gstelement.h:
25585 * gst/gstiterator.c:
25586 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
25587 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
25588 (gst_object_dispatch_properties_changed), (gst_object_set_name),
25589 (gst_object_set_parent), (gst_object_unparent),
25590 (gst_object_check_uniqueness):
25592 Docs updates, clean up some headers.
25594 2005-03-07 Wim Taymans <wim@fluendo.com>
25596 * check/.cvsignore:
25597 * check/Makefile.am:
25598 * check/gst-libs/.cvsignore:
25599 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
25600 * check/gst/.cvsignore:
25601 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
25602 (START_TEST), (gstbus_suite), (main):
25603 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
25604 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
25605 (gst_data_suite), (main):
25606 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
25607 (add_fold_func), (gstiterator_suite), (main):
25608 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
25609 (thread_name_object), (thread_name_object_default),
25610 (gst_object_name_compare), (gst_object_suite), (main):
25611 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
25612 (gst_pad_suite), (main):
25613 * check/gstcheck.c: (gst_check_log_message_func),
25614 (gst_check_log_critical_func), (gst_check_init):
25615 * check/gstcheck.h:
25616 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
25617 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
25620 2005-03-07 Wim Taymans <wim@fluendo.com>
25622 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
25623 (gst_list_iterator_next), (gst_list_iterator_resync),
25624 (gst_list_iterator_free), (gst_iterator_new_list),
25625 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
25626 (gst_iterator_free), (gst_iterator_push), (filter_next),
25627 (filter_resync), (filter_uninit), (filter_free),
25628 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
25629 (gst_iterator_foreach), (find_custom_fold_func),
25630 (gst_iterator_find_custom):
25631 * gst/gstiterator.h:
25632 Added missing files.
25634 2005-03-07 Wim Taymans <wim@fluendo.com>
25638 * docs/design/part-MT-refcounting.txt:
25639 * docs/design/part-conventions.txt:
25640 * docs/design/part-gstobject.txt:
25641 * docs/design/part-relations.txt:
25642 * examples/mixer/mixer.c: (main):
25643 * examples/thread/thread.c: (eos), (main):
25645 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
25646 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
25647 (gst_spider_plug_from_srcpad):
25648 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
25649 (gst_spider_identity_change_state),
25650 (gst_spider_identity_sink_loop_type_finding):
25651 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
25652 * gst/elements/gstidentity.c: (gst_identity_init):
25653 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
25654 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
25655 * gst/elements/gsttypefindelement.c: (free_entry):
25658 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
25659 (gst_bin_set_clock_func), (gst_bin_auto_clock),
25660 (gst_bin_set_index), (gst_bin_set_element_sched),
25661 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
25662 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
25663 (gst_bin_iterate_elements), (iterate_child_recurse),
25664 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
25665 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
25666 (compare_interface), (gst_bin_get_by_interface),
25667 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
25669 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
25670 (gst_buffer_default_free), (gst_buffer_default_copy),
25671 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
25672 (gst_buffer_create_sub):
25674 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
25675 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
25676 (gst_caps_unref), (gst_static_caps_get),
25677 (gst_caps_remove_and_get_structure), (gst_caps_append),
25678 (gst_caps_append_structure), (gst_caps_remove_structure),
25679 (gst_caps_copy_nth), (gst_caps_set_simple),
25680 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
25681 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
25682 (gst_caps_structure_intersect_field), (gst_caps_intersect),
25683 (gst_caps_structure_subtract_field), (gst_caps_subtract),
25684 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
25685 (gst_caps_structure_figure_out_union),
25686 (gst_caps_switch_structures), (gst_caps_do_simplify),
25687 (gst_caps_replace), (gst_caps_from_string),
25688 (gst_caps_copy_conditional):
25690 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
25691 (_gst_clock_id_free), (gst_clock_id_unref),
25692 (gst_clock_id_compare_func), (gst_clock_id_wait),
25693 (gst_clock_id_wait_async), (gst_clock_class_init),
25694 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
25695 (gst_clock_get_time), (gst_clock_set_time_adjust),
25696 (gst_clock_set_property), (gst_clock_get_property):
25699 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
25700 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
25702 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25703 (gst_element_requires_clock), (gst_element_provides_clock),
25704 (gst_element_set_clock), (gst_element_clock_wait),
25705 (gst_element_wait), (gst_element_set_time_delay),
25706 (gst_element_is_indexable), (gst_element_add_pad),
25707 (gst_element_add_ghost_pad), (gst_element_remove_pad),
25708 (pad_compare_name), (gst_element_get_static_pad),
25709 (gst_element_request_pad), (gst_element_get_request_pad),
25710 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
25711 (gst_element_class_get_pad_template_list),
25712 (gst_element_class_get_pad_template), (gst_element_error_func),
25713 (gst_element_get_random_pad), (gst_element_get_event_masks),
25714 (gst_element_send_event), (gst_element_seek),
25715 (gst_element_get_query_types), (gst_element_query),
25716 (gst_element_get_formats), (gst_element_convert),
25717 (gst_element_is_locked_state), (gst_element_set_locked_state),
25718 (gst_element_sync_state_with_parent), (gst_element_change_state),
25719 (gst_element_finalize), (gst_element_yield),
25720 (gst_element_interrupt), (gst_element_set_scheduler),
25721 (gst_element_get_scheduler), (gst_element_set_loop_function):
25722 * gst/gstelement.h:
25724 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
25725 (gst_format_get_by_nick), (gst_format_get_details),
25726 (gst_format_iterate_definitions):
25728 * gst/gstindex.c: (gst_index_gtype_resolver):
25731 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
25732 (gst_mem_chunk_free):
25733 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
25734 (gst_object_ref), (gst_object_unref), (gst_object_sink),
25735 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
25736 (gst_object_dispatch_properties_changed),
25737 (gst_object_set_name_default), (gst_object_set_name),
25738 (gst_object_get_name), (gst_object_set_name_prefix),
25739 (gst_object_get_name_prefix), (gst_object_set_parent),
25740 (gst_object_get_parent), (gst_object_unparent),
25741 (gst_object_check_uniqueness), (gst_object_save_thyself),
25742 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
25743 (gst_object_set_property), (gst_object_get_property),
25744 (gst_object_get_path_string):
25746 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25747 (gst_real_pad_init), (gst_real_pad_get_property),
25748 (gst_pad_custom_new), (gst_pad_get_direction),
25749 (gst_pad_set_active), (gst_pad_is_active),
25750 (gst_pad_set_event_function), (gst_pad_is_linked),
25751 (gst_pad_link_free), (gst_pad_link_intersect),
25752 (gst_pad_link_fixate), (gst_pad_set_caps),
25753 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
25754 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
25755 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
25756 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
25757 (gst_pad_get_caps), (gst_pad_peer_get_caps),
25758 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
25759 (gst_pad_realize), (gst_pad_get_allowed_caps),
25760 (gst_real_pad_dispose), (gst_real_pad_finalize),
25761 (gst_pad_collectv), (gst_pad_collect_valist),
25762 (gst_pad_template_dispose), (gst_pad_template_new),
25763 (gst_pad_get_internal_links):
25765 * gst/gstpipeline.c: (gst_pipeline_dispose),
25766 (gst_pipeline_change_state):
25767 * gst/gstpipeline.h:
25769 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
25770 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
25771 * gst/gstpluginfeature.h:
25772 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
25773 * gst/gstquery.c: (_gst_query_type_initialize),
25774 (gst_query_type_register), (gst_query_type_get_by_nick),
25775 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
25777 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
25778 * gst/gstscheduler.c: (gst_scheduler_add_element),
25779 (gst_scheduler_factory_create):
25780 * gst/gststructure.c: (gst_structure_set_parent_refcount),
25781 (gst_structure_free), (gst_structure_set_name),
25782 (gst_structure_id_set_value), (gst_structure_set_value),
25783 (gst_structure_set_valist), (gst_structure_remove_field),
25784 (gst_structure_remove_fields),
25785 (gst_structure_remove_fields_valist),
25786 (gst_structure_remove_all_fields), (gst_structure_foreach),
25787 (gst_structure_map_in_place),
25788 (gst_caps_structure_fixate_field_nearest_int),
25789 (gst_caps_structure_fixate_field_nearest_double):
25790 * gst/gststructure.h:
25791 * gst/gstsystemclock.c: (gst_system_clock_class_init),
25792 (gst_system_clock_init), (gst_system_clock_dispose),
25793 (gst_system_clock_async_thread),
25794 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
25795 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
25796 * gst/gstsystemclock.h:
25797 * gst/gsttag.c: (gst_tag_list_add_value_internal),
25798 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
25799 * gst/gsttaginterface.c:
25800 * gst/gstthread.c: (gst_thread_dispose),
25801 (gst_thread_release_children_locks), (gst_thread_change_state),
25802 (gst_thread_main_loop):
25803 * gst/gsttrashstack.h:
25804 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
25806 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25807 (gst_element_request_pad), (gst_element_get_pad_from_template),
25808 (gst_element_request_compatible_pad),
25809 (gst_element_get_compatible_pad_filtered),
25810 (gst_element_get_compatible_pad), (gst_element_state_get_name),
25811 (gst_element_link_pads_filtered), (gst_element_link_filtered),
25812 (gst_element_link_many), (gst_element_link),
25813 (gst_element_link_pads), (gst_element_unlink_pads),
25814 (gst_element_unlink_many), (gst_element_unlink),
25815 (gst_pad_can_link_filtered), (gst_pad_can_link),
25816 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
25817 (gst_object_default_error), (gst_bin_add_many),
25818 (gst_bin_remove_many), (gst_element_populate_std_props),
25819 (gst_element_class_install_std_props), (gst_buffer_merge),
25820 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
25821 (link_fold_func), (gst_pad_proxy_setcaps):
25823 * gst/gstvalue.c: (gst_value_deserialize_string):
25824 * gst/parse/grammar.y:
25825 * gst/schedulers/gstbasicscheduler.c:
25826 (gst_basic_scheduler_cothreaded_chain),
25827 (gst_basic_scheduler_chain_recursive_add),
25828 (gst_basic_scheduler_pad_link):
25829 * gst/schedulers/gstoptimalscheduler.c:
25830 (get_group_schedule_function),
25831 (gst_opt_scheduler_state_transition),
25832 (gst_opt_scheduler_add_element), (element_get_reachables_func):
25833 * libs/gst/bytestream/bytestream.c:
25834 * libs/gst/dataprotocol/dataprotocol.c:
25835 (gst_dp_header_from_buffer):
25838 * tests/threadstate/threadstate2.c: (eos):
25839 * tools/gst-compprep.c: (main):
25840 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
25841 (print_pad_info), (print_children_info):
25842 * tools/gst-launch.c: (idle_func), (main):
25843 * tools/gst-md5sum.c: (idle_func), (main):
25844 * tools/gst-xmlinspect.c: (print_element_info):
25845 First THREADED backport attempt, focusing on adding locks and
25846 making sure the API is threadsafe. Needs more work. More docs
25849 2005-02-24 Andy Wingo <wingo@pobox.com>
25851 * tests/bench-complexity.scm:
25852 * tests/complexity.gnuplot: New files, good for running complexity
25855 * tests/Makefile.am:
25856 * tests/complexity.c: New test, sets up N elements, at each level
25857 teeing into M streams per element. Eeeenteresting.
25859 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
25860 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
25861 running bench-mass_elements.scm.
25863 * tests/bench-mass_elements.scm: New script, runs mass_elements
25864 for various numbers of identities, outputting the results to a
25865 file. Requires guile 1.6. Just for testing.
25867 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
25869 * gst/schedulers/fairscheduler.c:
25870 compile with debug disabled
25872 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
25875 hunting season on 0.9 is now OPEN