1 2007-10-31 Stefan Kost <ensonic@users.sf.net>
3 * libs/gst/base/gstbasesrc.c:
4 Its "Since:" and not "@Since:". And remove an superflous cast.
6 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
8 * docs/libs/gstreamer-libs-sections.txt:
9 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
11 (gst_base_sink_get_property), (gst_base_sink_render_object),
12 (gst_base_sink_preroll_object),
13 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
14 (gst_base_sink_change_state):
15 * libs/gst/base/gstbasesink.h:
16 Add a new last-buffer property that contains the last buffer used in
17 basesink for preroll or rendering. useful for making snapshots.
18 API: gst_base_sink_get_last_buffer()
19 API: GstBaseSink::last-buffer
21 2007-10-29 Stefan Kost <ensonic@users.sf.net>
23 * docs/gst/running.xml:
25 * gst/gstdebugutils.c:
26 * gst/gstdebugutils.h:
28 Improve bin graph dumping, by using the envvar to specify a path.
29 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
31 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
33 * plugins/elements/gsttypefindelement.c:
34 (gst_type_find_element_handle_event),
35 (gst_type_find_element_activate):
36 Post special error message if we can't determine the type of a stream
39 2007-10-29 Stefan Kost <ensonic@users.sf.net>
41 * docs/gst/running.xml:
42 * gst/gstdebugutils.c:
43 Document new env-var. Add one log-line after dumpng a graph.
45 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
48 Ugly hack to put the (recently removed and non-portable, apparently)
49 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
50 GNU ld, because without that 'make check' fails miserably on my debian
51 stable box. Someone with more knowledge of linker intricacies and
52 portability issues than me fix this properly please.
54 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
56 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
57 Reset last seen position after flushing so that we don't report the old
60 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
62 * gst/gstelementfactory.c: (gst_element_register):
64 Patch from Alessandro Decina adding get_type_full and
65 get_protocols_full private vfuncs to the URIHandler interface
66 to allow bindings to support creating URI handlers.
67 Partially fixes: #339279
68 API: GstURIHandlerInterface::get_type_full
69 API: GstURIHandlerInterface::get_protocols_full
71 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
73 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
74 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
75 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
76 Make it so that pads are considered linked until a buffer is pushed
77 and discovered otherwise. This avoids problems with decodebin2 hanging
78 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
81 Make sure we lock the multiqueue when updating the max-size properties.
83 Fix a crash on Solaris in a debug statement in get_request_pad that
84 passes a NULL string to GST_DEBUG.
86 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
87 (run_output_order_test):
88 Fix the test to allow the first buffer on not-linked pads to come out
89 of sequence while multiqueue discovers that they are not-linked.
91 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
94 * libs/gst/check/Makefile.am:
95 Use a custom export symbol regex for libgstcheck, as it needs
96 to export symbols that don't match the standard GStreamer gst_*
97 pattern, and --export-dynamic is not portable (only works on
100 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
101 (gst_check_setup_sink_pad):
102 Make sure to pass a message parameter to the fail_* macros.
104 * tests/check/gst/gstinfo.c: (GST_START_TEST):
105 Fix some compiler warnings.
107 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
109 * tests/check/gst/gststructure.c: (test_to_string):
110 Disable test that checks that white spaces are not allowed
111 in structure names or field names, since we need to
112 support that for now for backwards compatibility reasons.
114 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
116 * docs/gst/gstreamer-sections.txt:
119 API: add GST_TAG_ARTIST_SORTNAME
120 API: add GST_TAG_ALBUM_SORTNAME
121 API: add GST_TAG_TITLE_SORTNAME
122 Add tag variants for sorting (#414539).
124 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
126 * gst/gststructure.c:
127 Also allow white space for names so we don't break
128 backwards compatibility.
130 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
132 * docs/design/part-TODO.txt:
133 * docs/design/part-segments.txt:
134 * docs/design/part-streams.txt:
137 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
139 * docs/gst/gstreamer-sections.txt:
140 Fixed documentation from my previous commit (added new API add
141 gst_value_set_structure(), add gst_value_get_structure() and
142 GST_VALUE_HOLDS_STRUCTURE).
144 2007-10-22 Stefan Kost <ensonic@users.sf.net>
146 * gst/gstdebugutils.c:
147 Reflow code to fix uninitialized variable warning.
149 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
151 * gst/gstcaps.c: (gst_caps_to_string),
152 (gst_caps_from_string_inplace):
153 * gst/gststructure.c: (gst_structure_get_abbrs),
154 (gst_structure_to_string), (gst_structure_from_string):
155 * gst/gstvalue.c: (gst_value_set_structure),
156 (gst_value_get_structure), (gst_value_serialize_structure),
157 (gst_value_deserialize_structure), (_gst_value_initialize):
159 * tests/check/gst/gststructure.c: (GST_START_TEST),
160 (gst_structure_suite):
161 * tests/check/gst/gstvalue.c: (GST_START_TEST):
162 Added GstStructure to gst_value_table and its related functions.
163 Changed gst_structure_to_string to print ';' in the end.
164 Changed gst_caps_to_string to not print ';' beteween its
165 fields (structures) anymore and remove the lastes ';' from latest
166 structure. Now it is possible to have nested structures.
167 In addition, backward compatibilty is assured by accepting '\0' as
168 end delimiter. Fixes: #487969.
169 API: add gst_value_set_structure()
170 API: add gst_value_get_structure()
171 API: add GST_VALUE_HOLDS_STRUCTURE
173 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
176 When no GSource callback has been set up, tell developer
177 to use a function that actually exists.
179 2007-10-17 Stefan Kost <ensonic@users.sf.net>
181 * docs/gst/gstreamer-sections.txt:
185 * gst/gstdebugutils.c:
186 * gst/gstdebugutils.h:
189 * tools/gst-launch.c:
190 Allow dumping pipelines as dot graphs. Fixes #456573.
192 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
194 * gst/gststructure.c:
195 Allow '+' as well, it can be part of media or mime types
196 such as image/svg+xml.
198 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
200 * docs/gst/gstreamer-sections.txt:
203 API: add gst_bus_pop_filtered
204 API: add gst_bus_timed_pop_filtered
205 Two new functions for waiting for specific message types on the
206 bus for a specified amount of time without iterating any main
207 loops or main contexts.
209 * tests/check/gst/gstbus.c:
210 Some tests for the new functions.
212 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
214 * docs/libs/gstreamer-libs-sections.txt:
215 Make gtk-doc ignore stuff it should ignore.
217 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
219 * libs/gst/check/gstcheck.c:
220 * libs/gst/check/gstcheck.h:
221 Allow runtime selection of unit tests to run via the GST_CHECKS
222 environment variable (test case function names, comma-separated).
224 2007-10-16 Stefan Kost <ensonic@users.sf.net>
226 * gst/gststructure.c:
227 * tests/check/gst/gststructure.c:
228 Revert serialisation change and constrain structure-names after
229 consensus on irc. Update api documentation to reflect the change.
231 2007-10-16 Stefan Kost <ensonic@users.sf.net>
233 * gst/gststructure.c:
234 Improve serialization and fix tests.
236 * tests/check/gst/gststructure.c:
237 Add another test that covers why I actually did the previous structure
240 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
242 * tools/gst-inspect.c: (print_element_info):
243 Don't crash when inspecting an element.
245 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
247 * tests/check/gst/gststructure.c:
248 Add unit test for escaping of structure name when serialising
249 and deserialising to/from strings.
251 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
253 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
254 (gst_single_queue_new):
255 * plugins/elements/gstqueue.c: (gst_queue_init),
256 (gst_queue_push_one):
257 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
258 upstream is tricked into thinking it can suggest a format downstream
259 while downstream does not support that format. The real problem is that
260 core calls acceptcaps when pushing a buffer with new caps, for which we
261 do a little workaround by setting the caps on the srcpad ourselves
262 before pushing the buffer (until this is figured out). Fixes #486758.
264 2007-10-15 Stefan Kost <ensonic@users.sf.net>
266 * gst/gststructure.c:
268 Add some more comments and debug output. Quote structure name to fix
269 deserialisation of some strings.
271 2007-10-15 Stefan Kost <ensonic@users.sf.net>
274 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
275 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
277 2007-10-15 Stefan Kost <ensonic@users.sf.net>
279 * tools/gst-inspect.c:
280 Save approx. 400 1 byte allocs when printing. Use API to acces element
286 * tools/gst-xmlinspect.c:
287 Use API to acces element details.
289 2007-10-15 Stefan Kost <ensonic@users.sf.net>
292 Fix some spelling errors.
294 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
296 * gst/gstbin.c: (bin_handle_async_done):
297 Correctly set the next state if all of our async children commited their
298 state. This makes sure we can actually cancel the state change in
299 progress. Fixes a regression in Rhythmbox when seeking.
301 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
304 Don't shadow local variable.
307 Don't shadow global function name.
309 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
311 * gst/gstelementfactory.c:
312 * gst/gstpluginfeature.c:
313 * gst/gstpluginfeature.h:
314 * gst/gstregistrybinary.c:
315 * gst/gstregistryxml.c:
317 Use already-interned string for the private GstPluginFeature
320 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
322 * docs/libs/gstreamer-libs-sections.txt:
323 Add new API to docs; fixes the build.
325 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
327 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
329 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
330 (gst_base_sink_event):
331 * libs/gst/base/gstbasesink.h:
332 Add function to wait for EOS, subclasses can use this to correctly wait
333 for devices to drain before performing the EOS logic. Fixes #485343.
334 API: gst_base_sink_wait_eos()
336 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
339 Cast description string constants in GST_PLUGIN_DEFINE macros
340 to a (gchar*) to make C++ code using these macros compile
341 without warning with g++-4.2 (see #462737). Even if slightly
342 ugly, this seems preferable to putting the description strings
343 into the GLib quark table or making the structure member a
344 const gchar * and doing casts in core code that allocs and
345 frees these strings, or requiring a cast in the C++ code.
347 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
350 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
351 to print the entire class/function signature into the log
352 file for C++ code. This only affects C++ code, for C code
353 everything remains the same.
355 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
357 * gst/gstbin.c: (remove_from_queue):
358 Work around a problem with pipelines containing (semi)loops until a
359 proper, more complicated solution is ready. See #475455.
361 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
365 * gst/gstregistrybinary.c:
366 * gst/gstregistryxml.c:
367 Put more strings into the GLib quark table. No need to keep
368 a hundred-something copies of identical version strings,
369 license strings, package name strings and package origin
372 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
374 * docs/manual/advanced-dataaccess.xml:
375 Don't imply that it's okay to unconditionally change
376 buffer data or buffer metadata in a pad probe callback,
377 and a bunch of other comments. Fixes #430031.
379 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
381 * win32/common/gstenumtypes.c:
382 * win32/common/gstenumtypes.h:
383 * win32/common/gstversion.h:
384 Update generated files.
386 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
388 * docs/manual/advanced-autoplugging.xml:
389 Prefix section with broken code with a warning (see #342432).
391 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
393 * docs/manual/appendix-integration.xml:
394 * docs/manual/basics-init.xml:
395 Call g_thread_init() before g_option_context_new() to
396 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
398 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
400 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
401 (gst_base_sink_queue_object_unlocked),
402 (gst_base_sink_queue_object), (gst_base_sink_event),
403 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
404 When we received EOS and are waiting for when to post the EOS message,
405 our state is prerolled and we should not return ASYNC.
406 Reorganize some code paths to implement this behavior.
408 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
410 Add unit test to verify above EOS fix.
412 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
414 * plugins/elements/gsttypefindelement.c:
415 (gst_type_find_element_have_type), (gst_type_find_element_init),
416 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
417 Move detecting the input caps of the sinkpad to the setcaps function.
418 This allows us to update the output caps when we receive new input caps
419 instead of always using the first detected caps.
421 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
423 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
424 (gst_base_sink_get_position):
425 Don't try to preroll non-async elements after a flush.
426 Subtract latency form clock times when reporting position.
428 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
430 * gst/gstpad.c: (gst_pad_pause_task):
432 Small comment and documentation update.
434 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
436 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
437 (gst_base_src_set_live), (gst_base_src_is_live),
438 (gst_base_src_query_latency), (gst_base_src_perform_seek),
439 (gst_base_src_default_event), (gst_base_src_wait),
440 (gst_base_src_do_sync), (gst_base_src_get_range),
441 (gst_base_src_pad_get_range), (gst_base_src_loop),
442 (gst_base_src_unlock), (gst_base_src_unlock_stop),
443 (gst_base_src_set_flushing), (gst_base_src_set_playing),
444 (gst_base_src_activate_push), (gst_base_src_activate_pull),
445 (gst_base_src_change_state):
446 Rework the locking of basesrc in a similar fashion to basesink. We
447 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
448 us to handle live sources and semi live ones much better.
450 Fix unlocking when seeking, shutting down and pausing in live sources.
452 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
454 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
455 Fix compilation again.
457 2007-10-03 Stefan Kost <ensonic@users.sf.net>
460 Use meaningful categories for the logs to clean the default one.
462 2007-10-03 Stefan Kost <ensonic@users.sf.net>
464 * tests/check/pipelines/cleanup.c:
465 Print message name and not just number.
467 2007-10-03 Stefan Kost <ensonic@users.sf.net>
469 * docs/design/draft-tagreading.txt:
470 Add some more thoughts.
472 2007-10-03 Stefan Kost <ensonic@users.sf.net>
474 * tests/check/pipelines/simple-launch-lines.c:
475 Print message name and not just number.
477 2007-10-03 Stefan Kost <ensonic@users.sf.net>
479 * libs/gst/base/gsttypefindhelper.c:
480 Speedup typefinding. This is work in progress (see #459862).
482 2007-10-03 Stefan Kost <ensonic@users.sf.net>
485 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
486 Spotted by Josep Torra Valles <josep@fluendo.com>.
488 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
491 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
492 field has moved to GstObject.
494 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
496 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
497 (gst_base_src_get_range), (gst_base_src_change_state):
498 Call unlock for live sources so that they can't get stuck in _create and
499 produce a buffer before they are set back to PLAYING.
501 2007-10-02 Edward Hervey <bilboed@bilboed.com>
503 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
504 (gst_queue_locked_dequeue):
505 Comment the segment-related code... in the PROPER function.
506 See #482147 and my commit from yesterday.
508 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
510 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
511 Also initialize the counter that calculates the first timestamp on a
512 buffer correctly for non-live sources.
514 2007-10-01 Edward Hervey <bilboed@bilboed.com>
516 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
517 Disable code that's breaking the current-time-level reporting.
520 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
522 * docs/gst/gstreamer-sections.txt:
523 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
524 as they shouldn't show up. Fixes the docs build.
526 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
529 Add an explicit variable importation needed on VS6 (only for MSC_VER)
530 Define M_PI which is used in files which are including gstinfo.h.
531 VS6 includes doesn't define it.
532 * win32/common/libgstbase.def:
533 * win32/common/libgstcontroller.def:
534 * win32/common/libgstreamer.def:
535 Add new exported functions and variables.
536 * win32/vs6/libgstcontroller.dsp:
537 * win32/vs6/libgstreamer.dsp:
538 Update the list of files to build.
540 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
542 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
544 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
545 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
546 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
547 Improve debugging. Fixes #480858.
549 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
551 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
553 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
554 First patch of code cleanups, use the macros and right arguments in the
555 macros to signal and lock the queue. See #480858.
557 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
559 * gst/gstbus.c: (poll_func):
560 Improve debugging when dealing with _poll().
562 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
564 * gst/gstregistryxml.c:
565 Fix memory leak I introduced a few days ago.
567 2007-09-26 Michael Smith <msmith@fluendo.com>
569 * gst/gstbuffer.c: (gst_buffer_finalize):
570 Make it once again possible to free GstBuffers in the default
572 The poisoning scribbles on parts of the miniobject we need in
576 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
578 * docs/gst/gstreamer-sections.txt:
581 API: add GST_TAG_COMPOSER, fixes #459809.
583 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
587 Add the 3-clause BSD license and the MIT/X11 license to the license
590 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
592 * docs/faq/getting.xml:
593 Add Q+A about different GStreamer versions (#364056).
595 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
597 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
598 (gst_base_sink_event), (gst_base_sink_change_state):
599 Return correct gboolean from query function.
601 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
603 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
604 (gst_base_sink_event), (gst_base_sink_query),
605 (gst_base_sink_change_state):
606 Simplify latency query.
607 When not synchronizing, we can report latency without querying the peer
610 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
614 Fix small typos in the docs.
616 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
618 * docs/design/draft-latency.txt:
619 * docs/design/draft-push-pull.txt:
620 * docs/design/draft-tagreading.txt:
621 * docs/design/part-MT-refcounting.txt:
622 * docs/design/part-activation.txt:
623 * docs/design/part-block.txt:
624 * docs/design/part-element-source.txt:
625 * docs/design/part-events.txt:
626 * docs/design/part-gstbin.txt:
627 * docs/design/part-gstelement.txt:
628 * docs/design/part-gstobject.txt:
629 * docs/design/part-gstpipeline.txt:
630 * docs/design/part-messages.txt:
631 * docs/design/part-preroll.txt:
632 * docs/design/part-push-pull.txt:
633 * docs/design/part-qos.txt:
634 * docs/design/part-query.txt:
635 * docs/design/part-scheduling.txt:
636 * docs/design/part-seeking.txt:
637 * docs/design/part-segments.txt:
638 * docs/design/part-states.txt:
639 Documentation updates and typo fixes.
641 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
643 * plugins/elements/gstfakesink.c:
644 Add some debug text to error message to indicate that
645 we errored out on request.
647 * tools/gst-launch.c:
648 When the state change to PLAYING fails, check for an
649 error message on the bus and print it.
651 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
653 translated by: Jorge González González <aloriel@gmail.com>
657 Added Spanish translation.
659 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
661 * plugins/elements/gstqueue.c: (gst_queue_push_one):
662 Fix printf arguments.
664 2007-09-20 Stefan Kost <ensonic@users.sf.net>
666 * tests/check/generic/states.c:
667 Improved state change unit test.
669 2007-09-20 Stefan Kost <ensonic@users.sf.net>
672 Move priv to the right place.
674 * gst/gstsystemclock.c:
675 Add FIXME: and improve log.
677 * tests/check/Makefile.am:
678 * tests/examples/manual/Makefile.am:
679 Work with all types of registries.
681 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
683 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
684 Don't unref the event after pushing it. Fixes #478401.
686 2007-09-19 Stefan Kost <ensonic@users.sf.net>
689 * tests/examples/manual/.cvsignore:
690 Ignore registries in any format.
692 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
694 * gst/glib-compat-private.h:
695 Add compatibility macro for g_intern_string() for
696 GLib-2.8 (any reason we can't just bump the
697 requirement to at least 2.10?)
699 * gst/gstpadtemplate.h:
700 * gst/gstelementfactory.c:
701 * gst/gstregistryxml.c:
702 * gst/gstregistrybinary.c:
703 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
704 up the internal code accordingly. This shouldn't be a problem, since
705 there is no reason external code could ever assume the string in such
706 a structure is dynamically allocated unless it did that itself; the
707 use of g_strdup() is private to element factories. The new code also
708 saves some memory by putting pad template name strings into the GLib
709 quark table instead of allocating them dynamically.
710 Declaring this field constant fixes warnings with g++-4.2 when using
711 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
713 2007-09-19 Stefan Kost <ensonic@users.sf.net>
715 * gst/gstelementfactory.c:
716 Release static caps. Fixes #475723.
718 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
722 Make some internal API take const gchar * instead of just
723 gchar * to avoid compiler warnings with g++-4.2.2 when
724 passing string constants (partially fixes #478092).
726 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
728 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
729 A latency query fails when one of the sinks fail.
731 * gst/gstelement.c: (gst_element_set_base_time):
734 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
736 * gst/gstbin.c: (gst_bin_continue_func):
737 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
738 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
739 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
741 Fix minor compilation warnings shown with Forte.
743 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
745 * plugins/elements/gstqueue.c: (apply_buffer),
746 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
747 Measure queue level based on the diff between head and tail timestamps
748 even when pushing the first buffer.
750 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
752 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
753 (gst_base_sink_event), (gst_base_sink_change_state):
754 Sinks that don't preroll can always be queried for the latency.
755 Don't post ASYNC start when we are not async.
757 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
759 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
760 (gst_queue_handle_sink_event), (gst_queue_chain),
761 (gst_queue_push_one), (gst_queue_handle_src_query),
762 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
763 * plugins/elements/gstqueue.h:
764 When downstream returns UNEXPECTED from pushing a buffer, don't try to
765 push more buffers but allow pushing of EOS and NEWSEGMENT.
766 Add some more debug info here and there. Fixes #476514.
768 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
770 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
771 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
772 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
773 (gst_base_sink_set_flushing), (gst_base_sink_query),
774 (gst_base_sink_change_state):
775 Latency query is allowed after we are prerolled. Introduce a new flag
776 for this and stop abusing other variables.
778 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
780 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
781 Push OOB events downstream when we get them in send_event. This allows
782 the application to insert events in the pipeline.
783 Add some more comments.
785 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
787 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
788 (do_bin_latency), (gst_bin_change_state_func):
789 * gst/gstpipeline.c: (gst_pipeline_change_state):
790 Move latency query from GstPipeline to GstBin so that we can also
791 use it when async-handling is enabled on bins.
793 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
795 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
796 (gst_base_src_do_sync), (gst_base_src_change_state):
798 Clean up the timestamping and syncing code for pseudo live sources.
800 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
802 Patch by: Steve Fink <sphink gmail com>
804 * docs/manual/appendix-checklist.xml:
805 Mention less -R switch in the section about debug output (#474055).
807 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
809 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
810 Queue can latency to the pipeline up to the configured max size in time.
811 Report this fact in the latency query.
813 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
815 Patch by: Sebastien Moutte <sebastien at moutte dot net>
817 * libs/gst/controller/gstinterpolation.c:
818 * libs/gst/controller/gstlfocontrolsource.c:
819 Use gst_guint64_to_gdouble() when converting from a uint64 or
820 GstClockTime to double to fix the build on win32. Fixes #474371.
822 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
824 * gst/gstbuffer.c: (gst_buffer_finalize):
825 Implement poisoning for GstBuffer if --enable-poisoning is specified.
826 When finalizing a buffer the complete struct is filled with 0xff,
827 thus making a use of the buffer after the final unref impossible.
829 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
831 * tests/check/libs/controller.c: (GST_START_TEST):
832 Use fail_unless_equals_int(a, b) instead of
833 fail_unless_equals (a == b) to get better output on failures.
835 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
837 * tests/check/gst/gsturi.c:
838 Also check for the other file URI variant on win32.
840 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
842 * gst/gsturi.c: (gst_uri_get_location):
843 If there's no hostname, we want to return 'c:/foo/bar.txt'
844 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
846 * tests/check/gst/gsturi.c:
847 Unit test for the above and a few more things.
849 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
851 * docs/design/part-live-source.txt:
852 Add docs on how live sources should timestamp.
854 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
855 Add some more debug info.
856 For subclasses that are live and like to sync, add aditional startup
857 latency to sync time and timestamps so that we timstamp according to the
860 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
863 Also do a g_type_class_ref() for the subbuffer type in
866 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
868 * docs/gst/gstreamer-sections.txt:
869 * gst/gstpad.c: (gst_pad_peer_query):
871 Add function to perform a query on the peer of a pad.
872 API: gst_pad_peer_query()
874 2007-09-11 Stefan Kost <ensonic@users.sf.net>
876 * tests/check/gst/gstsystemclock.c:
877 Cleanup the test a little (use gst-logging and not g_message). Improve
878 test to check if a wait reached the target.
880 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
882 * docs/libs/gstreamer-libs-sections.txt:
883 Add new API to docs and fix the build.
885 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
887 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
888 (gst_base_src_init), (gst_base_src_set_do_timestamp),
889 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
890 (gst_base_src_get_property), (gst_base_src_do_sync):
891 * libs/gst/base/gstbasesrc.h:
892 Add property to make the basesrc timestamp buffers based on the current
894 API: GstBaseSrc::do-timestamp
895 API: gst_base_src_set_do_timestamp()
896 API: gst_base_src_get_do_timestamp()
898 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
900 * docs/random/release:
901 Really make sure translations are up-to-date before
904 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
906 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
907 Always destroy the timer, also in error cases.
909 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
911 * docs/manual/highlevel-xml.xml:
912 Fix XML example code. Fixes #472714.
914 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
916 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
917 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
918 (gst_base_sink_query):
919 Protect eos and have_preroll with the OBJECT lock so we don't need to
920 take the PREROLL lock when querying the latency. Fixes #473846.
922 2007-09-05 Stefan Kost <ensonic@users.sf.net>
925 Give some log-messages a category.
927 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
929 * gst/gststructure.c:
930 (gst_structure_fixate_field_nearest_fraction):
931 Fix fraction list fixation code. Take the fraction with the smallest
932 difference with the target instead of the first one in the list.
934 * tests/check/gst/gststructure.c: (GST_START_TEST),
935 (gst_structure_suite):
936 Added test to verify correct fraction list fixation behaviour.
938 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
940 * win32/common/libgstreamer.def:
941 Export gst_bus_add_signal_watch too.
943 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
945 * docs/libs/gstreamer-libs-sections.txt:
946 Add new methods to docs.
948 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
949 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
950 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
951 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
952 * libs/gst/base/gstbasesink.h:
953 Add ts-offset property to fine-tune the synchronisation.
954 API: GstBaseSink::ts-offset property
955 API: gst_base_sink_set_ts_offset()
956 API: gst_base_sink_get_ts_offset()
958 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
960 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
961 (gst_base_sink_init), (gst_base_sink_set_sync),
962 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
963 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
964 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
965 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
966 (gst_base_sink_get_property), (gst_base_sink_change_state):
967 * libs/gst/base/gstbasesink.h:
968 Add async property to instruct the sink never to inform the parent about
969 ASYNC state changes, update docs.
970 Check argument with g_return_* for the public functions.
971 API: GstBaseSink::async property
972 API: gst_base_sink_set_async_enabled()
973 API: gst_base_sink_is_async_enabled()
975 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
977 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
980 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
981 (gst_base_src_default_query), (gst_base_src_wait),
982 (gst_base_src_do_sync), (gst_base_src_change_state):
983 Rearrange some code so that we can add support for measuring the
986 2007-08-27 Stefan Kost <ensonic@users.sf.net>
988 * docs/random/ensonic/dynlink.txt:
989 More thoughs on this.
991 * plugins/elements/gstcapsfilter.c:
992 Add bugzilla ticket number to FIXME comment.
994 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
996 * docs/design/part-TODO.txt:
997 * docs/design/part-block.txt:
1000 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
1003 Revert patch which uses $(gst_headers) instead of $^ because it
1006 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
1008 * tests/check/gst/gstbin.c: (GST_START_TEST):
1009 Fix leaks in the new unit test.
1011 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
1014 Don't use GST_INFO before the debug system is actually initialised
1015 (shouldn't do any harm, but won't print anything either, so we can
1016 just as well remove it).
1019 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
1020 compilers that don't support variadic macros (such as MSVC), should
1021 check for debug_level <= __gst_debug_min as well, since that's the
1022 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
1023 inline helper functions. Should improve performance a bit, but also
1024 makes sure uses of GST_INFO et.al are ignored if the debugging
1025 system isn't initialised yet (instead of printing an assertion
1028 2007-08-23 Stefan Kost <ensonic@users.sf.net>
1030 patch by: David Nečas <yeti@physics.muni.cz>
1033 Replace some non portable makefile constructs.
1035 2007-08-21 Stefan Kost <ensonic@users.sf.net>
1037 * common/gtk-doc-plugins.mak:
1038 Grrrrr. Don't remove the types file on make clean.
1040 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
1042 * tools/gst-launch.1.in:
1043 Add colorspace to example pipeline. Fixes #458274.
1045 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
1047 * docs/random/release:
1048 The release manager should run 'make download-po' before making a
1049 release to make sure translations are up-to-date.
1055 Add some new translations.
1057 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
1059 * tools/gst-launch.c: (event_loop), (main):
1060 Don´t try to do any state management when a live pipeline posts
1062 Also make the buffering string translatable.
1064 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
1066 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
1067 (bin_handle_async_start), (gst_bin_handle_message_func):
1069 When adding elements, insert messages into the bus of the newly added
1070 element and make sure the element is the source of the message. This
1071 allows the parent bin to intercept the message and do the
1072 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
1073 messages to the app (which is not allowed).
1076 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1077 Fix testsuite so that is does not work around messages that should not
1078 have been posted in the first place.
1080 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
1082 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
1083 (update_degree), (gst_bin_sort_iterator_next):
1084 Fix annoying bug in the sorted iterator where a sink that is not really
1085 a sink (when it has downstream links) screwed up the iterator.
1087 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1088 Unit test to verify the fix.
1090 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
1093 Add some more docs for the messages.
1095 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1096 (gst_base_sink_query):
1097 Add some more debugging.
1099 * tools/gst-launch.c: (event_loop):
1100 When interrupting, don't try to set pipeline to PAUSED twice.
1102 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
1105 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
1106 (bin_handle_async_start), (gst_bin_handle_message_func):
1107 Move ASYNC_START message posting to where it belongs, similar to
1109 Don't post ASYNC_START when we are in error.
1110 Post ASYNC_START when we added an async element to a bin.
1112 2007-08-14 Julien MOUTTE <julien@moutte.net>
1114 * gst/gstindex.c: (gst_index_add_association): Fix index entry
1115 generation from vargs. Fixes #466595.
1117 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
1119 * gst/gstbin.c: (gst_bin_element_set_state):
1120 Always change the state of a NO_PREROLL element even if it has ASYNC
1121 elements inside (in case of a bin).
1123 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1124 Unit test for this case.
1126 2007-08-13 Stefan Kost <ensonic@users.sf.net>
1128 * libs/gst/check/gstbufferstraw.c:
1129 * libs/gst/check/gstcheck.h:
1130 * libs/gst/controller/gstcontroller.c:
1131 * libs/gst/controller/gstcontrolsource.h:
1132 * libs/gst/controller/gstlfocontrolsource.h:
1133 * plugins/elements/gstcapsfilter.h:
1134 * plugins/elements/gstfdsink.h:
1135 * plugins/elements/gstfdsrc.h:
1136 Add more missing docs.
1138 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1140 * gst/gststructure.c:
1141 Add Since tag to docs.
1143 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1145 * docs/gst/gstreamer-sections.txt:
1146 * gst/gststructure.c: (gst_structure_get_uint):
1147 * gst/gststructure.h:
1148 Add function to get uint from a structure.
1149 API: gst_structure_get_uint()
1151 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
1153 * gst/gstcaps.c: (gst_caps_set_simple_valist),
1154 (gst_caps_intersect):
1155 Fix proper check for simple caps.
1157 2007-08-10 Stefan Kost <ensonic@users.sf.net>
1159 * docs/gst/Makefile.am:
1160 * docs/libs/Makefile.am:
1161 Remove cruft and do some cleanups.
1163 * docs/gst/gstreamer-docs.sgml:
1164 * docs/libs/gstreamer-libs-docs.sgml:
1165 Prepare for comming gtkdoc features (rebase against online docs).
1167 2007-08-10 Michael Smith <msmith@fluendo.com>
1169 * docs/gst/gstreamer-sections.txt:
1170 Add gst_registry_add_path to docs.
1172 2007-08-10 Michael Smith <msmith@fluendo.com>
1174 * gst/gstregistry.h:
1175 Add gst_registry_add_path, which was missing from this header.
1177 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
1179 * libs/gst/controller/gstlfocontrolsource.c:
1182 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1184 * libs/gst/base/gstbasesink.c:
1185 Don't send an async_start message during downwards state change if
1186 target state is less than READY
1188 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
1190 translated by: Gabor Kelemen <kelemeng@gnome.hu>
1194 Added Hungarian translation.
1196 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
1203 Updated translations.
1205 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
1207 * libs/gst/controller/Makefile.am:
1208 Dist gstlfocontrolsourceprivate.h
1210 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
1212 * docs/libs/gstreamer-libs.types:
1213 Don't register the enum type gst_lfo_waveform_get_type() in the
1214 .types file - only GObject derived types belong.
1216 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
1218 Patch by: <arenevier at fdn dot fr>
1221 Remove comma from last element in enum to avoid compile errors when
1222 using -pendantic. Fixes #464366.
1224 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
1226 * docs/design/part-TODO.txt:
1227 Add some more TODO items
1229 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
1232 * gst/gstcaps.c: (gst_caps_intersect):
1233 Optimize trivial intersection case between identical caps pointers.
1235 * gst/gstelement.c: (gst_element_continue_state),
1236 (gst_element_set_state_func):
1238 Fix spelling and grammar mistakes.
1240 2007-08-05 Stefan Kost <ensonic@users.sf.net>
1244 Update POTFILES. Fixes #461599.
1246 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
1249 Fix confusing typo in debug output.
1251 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
1253 reviewed by: Stefan Kost <ensonic@users.sf.net>
1255 * libs/gst/controller/Makefile.am:
1256 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
1257 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
1258 (gst_lfo_control_source_new),
1259 (gst_lfo_control_source_set_waveform),
1260 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
1261 (gst_lfo_control_source_finalize),
1262 (gst_lfo_control_source_dispose),
1263 (gst_lfo_control_source_set_property),
1264 (gst_lfo_control_source_get_property),
1265 (gst_lfo_control_source_class_init):
1266 * libs/gst/controller/gstlfocontrolsource.h:
1267 * libs/gst/controller/gstlfocontrolsourceprivate.h:
1268 API: Add GstLFOControlSource, a control source that gives values
1269 for specific timestamps based on several periodic waveforms.
1272 * tests/check/libs/controller.c: (GST_START_TEST),
1273 (gst_controller_suite):
1274 * docs/libs/gstreamer-libs-docs.sgml:
1275 * docs/libs/gstreamer-libs-sections.txt:
1276 * docs/libs/gstreamer-libs.types:
1277 Add documentation and unit tests for GstLFOControlSource.
1279 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
1284 === release 0.10.14 ===
1286 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
1289 releasing 0.10.14, "Breathing Vacuum"
1291 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
1293 * gst/gstelement.c: (gst_element_class_set_details_simple):
1295 Make strings passed to gst_element_class_set_details_simple()
1296 constant, as they should be (#462752).
1298 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
1300 * gst/gstbin.c: (gst_bin_change_state_func),
1301 (bin_handle_async_done), (gst_bin_handle_message_func):
1302 Don't forget about the fact that some element went ASYNC even after a
1303 resync. This makes us post the ASYNC_DONE message correctly.
1306 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1308 * gst/gstregistry.c: (gst_registry_add_feature):
1309 When replacing an existing feature in the registry, make sure to
1310 continue holding a reference until we've replaced the name string
1311 within our feature hash table. Make sure to use g_hash_table_replace
1312 instead of g_hash_table_insert to ensure the new name string is used
1313 as a key instead of the old one that we're about to free.
1316 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1318 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1319 (gst_plugin_feature_set_name):
1320 Revert patch from #459466 until after the release and we can work
1321 out exactly what the problem is (if any).
1323 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
1325 * docs/gst/gstreamer-sections.txt:
1328 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
1330 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
1332 * docs/libs/Makefile.am:
1333 Include our build-prefix libs and includes before the generic ones to
1334 avoid linking against the installed libs when we want the build-tree
1337 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
1339 Patch by: Steve Fink <sphink gmail com>
1341 * docs/pwg/building-testapp.xml:
1342 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
1343 if people try to build or install the example from the plugin
1344 template against a GStreamer from package using the configure
1347 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
1349 Patch by: Steve Fink <sphink gmail com>
1351 * tools/gst-inspect.1.in:
1352 Document --print-all and --print-plugin-auto-install-info command
1353 line options in man page.
1355 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
1357 * docs/gst/gstreamer-sections.txt:
1358 Add docs for new api function.
1360 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
1362 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
1363 * gst/gstelementfactory.h:
1364 API: gst_element_factory_has_interface()
1365 Added method to check if an element factory implements a named
1368 2007-07-25 Stefan Kost <ensonic@users.sf.net>
1371 * docs/gst/gstreamer.types.in:
1372 Another conditional doc check.
1375 * gst/gstparamspecs.h:
1376 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1381 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1383 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
1384 (gst_registry_binary_load_feature),
1385 (gst_registry_binary_load_plugin),
1386 (gst_registry_binary_read_cache):
1387 Print error just once and with additional info.
1389 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1391 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1392 (helper_find_suggest), (helper_find_get_length),
1393 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
1394 (gst_type_find_helper_for_buffer):
1395 Cleanup the typefindhelper code and add private doc comments.
1397 2007-07-24 Edward Hervey <bilboed@bilboed.com>
1399 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1400 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
1401 Fix capsfilter for cases where the caps set on capsfilter will provide
1402 additional information.
1405 2007-07-24 Stefan Kost <ensonic@users.sf.net>
1407 * gst/gsttypefindfactory.c:
1408 Fix docs that recommened wrong function to use.
1410 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1412 * tools/gst-inspect.c: (print_plugin_features):
1413 Also give media-type for typefinders in element output.
1415 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1417 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
1418 (gst_registry_remove_features_for_plugin_unlocked),
1419 (gst_registry_add_feature), (gst_registry_remove_feature),
1420 (gst_registry_lookup_feature_locked):
1421 * gst/gstregistry.h:
1422 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
1425 2007-07-23 Stefan Kost <ensonic@users.sf.net>
1427 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1428 (gst_plugin_feature_set_name):
1429 Avoid double memory usage for pluginfeature names. Fixes #459466.
1431 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
1434 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
1435 driving the pipeline may need to explicitly check for NOT_LINKED as
1436 well, since IS_FATAL doesn't cover that.
1438 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
1440 * docs/pwg/advanced-types.xml:
1441 Fix typo and duplicate entry in video formats list.
1443 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
1445 * libs/gst/controller/gstinterpolation.c:
1446 Also round to the nearest int when using cubic interpolation.
1448 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
1450 * libs/gst/controller/gstinterpolation.c:
1451 When linearly interpolating integer types, round to the nearest int
1452 by adding 0.5. Don't do it for float/double types.
1453 Fixes the failing controller test on my machine, which is somehow
1454 rounding differently than on the buildbots.
1456 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1458 * tools/gst-plot-timeline.py:
1459 Better log parsing (categories can have -). Adjust text vs. lines, so
1460 that they span the same y-range.
1462 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1464 * docs/random/ensonic/audiobaseclasses.txt:
1465 * docs/random/ensonic/dynlink.txt:
1466 * docs/random/ensonic/profiling.txt:
1469 * docs/random/moving-plugins:
1470 Add note to use g_assert type macros.
1472 2007-07-20 Stefan Kost <ensonic@users.sf.net>
1475 * libs/gst/check/Makefile.am:
1476 Add libm check as we use in for plugins.
1478 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
1480 * gst/gstbin.c: (gst_bin_continue_func):
1481 Check that the state_cookie hasn't changed since the continue_func
1482 was scheduled. Avoids problems where the state changes back to
1483 something it shouldn't be because it was changed in the meantime.
1485 2007-07-17 Stefan Kost <ensonic@users.sf.net>
1487 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
1488 (gst_registry_binary_save_string),
1489 (gst_registry_binary_save_pad_template),
1490 (gst_registry_binary_save_feature),
1491 (gst_registry_binary_save_plugin),
1492 (gst_registry_binary_load_feature),
1493 (gst_registry_binary_load_plugin),
1494 (gst_registry_binary_read_cache):
1495 Fix memory leak. Be less verbose in the log.
1497 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1499 * tests/check/elements/.cvsignore:
1500 Add file to cvsignore as commanded.
1502 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1504 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1505 (mq_dummypad_event), (run_output_order_test):
1506 Use a GStaticMutex to protect all cases where libcheck
1507 fail_if/fail_unless macros might be called from multiple threads
1508 simultaneously to avoid errors like:
1509 "check_pack.c:107: :-1081725400:Bad message type arg"
1511 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1513 * tests/check/pipelines/stress.c: (GST_START_TEST):
1514 Make sure we set the pipeline back to the NULL state before
1515 dropping our final reference.
1517 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
1519 * tests/check/elements/tee.c: (GST_START_TEST):
1520 Make the tee stress-test a little less stressful so it doesn't just
1521 time out on slow-machines, and remove a small race when it's starting
1522 up by adding a get_state() call.
1524 2007-07-16 Stefan Kost <ensonic@users.sf.net>
1527 Avoid reading registry twice on startup. Fixes #457322.
1529 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
1531 * pkgconfig/gstreamer-check-uninstalled.pc.in:
1532 * pkgconfig/gstreamer-check.pc.in:
1533 Substitute the CFLAGS for libcheck into our .pc file too so that
1534 dependent modules will pick it up properly if libcheck is installed
1535 into some other prefix.
1537 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
1540 Revert the pkg-config check for libcheck, since it pulls in the
1541 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
1542 a proper solution, either from the check project, or something else.
1544 2007-07-12 Stefan Kost <ensonic@users.sf.net>
1547 Use pkg-config to locate check.
1549 2007-07-10 Stefan Kost <ensonic@users.sf.net>
1556 Add deprecation guards.
1558 * libs/gst/base/gstcollectpads.h:
1559 Don't document object (this is implicitly private).
1561 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
1563 * gst/gststructure.c: (gst_structure_parse_value):
1564 When deserialising foo=bar without a type cast, check if it's a
1565 boolean before falling back to a string type, otherwise things like
1566 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
1567 because the filtercaps end up having a signed=(string)true field,
1568 which causes problems later when intersection caps.
1570 * tests/check/gst/gststructure.c: (GST_START_TEST):
1571 Add a unit test for this.
1573 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
1575 Reviewed by: Stefan Kost <ensonic@users.sf.net>
1577 * libs/gst/controller/Makefile.am:
1578 * libs/gst/controller/gstcontroller.c:
1579 (gst_controlled_property_add_interpolation_control_source),
1580 (gst_controlled_property_new), (gst_controlled_property_free),
1581 (gst_controller_find_controlled_property),
1582 (gst_controller_new_valist), (gst_controller_new_list),
1583 (gst_controller_new), (gst_controller_remove_properties_valist),
1584 (gst_controller_remove_properties_list),
1585 (gst_controller_remove_properties),
1586 (gst_controller_set_property_disabled),
1587 (gst_controller_set_disabled), (gst_controller_set_control_source),
1588 (gst_controller_get_control_source), (gst_controller_get),
1589 (gst_controller_sync_values), (gst_controller_get_value_array),
1590 (_gst_controller_dispose), (gst_controller_get_type),
1591 (gst_controlled_property_set_interpolation_mode),
1592 (gst_controller_set), (gst_controller_set_from_list),
1593 (gst_controller_unset), (gst_controller_unset_all),
1594 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
1595 * libs/gst/controller/gstcontroller.h:
1596 * libs/gst/controller/gstcontrollerprivate.h:
1597 * libs/gst/controller/gstcontrolsource.c:
1598 (gst_control_source_class_init), (gst_control_source_init),
1599 (gst_control_source_get_value),
1600 (gst_control_source_get_value_array), (gst_control_source_bind):
1601 * libs/gst/controller/gstcontrolsource.h:
1602 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
1603 (gst_object_get_control_source):
1604 * libs/gst/controller/gstinterpolation.c:
1605 (gst_interpolation_control_source_find_control_point_node),
1606 (gst_interpolation_control_source_get_first_value),
1607 (_interpolate_none_get), (interpolate_none_get),
1608 (interpolate_none_get_boolean_value_array),
1609 (interpolate_none_get_enum_value_array),
1610 (interpolate_none_get_string_value_array),
1611 (_interpolate_trigger_get), (interpolate_trigger_get),
1612 (interpolate_trigger_get_boolean_value_array),
1613 (interpolate_trigger_get_enum_value_array),
1614 (interpolate_trigger_get_string_value_array):
1615 * libs/gst/controller/gstinterpolationcontrolsource.c:
1616 (gst_control_point_free), (gst_interpolation_control_source_reset),
1617 (gst_interpolation_control_source_new),
1618 (gst_interpolation_control_source_set_interpolation_mode),
1619 (gst_interpolation_control_source_bind),
1620 (gst_control_point_compare), (gst_control_point_find),
1621 (gst_interpolation_control_source_set_internal),
1622 (gst_interpolation_control_source_set),
1623 (gst_interpolation_control_source_set_from_list),
1624 (gst_interpolation_control_source_unset),
1625 (gst_interpolation_control_source_unset_all),
1626 (gst_interpolation_control_source_get_all),
1627 (gst_interpolation_control_source_get_count),
1628 (gst_interpolation_control_source_init),
1629 (gst_interpolation_control_source_finalize),
1630 (gst_interpolation_control_source_dispose),
1631 (gst_interpolation_control_source_class_init):
1632 * libs/gst/controller/gstinterpolationcontrolsource.h:
1633 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1634 API: Refactor GstController into the core controller which can take
1635 a GstControlSource for providing actual values for timestamps.
1636 Implement a interpolation control source and use this for backward
1637 compatibility, deprecate a bunch of functions that are now handled
1638 by GstControlSource or GstInterpolationControlSource.
1639 Make it possible to disable the controller completely or only for
1640 specific properties. Fixes #450711.
1641 * docs/libs/gstreamer-libs-docs.sgml:
1642 * docs/libs/gstreamer-libs-sections.txt:
1643 * docs/libs/gstreamer-libs.types:
1644 Add new functions and classes to the docs.
1645 * tests/check/libs/controller.c: (GST_START_TEST),
1646 (gst_controller_suite):
1647 * tests/examples/controller/audio-example.c: (main):
1648 Port unit test and example to the new API and add some new
1651 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
1653 Patch by: Mark Nauwelaerts <manauw at skynet be>
1655 * plugins/elements/gstmultiqueue.c:
1656 (gst_multi_queue_get_internal_links), (apply_buffer),
1657 (single_queue_overrun_cb), (gst_single_queue_new):
1658 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
1659 the pipeline layout can be tracked correctly. Fixes #453732.
1661 2007-07-05 Stefan Kost <ensonic@users.sf.net>
1663 * docs/gst/Makefile.am:
1664 * docs/libs/Makefile.am:
1665 * docs/plugins/Makefile.am:
1666 Simplify --extra-dir as gtkdoc scans recursively.
1668 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
1670 * tools/gst-launch.c: (main):
1671 When we got an error, there is no point in waiting for preroll when
1674 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
1676 * plugins/elements/gsttee.c: (gst_tee_base_init),
1677 (gst_tee_request_new_pad), (gst_tee_release_pad),
1678 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
1679 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
1681 Be a lot smarter when deciding what srcpad to use for proxying
1682 the buffer_alloc. Also handle pad added/removed when doing so.
1684 Keep track of what pads we already pushed on in case we have pads
1685 added/removed while pushing. Fixes #374639
1687 * tests/check/Makefile.am:
1688 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
1690 Added unit test for pad resync.
1692 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
1696 Updated translations.
1698 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
1700 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
1704 Added new Finnish translation.
1706 2007-06-28 Wim Taymans <wim@fluendo.com>
1708 * plugins/elements/gstmultiqueue.c: (apply_buffer),
1709 (single_queue_overrun_cb):
1710 When figuring out when a queue is filled, use our internal time estimate
1711 based on segments, just like check_full does.
1713 2007-06-27 Stefan Kost <ensonic@users.sf.net>
1715 * gst/gstminiobject.c: (gst_mini_object_get_type):
1716 Remove 3 do-nothing methods.
1718 2007-06-27 Wim Taymans <wim@fluendo.com>
1720 Patch by: Tim Angus <tim at ngus dot net>
1722 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
1723 (gst_capsfilter_set_property):
1724 Take a reference instead of a copy when setting "caps".
1725 Fix documentation to clarify this behaviour. Fixes #449414.
1727 2007-06-27 Stefan Kost <ensonic@users.sf.net>
1729 * gst/gstindexfactory.c: (gst_index_factory_get_type):
1730 * gst/gstplugin.c: (gst_plugin_init):
1731 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
1732 * gst/gstquery.c: (gst_query_get_type):
1733 * gst/gstregistry.c: (gst_registry_init):
1734 * gst/gsturi.c: (gst_uri_handler_base_init):
1735 Remove empty instance_init() functions to save relocs and lessen the
1736 noise. Remove some of the function prototypes that are doubled by
1739 2007-06-27 Wim Taymans <wim@fluendo.com>
1741 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
1743 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
1744 Add peer and direction in the XML serialisation of ghostpads.
1747 2007-06-26 Stefan Kost <ensonic@users.sf.net>
1750 Preserve useful information, thanks Tim.
1752 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
1754 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1755 (gst_single_queue_flush), (apply_segment), (apply_buffer),
1756 (gst_single_queue_push_one), (gst_multi_queue_loop),
1757 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1758 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
1759 (compute_high_id), (gst_single_queue_new):
1760 * plugins/elements/gstmultiqueue.h:
1761 Take the multiqueue lock when updating the fill level so we don't get
1764 After applying a buffer or event on the src pad segment, make sure to
1765 call gst_data_queue_limits_changed() to get the data queue to unblock
1766 and check the filled state again.
1768 Rework the not-linked pad handling so the logic is that not-linked
1769 pads can push as fast as they like, but only so they never get
1770 ahead of any linked pads.
1772 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
1773 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
1774 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
1776 Add a test to check that not-linked pads always stay behind
1781 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
1783 * docs/random/release:
1784 Some updates to the release procedure.
1786 2007-06-26 Stefan Kost <ensonic@users.sf.net>
1788 * gst/gstelementfactory.c: (__gst_element_details_clear):
1789 Microoptimization that saves stunning 80 bytes.
1791 2007-06-25 Stefan Kost <ensonic@users.sf.net>
1793 * docs/plugins/gstreamer-plugins.args:
1794 * docs/plugins/inspect/plugin-coreelements.xml:
1795 * docs/plugins/inspect/plugin-coreindexers.xml:
1796 Update docs with caps info.
1798 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
1801 Updated Italian translation.
1803 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
1807 Update Vietnamese translations.
1809 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
1811 * libs/gst/base/gstbasesink.c:
1812 Remove unused signal enum.
1814 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
1816 * docs/gst/gstreamer-sections.txt:
1818 * gst/gstutils.c: (gst_type_register_static_full):
1819 Beef up and include the docs for gst_type_register_static_full and
1820 gst_element_class_set_details_simple and add the API keyword
1823 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
1825 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1826 (update_time_level), (gst_single_queue_push_one),
1827 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
1828 (single_queue_overrun_cb), (single_queue_underrun_cb),
1829 (single_queue_check_full):
1830 Fix setting max-* properties after adding queues.
1831 Use IS_FILLED for checking visible items.
1832 Signal overrun if multiple queues overrun.
1833 Add extra debug output.
1834 Patch by: Wim Taymans <wim@fluendo.com>
1836 2007-06-21 Stefan Kost <ensonic@users.sf.net>
1838 * gst/gstelement.c: (gst_element_class_set_details_simple):
1840 * gst/gstutils.c: (gst_type_register_static_full):
1842 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
1843 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
1844 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
1845 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
1846 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
1847 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
1848 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
1849 * plugins/elements/gstidentity.c: (gst_identity_base_init):
1850 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
1851 * plugins/elements/gstqueue.c: (gst_queue_base_init),
1852 (apply_buffer), (gst_queue_chain):
1853 * plugins/elements/gsttee.c: (gst_tee_base_init):
1854 * plugins/elements/gsttypefindelement.c:
1855 (gst_type_find_element_base_init),
1856 (gst_type_find_element_class_init):
1857 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
1858 API: add gst_type_register_static_full
1859 API: add gst_element_class_set_details_simple
1861 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
1863 * docs/pwg/advanced-types.xml:
1864 Fix typo in iana.org URI.
1866 2007-06-19 Andy Wingo <wingo@pobox.com>
1868 * tests/check/pipelines/simple-launch-lines.c
1869 (test_state_change_returns): Enable pull-mode tests now that
1870 basesink has been fixed.
1872 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
1873 Changed from gst_base_sink_is_prerolled, reversing the sense of
1874 the return value. Returns FALSE also if the sink is in pull mode,
1875 in which case it needs no preroll.
1876 (gst_base_sink_query, gst_base_sink_change_state): Update for
1877 needs_preroll change.
1878 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
1879 chaining up, in which we return SUCCESS directly if we activated
1880 in pull mode instead of ASYNC. Involves countering an async_start
1881 message sent before chaining up; not sure if this is correct, in
1882 an ideal world we only send async-start when activating in push
1885 * tests/check/pipelines/simple-launch-lines.c
1886 (test_state_change_returns): New test, partially disabled until
1889 2007-06-19 Wim Taymans <wim@fluendo.com>
1891 * plugins/elements/gstmultiqueue.c: (apply_buffer),
1892 (gst_multi_queue_sink_event):
1895 2007-06-19 Wim Taymans <wim@fluendo.com>
1897 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1898 (gst_bin_change_state_func), (bin_push_state_continue),
1899 (bin_handle_async_start), (bin_handle_async_done),
1900 (gst_bin_handle_message_func):
1901 Move the common code for posting state-change messages into
1903 Broadcast the state signal after we posted the messages.
1904 Mark the bin as busy when it's doing a state-change.
1905 Make sure async-start/done messages don't interfere with the bin's
1906 state when it's busy.
1907 After the state change, let the bin check which elements completed the
1908 state change while it was busy so that it can update its state.
1910 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
1912 * docs/random/release:
1913 Add a note about updating the doap file to the release checklist
1915 2007-06-18 Wim Taymans <wim@fluendo.com>
1917 * plugins/elements/gstmultiqueue.c: (apply_buffer),
1918 (gst_single_queue_push_one), (gst_multi_queue_chain),
1919 (gst_multi_queue_sink_event):
1920 Make sure we don't reference the buffer/event after we have given away
1921 ownership in the queue.
1923 2007-06-18 Wim Taymans <wim@fluendo.com>
1925 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1926 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
1927 Update queue state _after_ adding the item in the queue because else we
1928 could end up being full without the element added yet.
1930 2007-06-18 Wim Taymans <wim@fluendo.com>
1932 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1933 (gst_bin_remove_func), (gst_bin_get_state_func),
1934 (gst_bin_element_set_state), (gst_bin_continue_func),
1935 (bin_push_state_continue), (bin_handle_async_start),
1936 (bin_handle_async_done), (gst_bin_handle_message_func):
1938 Immediatly commit the toplevel bin state when receiving an async-done
1939 message. This enables us to avoid spawning a thread to commit the state
1940 in some common cases and it also avoids some races.
1941 Avoid spawning a state thread when adding/removing async elements to a
1942 toplevel bin. Instead we immediatly update the bin state.
1943 Get rid of iterating all the children when getting the state in the bin
1944 because it is now always up-to-date.
1945 Fix bug where locked elements would always return _SUCCESS even it they
1946 returned NO_PREROLL before being locked.
1947 Fix the order of the state_change, async-start/done messages that was
1948 sometimes incorrect.
1949 Mark the state_dirty field as deprecated, we don't need it anymore as we
1950 are always up-to-date.
1952 * gst/gstelement.c: (gst_element_get_state_func),
1953 (gst_element_continue_state):
1954 Small debug inprovements.
1955 Return the previous element state return when nothing is pending instead
1956 of blindly returning SUCCESS.
1958 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
1960 Add a whole bunch of new testcases.
1962 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
1966 Update translations.
1968 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
1971 Fix typo in the docs.
1973 2007-06-15 Wim Taymans <wim@fluendo.com>
1975 * docs/libs/gstreamer-libs-sections.txt:
1976 Add docs for new methods.
1978 2007-06-15 Wim Taymans <wim@fluendo.com>
1980 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
1981 (gst_multi_queue_item_new):
1982 Don't use GSlice because we don't depend on >= 2.10 yet.
1984 2007-06-15 Wim Taymans <wim@fluendo.com>
1986 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
1987 (update_time_level), (apply_segment), (apply_buffer),
1988 (gst_single_queue_push_one), (gst_multi_queue_item_new),
1989 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
1990 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
1991 (single_queue_underrun_cb), (single_queue_check_full):
1992 Remove debug printf.
1994 2007-06-15 Wim Taymans <wim@fluendo.com>
1996 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
1997 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
1998 (gst_data_queue_set_flushing), (gst_data_queue_push),
1999 (gst_data_queue_pop), (gst_data_queue_drop_head),
2000 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
2001 * libs/gst/base/gstdataqueue.h:
2003 Added methods to get the current levels and to inform the queue that the
2004 'full' limits changed.
2006 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2007 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2008 (gst_single_queue_flush), (update_time_level), (apply_segment),
2009 (apply_buffer), (gst_single_queue_push_one),
2010 (gst_multi_queue_item_steal_object),
2011 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2012 (gst_multi_queue_loop), (gst_multi_queue_chain),
2013 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2014 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
2015 (gst_multi_queue_src_query), (single_queue_overrun_cb),
2016 (single_queue_underrun_cb), (single_queue_check_full),
2017 (gst_single_queue_new):
2018 Keep track of time in the queue by measuring the difference between
2019 running_time on input and output. This gives more accurate results and
2020 can compensate for segments correctly.
2021 Make a queue by default only 5 buffers deep. We will now increase the
2022 buffer size depending on the filledness of the other queues.
2023 Factor out commong flush code.
2024 Make sure we don't add additional refcounts to buffers when we can avoid
2026 Propagate GstFlowReturn differently.
2027 Use GSlice for intermediate GstMultiQueueItems.
2029 Resize queues on over and underruns based on filled level of other
2031 When checking if the queue is filled, prefer to measure in time if we
2032 can and fall back to bytes when no time is known.
2034 * plugins/elements/gstqueue.c:
2037 2007-06-15 Wim Taymans <wim@fluendo.com>
2039 * libs/gst/base/gstbasetransform.c:
2040 (gst_base_transform_sink_event):
2041 Work around the brokenness of the event vmethod in basetransform. Prefer
2042 to return TRUE when the subclass returned FALSE (meaning don't forward
2045 * libs/gst/base/gstbasetransform.h:
2048 2007-06-15 Wim Taymans <wim@fluendo.com>
2050 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
2051 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2052 (gst_base_src_default_query), (gst_base_src_get_range),
2053 (gst_base_src_start):
2054 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
2057 2007-06-15 Stefan Kost <ensonic@users.sf.net>
2059 * docs/pwg/advanced-types.xml:
2060 Added more formats to caps table.
2062 2007-06-15 Stefan Kost <ensonic@users.sf.net>
2064 * tools/gst-launch.c: (main):
2065 Remove crufy code. GOption does not need this workaround.
2067 2007-06-14 Stefan Kost <ensonic@users.sf.net>
2069 * libs/gst/controller/gstcontroller.c:
2070 (gst_controlled_property_set_interpolation_mode):
2071 Fix wrong getter for enums in controller.
2073 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2075 * libs/gst/check/gstcheck.c: (gst_check_init):
2076 Intercept criticals and warnings in the Gst-Phonon log domain, so
2077 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
2080 2007-06-14 Edward Hervey <edward@fluendo.com>
2082 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
2083 Since this file doesn't include "gst.h" it will not go through the
2084 macros that disable GST_LOG if debugging was disabled.
2086 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2088 * libs/gst/check/Makefile.am:
2089 * libs/gst/check/gstcheck.h:
2090 * pkgconfig/gstreamer-check-uninstalled.pc.in:
2091 * pkgconfig/gstreamer-check.pc.in:
2092 Ugly 'fix' for the controller unit test on the p5 bot: in
2093 fail_unless_equals_float() check whether the values are 'almost
2094 equal' by allowing a small absolute error, which should be good
2095 enough for our use cases (normal numbers and values close to 0).
2096 Proper fixage left to floating point arithmetic aficionados.
2098 2007-06-14 Stefan Kost <ensonic@users.sf.net>
2100 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
2101 (gst_base_sink_render_object), (gst_base_sink_get_position):
2102 Add two breaks thats where missing.
2104 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2106 * docs/libs/gstreamer-libs-sections.txt:
2107 * libs/gst/check/gstcheck.h:
2108 API: add fail_unless_equals_float() and assert_equals_float().
2109 Add documentation for some of the macros.
2111 * tests/check/libs/controller.c: (GST_START_TEST):
2112 Use newly-added asserts.
2114 2007-06-14 Stefan Kost <ensonic@users.sf.net>
2116 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
2117 Show the caps change in the log to help spotting the case of not
2118 exactly matching caps.
2120 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
2122 * docs/pwg/building-boiler.xml:
2123 Fix typos, spotted by Thijs Vermeir (#447190).
2125 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
2127 * docs/plugins/tmpl/.cvsignore:
2128 Ignore file to keep the buildbots happy
2130 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
2132 * docs/plugins/Makefile.am:
2133 * docs/plugins/gstreamer-plugins-docs.sgml:
2134 * docs/plugins/gstreamer-plugins-sections.txt:
2135 Pull fdsink into the docs too.
2137 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
2139 * libs/gst/controller/gstinterpolation.c:
2140 Actually use the new functions with min/max checks for the trigger and
2141 none interpolation modes for get() and get_value_array() instead of
2144 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
2146 * libs/gst/controller/gstcontroller.c:
2147 (gst_controlled_property_free):
2148 Unset the minimum and maximum GValues when freeing the corresponding
2149 GstControllerProperty struct.
2151 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
2153 * libs/gst/controller/gstcontroller.c:
2154 (gst_controlled_property_new):
2155 * libs/gst/controller/gstcontrollerprivate.h:
2156 * libs/gst/controller/gstinterpolation.c:
2157 (gst_controlled_property_find_control_point_node),
2158 (interpolate_none_get), (interpolate_none_get_enum_value_array),
2159 (interpolate_none_get_string_value_array),
2160 (interpolate_trigger_get),
2161 (interpolate_trigger_get_enum_value_array),
2162 (interpolate_trigger_get_string_value_array):
2163 Protect against values larger or smaller than the minimum or maximum
2164 allowed value for the property when using values that can be compared.
2166 Optimize trigger interpolator a bit by taking the last requested value
2167 into account instead of always looping through the complete list.
2169 Fix coding style a bit, everywhere else we use "return foo" instead
2172 * tests/check/libs/controller.c: (GST_START_TEST),
2173 (gst_controller_suite):
2174 Add unit test for the protection against too large or too small
2177 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
2179 * docs/random/slomo/controller.txt:
2180 Add some thoughts about the future of the controller.
2182 2007-06-08 Wim Taymans <wim@fluendo.com>
2184 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2185 Don't overflow in retimestamping code.
2187 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
2189 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2190 Use gst_util_guint64_to_gdouble for conversions.
2191 * win32/common/libgstreamer.def:
2192 Add new exported functions.
2194 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
2197 Small docs addition.
2199 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2202 Remove that test line again.
2204 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2207 Test commit mail sending.
2209 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2212 Fix typo and test commit mail sending.
2214 2007-06-07 Stefan Kost <ensonic@users.sf.net>
2216 * tests/examples/controller/audio-example.c:
2217 Improve comment and test commit mail sending.
2219 2007-06-07 Wim Taymans <wim@fluendo.com>
2221 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
2222 (gst_bin_remove_func), (gst_bin_element_set_state),
2223 (bin_handle_async_start), (bin_handle_async_done),
2224 (gst_bin_handle_message_func):
2225 Add helper function to find messages.
2226 Generate the async-done messages together with the state change
2228 Small cleanups in handling toplevel bins.
2230 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2232 * libs/gst/base/gstdataqueue.c:
2233 * libs/gst/base/gstdataqueue.h:
2234 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2235 (gst_multi_queue_item_new), (gst_multi_queue_chain),
2236 (gst_multi_queue_sink_event):
2237 * tests/check/elements/multiqueue.c: (multiqueue_suite):
2238 Fix multiqueue leaking buffers and events when downstream or the
2239 queue are flushing. Make refcounting assumptions explicit and
2240 document them (shouldn't break existing code that uses it other than
2241 maybe leak miniobjects, but that already happens anyway). Add unit
2242 test for the most common flushing case. Fixes #423700.
2244 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
2246 * libs/gst/controller/gstcontroller.c:
2247 Clarify docs: The get_all, get_value_array(s) functions
2248 don't modify the GObject properties.
2250 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
2252 * libs/gst/controller/gstcontroller.c:
2253 (gst_controlled_property_set_interpolation_mode),
2254 (gst_controlled_property_prepend_default),
2255 (gst_controlled_property_new), (gst_controller_set_unlocked),
2256 (gst_controller_set), (gst_controller_set_from_list),
2257 (gst_controller_unset), (gst_controller_unset_all):
2258 * libs/gst/controller/gstcontrollerprivate.h:
2259 * libs/gst/controller/gstinterpolation.c:
2260 Factor out the 'set' logic into gst_controller_set_unlocked for the
2261 gst_controller_set and gst_controller_set_from_list functions.
2263 To make life of the interpolators easier always add a control point
2264 at timestamp zero with the default value.
2266 In the linear interpolator make things more obvious by better variable
2269 Implement cubic interpolation mode (by using a natural cubic spline)
2270 and map the quadratic interpolation mode to this too (as quadratic
2271 doesn't make much sense, see discussion on the list).
2273 * tests/check/libs/controller.c: (GST_START_TEST),
2274 (gst_controller_suite):
2275 Add unit test for the cubic interpolation mode and check everywhere
2276 if the interpolation mode could be set as expected.
2278 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2280 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
2281 Don't use GLib-2.10 functions, we still depend on
2282 GLib-how-old-is-it-again-2.8.
2284 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
2286 * docs/gst/gstreamer-sections.txt:
2290 * gst/gstparamspecs.c: (_gst_param_fraction_init),
2291 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
2292 (_gst_param_fraction_values_cmp),
2293 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
2294 * gst/gstparamspecs.h:
2296 * tests/check/Makefile.am:
2297 * tests/check/gst/.cvsignore:
2298 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
2299 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
2300 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
2301 (GST_START_TEST), (gst_param_spec_suite):
2302 API: add GstParamSpecFraction, so elements can have fraction
2303 properties without lots of painful string parsing (#444648).
2305 2007-06-05 Wim Taymans <wim@fluendo.com>
2307 * gst/gstobject.c: (gst_object_class_init):
2308 Fix signal signature.
2311 Add small clarification in the api docs.
2313 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
2314 States are protected with object lock.
2316 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2319 I should probably be listed as an author by now.
2321 * docs/random/release:
2322 Update the release doc
2324 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
2327 Make docs for gst_value_compare() mention return enums that
2330 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2335 === release 0.10.13 ===
2337 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
2340 releasing 0.10.13, "With or without you"
2342 2007-05-25 Wim Taymans <wim@fluendo.com>
2344 * gst/gstbin.c: (bin_handle_async_done):
2345 Make sure that the child bin stops after completing the async state
2346 change so that the parent can continue the state change to PLAYING.
2349 2007-05-25 Wim Taymans <wim@fluendo.com>
2351 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2352 (unref_data), (gst_collect_pads_remove_pad),
2353 (gst_collect_pads_check_pads):
2354 Use additional refcounting to avoid crashes when dynamically adding and
2355 removing pads. Fixes #420206.
2357 2007-05-24 Wim Taymans <wim@fluendo.com>
2359 * tools/gst-launch.c: (event_loop):
2360 When buffering goes from a two digit to a single digit number, make sure
2361 to remove the old second digit by writing a blank over it.
2363 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
2365 * libs/gst/base/gstdataqueue.c:
2366 Eliminate tabs and trailing comma in enum list; fix some typos.
2368 2007-05-24 Wim Taymans <wim@fluendo.com>
2370 * tests/check/gst/gstbin.c: (GST_START_TEST):
2371 Allow refcount of 3 and 4 because some state thread might still be busy
2374 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
2376 * plugins/elements/Makefile.am:
2377 * plugins/elements/gstmultiqueue.h:
2378 * plugins/elements/gstqueue.h:
2379 These are not installed headers, no need for padding.
2381 2007-05-24 Wim Taymans <wim@fluendo.com>
2383 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
2384 (gst_bin_continue_func):
2385 Enable latency for next release.
2386 Restore STATE_LOCK around recalc_state that was left out during the
2387 rewrite and could result in racy behaviour when _get_state and
2388 recalc_state are run concurrently. See #440463.
2390 2007-05-23 Wim Taymans <wim@fluendo.com>
2392 * tests/check/gst/gstsystemclock.c: (store_callback),
2394 Improve test_async_order to also work when both timers are already
2395 expired when we get scheduled to check it.
2397 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2399 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
2400 (gst_bin_set_property), (gst_bin_get_property),
2401 (gst_bin_remove_func), (gst_bin_handle_message_func):
2403 'private' is a c++ keyword, let's not use that in header files,
2404 otherwise c++ compilers will throw a tantrum.
2406 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2408 * plugins/elements/gstelements.c:
2409 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
2410 (gst_file_sink_get_current_offset):
2411 * plugins/indexers/gstindexers.c: (plugin_init):
2412 Use #ifdef for HAVE_XYZ for consistency.
2414 * tests/check/Makefile.am:
2415 * tests/check/elements/.cvsignore:
2416 * tests/check/elements/filesink.c: (setup_filesink),
2417 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
2418 Add some unit tests for filesink.
2420 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
2422 Patch by: Mark Nauwelaerts <manauw at skynet be>
2424 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2425 (gst_file_sink_query), (gst_file_sink_do_seek),
2426 (gst_file_sink_get_current_offset), (gst_file_sink_render):
2427 * plugins/elements/gstfilesink.h:
2428 Fix position reporting; rename data_written member to current_pos to
2429 reflect its real meaning (fixes #412648).
2431 2007-05-22 Edward Hervey <edward@fluendo.com>
2433 * docs/gst/gstreamer-sections.txt:
2434 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2435 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
2436 (gst_bin_remove_func), (gst_bin_handle_message_func):
2438 Add a property for bins that handle the state change of their childs.
2441 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2443 * libs/gst/controller/gstinterpolation.c:
2444 Use an array of the correct type when using _get_value_array with
2445 linear interpolation.
2447 2007-05-22 Stefan Kost <ensonic@users.sf.net>
2449 * gst/gstelement.c (gst_element_requires_clock,
2450 gst_element_provides_clock, gst_element_request_pad,
2451 gst_element_class_set_details, gst_element_class_set_details_simple,
2452 gst_element_default_send_event, gst_element_abort_state,
2453 gst_element_continue_state, gst_element_set_state,
2454 gst_element_set_state_func, iterator_activate_fold_with_resync):
2455 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
2456 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
2457 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
2458 gst_pad_get_range, gst_pad_pull_range):
2459 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
2460 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
2461 GstPadActivateModeFunction, GstPadChainFunction,
2462 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
2463 GstPadFixateCapsFunction, GstPadTemplate):
2464 * gst/gstpipeline.c (gst_pipeline_change_state,
2465 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
2466 gst_pipeline_set_clock, gst_pipeline_auto_clock,
2467 gst_pipeline_get_delay):
2468 Whitespace and docs fixes.
2470 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2472 * libs/gst/controller/gstinterpolation.c:
2473 (interpolate_trigger_get_enum_value_array),
2474 (interpolate_trigger_get_string_value_array):
2475 Add support for retrieving value arrays when using the trigger
2478 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2480 * libs/gst/controller/gstcontroller.c:
2481 (gst_controller_get_value_array):
2482 * libs/gst/controller/gstcontroller.h:
2483 Clarify the docs of gst_controller_get_value_array(): The array where
2484 the values should be written to must be allocated as there seems to be
2485 no way to get the size of a random GType. This doesn't change any
2486 behaviour. Also fix some typos all over the place and remove an unused,
2487 commented function that is not necessary as g_object_set() could be
2489 * tests/check/libs/controller.c: (GST_START_TEST),
2490 (gst_controller_suite):
2491 Add unit test for gst_controller_get_value_array().
2493 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
2495 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2497 Disable part of the gst_buffer_try_new_and_alloc test, because
2498 it can happily succeed on 64-bit systems where there's more address
2501 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2503 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2504 Add unit test for the improved caps checking from bug #421543.
2506 2007-05-21 Wim Taymans <wim@fluendo.com>
2508 * docs/design/part-synchronisation.txt:
2511 * gst/gstbin.c: (gst_bin_query):
2512 * plugins/elements/gstqueue.c: (apply_segment):
2518 2007-05-21 Wim Taymans <wim@fluendo.com>
2520 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2521 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
2522 (gst_pad_configure_src):
2523 Added simple version of improved caps checking. It was previously
2524 assumed that a setcaps function would check the validity of the caps but
2525 people prefer us to check caps against the template automatically.
2528 2007-05-21 Wim Taymans <wim@fluendo.com>
2530 * libs/gst/base/gstbasetransform.h:
2531 Fix macro for locking/unlocking the transform lock.
2533 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
2535 * docs/plugins/tmpl/.cvsignore:
2538 2007-05-18 Edward Hervey <edward@fluendo.com>
2540 * plugins/elements/gstqueue.c: (gst_queue_loop):
2541 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
2542 for the subtle art of warning a potentially blocking thread that it
2543 should check the source pad return value, and relay the information
2546 2007-05-18 Edward Hervey <edward@fluendo.com>
2548 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2549 Release the queue lock !
2551 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2553 * docs/libs/gstreamer-libs-sections.txt:
2554 Add the two new controller functions to the appropiate places.
2556 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2558 reviewed by: Stefan Kost <ensonic@users.sf.net>
2560 * libs/gst/controller/gstcontroller.c:
2561 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
2562 (_gst_controller_get_property), (_gst_controller_set_property),
2563 (_gst_controller_init), (_gst_controller_class_init):
2564 * libs/gst/controller/gstcontroller.h:
2565 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
2566 (gst_object_get_control_rate), (gst_object_set_control_rate):
2567 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
2568 Add API that provides sync suggestion timestamps for elements that
2569 call gst_object_sync_values() from which those elements can subdivide
2570 their processing loop to get the best results for the controlled
2571 properties. For now it just suggests last_sync + control_rate as
2572 new timestamp but this will be improved in the future.
2574 While doing that change the control-rate property to a GstClockTime
2575 from guint and change it's meaning from samples to nanoseconds as
2576 the GstController doesn't know anything about sampling rate. Strictly
2577 speaking this breaks ABI but as the control-rate property didn't do
2578 anything in the past and as such couldn't be used this should be no
2581 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2583 reviewed by: Stefan Kost <ensonic@users.sf.net>
2585 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2586 (gst_controller_unset_all):
2587 * libs/gst/controller/gstcontrollerprivate.h:
2588 * libs/gst/controller/gstinterpolation.c:
2589 (gst_controlled_property_find_control_point_node):
2590 Save last synced value from the list to continue searching from there
2591 in future syncs. This speeds everything up a bit.
2593 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2595 reviewed by: Stefan Kost <ensonic@users.sf.net>
2597 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
2598 (gst_control_point_find), (gst_controlled_property_new),
2599 (gst_control_point_free), (gst_controlled_property_free),
2600 (gst_controller_set), (gst_controller_set_from_list),
2601 (gst_controller_unset), (gst_controller_unset_all),
2602 (gst_controller_sync_values):
2603 * libs/gst/controller/gstcontroller.h:
2604 * libs/gst/controller/gstcontrollerprivate.h:
2605 * libs/gst/controller/gstinterpolation.c:
2606 (gst_controlled_property_find_control_point_node),
2607 (interpolate_none_get), (interpolate_trigger_get):
2608 Add a new private GstControlPoint struct which "inherits" from
2609 GstTimedValue to allow different interpolators to store internal
2610 values next to each control point. From the outside everything is
2611 still a GstControlPoint so we don't loose binary compatibility.
2612 Also fixup all the GValue handling to not leak GValues or list nodes.
2613 * tests/check/libs/controller.c: (GST_START_TEST):
2614 Free the list nodes and GValues in the controller_misc test.
2616 2007-05-17 Edward Hervey <edward@fluendo.com>
2621 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
2623 * gst/gstplugin.c: (gst_plugin_load_file):
2624 If we fail to load a plugin because of unresolved symbols or missing
2625 libraries and spew a warning to stderr, we may just as well mention
2626 which plugin it was that failed to load.
2628 2007-05-13 David Schleef <ds@schleef.org>
2630 * docs/Makefile.am: the gtk-doc makefile snippet correctly
2631 handles the case when ENABLE_GTK_DOC is false, and installs
2632 the prebuilt documentation. So gtk-doc subdirs are
2633 unconditionally enabled. Fixes: #349099.
2635 2007-05-13 David Schleef <ds@schleef.org>
2637 * gst/gstutils.h: Reword some documentation.
2639 2007-05-12 David Schleef <ds@schleef.org>
2641 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
2642 do anything with the passed "module" parameter, so remove it.
2643 Allows removal of additional vestigal code.
2645 2007-05-12 David Schleef <ds@schleef.org>
2648 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
2649 Switch to using g_stat() because it's more portable.
2651 2007-05-12 David Schleef <ds@schleef.org>
2654 Add GST_DISABLE_OPTION_PARSING, in order to disable option
2655 parsing for embedded systems.
2656 * gst/gstelementfactory.c:
2657 Allow gst_element_register() to be called with plugin==NULL.
2658 Did nobody notice that static elements were broken?
2660 2007-05-12 Wim Taymans <wim@fluendo.com>
2662 * tools/gst-launch.c: (event_loop):
2663 Give more interesting info when buffering starts and stops.
2664 Fix case where buffering starts but we fail to update the buffering flag
2665 because the target state is not PLAYING.
2667 2007-05-12 Wim Taymans <wim@fluendo.com>
2669 * plugins/elements/gstqueue.c: (gst_queue_init),
2670 (gst_queue_finalize), (update_time_level), (apply_segment),
2671 (apply_buffer), (gst_queue_locked_flush),
2672 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
2673 (gst_queue_handle_sink_event), (gst_queue_chain),
2674 (gst_queue_push_one), (gst_queue_loop):
2675 * plugins/elements/gstqueue.h:
2676 Refactor an cleanup queue a bit.
2677 Do better time level calculations that also work when the srcpad is not
2679 Remove some unneeded debug lines.
2681 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
2682 Added testcase for time level measurement.
2683 Try to make some stuff more racefree.
2685 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
2687 * gst/gsturi.c: (gst_element_make_from_uri):
2688 Don't leak plugin feature.
2690 * tests/check/Makefile.am:
2691 * tests/check/gst/.cvsignore:
2692 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
2693 Add brain-dead unit test.
2695 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
2697 Patch by: Jeroen Wouters <woutersj at gmail com>
2699 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
2700 Treat protocol strings in a case-insensitive way (#437563).
2702 2007-05-11 Michael Smith <msmith@fluendo.com>
2704 * gst/gstplugin.c: (gst_plugin_load_file):
2705 * gst/gstregistry.c: (gst_registry_scan_path_level):
2706 Don't print a g_warning for any failure to load a shared object.
2707 Instead, push this down into gstplugin.c, and warn _only_ if we
2708 failed to open the module (i.e. failure to link).
2709 Avoids warnings on normal, working, non-plugin .so files.
2711 2007-05-11 Stefan Kost <ensonic@users.sf.net>
2713 * gst/gstplugin.c (gst_plugin_load_file):
2714 * gst/gstregistry.c (GST_CAT_DEFAULT,
2715 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
2716 Print a g_warning if there was an error when loading a plugins during
2717 registry scan. The shuld help beginners starting with gst-plugin
2720 2007-05-10 Wim Taymans <wim@fluendo.com>
2722 * plugins/elements/gstqueue.c: (gst_queue_class_init),
2723 (update_time_level), (gst_queue_locked_flush),
2724 (gst_queue_handle_sink_event), (gst_queue_chain),
2725 (gst_queue_push_one), (gst_queue_loop):
2726 * plugins/elements/gstqueue.h:
2727 Be smarter when calculating the current amount of data in the queue by
2728 measuring the difference between start and end timestamps (in running
2729 time) inside the queue. Fixes #432876.
2730 API: GstQueue::pushing to notify elements that we are pushing data again
2731 since the running signal is rather broken for this purpose.
2733 2007-05-10 Stefan Kost <ensonic@users.sf.net>
2735 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
2736 gst_queue_base_init, gst_queue_init):
2739 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
2741 * win32/common/libgstreamer.def:
2742 Add new exported functions.
2743 * win32/vs6/grammar.dsp:
2744 Use grammar pre-generated files.
2746 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
2748 Based on patch by: Peter Kjellerstedt <pkj at axis com>
2751 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
2753 * gst/gstutils.c: (gst_parse_bin_from_description):
2755 Maintain API and ABI when --disable-parse is used. Now that
2756 we have an appropriate error code, we can just return NULL and the
2757 appropriate error when gst_parse_launch() is used despite it having
2758 been disabled (#342564).
2760 * tests/check/Makefile.am:
2761 * tests/check/pipelines/.cvsignore:
2762 * tests/check/pipelines/parse-disabled.c:
2763 Make sure these functions exist and return NULL plus a GError when
2764 --disable-parse is used.
2766 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
2768 * tests/benchmarks/complexity.c: (main):
2769 * tests/benchmarks/mass-elements.c: (main):
2770 Set a good example and don't leak messages.
2772 2007-05-06 Stefan Kost <ensonic@users.sf.net>
2774 * docs/gst/Makefile.am:
2775 * docs/libs/Makefile.am:
2776 Correct fixxrefs options.
2778 * docs/plugins/Makefile.am:
2779 * docs/plugins/gstreamer-plugins-docs.sgml:
2780 * docs/plugins/gstreamer-plugins-sections.txt:
2781 * plugins/elements/Makefile.am:
2782 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
2783 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
2784 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
2785 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
2786 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
2787 _GstCapsFilterClass, trans_class):
2788 * plugins/elements/gstelements.c (name, rank, type, _elements):
2789 * plugins/elements/gstidentity.c
2790 (gst_identity_check_imperfect_timestamp,
2791 gst_identity_check_imperfect_offset):
2792 Document capsfilter and add doc-blurb to identity.
2794 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
2796 * libs/gst/controller/gstcontroller.c:
2797 (gst_controlled_property_set_interpolation_mode):
2798 * libs/gst/controller/gstinterpolation.c:
2799 Don't crash if someone tries to set an interpolation mode that
2800 is invalid or that isn't supported yet. Fixes #422295.
2802 * tests/check/libs/controller.c: (GST_START_TEST),
2803 (gst_controller_suite):
2804 Add a test case for the above.
2806 2007-05-03 Edward Hervey <edward@fluendo.com>
2808 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2809 Properly set the last_stop position on GstSegment. This will only happen
2810 if there is a buffer to push out.
2812 2007-05-03 Wim Taymans <wim@fluendo.com>
2814 * libs/gst/base/gstbasetransform.c:
2815 (gst_base_transform_buffer_alloc):
2816 always_in_place does not mean that the sink and source caps are the
2817 same! Make sure we don't blindly proxy the buffer_alloc in this case.
2819 2007-05-03 Wim Taymans <wim@fluendo.com>
2821 * docs/libs/gstreamer-libs-sections.txt:
2822 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2823 (gst_base_src_default_query), (gst_base_src_get_range):
2824 * libs/gst/base/gstbasesrc.h:
2825 API: gst_base_src_query_latency(). Added method so that subclasses can
2826 easily get the latency values of the base source class.
2828 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
2830 * tools/gst-inspect.c (print_implementation_info):
2833 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
2835 * tools/Makefile.am:
2836 * tools/gst-launch.1.in:
2837 Don't create a customised man page based on the host architecture,
2838 describe the default registry path generically. That way the man
2839 page is the same for all architectures and packagers have one
2840 multilib issue less to deal with. Fixes #434926.
2842 2007-05-02 Wim Taymans <wim@fluendo.com>
2845 Fix documentation as spotted by rg on IRC.
2847 2007-04-29 Stefan Kost <ensonic@users.sf.net>
2850 Improve docs for gst_element_{link,unlink}.
2852 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
2854 * docs/design/part-events.txt:
2855 * docs/design/part-overview.txt:
2859 * libs/gst/base/gstbasesink.c:
2860 Typo fixes; minor docs addition.
2862 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2864 * docs/gst/gstreamer-sections.txt:
2865 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
2866 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
2868 API: Add gst_uri_protocol_is_supported(), which checks if a sink
2869 or src that supports a given URI protocol exists.
2871 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2873 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2874 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2875 Set the location to NULL if "file://" is set as URI. Otherwise
2876 some random previous URI would still be set if "file://" is
2877 set on an already used filesink/filesrc.
2879 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
2881 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
2882 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
2883 Special case the "file://" URI as as this is used by some
2884 applications to test with gst_element_make_from_uri if there's
2885 an element that supports the URI protocol.
2886 Also move the g_path_is_absolute() check for the location part
2887 of the URI to also check this for "file://localhost/bla" URIs.
2889 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
2891 * docs/gst/gstreamer-sections.txt:
2892 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
2894 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2896 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2898 2007-04-26 Stefan Kost <ensonic@users.sf.net>
2900 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2901 (gst_registry_binary_load_pad_template),
2902 (gst_registry_binary_load_plugin),
2903 (gst_registry_binary_read_cache):
2904 * gst/gstregistrybinary.h:
2905 Implement no-mmap alternative for registry reading. Do code cleanups.
2906 Add more comments about avoiding strdups for all text data. Comments
2909 2007-04-25 Stefan Kost <ensonic@users.sf.net>
2911 * gst/gstregistrybinary.h (GstBinaryPluginElement,
2912 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
2913 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
2914 Comment structs and reformat to fix the build (that stuff should go
2915 into a priv. header).
2917 2007-04-25 Stefan Kost <ensonic@users.sf.net>
2919 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2920 (gst_registry_binary_load_feature):
2921 * gst/gstregistrybinary.h:
2922 Refactor so that we can implement multiple features. Add support for
2923 TypeFindFactory features.
2925 2007-04-24 Stefan Kost <ensonic@users.sf.net>
2927 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
2930 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
2932 2007-04-23 Stefan Kost <ensonic@users.sf.net>
2934 * gst/gstbin.c: (gst_bin_element_set_state),
2935 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
2936 (bin_handle_async_done), (gst_bin_handle_message_func):
2937 Fix build with --gst-disable-gst-debug
2939 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
2941 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
2942 Make sure streaming has finished before calling the ::stop() vfunc,
2943 since that vfunc might clear state which is being used in the
2944 streaming thread. This fixes a race that caused crashes in
2945 audioresample when shutting down a pipeline (#420106).
2947 2007-04-20 Stefan Kost <ensonic@users.sf.net>
2949 * docs/gst/gstreamer-sections.txt:
2950 That was one byte missing.
2952 2007-04-20 Stefan Kost <ensonic@users.sf.net>
2955 * docs/gst/gstreamer-sections.txt:
2957 * gst/gstconfig.h.in:
2958 * gst/gstobject.c: (gst_object_class_init),
2959 (gst_signal_object_class_init):
2961 2nd attempt to have a xml-less build as a joined effort of #413123
2964 2007-04-20 Stefan Kost <ensonic@users.sf.net>
2966 * docs/design/draft-tagreading.txt:
2967 Added open issues/thoughts to draft.
2969 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2971 * gst/parse/grammar.tab.pre.c:
2972 * gst/parse/grammar.tab.pre.h:
2973 * gst/parse/lex._gst_parse_yy.pre.c:
2974 Update the prebuild parser sources.
2976 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2978 * gst/parse/Makefile.am:
2979 And now fix the building of the flex sources. Now everything should
2982 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2984 * gst/parse/Makefile.am:
2985 Now hopefully fix the build failures by setting proper rule
2986 dependencies and moving instead of copying.
2988 2007-04-19 Stefan Kost <ensonic@users.sf.net>
2990 * tests/benchmarks/complexity.gnuplot:
2991 * tests/benchmarks/complexity.scm:
2992 * tests/benchmarks/mass-elements.gnuplot:
2993 * tests/benchmarks/mass-elements.scm:
2994 Total licensification.
2996 2007-04-19 Stefan Kost <ensonic@users.sf.net>
2998 * gst/parse/Makefile.am:
2999 Fix the build by correcting the rule that gave wrong files to flex.
3001 2007-04-19 Stefan Kost <ensonic@users.sf.net>
3003 * tests/benchmarks/complexity.c:
3004 * tests/benchmarks/mass-elements.c:
3005 Change licence to LGPL as granted by Benjamin and Andy.
3007 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3009 * gst/parse/Makefile.am:
3010 Add correct grammar.tab.h dependency if compiling without new enough
3011 flex. Fixes #431150.
3013 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
3015 * gst/parse/Makefile.am:
3016 Fix typo and use outdated sources if the flex/bison sources are newer
3017 than the pregenerated ones but flex is too old. Print a warning in
3018 that case. This should fix the build on the build bot.
3020 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
3022 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
3023 * gst/parse/Makefile.am:
3024 * gst/parse/grammar.y:
3025 * gst/parse/parse.l:
3026 Make the parser reentrant and recursively callable. This requires flex
3027 >= 2.5.31, for older versions pregenerated sources are used as we
3028 can't bump the build dependency. Finally fixes #349180.
3030 * gst/gstparse.c: (gst_parse_launch):
3031 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
3034 * docs/gst/Makefile.am:
3035 * docs/gst/Makefile.am:
3036 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
3037 (__gst_parse_strfree), (__gst_parse_link_new),
3038 (__gst_parse_link_free), (__gst_parse_chain_new),
3039 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
3040 (gst_parse_element_set), (gst_parse_free_link),
3041 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
3042 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
3043 (_gst_parse_launch):
3044 * gst/parse/grammar.tab.pre.h:
3045 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
3046 (yy_get_previous_state), (yy_try_NUL_trans), (input),
3047 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
3048 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
3049 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
3050 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
3051 (_gst_parse_yypop_buffer_state),
3052 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
3053 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
3054 (yy_fatal_error), (_gst_parse_yyget_extra),
3055 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
3056 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
3057 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
3058 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
3059 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
3060 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
3061 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
3062 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
3063 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
3064 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
3065 (_gst_parse_yyfree):
3066 If the installed flex version is too old use pre-generated parser
3067 sources. These pre-generated parser sources are always updated when
3068 the actual flex/bison sources change but require everybody who wants
3069 to change something in the parser to have flex >= 2.5.31 installed.
3071 2007-04-18 Stefan Kost <ensonic@users.sf.net>
3073 * common/m4/gst-gettext.m4:
3074 * gst/gst-i18n-lib.h:
3075 Make --disable-nls to work
3077 2007-04-17 Wim Taymans <wim@fluendo.com>
3079 * gst/gstconfig.h.in:
3080 Revert previous change that broke the build.
3082 2007-04-17 Stefan Kost <ensonic@users.sf.net>
3086 * gst/gstconfig.h.in:
3087 Drop libxml2 dependency when building with
3088 --enable-binary-registry --disable-loadsave
3090 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
3092 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3093 (gst_registry_binary_read_cache):
3094 * gst/gstregistrybinary.h:
3095 Remove unnecessary <sys/mman.h> include which broke the win32 build
3096 with MingW; move includes from header file to .c file, even if the
3097 header file isn't installed; use g_strerror() where UTF-8 strings
3098 are expected, such as in GST_DEBUG messages.
3100 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3102 * docs/libs/gstreamer-libs-sections.txt:
3103 Remove bogus addition for API I didn't end up keeping.
3105 * libs/gst/base/gstbasesrc.h:
3106 Mention Since: 0.10.13 in the documentation.
3108 Add the API keyword to the previous ChangeLog entry.
3110 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3112 * docs/libs/gstreamer-libs-sections.txt:
3113 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3114 (gst_base_src_default_prepare_seek_segment),
3115 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
3116 * libs/gst/base/gstbasesrc.h:
3117 Allow basesrc derived classes to execute seeks in other formats
3118 by providing a prepare_seek_segment vmethod. Sub-classes can choose
3119 to prepare the GstSegment in any format that their perform_seek method
3120 will be able to understand. The default implementation provides the
3121 old behaviour of attempting to convert the seek offsets to the
3122 configured native format.
3124 API: basesrc::prepare_seek_segment vmethod.
3126 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3128 * gst/gstelement.c: (gst_element_get_state_func):
3129 Don't output the same debug statement twice.
3131 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3132 (gst_adapter_peek), (gst_adapter_take_buffer):
3133 Optimise the case where we have buffers at the head of the queue that
3134 can be joined quickly (because they're contiguous sub-buffers) by
3135 merging them together rather than copying data out into new memory.
3137 * gst/parse/grammar.y:
3138 * tests/check/pipelines/parse-launch.c:
3139 Fix a leak in an error path for parse_launch, and add a check
3140 for it to the testsuite.
3142 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
3144 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3145 Don't deadlock when releasing a pad - gst_pad_set_active may try
3146 and take the multiqueue lock too.
3148 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
3150 * gst/gsterror.c: (_gst_core_errors_init):
3152 API: add GST_CORE_ERROR_DISABLED (#392804).
3154 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
3156 * docs/faq/gst-uninstalled:
3157 don't get empty paths on the PATH variables
3158 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3159 Don't format for the uncommon terminal width of 84 characters.
3161 2007-04-06 Wim Taymans <wim@fluendo.com>
3163 * gst/gstpipeline.c: (reset_stream_time),
3164 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3165 Only try to select a different pipeline clock when we went back to
3166 PAUSED and not when we merely got flushed.
3168 2007-04-05 Michael Smith <msmith@fluendo.com>
3170 * tools/gst-launch.1.in:
3171 fractions are better supported in gstreamer than ractions, so
3172 suggest using those.
3174 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
3176 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3180 Added Danish translation.
3182 2007-04-05 Wim Taymans <wim@fluendo.com>
3184 * libs/gst/base/gstbasesink.c:
3185 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3186 Fix leak caused when refusing newsegment after EOS.
3188 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3189 (gst_fake_sink_init), (gst_fake_sink_set_property),
3190 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3191 (gst_fake_sink_render), (gst_fake_sink_change_state):
3192 * plugins/elements/gstfakesink.h:
3193 Add num-buffers property to make the element generate EOS after a
3194 configurable amount of buffers.
3195 API: fakesink::num-buffers property.
3197 * tests/check/elements/fakesink.c: (GST_START_TEST),
3199 Fix GstBus leak in test.
3200 Test for fakesink num-buffers.
3202 2007-04-05 Wim Taymans <wim@fluendo.com>
3204 * libs/gst/base/gstbasesink.c:
3205 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3206 (gst_base_sink_change_state):
3207 Don't accept anything after an EOS, return UNEXPECTED instead.
3209 * tests/check/elements/fakesink.c: (GST_START_TEST),
3211 Unit test for new EOS behaviour.
3213 2007-04-05 Wim Taymans <wim@fluendo.com>
3215 * gst/gstelement.c: (gst_element_get_request_pad):
3216 Make padtemplates also work when they don't contain %s or %d.
3218 2007-04-05 Wim Taymans <wim@fluendo.com>
3220 * docs/gst/gstreamer-sections.txt:
3221 * gst/gstclock.c: (gst_clock_adjust_unlocked),
3222 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
3224 Improve _adjust_unlocked() so that it overflows less.
3225 Add gst_clock_unadjust_unlocked to convert from external time to
3226 internal time based on calibration.
3227 Add some more debug.
3228 API: GstClock::gst_clock_unadjust_unlocked()
3230 2007-04-03 Wim Taymans <wim@fluendo.com>
3232 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3234 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3235 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
3236 when releasing sink pad. Fixes #425400.
3238 2007-04-02 Stefan Kost <ensonic@users.sf.net>
3240 * docs/random/ensonic/dynlink.txt:
3241 More work on proposal for new core api.
3243 * docs/libs/gstreamer-libs-sections.txt:
3244 * libs/gst/base/gstbasetransform.h:
3245 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
3247 * libs/gst/controller/gstcontroller.c:
3248 (on_object_controlled_property_changed),
3249 (gst_controller_sync_values),
3250 (gst_controller_set_interpolation_mode):
3251 * libs/gst/controller/gstcontroller.h:
3252 Less verbose logging add docs for unimplemented parts and correctly
3253 return when using unavailable parts.
3255 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
3257 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
3258 Move all the debug to the CLOCK category, and associate it with
3261 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
3263 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
3264 Make take_buffer a bit quicker by removing redundant checks
3265 caused by calling gst_adapter_take.
3267 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
3269 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
3272 * tests/check/Makefile.am:
3273 * tests/check/elements/.cvsignore:
3274 * tests/check/elements/multiqueue.c: (setup_multiqueue),
3275 (GST_START_TEST), (multiqueue_suite):
3276 Add some dead simple unit tests for the 'multiqueue' element
3277 (some bits don't work yet and are disabled for now).
3279 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
3281 * gst/gstelement.c: (gst_element_get_request_pad),
3282 (gst_element_class_get_request_pad_template):
3283 Make gst_element_get_request_pad() create request pads only for
3284 request pad templates and not for, say, sometimes pad templates.
3286 2007-03-28 Stefan Kost <ensonic@users.sf.net>
3288 * docs/design/draft-klass.txt:
3289 Add example that needs more thinking.
3291 * docs/design/draft-missing-plugins.txt:
3292 More thoughts about wrapper plugins.
3294 * docs/random/ensonic/embedded.txt:
3295 * docs/random/ensonic/profiling.txt:
3298 2007-03-25 Wim Taymans <wim@fluendo.com>
3300 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3301 (gst_base_src_loop):
3302 Only push the segment events in the PLAYING state for live sources.
3304 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
3306 * gst/gstpipeline.c: (gst_pipeline_change_state):
3307 Modify the clock distribution path in PAUSED->PLAYING so that we
3308 never attempt to choose a new clock unless we're actually leaving
3309 the PAUSED state for the first time. This prevents choosing a
3310 different clock when the state_change gets called for a 2nd time due
3311 to some element doing an async state change.
3313 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3315 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
3316 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
3317 (gst_pad_chain_unchecked), (gst_pad_push):
3318 Revert last commit. This needs some more thoughts.
3320 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3322 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
3323 (gst_pad_chain_unchecked), (gst_pad_push):
3324 Check in set_caps if the caps are compatible with the pad and remove
3325 two functions that are redundant now. Fixes #421543.
3327 2007-03-22 Wim Taymans <wim@fluendo.com>
3329 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3330 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
3331 Unref some more to make valgrind happy.
3333 2007-03-22 Wim Taymans <wim@fluendo.com>
3335 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
3336 (gst_system_clock_id_wait_jitter),
3337 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3338 Fix anoying regression that survived a few releases. When adding an
3339 async entry while blocking on a sync entry, the sync entry will unblock
3340 but still be busy, so it should continue to wait instead of returning
3342 Add some comments here and there.
3344 * tests/check/gst/gstsystemclock.c: (mixed_thread),
3345 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
3346 Add testcase for this.
3348 2007-03-22 Wim Taymans <wim@fluendo.com>
3350 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3351 Handle errors from the clock sync better, only UNSCHEDULED indicates a
3352 WRONG_STATE and can silently pause the task. All other cases should
3355 2007-03-22 Wim Taymans <wim@fluendo.com>
3357 Patch by: Ville Syrjala <syrjala at sci dot fi>
3359 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
3360 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
3363 2007-03-21 Michael Smith <msmith@fluendo.com>
3365 * docs/pwg/advanced-types.xml:
3366 Fix some errors in the typefinding docs pointed out on irc.
3368 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
3370 * libs/gst/base/gstbasesrc.c:
3371 Clarify FIXME comment in the face of having added unlock_stop()
3373 2007-03-21 Wim Taymans <wim@fluendo.com>
3375 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
3376 Prepare for release where we warn against possible app breakage in the
3377 case of live pipelines along with an env var to enable/disable live
3378 preroll mode (GST_COMPAT=[no-]live-preroll).
3380 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3382 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
3383 So we should use correct constants for checking for None offset.
3385 2007-03-20 Wim Taymans <wim@fluendo.com>
3387 * docs/design/part-block.txt:
3388 Mention the fact that the newly switched element should be set to at
3391 2007-03-20 Wim Taymans <wim@fluendo.com>
3394 Fix compilation with registry disabled as spotted by Saur.
3396 2007-03-20 Wim Taymans <wim@fluendo.com>
3398 Patch by: Olivier Crete <tester at tester dot ca>
3400 * gst/gstelement.c: (gst_element_sync_state_with_parent):
3401 Look at the pending state too when syncing the element state to the
3402 parent. Fixes #420133.
3404 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
3406 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3407 (gst_base_sink_change_state):
3408 * libs/gst/base/gstbasesink.h:
3409 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3410 (gst_base_src_default_event), (gst_base_src_unlock_stop),
3411 (gst_base_src_deactivate):
3412 * libs/gst/base/gstbasesrc.h:
3413 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
3414 for sub-classes to correctly clear any state they set trying to
3415 unlock, such as clearing out unlock commands from a command fd.
3416 API: basesrc::unlock_stop
3417 API: basesink::unlock_stop
3419 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
3420 (gst_fd_sink_render), (gst_fd_sink_unlock),
3421 (gst_fd_sink_unlock_stop):
3422 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
3423 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
3424 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
3426 Implement unlock_stop in fdsrc and fdsink.
3427 Implement seeking in fdsrc when a seekable fd is passed, as in
3428 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
3430 2007-03-19 Wim Taymans <wim@fluendo.com>
3432 Patch by: Evan Nemerson <evan at coeus dash group dot com>
3434 * gst/gstelement.c: (gst_element_class_init):
3435 Fix pad-added and pad-removed signal signatures so that the pad type is
3436 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
3438 2007-03-19 Wim Taymans <wim@fluendo.com>
3440 * docs/gst/gstreamer-sections.txt:
3441 Add new element field and method.
3443 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3444 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
3445 (gst_bin_recalc_state), (gst_bin_get_state_func),
3446 (gst_bin_element_set_state), (gst_bin_change_state_func),
3447 (gst_bin_continue_func), (bin_bus_handler),
3448 (bin_push_state_continue), (bin_handle_async_start),
3449 (bin_handle_async_done), (gst_bin_handle_message_func):
3450 Make async state changes a bit smarter by using new ASYNC_START and
3451 ASYNC_DONE messages. This reduces the number of times we run the state
3452 recalculation thread.
3453 Don't change state of element with a pending ASYNC_START message.
3454 Deprecate STATE_DIRTY messages.
3456 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
3457 (gst_element_get_state_func), (gst_element_continue_state),
3458 (gst_element_lost_state), (gst_element_set_state_func),
3459 (gst_element_change_state):
3461 Keep the state that was last set by the app in a new element field.
3462 Don't allow state changes when handling an element event.
3463 Post ASYNC_START and ASYNC_DONE messages.
3464 Change lost_state so that we go to PAUSED and wait for the parent to set
3465 us to PLAYING again (so latency calculation can be performed)
3466 Export gst_element_change_state() method so that subclasses can use it.
3467 API: gst_element_change_state()
3468 API: GST_STATE_TARGET
3470 * gst/gstpipeline.c: (gst_pipeline_class_init),
3471 (reset_stream_time), (gst_pipeline_change_state),
3472 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
3473 Using the new ASYNC_START message we can reset the base_time when
3474 needed. This can then be used to implement base_time redistribution in
3475 flushing seeks so that we can remove the explicit seek handling.
3476 Perform latency query and configuration when going to PLAYING.
3478 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3479 (gst_base_sink_query), (gst_base_sink_change_state):
3480 Post new ASYNC_START/ASYNC_DONE messages.
3482 * tests/check/generic/sinks.c: (GST_START_TEST):
3483 Fix test because the bin will not set the async element to PLAYING right
3486 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
3487 Make the message check a little stronger.
3488 Handle ASYNC messages.
3490 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
3491 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
3492 Expect ASYNC_DONE messages.
3494 2007-03-19 Wim Taymans <wim@fluendo.com>
3496 * docs/gst/gstreamer-sections.txt:
3497 * gst/gstmessage.c: (gst_message_new_async_start),
3498 (gst_message_new_async_done), (gst_message_parse_info),
3499 (gst_message_parse_async_start):
3501 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
3504 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
3506 * tools/gst-inspect.c:
3507 (print_plugin_automatic_install_info_codecs):
3508 Now that we don't check for the 'Codec' keyword any longer in the
3509 klass, we shouldn't spew a warning if the klass isn't a decoder or
3510 encoder (since it might be a Source/Network, for example).
3512 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
3514 * tools/gst-inspect.c:
3515 (print_plugin_automatic_install_info_codecs):
3516 Don't require decoder/demuxer/depayloader elements or
3517 encoder/muxer/paylader elements to have 'Codec' as part of their
3518 factory class string when introspecting a plugin's capabilities.
3519 draft-klass.txt mentions that it might be removed in future, and
3520 flump3dec doesn't have it as part of its class string, so chances
3521 are others might also not have it.
3523 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
3545 Update translations from translation project
3547 2007-03-14 Stefan Kost <ensonic@users.sf.net>
3549 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
3550 (gst_child_proxy_set_property):
3551 Invert precondition check to be alike the ones in the mimiced gobject
3554 2007-03-13 Stefan Kost <ensonic@users.sf.net>
3556 * docs/design/draft-tagreading.txt:
3557 * docs/random/ensonic/audiobaseclasses.txt:
3558 Do some Architect work.
3560 * gst/gstobject.c: (gst_object_set_name):
3564 Add docs that point from gst_pad_get_range to gst_pad_pull_range
3566 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
3568 * gst/gstsystemclock.c: (gst_system_clock_init),
3569 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
3570 Defer starting the async system clock thread until the first async
3571 wait is scheduled. Fixes #414986.
3573 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
3575 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
3576 (gst_single_queue_free):
3577 Fix small leak (free GstSingleQueue structure too, not only contents).
3579 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
3581 * gst/gstbin.c:(gst_bin_add):
3582 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
3583 * win32/common/libgstbase.def:
3584 * win32/common/libgstreamer.def:
3585 Add new exported functions.
3587 2007-03-09 Wim Taymans <wim@fluendo.com>
3589 * docs/plugins/gstreamer-plugins-sections.txt:
3592 2007-03-09 Wim Taymans <wim@fluendo.com>
3594 * docs/gst/gstreamer-sections.txt:
3595 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
3597 Add metadata copy functions. Fixes #393099.
3598 API: gst_buffer_copy_metadata()
3600 * gst/gstutils.c: (gst_buffer_stamp):
3601 * libs/gst/base/gstbasetransform.c:
3602 (gst_base_transform_prepare_output_buffer):
3603 Use new metadata copy functions.
3605 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
3607 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3608 (gst_identity_init), (gst_identity_check_perfect),
3609 (gst_identity_check_imperfect_timestamp),
3610 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
3611 (gst_identity_set_property), (gst_identity_get_property):
3612 * plugins/elements/gstidentity.h:
3613 Separate out check-imperfect-timestamp and check-imperfect-offset.
3614 Put back check-perfect as it was to keep compatibility.
3616 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
3618 * gst/gstelement.c: (gst_element_dispose):
3619 There's no need to warn if VOID_PENDING is not NONE here, as
3620 long as the state is NULL it's ok, and that's checked immediately
3623 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3625 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3626 Fix check for perfect stream to ignore buffers with -1
3627 offsets/offset ends when checking data contiguity.
3629 2007-03-08 Wim Taymans <wim@fluendo.com>
3631 * tools/gst-launch.c: (event_loop):
3632 Print INFO messages.
3634 2007-03-08 Wim Taymans <wim@fluendo.com>
3636 * libs/gst/base/gstbasetransform.c:
3637 (gst_base_transform_sink_eventfunc),
3638 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3639 (gst_base_transform_activate):
3640 * libs/gst/base/gstbasetransform.h:
3641 Add support for dropping buffers with custom GstFlowReturn.
3642 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
3643 buffers or dropped buffers.
3645 * docs/libs/gstreamer-libs-sections.txt:
3646 docs for new custom return code.
3648 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3649 Use drop support in base class to implement drop-probability.
3651 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
3653 * gst/gst.c: (load_plugin_func):
3654 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
3655 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3656 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
3657 Remove newlines at end of debug log strings.
3659 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3661 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3662 Only post bus message at max, once per buffer received.
3664 2007-03-07 Wim Taymans <wim@fluendo.com>
3666 * docs/design/Makefile.am:
3667 * docs/design/part-synchronisation.txt:
3668 Add doc about synchronisation
3670 * docs/design/draft-latency.txt:
3671 * docs/design/part-TODO.txt:
3672 * docs/design/part-clocks.txt:
3673 * docs/design/part-events.txt:
3674 * docs/design/part-gstbus.txt:
3675 * docs/design/part-gstpipeline.txt:
3676 * docs/design/part-live-source.txt:
3677 * docs/design/part-messages.txt:
3678 * docs/design/part-overview.txt:
3679 * docs/design/part-streams.txt:
3680 * docs/design/part-trickmodes.txt:
3681 Documentation updates.
3683 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
3686 Update the doap file.
3688 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3690 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3691 Rename non-perfect to imperfect for Mike and for the sanctity of the
3693 Also make sure bus message gets emitted for data-incontiguities.
3695 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3697 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
3698 (gst_identity_start):
3699 * plugins/elements/gstidentity.h:
3700 Emit bus message if check-perfect is true and we encounter a
3701 non-perfect stream between 2 consecutive buffers.
3704 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
3709 === release 0.10.12 ===
3711 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
3714 releasing 0.10.12, "Inevitable Demise"
3716 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
3719 Version 0.10.11.2 (0.10.12 pre-release)
3720 Bump libtool versioning.
3722 2007-03-01 Stefan Kost <ensonic@users.sf.net>
3724 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3725 Log flow-names and not numbers.
3727 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
3730 Convert to new AG_GST style.
3732 2007-02-28 Wim Taymans <wim@fluendo.com>
3734 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
3735 Don't unref query twice.
3737 2007-02-28 Wim Taymans <wim@fluendo.com>
3739 * gst/gstvalue.c: (gst_value_transform_object_string),
3740 (_gst_value_initialize):
3741 Implement GstObject -> string transform so we print object names
3742 when serializing GValues containing GstObjects.
3744 2007-02-28 Wim Taymans <wim@fluendo.com>
3746 * docs/gst/gstreamer-sections.txt:
3747 Add new stuff to docs.
3749 2007-02-28 Wim Taymans <wim@fluendo.com>
3751 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3752 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
3753 (gst_base_sink_change_state):
3754 Improve latency query code.
3755 Don't leak latency events.
3757 * tests/check/gst/gstbin.c: (GST_START_TEST):
3760 2007-02-28 Wim Taymans <wim@fluendo.com>
3762 * gst/gstelement.c: (gst_element_message_full),
3763 (gst_element_get_state_func):
3765 Improve docs a little. Added Since: for new macro.
3767 * gst/gstobject.c: (gst_object_sink):
3768 * gst/gstpipeline.c: (gst_pipeline_change_state),
3769 (gst_pipeline_set_new_stream_time):
3770 * gst/gstpipeline.h:
3771 Improve debugging and docs.
3773 * gst/gstutils.c: (gst_element_state_change_return_get_name):
3776 2007-02-28 Wim Taymans <wim@fluendo.com>
3778 * gst/gstelement.c: (gst_element_message_full),
3779 (gst_element_set_locked_state), (gst_element_get_state_func),
3780 (gst_element_change_state):
3781 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
3782 Documentation updates.
3783 Small code cleanups.
3785 * gst/gstmessage.c: (gst_message_new_info),
3786 (gst_message_parse_info):
3788 API: gst_message_new_info()
3789 API: gst_message_parse_info()
3790 Add INFO message create and parse code.
3792 2007-02-28 Wim Taymans <wim@fluendo.com>
3794 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
3795 (bin_query_latency_done):
3796 Also report the live parameter of a latency query.
3798 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
3800 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
3801 Copy the current generic/states example from -base and adapt so
3802 we can use the exact same code everywhere.
3803 Check a STATES_IGNORE_ELEMENTS env var which can be used
3804 to ignore certain element factories for this test, which is
3805 what is being done in -base
3806 * tests/check/Makefile.am:
3807 Mention this environment variable.
3809 2007-02-27 Wim Taymans <wim@fluendo.com>
3811 * docs/gst/gstreamer-sections.txt:
3812 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3813 (gst_bus_timed_pop), (gst_bus_pop):
3815 API: gst_bus_timed_pop()
3816 Implement gst_bus_timed_pop() to do a blocking timed wait for a
3817 message to arrive on the bus.
3819 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
3821 Two unit tests for new _timed_pop() function.
3823 2007-02-23 Wim Taymans <wim@fluendo.com>
3825 * gst/gstpipeline.c: (gst_pipeline_change_state),
3826 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
3827 Don't ref a NULL clock in _provide_clock_func().
3828 Don't allow an INVALID delay.
3829 Don't try to calculate base_time with an invalid start_time.
3830 Also distribute and notify a NULL clock when it was selected.
3832 * tools/gst-launch.c: (event_loop):
3833 Don't crash when a NULL clock was selected in the pipeline.
3835 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
3837 * docs/design/Makefile.am:
3838 * docs/design/draft-missing-plugins.txt:
3839 * docs/random/draft-missing-plugins.txt:
3840 Some small updates: update plugin system identifier prefix
3841 ('gstreamer.net' to 'gstreamer'), mention our new install
3842 API in libgstbaseutils rather than libgimme-codec, add
3843 reference to the online docs.
3845 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
3847 * win32/common/config.h:
3848 Pretty sure Bill never made a powerpc version. Powerpc hackers,
3849 use moap cl ci to only check in what is mentioned in the ChangeLog.
3851 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
3853 * docs/gst/gstreamer-sections.txt:
3855 Fix up documentation to link to the correct GstGError section.
3856 Add GST_ELEMENT_INFO macro since someone else added a Info message.
3858 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
3860 * tools/gst-launch.c: (event_loop):
3861 Make sure that we actually show the important message part of a
3863 No need to check if the gerror is not NULL to free; first of all
3864 g_free accepts NULL; and second the default error handler would
3865 segfault if gerror was NULL.
3867 2007-02-21 Wim Taymans <wim@fluendo.com>
3869 * docs/gst/gstreamer-sections.txt:
3870 Removed docs as well.
3872 2007-02-21 Wim Taymans <wim@fluendo.com>
3874 * gst/gstmessage.c: (gst_message_parse_duration):
3876 Remove new messages for release.
3878 2007-02-20 Wim Taymans <wim@fluendo.com>
3880 * docs/design/part-gstghostpad.txt:
3881 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
3882 (gst_ghost_pad_new_full):
3883 Make the ghostpad a parent of the internal pad again for better backward
3884 compatibility. Don't write code that relies on this however.
3886 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3887 (gst_pad_link_check_hierarchy):
3888 Require that parents should be GstElements in the hierarchy check.
3890 2007-02-20 Wim Taymans <wim@fluendo.com>
3892 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
3893 (gst_bin_change_state_func), (bin_query_min_max_init),
3894 (bin_query_latency_fold), (bin_query_latency_done),
3897 Implement latency query.
3899 2007-02-20 Wim Taymans <wim@fluendo.com>
3901 * docs/design/part-gstghostpad.txt:
3902 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
3903 (gst_ghost_pad_internal_do_activate_push),
3904 (gst_ghost_pad_internal_do_activate_pull),
3905 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3906 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
3907 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
3908 Do not set the internal pad as a parent anymore so we can avoid
3909 hierarchy linking errors when the ghostpad has no parent yet. This also
3910 fixes failed activation because of unlinked internal pads, which in
3911 turn fixes the impossible case where you have to activate a pad before
3912 you can add it to a running element.
3915 * gst/gstpad.c: (pre_activate), (post_activate),
3916 (gst_pad_set_active), (gst_pad_activate_pull),
3917 (gst_pad_activate_push), (gst_pad_check_pull_range):
3918 Add some more debug info.
3919 Mark activation mode in pre_activate so that we don't try to activate in
3920 endless loops. Fixes #385084.
3922 2007-02-19 Wim Taymans <wim@fluendo.com>
3924 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3925 (gst_base_transform_check_get_range):
3926 Implement a checkgetrange function instead of relying on the default
3927 core behaviour that assumes we can operate in pull mode if we have a
3928 getrange function. First step at fixing #385084.
3930 2007-02-15 Stefan Kost <ensonic@users.sf.net>
3932 * gst/gstchildproxy.h:
3933 * libs/gst/base/gstbasesink.h:
3934 * libs/gst/base/gstbasesrc.h:
3935 * libs/gst/base/gstbasetransform.h:
3936 More docs coverage and some ChangeLog surgery (add missing names)
3938 2007-02-15 Wim Taymans <wim@fluendo.com>
3940 * docs/design/part-TODO.txt:
3941 * docs/design/part-activation.txt:
3942 * docs/design/part-block.txt:
3943 * docs/design/part-buffering.txt:
3944 * docs/design/part-clocks.txt:
3945 * docs/design/part-element-source.txt:
3946 * docs/design/part-events.txt:
3947 * docs/design/part-gstbin.txt:
3948 * docs/design/part-gstbus.txt:
3949 * docs/design/part-gstpipeline.txt:
3950 * docs/design/part-live-source.txt:
3951 * docs/design/part-messages.txt:
3952 * docs/design/part-overview.txt:
3953 * docs/design/part-qos.txt:
3954 * docs/design/part-query.txt:
3955 * docs/design/part-states.txt:
3956 * docs/design/part-trickmodes.txt:
3957 Some doc updates. Start renaming from stream_time to running_time where
3958 it was used wrongly.
3960 2007-02-15 Wim Taymans <wim@fluendo.com>
3962 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3963 Answer LATENCY query.
3965 2007-02-15 Wim Taymans <wim@fluendo.com>
3967 * tests/check/gst/gstevent.c: (event_probe), (test_event),
3971 2007-02-15 Wim Taymans <wim@fluendo.com>
3973 * gst/gstpad.c: (gst_pad_get_internal_links_default),
3974 (gst_pad_dispatcher):
3975 Improve debugging of default pad dispatcher and query functions.
3977 2007-02-15 Wim Taymans <wim@fluendo.com>
3979 * docs/gst/gstreamer-sections.txt:
3980 Remove old unused method.
3982 2007-02-13 Wim Taymans <wim@fluendo.com>
3984 * tests/check/gst/gstsegment.c: (GST_START_TEST):
3987 2007-02-13 Wim Taymans <wim@fluendo.com>
3989 * docs/design/part-seeking.txt:
3992 * gst/gstsegment.c: (gst_segment_set_seek):
3993 Revert old bogus change that should make seeking work again.
3995 2007-02-13 Stefan Kost <ensonic@users.sf.net>
3997 * docs/random/ensonic/dynlink.txt:
3998 * docs/random/ensonic/interfaces.txt:
3999 * docs/random/ensonic/receipies.txt:
4000 Possible dynamic reconnection api, plus some type fixes the other two
4003 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
4005 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4006 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4007 Also check for an absolute path following file:// in the filesrc
4008 element. Remove redundant check and call g_path_is_absolute() on the
4011 2007-02-13 Stefan Kost <ensonic@users.sf.net>
4013 * docs/design/draft-klass.txt:
4014 Add existing category analysis.
4017 Fix doc example, framerate is a fraction.
4019 2007-02-12 Stefan Kost <ensonic@users.sf.net>
4022 * docs/gst/Makefile.am:
4023 * docs/gst/gstreamer-sections.txt:
4024 * docs/libs/Makefile.am:
4025 Erm, forgot a bunch of --extra-dir.
4027 2007-02-12 Stefan Kost <ensonic@users.sf.net>
4030 * docs/gst/Makefile.am:
4031 * docs/libs/Makefile.am:
4032 * docs/plugins/Makefile.am:
4033 Add crossreferences to glib/gobject docs.
4035 2007-02-12 Wim Taymans <wim@fluendo.com>
4037 * docs/design/draft-latency.txt:
4040 * docs/libs/gstreamer-libs-sections.txt:
4041 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4042 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
4043 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
4044 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
4045 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
4046 (gst_base_sink_get_position), (gst_base_sink_query),
4047 (gst_base_sink_change_state):
4048 * libs/gst/base/gstbasesink.h:
4049 API: gst_base_sink_query_latency() to let subclasses query the upstream
4051 API: gst_base_sink_get_latency() to let subclasses query the configured
4052 latency in the sink.
4053 Implement query and set latency.
4055 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
4056 don't continue preroll when we are flushing. Fixes #405284.
4058 * tests/check/pipelines/stress.c: (change_state_timeout),
4059 (quit_timeout), (GST_START_TEST), (stress_suite):
4062 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
4064 Patch by: René Stadler <mail at renestadler de>
4066 * docs/gst/gstreamer-sections.txt:
4067 * gst/gsttaglist.c: (_gst_tag_initialize):
4069 API: add GST_TAG_REFERENCE_LEVEL (#403597).
4071 2007-02-11 Stefan Kost <ensonic@users.sf.net>
4073 * docs/libs/Makefile.am:
4074 Fix path to core docs.
4076 * gst/gstbin.c: (gst_bin_get_by_interface),
4077 (gst_bin_iterate_all_by_interface):
4078 Refix docs by also renaming 'interface' to 'iface' in implementation.
4080 * docs/gst/gstreamer-sections.txt:
4082 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
4083 * gst/gstchildproxy.h:
4084 * gst/gstelementfactory.c:
4085 * gst/gstpadtemplate.h:
4086 * libs/gst/controller/gstcontroller.c:
4087 (gst_controlled_property_new):
4090 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
4092 * gst/gstbin.h:(gst_bin_get_by_interface),
4093 (gst_bin_iterate_all_by_interface):
4094 Replace interface parameter name by iface as interface is
4095 a reserved keyword in Visual Studio for C++ projects so it removes
4096 a build error for application developpers using VS.
4097 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
4098 Fix a bug on Windows in uri format check. Now the prefix checked
4099 is file:// and next we check if the path after file:// is absolute.
4100 * win32/common/libgstbase.def:
4101 * win32/common/libgstdataprotocol.def:
4102 * win32/common/libgstgstreamer.def:
4103 Add new exported functions.
4105 2007-02-09 Andy Wingo <wingo@pobox.com>
4107 * tests/check/pipelines/simple-launch-lines.c
4108 (simple_launch_lines_suite, test_tee): Disable tee test until I
4109 have time to fix it :-(
4111 * tests/check/Makefile.am (noinst_HEADERS):
4112 * tests/check/libs/libsabi.c:
4113 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
4114 * tests/check/gst/gstabi.c:
4115 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
4117 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
4118 tests for push and pull tee behavior.
4120 * plugins/elements/gsttee.h:
4121 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
4122 mark as deprecated as well as unimplemented. It was a crack idea.
4123 Add support for tee operating in pull mode, off by default.
4125 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
4126 normal-case logs down to LOG, raise errors to WARNING.
4127 (gst_registry_xml_read_cache): Don't log before calling a function
4130 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
4131 exit (registry finalize).
4132 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
4133 DEBUG log when we emit signals that people don't even have the
4134 chance to connect to.
4135 (gst_registry_scan_path_level): Less logging in the normal case.
4137 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4139 Patch by: Michal Benes <michal dot benes at itonis dot tv>
4141 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4142 Correctly generate EOS for non-seekable files. We don't have a total
4143 length for them and would get an unexpected end of file if we only
4144 special-cased for regular files. (Fixes: #404569)
4146 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4148 * tests/check/elements/filesrc.c: (GST_START_TEST),
4150 Add unit test for the GstURIHandler interface in filesrc. This also
4151 tests the newly added file://localhost/foo/bar support.
4153 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
4155 * gst/gstelementfactory.h:
4156 The klass string is not a hierarchy. Add reference to the design doc
4157 for more information and common types.
4159 2007-02-02 Wim Taymans <wim@fluendo.com>
4161 * gst/gstquery.c: (gst_query_new_latency):
4162 Remove old structure field.
4164 2007-02-02 Stefan Kost <ensonic@users.sf.net>
4166 * tools/gst-launch.1.in:
4167 Give example for network streaming (#351998)
4169 2007-02-02 Wim Taymans <wim@fluendo.com>
4171 * docs/gst/gstreamer-sections.txt:
4172 Add docs for new methods.
4174 * gst/gstevent.c: (gst_event_new_latency),
4175 (gst_event_parse_latency):
4177 Add new LATENCY event to configure latency in a pipeline.
4178 API: gst_event_new_latency
4179 API: gst_event_parse_latency
4181 * gst/gstmessage.c: (gst_message_new_buffering),
4182 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
4183 (gst_message_new_latency), (gst_message_parse_buffering),
4184 (gst_message_parse_lost_preroll):
4186 Added messages used in draft-latency.
4187 API: gst_message_new_lost_preroll
4188 API: gst_message_parse_lost_preroll
4189 API: gst_message_new_prerolled
4190 API: gst_message_new_latency
4192 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
4193 (gst_query_parse_latency):
4195 Implemented new latency query as in design doc.
4196 API: gst_query_new_latency
4197 API: gst_query_set_latency
4198 API: gst_query_parse_latency
4200 2007-02-02 Wim Taymans <wim@fluendo.com>
4202 * docs/design/draft-latency.txt:
4203 Slight redesign to allow for dynamic latency adjustments.
4205 * docs/design/part-negotiation.txt:
4208 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4210 reviewed by: Wim Taymans <wim@fluendo.com>
4212 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4213 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4214 Allow file://localhost/foo/bar URLs and correctly fail for every other
4215 hostname that one sets. This was gnomevfssrc is linked for those if
4216 installed as it can handle it (#403172)
4218 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
4220 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4222 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4223 (unref_data), (gst_collect_pads_add_pad_full):
4224 * libs/gst/base/gstcollectpads.h:
4225 Don't put the previously added destroy notify in the GstCollectData
4226 struct as all it's padding is already used and we don't want to break
4227 ABI. Instead put in the pad's GObject data for now. This should be
4228 cleaned up for 0.11 (#402393).
4230 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
4232 reviewed by: Wim Taymans <wim@fluendo.com>
4234 * docs/libs/gstreamer-libs-sections.txt:
4235 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4236 (unref_data), (gst_collect_pads_add_pad),
4237 (gst_collect_pads_add_pad_full):
4238 * libs/gst/base/gstcollectpads.h:
4239 API: Add function to specify a destroy notification for custom
4240 GstCollectData when adding new pads in GstCollectPads (#402393).
4242 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
4245 Update Swedish translation (#378255).
4247 2007-01-31 Stefan Kost <ensonic@users.sf.net>
4249 * docs/design/draft-klass.txt:
4250 Fix the previous change, this is a list of categories and not a hierarchy.
4252 2007-01-31 Stefan Kost <ensonic@users.sf.net>
4254 * docs/design/draft-klass.txt:
4255 Add info about how to get a list of used classes.
4257 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
4259 * plugins/elements/gsttypefindelement.c:
4260 (gst_type_find_element_chain_do_typefinding),
4261 (gst_type_find_element_change_state):
4262 Don't leak found caps in chain function (no idea why that never
4263 showed up as a leak anywhere).
4265 2007-01-30 Stefan Kost <ensonic@users.sf.net>
4268 Fix and expand GstPluginDesc API docs.
4270 2007-01-29 Stefan Kost <ensonic@users.sf.net>
4273 * gst/gstelementfactory.c:
4274 * gst/gstpadtemplate.h:
4277 * libs/gst/controller/gstcontroller.c:
4278 (gst_controlled_property_new):
4279 * tests/examples/controller/audio-example.c:
4282 2007-01-29 Stefan Kost <ensonic@users.sf.net>
4285 comment about refining the xml deps
4288 comments about moving away from jade for docs
4291 recommit the ifdefs to use the binary registry
4293 * gst/gstbin.c: (gst_bin_change_state_func):
4294 this break is obsolete
4296 * gst/gstelementfactory.h:
4297 better GST_ELEMENT_DETAILS docs, add comment about translation
4302 * gst/gstobject.c: (gst_signal_object_get_type):
4303 add G_UNLIKELY as usual
4305 * gst/gstpad.c: (gst_pad_event_default):
4306 add fall trhu comment
4308 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4309 (gst_registry_binary_initialize_magic),
4310 (gst_registry_binary_save_string),
4311 (gst_registry_binary_save_pad_template),
4312 (gst_registry_binary_save_feature),
4313 (gst_registry_binary_save_plugin),
4314 (gst_registry_binary_write_cache),
4315 (gst_registry_binary_check_magic),
4316 (gst_registry_binary_load_pad_template),
4317 (gst_registry_binary_load_feature),
4318 (gst_registry_binary_load_plugin),
4319 (gst_registry_binary_read_cache):
4320 comment typo and formatting
4322 * gst/gstutils.c: (gst_element_state_get_name),
4323 (gst_element_state_change_return_get_name):
4324 remove obsolete breaks
4326 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4327 add FIXME 0.11 and remove cpp comment
4329 2007-01-29 Edward Hervey <edward@fluendo.com>
4331 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4332 Fix print statement in an even more portable way.
4334 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
4336 * docs/gst/gstreamer-sections.txt:
4338 API: add GST_ROUND_DOWN_* macros (#401781).
4340 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
4342 * docs/gst/gstreamer.types.in:
4343 * gst/gstregistry.c: (gst_registry_class_init):
4344 Document registry signals and make gtk-doc pick them up (#401381).
4346 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
4348 * docs/pwg/building-testapp.xml:
4349 Add some audioconverts and audioresample to the pipeline, and some
4350 more comments and error handling.
4352 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
4354 * docs/manual/manual.xml:
4358 2007-01-26 Wim Taymans <wim@fluendo.com>
4360 * gst/gstcaps.c: (gst_static_caps_get):
4361 Init caps flags too.
4363 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
4365 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
4367 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4368 If not using mmap'ed files try to seek to the end instead of the
4369 start to determine whether we can seek at all. This fixes the case
4370 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
4371 seeks for everything afterwards fail. Fixes #400656
4373 2007-01-25 Wim Taymans <wim@fluendo.com>
4375 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
4376 Add some refcount debugging.
4377 Make gst_static_caps_get threadsafe, which is needed when autoplugging
4378 in multiple streaming threads.
4380 2007-01-25 Wim Taymans <wim@fluendo.com>
4382 Patch by: David Schleef <ds at schleef dot org>
4384 * docs/libs/gstreamer-libs-sections.txt:
4385 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
4386 * libs/gst/base/gstadapter.h:
4387 API: gst_adapter_copy() that can reduce the amount of memcpy when
4388 getting data from the adapter. Fixes #388201.
4390 2007-01-25 Edward Hervey <edward@fluendo.com>
4392 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4393 In print statements, "%x" is for guint. Fixes build on macosx.
4395 2007-01-24 Edward Hervey <edward@fluendo.com>
4397 * plugins/elements/gstmultiqueue.c:
4398 (gst_multi_queue_loop):
4400 (single_queue_overrun_cb), (single_queue_underrun_cb),
4401 (single_queue_check_full), (gst_single_queue_new):
4402 Implement single queue growth system.
4403 This uses the extra-size properties, and will grow single queues by
4404 that much if one goes full whereas there are others empty. This is
4405 called extra-mode in the code.
4406 When a single queue's levels go back below the initial max-size
4407 limits, it is no longer in extra-mode. This is to ensure we don't
4408 consume too much memory.
4411 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
4413 * gst/gst.c: (gst_init_get_option_group):
4414 Make warning about late g_thread_init() calls a bit more explicit,
4415 so that it's more obvious to application developers what they need
4416 to do if a user files a bug against their application.
4418 2007-01-22 Edward Hervey <edward@fluendo.com>
4420 * plugins/elements/gstmultiqueue.c:
4421 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
4422 Remove previous hack of unsetting the flushing flag for the source pad
4423 instead of activating it. Instead, fix the source pad activate function
4424 so that it no longer depends on having a parent set or not.
4426 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
4428 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
4430 * docs/manual/basics-bus.xml:
4431 Fix example code, gst_element_unref() doesn't exist any longer.
4433 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
4435 Patch by: Mark Nauwelaerts <manauw at skynet be>
4438 Fix two docs typoes (#399094).
4440 2007-01-19 Edward Hervey <edward@fluendo.com>
4442 * docs/faq/gst-uninstalled:
4443 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
4444 depending on libgstbaseutils can work in uninstalled environment.
4446 2007-01-18 Stefan Kost <ensonic@users.sf.net>
4449 * gst/gsttagsetter.c:
4450 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
4451 statement for new tag.
4453 2007-01-17 Edward Hervey <edward@fluendo.com>
4455 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
4456 When dynamically creating single queues, activate sinkpad before adding
4458 We should be doing the same thing for the source pad, but we can't
4459 since it would call a method which needs the parent to be set in order
4460 to work propertly. Instead of activating the source pad, we just unset
4461 the flushing flag, which is the minimal requirement for adding a pad
4462 to an element in a state greater than READY.
4464 2007-01-17 Edward Hervey <edward@fluendo.com>
4466 * docs/faq/gst-uninstalled:
4467 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
4470 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
4472 * tests/check/gst/gstabi.c:
4473 * tests/check/gst/struct_hppa.h:
4474 * tests/check/libs/libsabi.c:
4475 * tests/check/libs/struct_hppa.h:
4476 Add ABI structs for HPPA (see #393796).
4478 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
4480 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
4481 Actually write ABI structs to the file specified in the GST_ABI
4482 environment variable, as the message we print claims we would.
4484 2007-01-15 Stefan Kost <ensonic@users.sf.net>
4486 * tests/check/gst/gsttask.c:
4489 2007-01-15 Stefan Kost <ensonic@users.sf.net>
4491 * gst/gsttaglist.c: (_gst_tag_initialize):
4492 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
4493 previous two entries.
4495 2007-01-15 Stefan Kost <ensonic@users.sf.net>
4497 * docs/gst/gstreamer-sections.txt:
4498 * gst/gsttaglist.c: (_gst_tag_initialize):
4500 Add tag support for beat-per-minute.
4502 2007-01-15 Stefan Kost <ensonic@users.sf.net>
4504 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4505 (gst_registry_binary_initialize_magic),
4506 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
4507 (gst_registry_binary_save_pad_template),
4508 (gst_registry_binary_save_feature),
4509 (gst_registry_binary_save_plugin),
4510 (gst_registry_binary_write_cache),
4511 (gst_registry_binary_check_magic),
4512 (gst_registry_binary_load_pad_template),
4513 (gst_registry_binary_load_feature),
4514 (gst_registry_binary_load_plugin),
4515 (gst_registry_binary_read_cache):
4516 * gst/gstregistrybinary.h:
4517 Use glib types, cleanup comments, impement interfaces and uri-types.
4519 2007-01-13 Andy Wingo <wingo@pobox.com>
4521 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
4522 getrange() to return buffers with other caps, while we fix
4523 demuxers and typefind, or otherwise change part-negotiation.txt.
4525 2007-01-12 Andy Wingo <wingo@pobox.com>
4527 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
4528 Factor start/stop into this private function instead of partially
4529 in activate functions and partially in the change_state function.
4530 Fixes setup before the element has changed from READY->PAUSED, as
4531 is the case in pull-mode pipelines.
4532 (gst_base_transform_sink_activate_push)
4533 (gst_base_transform_src_activate_pull): Refactor to use
4534 gst_base_transform_activate().
4535 (gst_base_transform_change_state): Removed, not needed any more.
4537 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4538 Truncate before fixating.
4540 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
4541 Don't set_caps() if the result of fixating is ANY, as it's not
4542 supported, and not necessary in the case of a link with no
4543 template caps on either side. Fixes tests/check/libs/basesrc in
4544 some pull-mode tests.
4546 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
4547 (gst_base_transform_init, gst_base_transform_sink_activate_push)
4548 (gst_base_transform_src_activate_pull):
4549 Track the activation mode.
4550 (gst_base_transform_setcaps): In pull mode, when activating the
4551 src pad, after activating the sink pad, activate the sink pad's
4552 peer, as discussed in part-negotiation.txt.
4554 * libs/gst/base/gstbasesrc.h:
4555 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
4556 vmethod, as in basesink.
4558 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
4560 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
4561 mode, first proxy the setcaps to the peer pad.
4562 (gst_base_sink_pad_fixate): Add a fixate function that calls the
4564 (gst_base_sink_default_activate_pull): Rename from
4565 gst_base_sink_activate_pull.
4566 (gst_base_sink_negotiate_pull): New function, performs negotiation
4567 in pull mode before calling ::activate_pull().
4568 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
4569 vmethod instead of the default implementation. I have no idea how
4570 this worked before. Negotiate before calling activate_pull.
4572 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
4573 sink pads in pull mode. In addition to being correct, fixes
4574 filesrc ! decodebin ! identity ! fakesink.
4575 (gst_pad_get_range, gst_pad_pull_range): Don't call
4576 gst_pad_set_caps() if the caps changes; instead error out with
4577 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
4579 2007-01-12 Andy Wingo <wingo@pobox.com>
4581 * docs/design/part-negotiation.txt: Update with more policy.
4583 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
4585 * libs/gst/check/gstbufferstraw.h:
4586 * libs/gst/check/gstcheck.h:
4587 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
4590 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
4592 * tests/check/Makefile.am:
4593 * tests/check/gst/.cvsignore:
4594 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
4595 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
4596 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
4597 (GST_START_TEST), (gst_tag_setter_suite):
4598 Add minimal unit test for beforementioned GstTagSetter bug.
4600 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
4602 Patch by: René Stadler <mail at renestadler dot de>
4604 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
4605 gst_tag_list_merge() returns a new list, so it's not the best idea
4606 to ingore its return value. Effectively meant that tags could only
4607 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
4608 Also add function guard to require a non-NULL taglist as input (has
4609 always been so due to gst_tag_list_copy(), just making it explicit).
4611 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
4613 * docs/random/draft-missing-plugins.txt:
4614 Some additions: mention new API that is supposed to be used at the
4615 various stages; short blob about new gst-inspect introspection
4616 option; mention potential future problem with plugins that have
4617 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
4619 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
4621 * tools/gst-inspect.c:
4622 (print_plugin_automatic_install_info_codecs),
4623 (print_plugin_automatic_install_info_protocols),
4624 (print_plugin_automatic_install_info), (main):
4625 Add --print-plugin-auto-install-info option to gst-inspect, so we can
4626 introspect plugin files and get machine-parsable output that corresponds
4627 to the last bit of the missing-plugin installer string (small gotcha:
4628 doesn't take into account ranks).
4630 2007-01-11 Stefan Kost <ensonic@users.sf.net>
4633 * docs/gst/gstreamer-sections.txt:
4635 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
4636 (gst_registry_lookup_locked):
4637 * gst/gstregistry.h:
4638 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4639 (gst_registry_binary_initialize_magic),
4640 (gst_registry_binary_save_string),
4641 (gst_registry_binary_save_pad_template),
4642 (gst_registry_binary_save_feature),
4643 (gst_registry_binary_save_plugin),
4644 (gst_registry_binary_write_cache),
4645 (gst_registry_binary_check_magic),
4646 (gst_registry_binary_load_pad_template),
4647 (gst_registry_binary_load_feature),
4648 (gst_registry_binary_load_plugin),
4649 (gst_registry_binary_read_cache):
4650 * gst/gstregistrybinary.h:
4651 * gst/gstregistryxml.c: (load_feature),
4652 (gst_registry_xml_read_cache):
4653 commit binary registry (disabled by default, see #359653)
4655 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
4657 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
4658 Fix 'make check' too.
4660 2007-01-10 Andy Wingo <wingo@pobox.com>
4662 * docs/design/part-negotiation.txt: Fix a typo, add a couple
4665 * docs/design/part-negotiation.txt: Update with, um, one way that
4666 pull-mode negotiation might work?
4669 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
4670 that the pad must be a src pad; makes sense to call it the other
4671 way in pull mode, and the logic is symmetric anyway.
4673 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
4675 * plugins/elements/gstfilesink.c:
4676 Include <stdio.h> for fseeko().
4678 2007-01-10 Wim Taymans <wim@fluendo.com>
4682 Reserve LATENCY event.
4684 2007-01-09 Wim Taymans <wim@fluendo.com>
4686 * docs/design/draft-latency.txt:
4689 2007-01-09 Wim Taymans <wim@fluendo.com>
4691 * docs/design/draft-latency.txt:
4695 * gst/gststructure.c:
4699 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
4701 * tests/check/.cvsignore:
4702 Ignore test-registry.xml as well.
4704 2007-01-09 Wim Taymans <wim@fluendo.com>
4706 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
4707 unref data at the end when we are done with the pad.
4709 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
4711 * docs/gst/gstreamer-sections.txt:
4712 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
4713 (init_post), (gst_deinit), (gst_update_registry):
4715 API: add gst_update_registry() (#391296).
4717 * tests/check/Makefile.am:
4718 * tests/check/gst/gstregistry.c:
4719 * tests/check/gst/.cvsignore:
4720 Simple unit test for the above.
4722 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
4724 * gst/gstregistry.c: (gst_registry_scan_path_level):
4725 Plugin extension on HP-UX is .sl, add that to the list of approved
4726 plugin extensions (see #393796).
4728 * tests/check/gst/gstpad.c: (GST_START_TEST):
4729 ulong => gulong. Fixes compilation with HP-UX compiler.
4731 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4732 Fix compilation if valgrind headers are not available.
4734 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
4736 * win32/common/libgstreamer.def:
4737 Add new exported function.
4738 * win32/vs6/libgstbase.dsp:
4739 Add gstdataqueue.c to the build.
4740 * win32/vs6/libgstcoreelements.dsp:
4741 Add gstmultiqueue.c to the build.
4743 2007-01-06 Andy Wingo <wingo@pobox.com>
4745 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
4746 activate_pull(), providing for a way to specialize the process of
4747 spawning a thread to pull on the sink pad. There is a default
4750 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
4751 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
4752 (gst_base_sink_init): Renamed pad activation functions (inserting
4753 "_pad" in their names). Refactor to use the new activate_pull
4754 vmethod, as appropriate.
4755 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
4756 default activate_pull function to start a task pulling from the
4757 sink pad, as before.
4759 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
4760 on the pads if necessary, as in push()/chain(). Update docs.
4761 Shouldn't affect existing pull() usage as it is currently only
4762 being used on buffers without caps.
4764 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
4766 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4768 Call g_thread_init() first thing in gst_init() / gst_check_init().
4769 When initialisation is done via gst_init_get_option_group() and
4770 GOption parsing, issue a warning if the GLib thread system has not
4771 been initialised yet by the time gst_init_get_option_group() is
4772 called, as it's quite likely other GLib functions such as
4773 g_option_context_new() have been called already then, and
4774 g_thread_init() must be called before any other GLib function. The
4775 application in question must be fixed in that case, since memory
4776 corruption might happen otherwise.
4777 We issue the warning because even if the GLib folks decide to work
4778 around the problem on their end in future, this is still an issue
4779 with all GLib versions >= 2.10.0, so we should warn until we depend
4780 on a GLib version we know to be safe.
4781 Update documentation as well.
4784 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
4786 * tools/gst-inspect.c: (main):
4787 * tools/gst-launch.c: (main):
4788 * tools/gst-typefind.c: (main):
4789 * tools/gst-xmlinspect.c: (main):
4790 Call g_thread_init() really really early, before any other GLib
4791 function (see #342564 and recent discussion on gtk-devel-list).
4793 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
4795 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
4797 * gst/gst_private.h:
4798 * gst/gstconfig.h.in:
4800 On win32, all the __declspec stuff for symbol exporting is
4801 apparently only needed with MSVC, but doesn't work with MingW.
4802 Fixes compilation with MingW and #391909.
4804 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
4806 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
4807 Change some GST_ERROR_OBJECT that aren't really errors to
4808 GST_WARNING_OBJECT in order to reduce terminal spam.
4810 2007-01-04 Stefan Kost <ensonic@users.sf.net>
4812 * tests/check/Makefile.am:
4813 disable test again, as there seem to be still race problems
4815 2007-01-04 Stefan Kost <ensonic@users.sf.net>
4817 * tests/check/Makefile.am:
4818 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4819 (GST_START_TEST), (queue_suite):
4820 enable queue test again, add tests for the leaky behaviour
4822 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
4825 * tests/examples/Makefile.am:
4826 Compile adapter test/example only if the required headers are
4827 available (fixes #391915).
4829 2007-01-01 David Schleef <ds@schleef.org>
4832 Restore the previous signal handler for SIGSEGV instead of
4833 setting to default, since we may have stolen it away from
4834 someone. (i.e., Mono)
4836 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
4838 * docs/random/draft-missing-plugins.txt:
4839 Some small additions and clarifications.
4841 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
4843 * gst/gstregistryxml.c: (gst_registry_save_escaped):
4844 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
4845 since that can lead to random memory corruptions and crashes
4846 (may or may not be related to #383244, #386711, and #386711).
4848 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4850 * tests/check/.cvsignore:
4851 * tests/check/Makefile.am:
4852 sync .cvsignome and CLEANFILES
4854 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4856 * tests/check/Makefile.am:
4859 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4861 * docs/design/part-states.txt:
4862 two tiny additional comments
4864 * gst/gststructure.c:
4867 * tests/check/Makefile.am:
4868 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4870 disable test for now, unless it gets fixed
4872 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4874 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4876 fix race in underrun test
4878 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4880 * tests/check/elements/.cvsignore:
4883 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4885 try to narrow test failure
4887 2006-12-21 David Schleef <ds@schleef.org>
4889 * plugins/elements/gstfakesrc.c:
4890 Use g_random_int_range(), since it produces better random
4891 numbers in a range than almost-correct floating point code.
4893 2006-12-21 Stefan Kost <ensonic@users.sf.net>
4895 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4896 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4897 (gst_check_teardown_sink_pad):
4898 do not automatically (de)activate pads
4900 * tests/check/Makefile.am:
4901 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
4902 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
4903 add new, yet simple tests for queue
4905 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
4906 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
4907 * tests/check/elements/filesrc.c: (cleanup_filesrc),
4909 * tests/check/elements/identity.c: (cleanup_identity):
4910 consistent pad (de)activation
4912 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
4914 Patch by: Sebastian Dröge <slomo ubuntu com>
4916 * libs/gst/base/gstcollectpads.c:
4917 Fix two doc typos (#387866).
4919 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
4921 * docs/manual/advanced-dparams.xml:
4922 Fix typo (g_object_control_properties() doesn't exist).
4924 2006-12-19 Edward Hervey <edward@fluendo.com>
4926 * gst/gstsegment.c: (gst_segment_set_seek):
4927 Fine tune the cases where the segment start/stop values are really
4929 * tests/check/gst/gstsegment.c: (GST_START_TEST):
4930 Add tests for the return values of gst_segment_set_seek().
4932 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
4937 * plugins/elements/gstqueue.c: (gst_queue_class_init),
4939 Fix incorrect documentation and flesh it out a bit more.
4940 Set default values for the max properties on the GParamSpec as well,
4941 so it shows up correctly in gst-inspect.
4943 2006-12-18 Stefan Kost <ensonic@users.sf.net>
4945 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
4946 Correct docs of queue, add more detail and crosslink it more.
4948 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
4950 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4951 Print additional debug info when the stream isn't perfectly
4952 timestamped; don't try to use invalid durations.
4954 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
4956 * docs/design/Makefile.am:
4957 Dist new design docs.
4959 2006-12-16 Wim Taymans <wim@fluendo.com>
4961 Patch by: Sjoerd Simons <sjoerd at luon dot net>
4963 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
4964 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4965 (gst_collect_pads_stop), (gst_collect_pads_event),
4966 (gst_collect_pads_chain):
4967 * libs/gst/base/gstcollectpads.h:
4968 Add refcounting to the collectpads data so we can track when it's safe
4969 to free the data. Fixes #383382.
4971 2006-12-15 Wim Taymans <wim@fluendo.com>
4973 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4974 (gst_collect_pads_remove_pad):
4975 Automatically activate/deactivate pads when they are added to a
4976 started/stoped collectpads.
4978 2006-12-15 Wim Taymans <wim@fluendo.com>
4980 * gst/gstelement.c: (gst_element_add_pad):
4981 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
4982 * gst/gstpad.c: (gst_pad_init):
4983 Set pads to FLUSHING when they are created. Check, warn and fix when a
4984 demuxer adds an inactive pad to itself when running. Fixes #339326.
4986 2006-12-15 Wim Taymans <wim@fluendo.com>
4988 * gst/gstelement.c: (gst_element_class_init),
4989 (gst_element_default_send_event), (gst_element_send_event),
4990 (gst_element_default_query), (gst_element_query):
4991 Expose default element send_event and query handling as vmethods that
4992 subclasses can chain up to.
4994 2006-12-15 Wim Taymans <wim@fluendo.com>
4996 * gst/gstelement.c: (gst_element_set_state_func):
4997 Small documentation fixes.
4999 2006-12-15 Wim Taymans <wim@fluendo.com>
5001 * docs/design/draft-latency.txt:
5002 Checked in draft for handling latency in pipelines.
5004 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
5008 * gstreamer.spec.in:
5011 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
5013 * gst/gst.c: (init_pre), (init_post):
5014 init_pre() and init_post() might be called via our GOptionGroup or
5015 from gst_init(), and we should skip both of them if we've already
5016 been initialised, otherwise we will init some things twice or add
5017 two default log functions.
5019 2006-12-13 Edward Hervey <edward@fluendo.com>
5021 * docs/manual/basics-bus.xml:
5022 No, gst_main_loop does not exist. Its g_main_loop.
5023 Discovered by somebody who abused the copy-paste technique of coding :)
5025 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
5027 * gst/gstghostpad.c:
5028 Log ghostpad debug stuff to the GST_PADS category as well rather
5029 than just to the default category.
5031 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
5034 * gst/gst.c: (init_pre):
5035 Add some basic system details such as OS and architecture
5036 to the debug output if possible, courtesy of uname().
5038 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
5040 * docs/gst/running.xml:
5041 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
5042 environment variables.
5044 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
5046 * tests/check/gst/gstbin.c: (GST_START_TEST):
5047 It is acceptable to have a refcount of 2 or 3 at this point in the
5048 test, because the pipeline might be just posting its state_change
5049 message. The next line then waits for that message to appear using
5050 bus_poll, so that should be fine too.
5052 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
5054 * gst/gst.c: (ensure_current_registry_forking):
5055 Ignore EINTR when reading from the child registry pipe.
5056 Explicitly ignore the return value from close, since it makes no
5059 * gst/gstminiobject.c: (gst_mini_object_ref),
5060 (gst_mini_object_unref):
5061 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
5063 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
5064 When removing cached plugins, remove their features too, so they're
5065 not visible after they've disappeared.
5067 * gst/gstutils.c: (prepare_link_maybe_ghosting):
5068 In the unlikely case that we are linking pads with no parents, don't
5069 crash trying to get the non-existent parent bin.
5071 * gst/parse/grammar.y:
5072 Output debug in the PIPELINE category
5074 2005-03-08 Wim Taymans <wim@fluendo.com>
5076 Patch by: René Stadler <mail at renestadler dot de>
5078 * gst/gstclock.c: (gst_clock_new_periodic_id):
5079 Reject invalid clock times for interval of periodic ids.
5082 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
5084 * gst/gstelementfactory.c: (gst_element_factory_create):
5085 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5086 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5087 * tools/gst-inspect.c: (print_element_info):
5088 Fix refcounting of gst_plugin_feature_load to match the docs.
5091 2006-12-07 Wim Taymans <wim@fluendo.com>
5093 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5094 (gst_base_sink_get_position):
5095 Improve debugging of events.
5097 2006-12-07 Wim Taymans <wim@fluendo.com>
5099 Patch by: René Stadler <mail at renestadler dot de>
5101 * gst/gstclock.c: (gst_clock_id_wait):
5102 Make period ids add the interval to the origial requested time instead
5103 of the possibly updated time which can be wrong when there are multiple
5104 waiters for the same id. Fixes #382592.
5106 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
5107 (gst_system_clock_id_wait_jitter_unlocked),
5108 (gst_system_clock_id_wait_jitter):
5109 Fix restart in the async notify thread when an async entry is added to
5110 the front of the list. Fixes #381492.
5112 * tests/check/gst/gstsystemclock.c: (store_callback),
5113 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
5114 Added test for multiple async waits.
5115 Added test for async wait order.
5117 2006-12-07 Wim Taymans <wim@fluendo.com>
5119 * gst/gstbin.c: (gst_bin_query):
5120 Add some more docs about the POSITION query.
5122 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
5125 Bump version nano - back to CVS.
5127 === release 0.10.11 ===
5129 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
5132 releasing 0.10.11, "Love never runs on time"
5134 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
5136 * win32/common/libgstbase.def:
5137 * win32/common/libgstreamer.def:
5138 * win32/vs8/libgstbase.vcproj:
5139 * win32/vs8/libgstcoreelements.vcproj:
5140 * win32/vs8/libgstreamer.vcproj:
5141 Fix compilation on win32 under VS8
5142 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5143 Partially fixes #381175
5145 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
5147 * gst/gstvalue.c: (gst_value_compare_fraction):
5148 If someone is foolish enough to compare 2 fractions with denominator =
5149 0, return UNORDERED rather than aborting.
5151 2006-11-28 Edward Hervey <edward@fluendo.com>
5153 * libs/gst/base/Makefile.am:
5154 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
5155 (gst_data_queue_base_init), (gst_data_queue_class_init),
5156 (gst_data_queue_init), (gst_data_queue_new),
5157 (gst_data_queue_cleanup), (gst_data_queue_finalize),
5158 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
5159 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
5160 (gst_data_queue_is_empty), (gst_data_queue_is_full),
5161 (gst_data_queue_set_flushing), (gst_data_queue_push),
5162 (gst_data_queue_pop), (gst_data_queue_drop_head),
5163 (gst_data_queue_set_property), (gst_data_queue_get_property):
5164 * libs/gst/base/gstdataqueue.h:
5165 New GstDataQueue object for threadsafe queueing. Most useful for
5166 elements that need some queueing functionnality.
5167 * docs/libs/gstreamer-libs-docs.sgml:
5168 * docs/libs/gstreamer-libs-sections.txt:
5169 Insert documentation for GstDataQueue
5170 * plugins/elements/Makefile.am:
5171 * plugins/elements/gstelements.c:
5172 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5173 (gst_multi_queue_class_init), (gst_multi_queue_init),
5174 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5175 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
5176 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
5177 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5178 (gst_multi_queue_loop), (gst_multi_queue_chain),
5179 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5180 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
5181 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
5182 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
5183 (wake_up_next_non_linked), (compute_next_non_linked),
5184 (single_queue_overrun_cb), (single_queue_underrun_cb),
5185 (single_queue_check_full), (gst_single_queue_new):
5186 * plugins/elements/gstmultiqueue.h:
5187 New multiqueue element, using GstDataQueue. Used for queuing multiple
5189 Closes #344639 and #347785
5191 2006-11-22 Stefan Kost <ensonic@users.sf.net>
5193 * docs/pwg/advanced-types.xml:
5194 add more missing type details
5196 * tools/gst-run.c: (main):
5197 remove unused variable
5199 2006-11-21 Stefan Kost <ensonic@users.sf.net>
5201 * docs/libs/Makefile.am:
5202 * docs/libs/gstreamer-libs.types:
5203 add types of base classes to enable gobject specific stuff in the docs
5205 * docs/random/ensonic/embedded.txt:
5206 more ideas about isolating platform specific things
5208 2006-11-20 Wim Taymans <wim@fluendo.com>
5210 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
5212 * libs/gst/check/gstcheck.h:
5213 Fix compilation and running against 0.9.4. Fixes #377332.
5215 2006-11-20 Wim Taymans <wim@fluendo.com>
5217 * gst/gstsegment.c: (gst_segment_set_seek),
5218 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5219 (gst_segment_to_running_time):
5220 Fix boundary checking in to_running_time() and to_stream_time().
5223 * tests/check/gst/gstsegment.c: (GST_START_TEST):
5224 stream and running time can now be calculated for the complete
5227 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
5229 * gst/gstpad.c: (gst_pad_push_event):
5230 Can't access event structure after giving away ownership of
5233 2006-11-15 Stefan Kost <ensonic@users.sf.net>
5235 * docs/random/ensonic/embedded.txt:
5236 * docs/random/ensonic/profiling.txt:
5237 * docs/random/ensonic/receipies.txt:
5240 2006-11-13 Wim Taymans <wim@fluendo.com>
5242 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5245 Fix documentation for gst_pad_dispatcher. Fixes #374475.
5247 2006-11-13 Wim Taymans <wim@fluendo.com>
5249 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
5251 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
5252 Store new length in segment duration so we don't keep on calling the
5253 potentially expensize get_size() call. Fixes #370865.
5255 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
5257 Patch by: Sergey Scobich <sergey.scobich at gmail com>
5259 * win32/common/libgstreamer.def:
5260 Add two missing symbols (#366492).
5262 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
5264 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
5265 (gst_adapter_take_buffer):
5266 Fix format string to use all its arguments.
5267 Remove useless >= check on a guint
5269 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
5271 * tests/examples/adapter/.cvsignore:
5272 Ignore build file as commanded by the build-bot
5274 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
5276 * tests/examples/adapter/Makefile.am:
5277 * tests/examples/adapter/adapter_test.c: (run_test_take),
5278 (run_test_take_buffer), (run_tests), (main):
5280 Add new files from the previous commit
5282 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
5286 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
5287 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
5288 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
5289 * libs/gst/base/gstadapter.h:
5290 * tests/check/libs/adapter.c: (create_and_fill_adapter),
5291 (GST_START_TEST), (gst_adapter_suite):
5292 * tests/examples/Makefile.am:
5293 Do some optimisation work in GstAdapter to avoid copies in more cases.
5294 It could still do slightly better by merging buffers when
5295 gst_buffer_is_span_fast is true, but is already faster.
5297 Also, avoid traversing a single-linked list to append each incoming
5298 buffer inside the adapter.
5300 Add simple test app that times the adapter behaviour in different
5301 situations, and extend the unit test to check that bytes enter and
5302 exit the adapter in their original order.
5304 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
5306 * docs/random/draft-missing-plugins.txt:
5307 Update: use element message instead of adding a new message
5308 type to the core; don't provide GStreamer API to initiate the
5309 plugin download, just provide API to compose the strings needed
5310 and let an external libgimmestuff handle the rest.
5312 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
5314 * tools/gst-inspect.c: (print_element_properties_info):
5315 Print a string instead of 'unknown type' for GValueArray properties
5317 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
5319 * docs/random/draft-missing-plugins.txt:
5322 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
5324 * tests/examples/typefind/typefind.c: (type_found), (main):
5325 Make typefind element example work again (#371894); add a
5328 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
5330 * docs/random/draft-missing-plugins.txt:
5331 Commit initial draft about how to deal with missing plugins,
5332 needs work (API too).
5334 2006-11-07 Stefan Kost <ensonic@users.sf.net>
5336 * docs/pwg/advanced-types.xml:
5337 documents the new caps elements (see #363118)
5339 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
5341 * gst/gstplugin.c: (gst_plugin_load_file):
5342 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
5343 (gst_file_src_map_region), (gst_file_src_start):
5344 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
5345 (gst_file_index_commit):
5346 Use g_strerror() instead of strerror() - we want UTF-8.
5348 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
5350 Patch by: Peter Kjellerstedt <pkj at axis com>
5352 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5353 Another printf fix (#371493).
5355 2006-11-06 Stefan Kost <ensonic@users.sf.net>
5357 * tests/check/gst/gsttag.c:
5358 relicence (okay with author=company)
5360 2006-11-06 Stefan Kost <ensonic@users.sf.net>
5362 * gst/gstpad.c: (gst_pad_event_default_dispatch),
5363 (gst_pad_push_event):
5364 Enhance debug and improve docs
5369 2006-11-06 Stefan Kost <ensonic@users.sf.net>
5371 * docs/random/ensonic/distributed.txt:
5372 * docs/random/ensonic/profiling.txt:
5375 2006-11-06 Stefan Kost <ensonic@users.sf.net>
5377 * docs/gst/gstreamer-sections.txt:
5378 add new API and fix the build
5380 * gst/gstbin.c: (gst_bin_recalc_state):
5381 * gst/gstelement.c: (gst_element_message_full),
5382 (gst_element_get_state_func), (gst_element_set_state_func):
5383 use new API and improve logging
5385 * gst/gstutils.c: (gst_element_state_change_return_get_name):
5387 API: add function to get StateChangereturn names to improve logs
5389 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
5391 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5392 I'm considering shooting the next person to put strerror stuff
5393 in the translateable part of the message.
5395 2006-11-03 Wim Taymans <wim@fluendo.com>
5397 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5398 Get the type and printf conversion specifiers right.
5400 2006-11-03 Wim Taymans <wim@fluendo.com>
5402 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5404 * gst/gstpad.c: (gst_pad_init), (pre_activate),
5405 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
5406 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
5407 Some small cleanups. Improve debugging.
5409 Signal all waiting threads with a broadcast instead of just one.
5412 2006-11-03 Wim Taymans <wim@fluendo.com>
5414 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
5415 (gst_fd_src_create):
5417 Only update fd when it's different from the old.
5419 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
5421 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
5422 Printf fixes for PPC/OSX, take two (#369366).
5424 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
5426 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
5428 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5429 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5430 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
5431 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
5432 don't cast to long long for portability reasons, but use
5433 GLib's types instead.
5435 2006-10-30 Michael Smith <msmith@fluendo.com>
5437 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
5438 Get the arguments to lseek() the right way around.
5441 2006-10-30 Wim Taymans <wim@fluendo.com>
5443 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
5446 _declspec should be __declspec (two underscores, not one). Fixes 366572.
5448 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
5450 Patch by: Kjartan Maraas <kmaraas at gnome org>
5452 * docs/design/part-MT-refcounting.txt:
5453 * docs/random/wtay/capsnego2-docs:
5456 Typo fixes (#366212).
5458 2006-10-28 Wim Taymans <wim@fluendo.com>
5460 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5463 * win32/common/libgstbase.def:
5464 * win32/common/libgstreamer.def:
5465 * win32/vs8/libgstbase.vcproj:
5466 * win32/vs8/libgstcontroller.vcproj:
5467 Add needed entries in .def files.
5469 Rearrange def files in vs8 solutions. Fixes #366286.
5471 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
5473 * win32/common/gstconfig.h:
5474 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
5475 hand-made win32 gstconfig.h. Fixes #366321.
5477 2006-10-27 Wim Taymans <wim@fluendo.com>
5479 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
5480 (gst_ghost_pad_new_full):
5481 Make acceptcaps return TRUE when we don't have a target, just like
5484 2006-10-27 Wim Taymans <wim@fluendo.com>
5486 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5487 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
5489 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
5491 * gst/gststructure.c: (gst_structure_id_set_value):
5492 If someone tries to set a non-UTF8 string field on a structure,
5493 don't just print a warning, but also ignore the request and do
5494 not change/add that field to the structure.
5496 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5499 2006-10-25 David Schleef <ds@schleef.org>
5502 g_hash_table_insert() needs a cast to a non-const pointer duh.
5504 2006-10-25 David Schleef <ds@schleef.org>
5508 Change name parameter of _gst_debug_register_funcptr to const
5509 to reflect the constness of its use in the function as well
5510 as to quiet a gcc warning.
5512 2006-10-25 Edward Hervey <edward@fluendo.com>
5514 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5515 Don't push the buffer if it's empty.
5518 2006-10-24 Wim Taymans <wim@fluendo.com>
5523 * libs/gst/base/gstbasetransform.c:
5524 (gst_base_transform_sink_eventfunc):
5525 Debug segment values *after* updating them as this is more
5528 2006-10-23 Wim Taymans <wim@fluendo.com>
5530 * docs/design/part-events.txt:
5533 * docs/design/part-block.txt:
5534 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
5535 (gst_pad_push_event):
5536 Revert BLOCKING patch, it tries to be smart without really having a
5537 clear idea what or how. So, now we discard all FLUSHING events again on
5538 a blocking pad. Should fix gnonlin again.
5540 2006-10-23 Wim Taymans <wim@fluendo.com>
5542 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5544 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5545 (gst_base_src_start), (gst_base_src_activate_push):
5546 Make sure size is always initialized. Fixes #364388.
5548 2006-10-20 Stefan Kost <ensonic@users.sf.net>
5550 * docs/random/ensonic/distributed.txt:
5551 add some ideas about doing distributed processing
5553 * docs/random/ensonic/profiling.txt:
5554 get_rusage look promising
5556 2006-10-18 Stefan Kost <ensonic@users.sf.net>
5558 * docs/manual/basics-helloworld.xml:
5559 Add a cast in example to fix compile warning
5561 2006-10-18 Wim Taymans <wim@fluendo.com>
5563 * gst/gstsegment.c: (gst_segment_set_last_stop),
5564 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5565 Relax arg checking again, -1 is allowed.
5567 2006-10-18 Wim Taymans <wim@fluendo.com>
5569 * gst/gstsegment.c: (gst_segment_set_last_stop),
5570 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
5571 _set_last_stop() must be with a value != -1
5572 A _TYPE_SET to -1 means seek to 0.
5573 Calc last_stop correctly for negative rates.
5574 Make sure we work with positive durations when updating a segment.
5576 2006-10-18 Wim Taymans <wim@fluendo.com>
5578 * docs/design/part-live-source.txt:
5582 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
5585 Add an explicit cast to GstBuffer** to keep old code that added an
5586 explicit cast to GstMiniObject** for gst_mini_object_replace()
5587 compiling without warning.
5589 2006-10-18 Stefan Kost <ensonic@users.sf.net>
5591 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
5592 check for validity of dates
5594 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
5596 * docs/gst/gstreamer-sections.txt:
5597 Forgot this one, makes gtk-doc shut up.
5599 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
5601 Patch by: Peter Kjellerstedt <pkj at axis com>
5604 Don't define xmlNodePtr to gpointer if the core was built with
5605 --disable-loadsave and --disable-registry, this will break
5606 applications that want to use libxml2 but are buildling against a
5607 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
5608 instead so we don't have to mess with the libxml2 namespace
5611 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
5614 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
5615 type-punned pointer warnings.
5617 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
5620 Add casts to the correct return type to state <=> state transition
5623 2006-10-16 Stefan Kost <ensonic@users.sf.net>
5625 * docs/design/part-live-source.txt:
5626 describe howto handle latency
5628 * docs/random/ensonic/profiling.txt:
5631 * tools/gst-plot-timeline.py:
5632 fix log parsing for solaris, remove unused function
5634 2006-10-16 Wim Taymans <wim@fluendo.com>
5636 * docs/design/part-trickmodes.txt:
5638 Update some docs regarding reverse playback.
5640 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
5642 Patch by: Marcus Granado <mrc dot gran at gmail com>
5644 * win32/vs8/grammar.vcproj:
5645 Error out with a warning if glib-genmarshal.exe is not in path,
5646 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
5648 2006-10-13 Wim Taymans <wim@fluendo.com>
5650 * gst/gstsegment.c: (gst_segment_set_seek):
5651 When seeking to stop -1, set last_stop (current position) to the
5652 duration of the segment.
5654 2006-10-13 Wim Taymans <wim@fluendo.com>
5657 Clarify _NO_PREROLL a bit more.
5662 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
5663 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
5664 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
5665 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
5666 due to wrong locking order. Fixes #361769.
5667 Remove some redundant/misplaced checks in pad_block.
5669 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5670 For negative rates, count backwards from the duration.
5672 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
5674 * gst/gsterror.c: (_gst_library_errors_init):
5675 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
5676 up with something better).
5678 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
5680 * win32/vs6/libgstreamer.dsp:
5681 * win32/vs7/libgstreamer.vcproj:
5682 * win32/vs8/libgstreamer.vcproj:
5683 Don't reference glib-compat.c which is currently not used and not
5684 disted; add gstquark.c which was recently added. Fixes #361730.
5686 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
5688 * win32/common/libgstbase.def:
5689 * win32/common/libgstcontroller.def:
5690 * win32/common/libgstreamer.def:
5691 Add gst_caps_merge() and a bunch of other recently-added functions.
5694 2006-10-11 Wim Taymans <wim@fluendo.com>
5696 * docs/plugins/gstreamer-plugins.args:
5697 * docs/plugins/inspect/plugin-coreelements.xml:
5698 * docs/plugins/inspect/plugin-coreindexers.xml:
5699 Update element args.
5701 * gst/gstsystemclock.c:
5702 Small comment update.
5704 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5705 (gst_tee_request_new_pad), (gst_tee_release_pad),
5706 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
5707 (gst_tee_sink_activate_pull):
5708 * plugins/elements/gsttee.h:
5710 Add default property defines.
5711 Implement release pad function.
5712 Give properties better blubs etc.
5713 Activate pads before adding them to a running tee.
5714 Do simple buffer_alloc on the first requested pad.
5715 Post error when activation fails.
5717 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
5719 * gst/gst.c: (ensure_current_registry_forking):
5720 Check return value of write() to make compiler happy.
5722 2006-10-11 Wim Taymans <wim@fluendo.com>
5724 Patch by: Sjoerd Simons <sjoerd at luon dot net>
5726 * plugins/elements/gstqueue.c: (gst_queue_chain):
5727 Recheck queue filledness after signalling the overrun when we're about
5728 to leak downstream because we released the lock when emitting the signal
5729 and the queue could be empty again. Fixes #352345.
5731 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
5733 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5734 Fix refcounting here too, just like we did for _new_valist() a few
5735 days ago (#357180) (thanks to René Stadler). Also remove all those
5736 'Since: 0.9' from the gtk-doc blobs.
5738 * tests/check/libs/controller.c: (controller_refcount_new_list),
5739 (gst_controller_suite):
5740 Unit test for the above.
5742 2006-10-10 Wim Taymans <wim@fluendo.com>
5744 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
5746 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
5747 (gst_pad_save_thyself):
5749 Write pad direction in XML output. Fixes #345496.
5751 2006-10-10 Wim Taymans <wim@fluendo.com>
5753 Patch by: René Stadler <mail at renestadler dot de>
5755 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5756 (gst_controller_new_list), (_gst_controller_dispose),
5757 (_gst_controller_finalize), (_gst_controller_class_init):
5758 Take ref to controlled object so that it cannot disappear.
5761 2006-10-10 Wim Taymans <wim@fluendo.com>
5763 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5764 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5765 (gst_check_teardown_sink_pad):
5766 Activate/deactivate pads in setup/teardown respectively.
5768 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5770 Patch by: Josep Torre Valles <josep@fluendo.com>
5773 Cast values when making gstenumtypes.h. This pacifies Forte
5774 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
5777 2006-10-09 Wim Taymans <wim@fluendo.com>
5779 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
5780 Rename some more @cur to @start to fix docs.
5782 * gst/gstsegment.c: (gst_segment_set_seek):
5784 time and start must always stay in sync as defined in design doc.
5786 * gst/gsttaglist.c: (gst_tag_list_is_empty):
5787 Rename param to fix docs.
5789 * tests/check/gst/gstsegment.c: (GST_START_TEST):
5790 Check that start and time are in sync.
5792 * tests/check/pipelines/parse-launch.c:
5793 (gst_parse_test_element_change_state):
5794 Activate pad before adding to the element.
5796 2006-10-09 Wim Taymans <wim@fluendo.com>
5798 * docs/design/part-qos.txt:
5803 Update seek event docs regarding negative rates.
5804 Rename @cur to @start.
5806 * gst/gstsegment.c: (gst_segment_set_seek):
5808 Update set_seek docs regarding negative rates.
5809 Correctly update last_stop to @stop when dealing with negative
5811 Rename @cur to @start.
5813 * tests/check/gst/gstpad.c: (GST_START_TEST):
5814 Activate pads before trying to use them.
5816 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5817 (gst_segment_suite):
5818 Add simple check for segments and negative rates.
5820 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
5822 * gst/gsttaglist.c: (gst_tag_list_is_empty):
5824 * docs/gst/gstreamer-sections.txt:
5825 API: add gst_tag_list_is_empty() (#360467).
5827 * tests/check/gst/gsttag.c: (GST_START_TEST):
5830 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5833 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
5834 a value that doesn't fit on enumeration.
5836 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5838 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5839 Remove local debugging system and use Gstreamer's instead.
5841 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5843 Patch by: Josep Torre Valles <josep@fluendo.com>
5845 * common/m4/gst-error.m4:
5846 Disable warning of statement not reached on Forte.
5848 Fix warning on Forte (value doesn't fit on enumeration).
5849 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
5850 Fix warning on Forte (value doesn't fit on enumeration).
5851 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5852 DEBUG macro says it takes minimum of 2 args and so Forte
5853 complains about the use with just 1 arg.
5854 * plugins/elements/gstfdsink.c:
5855 * plugins/elements/gstfdsrc.c:
5856 * plugins/elements/gstfilesink.c:
5857 * plugins/elements/gstfilesrc.c:
5858 Use correct return type for the uri handler implementations.
5860 All these fix warnings in Forte. Fixes bug #360860.
5862 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
5865 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
5866 format string, so don't use G_GNUC_PRINTF for those versions.
5868 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
5870 * gst/gsttaglist.c: (gst_is_tag_list):
5872 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
5874 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5875 Small test for the above.
5877 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
5880 Less tabs, more spaces.
5882 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
5885 Those two function declarations do actually belong there, revert
5886 commit from yesterday that turned them intro macros.
5888 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5890 Patch by: Josep Torre Valles <josep@fluendo.com>
5892 * gst/gst.c: (gst_init_get_option_group):
5893 Fix empty declaration and type mismatch.
5894 * gst/gstbin.c: (gst_bin_change_state_func):
5896 * gst/gstelement.c: (gst_element_continue_state),
5897 (gst_element_set_state_func), (gst_element_change_state),
5898 (gst_element_change_state_func):
5899 Fix type mismatches.
5900 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
5901 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
5902 Cast as appropriate.
5903 * gst/gstobject.c: (gst_class_signal_connect):
5904 Cast as appropriate. The function pointer parameter really
5905 has the wrong type but would break API if we change it.
5907 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
5908 order of including string.h.
5909 * gst/gstutils.c: (gst_element_state_get_name):
5910 Remove unreachable line.
5911 * gst/gstxml.c: (gst_xml_parse_doc):
5913 All these caught by Forte.
5915 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5917 Patch by: Josep Torre Valles <josep@fluendo.com>
5919 * common/m4/gst-error.m4:
5921 We need to disable warnings on Forte for empty declarations
5922 due to gst-indent adding ;s to lines that just use macros
5923 where the macro actually doesn't need a ; at end to end
5926 2006-10-06 Wim Taymans <wim@fluendo.com>
5928 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5929 (gst_file_sink_close_file), (gst_file_sink_event),
5930 (gst_file_sink_render):
5931 Add some FIXME for the NEWSEGMENT handling.
5933 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5935 * gst/parse/grammar.y:
5936 Remove static function gst_parse_element_lock as all it does
5937 is return. Looks like cruft from 0.8.
5939 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5941 Patch by: Josep Torre Valles <josep@fluendo.com>
5943 * common/m4/gst-error.m4:
5945 * libs/gst/net/Makefile.am:
5946 Fix a compilation issue with Forte on Solaris. inet_aton is in
5949 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
5951 * gst/gstpad.c: (pre_activate):
5952 * gst/gstregistry.c: (gst_registry_scan_path_level):
5953 * gst/gstregistryxml.c: (load_plugin):
5954 * libs/gst/controller/gstcontroller.c:
5955 (gst_controlled_property_set_interpolation_mode):
5956 * libs/gst/dataprotocol/dataprotocol.c:
5957 (gst_dp_packet_from_event_1_0):
5958 * libs/gst/net/gstnetclientclock.c:
5959 (gst_net_client_clock_observe_times):
5960 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
5963 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
5966 * docs/gst/gstreamer-sections.txt:
5967 * gst/gstconfig.h.in:
5970 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
5971 whether we can use G_GNUC_PRINTF in other header files and at
5972 least check the printf format/arguments of debug messages and
5973 GST_ELEMENT_ERROR messages when the printf extension is not
5975 Replace more tabs with spaces in gstinfo.h and remove two spurious
5976 function declarations in GST_DISABLE_DEBUG part with macros.
5978 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
5980 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
5981 More docs for the sync-message signal (mention that it is not
5982 emitted by default); log message structures of messages posted on
5985 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
5987 * gst/gst.c: (ensure_current_registry_forking):
5988 Use a pipe pair to receive status results from the forked child, and
5989 ignore the result from waitpid. Fixes #355499
5991 2006-10-02 Wim Taymans <wim@fluendo.com>
5993 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
5994 (gst_ghost_pad_suite):
5997 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
6000 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
6002 2006-10-02 Edward Hervey <edward@fluendo.com>
6004 * docs/design/part-block.txt:
6005 Further explain the use of flushing on blocked pads.
6006 * docs/gst/gstreamer-sections.txt:
6007 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
6008 (gst_pad_push_event):
6010 Added new GstPadFlag : GST_PAD_BLOCKING.
6011 Adds the notion of pads really blocking, which enables to properly
6012 handle FLUSH_START/FLUSH_STOP events on blocked pads.
6014 API: gst_pad_is_blocking()
6015 API: GST_PAD_IS_BLOCKING() macro
6016 API: GST_PAD_BLOCKING GstPadFlag
6018 2006-10-02 Wim Taymans <wim@fluendo.com>
6020 Patch by: mrcgran <mrc.gran at gmail dot com>
6022 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
6023 Filter the proxied caps against the padtemplate if we have one.
6025 * gst/gstquery.c: (gst_query_new_segment):
6026 Add include for gstinfo.h so that compilation with
6027 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
6029 2006-10-02 Wim Taymans <wim@fluendo.com>
6031 Patch by: Alessandro Decina <alessandro at nnva org>
6033 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
6034 (gst_file_sink_set_location), (gst_file_sink_open_file),
6035 (gst_file_sink_close_file), (gst_file_sink_event),
6036 (gst_file_sink_render):
6037 Set file to NULL when closing filesink so that we can set a new filename
6038 in READY. Fixes #358613.
6040 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
6042 Patch by: Alessandro Decina <alessandro at nnva org>
6044 * gst/gstevent.c: (_gst_event_copy):
6045 Fix gst_mini_object_make_writable() and gst_event_copy() for events
6046 with event structures by setting the parent refcount address of the
6047 copied structure to the address of the refcount member of the newly
6048 copied event rather than the address of the refcount member of the
6049 original event. Fixes #358737.
6051 * tests/check/gst/gstevent.c: (GST_START_TEST):
6052 Unit test for the above.
6054 2006-09-29 Stefan Kost <ensonic@users.sf.net>
6056 * docs/design/Makefile.am:
6057 Dist some more files.
6059 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
6061 * tests/check/libs/controller.c: (GST_START_TEST),
6062 (gst_controller_suite):
6063 Add test for the previous fix; add some more tests
6064 for correct refcounting behaviour; fix a few leaks
6065 in test cases; call gst_controller_init() at start
6068 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
6070 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6071 (gst_controller_set_from_list):
6072 Don't g_return_val_if_fail() on timed values with invalid timestamps
6073 inside a critical section without unlocking the mutex. Spotted by
6074 René Stadler. (#357617)
6075 Also, fix up refcounting properly: when returning an existing
6076 controller, we should increase the reference only once and not
6077 once per property and when trying to control a property again
6078 we should also increase the refcount.
6080 2006-09-29 Wim Taymans <wim@fluendo.com>
6082 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6083 * libs/gst/net/gstnettimeprovider.c:
6084 (gst_net_time_provider_thread):
6085 Stop reading commands when EOF as well.
6087 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6088 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6089 * plugins/elements/gstidentity.c: (gst_identity_class_init):
6090 Unify description of the dump property.
6092 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
6094 * tests/examples/manual/.cvsignore:
6095 OK, so it's actually cvsignore that needs changing. Stop laughing.
6097 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
6099 * tests/examples/manual/Makefile.am:
6100 Gah, declare vars *before* using them
6102 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
6104 * gst/gst.c: (init_pre), (scan_and_update_registry),
6105 (ensure_current_registry_nonforking),
6106 (ensure_current_registry_forking), (ensure_current_registry),
6107 (init_post), (gst_debug_help), (gst_deinit):
6108 * gst/gst_private.h:
6109 * gst/gstregistry.c: (gst_registry_finalize),
6110 (gst_registry_remove_features_for_plugin_unlocked),
6111 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6112 (gst_registry_scan_path),
6113 (_priv_gst_registry_remove_cache_plugins),
6114 (_priv_gst_registry_cleanup):
6115 * gst/gstregistry.h:
6116 Re-commit the registry changes, along with an extra fix:
6117 When a cached plugin is encountered at a different file path,
6118 update the stored path in the registry cache so that the parent
6119 process knows where it actually is now when it re-reads the registry
6120 cache. Fixes the thing that broke distcheck with the previous commit.
6122 * tests/check/Makefile.am:
6123 Clean up files named 'core' too when running make clean.
6125 * tests/examples/manual/Makefile.am:
6126 Set up a registry path for running these tests, and clean it properly
6129 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
6132 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
6133 want gmodule-no-export-2.0.pc instead so that we don't drag in
6134 --export-dynamic on every project that links to GStreamer.
6136 Also, make our export regex only match the start of symbols, rather
6137 than any symbol that contains '_gst' somewhere.
6139 * libs/gst/check/Makefile.am:
6140 The libgstcheck we build does however need export-dynamic, as it
6141 produces some symbols that don't match our _gst... style regex.
6144 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
6146 * gst/gst.c: (init_pre), (scan_and_update_registry),
6147 (ensure_current_registry_nonforking),
6148 (ensure_current_registry_forking), (ensure_current_registry),
6149 (init_post), (gst_debug_help), (gst_deinit):
6150 * gst/gst_private.h:
6151 * gst/gstregistry.c: (gst_registry_finalize),
6152 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6153 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
6154 (_gst_registry_cleanup):
6155 * gst/gstregistry.h:
6156 Revert previous change until I figure out why it breaks distcheck.
6158 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
6160 * gst/gst.c: (init_pre), (scan_and_update_registry),
6161 (ensure_current_registry_nonforking),
6162 (ensure_current_registry_forking), (ensure_current_registry),
6163 (init_post), (gst_debug_help), (gst_deinit):
6165 Make init_pre and init_post take the full complement of GOptionFunc
6166 args so they can return useful GErrors. Make the registry updating
6169 Call _priv_gst_registry_remove_cache_plugins after scanning files to
6170 ensure that the registry we're about to write out doesn't contain
6171 stale information about old-deleted plugin files.
6173 Make _priv_gst_registry_remove_cache_plugins return a boolean so
6174 that deletion of plugin files is considered a registry change.
6176 * gst/gst_private.h:
6177 * gst/gstregistry.c: (gst_registry_finalize),
6178 (gst_registry_remove_features_for_plugin_unlocked),
6179 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6180 (gst_registry_scan_path),
6181 (_priv_gst_registry_remove_cache_plugins),
6182 (_priv_gst_registry_cleanup):
6183 * gst/gstregistry.h:
6184 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
6185 by adding _priv prefix, so that they won't appear in the global
6186 symbol table. They still do atm though because of #318031. Move the
6187 prototypes to gst_private.h
6189 When removing a plugin, remove all features for that plugin too.
6192 2006-09-27 Wim Taymans <wim@fluendo.com>
6194 * docs/random/moving-plugins:
6195 Make it clear that the "compiled-in descriptions" really mean
6196 the element details.
6198 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6199 (gst_base_sink_wait_preroll):
6202 * docs/libs/gstreamer-libs-sections.txt:
6203 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6204 (gst_base_src_get_range), (gst_base_src_activate_push):
6205 * libs/gst/base/gstbasesrc.h:
6206 Added function to block while waiting for PLAYING, this function
6207 is used by live sources that block on the clock.
6208 API: gst_base_src_wait_playing()
6210 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
6212 Patch by: Peter Kjellerstedt <pkj at axis com>
6215 gst-element-check.m4 is generated and should therefore be
6216 copied from the build dir rather than the source dir (#357593).
6217 'make distcheck' hasn't noticed this because we were disting
6218 the file as well, so stop doing that.
6220 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
6222 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6223 Add some tests for gst_caps_intersect().
6225 * tools/gst-launch.c: (event_loop):
6226 Print all buffering percentages we get, even the 100% one.
6228 2006-09-26 Wim Taymans <wim@fluendo.com>
6230 * tools/gst-inspect.c: (print_element_properties_info),
6231 (print_signal_info):
6232 Fix printing of flags to match the look of enums.
6234 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
6236 * gst/gstelementfactory.c:
6237 Fix typo in docs blurb.
6239 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
6241 * gst/gsturi.c: (search_by_entry):
6242 Don't assert/crash here if a uri handler doesn't return any
6243 supported protocols. The list of protocols could be generated
6244 dynamically at runtime or at plugin registration, and an error
6245 in the underlying library shouldn't be fatal (#353301).
6247 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
6250 Fix warning if HAVE_PRINTF_EXTENSION is undefined
6251 (spotted by Peter Kjellerstedt).
6253 2006-09-23 Wim Taymans <wim@fluendo.com>
6255 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
6257 * libs/gst/base/gstbasesrc.c:
6258 (gst_base_src_default_check_get_range), (gst_base_src_start),
6259 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6260 (gst_base_src_change_state):
6261 Match _start/_stop calls in the activate functions. Remove redundant
6262 _stop call from the state change function. Fixes #356910.
6263 Turn failure DEBUG into ERROR.
6265 2006-09-22 Wim Taymans <wim@fluendo.com>
6267 * docs/design/part-buffering.txt:
6268 * gst/gstmessage.c: (gst_message_new_buffering),
6269 (gst_message_parse_buffering):
6270 Update docs about buffering.
6272 * docs/design/part-trickmodes.txt:
6275 2006-09-22 Stefan Kost <ensonic@users.sf.net>
6277 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6278 (gst_controller_new_list):
6279 Ref instances when returning them again (fixes #357180)
6281 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
6283 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
6284 Don't forget to release proxy lock when there's an error.
6286 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
6289 Add extra initialisers for Caps things, to fix some plugin warnings
6292 2006-09-18 Wim Taymans <wim@fluendo.com>
6294 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
6295 Also set template on the internal pad so that a getcaps from the
6296 target pad returns the template caps.
6298 2006-09-18 Wim Taymans <wim@fluendo.com>
6300 * gst/gstelement.c: (gst_element_post_message),
6301 (gst_element_dispose):
6302 Use _DEBUG_OBJECT some more.
6304 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6307 * tools/gst-launch.c: (main):
6308 If the toplevel element is not a GstPipeline, it must be put in a
6309 pipeline so that a bus and clock is selected.
6311 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
6313 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6314 JITTER, RATE, and LATENCY query should be handled by the
6315 default case and not by the CONVERT query code.
6317 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
6319 * gst/gstformat.c: (gst_format_register):
6320 Fix locking order (must take lock before using n_values).
6322 * gst/gstvalue.c: (gst_value_serialize_enum),
6323 (gst_value_deserialize_enum_iter_cmp),
6324 (gst_value_deserialize_enum):
6325 Fix serialisation/deserialisation of custom registered GstFormats.
6327 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6328 Unit test for custom format serialisation/deserialisation.
6330 2006-09-17 Stefan Kost <ensonic@users.sf.net>
6332 * docs/pwg/building-boiler.xml:
6333 * plugins/elements/gstcapsfilter.c:
6334 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
6337 2006-09-16 Edward Hervey <edward@fluendo.com>
6339 * libs/gst/base/gstbasetransform.c:
6340 (gst_base_transform_buffer_alloc):
6341 Check if requested caps are the same as the sinks caps IF
6342 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
6344 This fixes the renegotiation issues stated in #352827.
6346 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
6349 * docs/manual/advanced-autoplugging.xml:
6350 * tests/examples/Makefile.am:
6351 * tests/examples/manual/.cvsignore:
6352 * tests/examples/manual/Makefile.am:
6353 * tests/examples/manual/extract.pl:
6354 Extract the manual examples again like we used to do.
6357 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
6359 * win32/common/config.h:
6362 2006-09-16 Stefan Kost <ensonic@users.sf.net>
6365 Documents how to receive errors.
6367 2006-09-15 Wim Taymans <wim@fluendo.com>
6369 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
6370 (event_loop), (main):
6371 Added some comments here and there.
6372 Post an application message when an interrupt is caught instead of doing
6373 an uncontrolled state change.
6374 Clean up the event loop.
6375 Handle buffering messages, pause/resume the pipeline.
6376 Make shutdown because of an interrupt more reliable.
6378 2006-09-15 Wim Taymans <wim@fluendo.com>
6380 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6381 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
6382 (gst_base_sink_preroll_object):
6383 Make sure that our internal state is correct when we commit our state
6384 asynchronously. This solves a race where a state change to PLAYING
6385 could cause the sink to remain blocked in preroll in some situations.
6387 2006-09-15 Wim Taymans <wim@fluendo.com>
6389 * tools/gst-inspect.c: (print_element_properties_info),
6390 (print_signal_info):
6391 List flags as hex so it's easier to deal with.
6393 2006-09-15 Wim Taymans <wim@fluendo.com>
6395 * docs/libs/gstreamer-libs-sections.txt:
6396 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
6397 (gst_base_sink_do_sync):
6398 * libs/gst/base/gstbasesink.h:
6399 Expose logic to wait for preroll so that subclasses such as audiosink
6400 can also use this method.
6401 API: gst_base_sink_wait_preroll()
6403 2006-09-15 Wim Taymans <wim@fluendo.com>
6405 * gst/gstobject.c: (gst_object_set_parent):
6406 * gst/gstpipeline.c: (do_pipeline_seek):
6407 Small cleanups in docs and code.
6409 * gst/gstsegment.c: (gst_segment_clip):
6410 * tests/check/gst/gstsegment.c: (GST_START_TEST):
6411 if stop == start and start is in the segment, no clipping should be
6412 done. Also add a test for this.
6414 2006-09-15 Wim Taymans <wim@fluendo.com>
6416 * docs/design/part-buffering.txt:
6417 * docs/gst/gstreamer-sections.txt:
6418 * gst/gstmessage.c: (gst_message_new_buffering),
6419 (gst_message_parse_buffering):
6421 Added methods to create and parse BUFFERING messages.
6422 Added preliminary docs about buffering.
6423 API: gst_message_new_buffering
6424 API: gst_message_parse_buffering
6426 2006-09-06 Wim Taymans <wim@fluendo.com>
6429 Update documentation.
6431 * gst/gstelement.c: (gst_element_class_init),
6432 (gst_element_release_request_pad), (gst_element_set_clock),
6433 (gst_element_get_index), (gst_element_add_pad),
6434 (gst_element_remove_pad), (gst_element_get_random_pad),
6435 (gst_element_send_event), (gst_element_get_query_types),
6436 (gst_element_query), (gst_element_post_message),
6437 (gst_element_message_full), (gst_element_continue_state),
6438 (gst_element_lost_state), (gst_element_save_thyself),
6439 (gst_element_restore_thyself):
6440 Documentation updates.
6441 Rename last bit of the new-pad -> pad-added signal rename.
6442 Fix the case where an element query would only work if the source
6444 Avoid some useless type checking in message handling.
6449 Documentation updates.
6451 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
6453 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
6454 add an INFO line for when we actually update the fd
6456 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
6461 === release 0.10.10 ===
6463 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
6466 releasing 0.10.10, "Pais"
6468 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
6470 * docs/manual/advanced-position.xml:
6471 Fix typo in sample code.
6473 2006-09-05 Wim Taymans <wim@fluendo.com>
6475 * libs/gst/net/gstnetclientclock.c: (inet_aton),
6476 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6477 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
6478 * libs/gst/net/gstnetclientclock.h:
6479 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6480 * libs/gst/net/gstnettimepacket.h:
6481 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
6482 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
6483 (gst_net_time_provider_thread), (gst_net_time_provider_new):
6484 * libs/gst/net/gstnettimeprovider.h:
6485 Make stuff compile on windows. Fixes #345295.
6487 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
6489 * gst/gst.c: (ensure_current_registry_forking):
6490 Print better details when child was terminated by signal.
6492 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
6494 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
6495 Print a warning rather than g_assert() if a plugin feature
6496 is a URI handler but returns no protocols (#353976).
6498 2006-09-02 Stefan Kost <ensonic@users.sf.net>
6500 * docs/random/moving-plugins:
6503 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
6505 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
6506 Fix locking order, handle NULL function values properly.
6511 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
6512 Initialise variable before using it and fix debug statement to
6513 print the address of the function rather than the address of the
6514 variable on the stack holding the address of the function.
6516 2006-09-01 Wim Taymans <wim@fluendo.com>
6518 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
6519 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
6520 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6521 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
6522 (gst_ghost_pad_parent_unset),
6523 (gst_ghost_pad_internal_do_activate_push),
6524 (gst_ghost_pad_internal_do_activate_pull),
6525 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6526 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6527 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
6528 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
6529 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
6530 (gst_ghost_pad_new_no_target_from_template),
6531 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6533 Avoid needless typechecking in macros.
6534 Since the internal pad is always present and never changes, there is
6535 no need to locking or ref when retrieving it.
6536 Improve debugging a bit.
6537 Handle link errors when setting the target. Fixes #341029.
6539 2006-09-01 Wim Taymans <wim@fluendo.com>
6541 * docs/libs/gstreamer-libs-sections.txt:
6542 * docs/plugins/gstreamer-plugins-sections.txt:
6545 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6546 (gst_collect_pads_event):
6547 * libs/gst/base/gstcollectpads.h:
6548 Documentation updates.
6549 Free queued buffer when removing a pad.
6551 2006-08-31 Michael Smith <msmith@fluendo.com>
6553 * gst/gstutils.c: (gst_element_link_pads),
6554 (gst_element_link_pads_filtered):
6555 Ensure that we set a capsfilter to NULL if we failed to link it
6556 when doing filtered linking, to avoid criticals.
6558 No need to check for unreffing srcpad, which is explicly NULLed
6559 above (a trivial code cleanup).
6561 2006-08-31 Wim Taymans <wim@fluendo.com>
6563 * docs/design/part-gstghostpad.txt:
6564 Update ascii art in documentation.
6566 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
6567 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
6568 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
6569 (gst_ghost_pad_internal_do_activate_push),
6570 (gst_ghost_pad_internal_do_activate_pull),
6571 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6572 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6573 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
6574 (gst_ghost_pad_set_target):
6575 Small cleanups and leak fixes.
6576 Remove some checks now that the internal pad is never NULL.
6577 Fix the case where linking pads without a target would create nasty
6578 criticals. Fixes #341029.
6579 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
6580 value of _set_target().
6582 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6583 (gst_ghost_pad_suite):
6584 Some more tests for creating and linking untargeted ghostpads.
6586 2006-08-31 Edward Hervey <edward@fluendo.com>
6588 * docs/gst/gstreamer-sections.txt:
6589 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
6590 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
6591 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
6592 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
6593 (gst_ghost_pad_new_from_template),
6594 (gst_ghost_pad_new_no_target_from_template):
6595 * gst/gstghostpad.h:
6596 Refactored *_new() functions.
6597 Templates are now used as a g_object_new() parameter.
6598 Use template in _do_getcaps() if we don't have a target.
6599 Small documentation cleanups.
6600 Added two new constructors:
6601 gst_ghost_pad_new_from_template()
6602 gst_ghost_pad_new_no_target_from_template()
6603 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6604 (gst_ghost_pad_suite):
6605 Added tests for new ghostpad instanciation functions.
6607 API additions: gst_ghost_pad_new_from_template,
6608 gst_ghost_pad_new_no_target_from_template
6610 2006-08-30 Stefan Kost <ensonic@users.sf.net>
6612 * docs/random/ensonic/profiling.txt:
6613 Ideas about qos profiling.
6615 2006-08-29 Wim Taymans <wim@fluendo.com>
6617 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
6621 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
6624 Improve and detypofy docs.
6626 * tests/check/Makefile.am:
6627 * tests/check/gst/.cvsignore:
6628 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
6629 Add a basic test suite for GstXML.
6631 2006-08-29 Wim Taymans <wim@fluendo.com>
6633 * gst/gstelement.c: (activate_pads), (clear_caps),
6634 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
6635 Clear the pad caps when the element shut down all of the pads and
6636 is not streaming data that could modify the caps.
6639 2006-08-28 Michael Smith <msmith@fluendo.com>
6641 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6642 Revert previous change; I misunderstood single-segment mode.
6644 2006-08-28 Michael Smith <msmith@fluendo.com>
6646 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6647 Unset DISCONT on buffers when using single-segment mode.
6649 2006-08-28 Wim Taymans <wim@fluendo.com>
6651 * gst/gstcaps.c: (gst_caps_merge_structure):
6653 Fix docs and indentation again.
6655 * tests/check/gst/gstquery.c: (GST_START_TEST):
6656 Fix leak in tests and add some more tests.
6658 2006-08-28 Edward Hervey <edward@fluendo.com>
6660 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6661 Inform GstSegment of the last stop position in order for the current
6662 segment to have a proper duration if it doesn't have a specific stop
6663 position from which a duration could be calculated.
6664 This bug was noticeable when a non-flushing, non-update new segment was
6665 followed by another segment (all buffers from the new segment were being
6668 2006-08-28 Wim Taymans <wim@fluendo.com>
6670 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6671 Small comment update.
6673 * plugins/elements/gstidentity.c: (gst_identity_class_init),
6674 (gst_identity_transform_ip):
6675 Drop-probability is broken, mention this in the code with a
6676 FIXME and also in the property description.
6677 Make silent also be silent about the drop messages.
6679 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
6681 * docs/manual/appendix-win32.xml:
6682 Remove mention of popt, we don't depend on that any
6683 longer (#353136). Add some comments pointing out that
6684 this section is slightly outdated.
6686 2006-08-28 Wim Taymans <wim@fluendo.com>
6688 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6690 * gst/gstquery.c: (gst_query_new_segment):
6691 * tests/check/gst/gstquery.c: (GST_START_TEST):
6692 Initialize variables when creating a new segment query.
6695 2006-08-28 Wim Taymans <wim@fluendo.com>
6697 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
6699 * gst/gstelement.c: (gst_element_get_bus):
6700 * tests/check/gst/gstelement.c: (GST_START_TEST):
6701 Check for NULL before _reffing the bus. Fixes #353122.
6703 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
6705 * docs/manual/basics-bus.xml:
6706 Docs update: fix wrong callback return value explanation; add
6707 some lines about the implicit relationship between main loop
6708 and main context; remove duplicate main loop variable declaration.
6710 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
6712 * tests/check/gst/gstcaps.c: (GST_START_TEST):
6713 Don't leak caps in unit test; add a few more simple
6716 2006-08-24 Stefan Kost <ensonic@users.sf.net>
6718 * docs/gst/gstreamer-sections.txt:
6719 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
6720 (gst_caps_structure_is_subset), (gst_caps_merge),
6721 (gst_caps_merge_structure):
6723 * libs/gst/base/gstbasetransform.c:
6724 (gst_base_transform_transform_caps):
6725 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
6726 implement caps merging (fixes #352580)
6728 2006-08-23 Stefan Kost <ensonic@users.sf.net>
6730 * tools/Makefile.am:
6731 * tools/gst-plot-timeline.py:
6732 add debug-log plotting developer tool (#340674)
6734 2006-08-23 Wim Taymans <wim@fluendo.com>
6736 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
6737 (gst_pad_stop_task):
6738 Improve debugging for task functions.
6740 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
6741 (gst_task_start), (gst_task_pause), (gst_task_join):
6742 Make sure that the task function started and finished after a
6744 Don't try to push the task function on the threadpool multiple
6746 Improve the g_warning message with some useful suggestions
6747 about how to fix the problem.
6749 2006-08-23 Wim Taymans <wim@fluendo.com>
6751 * gst/gstutils.c: (gst_pad_proxy_getcaps):
6752 Handle RESYNC correctly in _proxy_getcaps.
6754 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
6756 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
6757 (gst_xml_parse_memory), (gst_xml_get_element):
6758 Chain up to parent class in dispose function and also
6759 unref the elements in the toplevel_elements GList.
6760 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
6761 Always return a reference in gst_xml_get_element() rather
6762 than only sometimes.
6764 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
6765 Don't leak GstXml object.
6767 2006-08-21 Stefan Kost <ensonic@users.sf.net>
6769 * docs/gst/gstreamer-sections.txt:
6770 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
6773 * libs/gst/base/gstbasetransform.c:
6774 (gst_base_transform_transform_caps):
6775 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
6778 2006-08-21 Edward Hervey <edward@fluendo.com>
6780 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
6781 Implement GObject::dispose virtual method in GstXML so we can free the
6784 2006-08-21 Wim Taymans <wim@fluendo.com>
6786 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
6787 (gst_buffer_create_sub):
6788 Copy duration/offset_end/caps when creating a subbuffer of the
6790 Make the subbuffer read-only when we make the metadata writable for
6793 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6794 Added check for metadata copy when creating subbuffers.
6796 2006-08-21 Edward Hervey <edward@fluendo.com>
6798 * libs/gst/base/gstbasetransform.c:
6799 (gst_base_transform_buffer_alloc):
6800 Only call downstream buffer_alloc if transform element is passthrough
6801 or always_in_place. Closes #350449.
6803 2006-08-20 Stefan Kost <ensonic@users.sf.net>
6806 ChangeLog surgery to add comments to previous changes
6808 2006-08-20 Stefan Kost <ensonic@users.sf.net>
6813 * gst/gstpad.c: (gst_pad_set_active):
6814 Be more verbose in the log
6816 * libs/gst/base/gstbasetransform.c:
6817 (gst_base_transform_transform_caps):
6818 Simplify caps to get rid of duplicates, fixes #345444
6820 2006-08-20 Stefan Kost <ensonic@users.sf.net>
6824 Use these optimizations only internally.
6826 2006-08-20 Stefan Kost <ensonic@users.sf.net>
6828 * gst/gstvalue.c: (gst_value_compare_list),
6829 (gst_value_compare_fraction_range),
6830 (gst_value_intersect_fraction_fraction_range),
6831 (gst_value_intersect_fraction_range_fraction_range),
6832 (gst_value_subtract_fraction_fraction_range),
6833 (gst_value_subtract_fraction_range_fraction_range),
6834 (gst_value_get_compare_func), (gst_value_compare),
6835 (gst_value_compare_with_func):
6837 Saves the expensive lookup of the compare function in many cases
6840 2006-08-18 Edward Hervey <edward@fluendo.com>
6842 * tests/check/gst/gstinfo.c: (gst_info_suite):
6843 Disable test that require gstdebug if it wasn't built in core.
6845 2006-08-18 Stefan Kost <ensonic@users.sf.net>
6847 * docs/random/ensonic/logging.txt:
6850 * gst/gstinfo.c: (gst_debug_log_default):
6851 reorder fields, save some columns, add optional color codes for log
6854 2006-08-18 Stefan Kost <ensonic@users.sf.net>
6856 * docs/random/ensonic/logging.txt:
6857 add ideas about making the logs a bit more useful
6859 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
6861 * docs/pwg/advanced-events.xml:
6862 * docs/pwg/titlepage.xml:
6863 Update for 0.10 API (#340627). Add myself
6866 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
6868 * docs/libs/gstreamer-libs-docs.sgml:
6869 * docs/libs/gstreamer-libs-sections.txt:
6870 * libs/gst/check/gstbufferstraw.c:
6871 Make gstcheck stuff show up in docs (still needs to
6872 be documented properly though).
6874 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
6876 * docs/gst/gstreamer-sections.txt:
6878 * gst/gst.c: (init_post):
6879 * gst/gst_private.h:
6880 * gst/gstquark.c: (_priv_gst_quarks_initialize):
6882 * gst/gstquery.c: (gst_query_new_position),
6883 (gst_query_set_position), (gst_query_parse_position),
6884 (gst_query_new_duration), (gst_query_set_duration),
6885 (gst_query_parse_duration), (gst_query_new_convert),
6886 (gst_query_set_convert), (gst_query_parse_convert),
6887 (gst_query_new_segment), (gst_query_set_segment),
6888 (gst_query_parse_segment), (gst_query_new_seeking),
6889 (gst_query_set_seeking), (gst_query_parse_seeking):
6890 Add internal helpers for pre-registering quarks from static strings
6891 and using the quark values directly instead of looking them up when
6892 creating and parsing queries. Can be used for event construction too.
6895 2006-08-16 Wim Taymans <wim@fluendo.com>
6900 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
6902 * gst/gstutils.c: (gst_util_set_value_from_string):
6903 Fix memleak (#351502).
6905 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6906 Add unit test for most of gst_util_set_value_from_string()
6907 (not that one would want to encourage use of this function).
6909 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
6911 * libs/gst/check/gstcheck.h:
6912 Use const gchar * variables in fail_unless_equals_string
6913 macro to avoid compiler warnings (and don't use tabs for
6916 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
6918 * tools/gst-launch.c: (print_tag):
6919 More space on the left for the tag names, to cater
6920 for the 'extended comment' tag (not touching the
6921 string for the first line since it's translated).
6923 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
6925 * libs/gst/check/gstcheck.h:
6926 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
6927 print something when they fail.
6929 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
6931 * docs/gst/gstreamer-sections.txt:
6932 * gst/gsttaglist.c: (_gst_tag_initialize):
6934 API: add GST_TAG_EXTENDED_COMMENT (#350935).
6935 Also change merge function for GST_TAG_COMMENT to
6938 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
6940 * gst/gstinfo.c: (gst_debug_print_object):
6941 Make GST_PTR_FORMAT print messages as well.
6943 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
6944 (GST_START_TEST), (gst_info_suite):
6947 2006-08-14 Edward Hervey <edward@fluendo.com>
6949 * gst/gstelementfactory.c: (gst_element_register):
6950 If the GstElementClass doesn't have a GstElementDetails with all fields
6951 filled up correctly (longname, description AND author), then error out
6952 nicely instead of crashing.
6954 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
6956 * gst/gststructure.c:
6957 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
6960 Expand on the difference between arrays and lists as we use them.
6962 2006-08-14 Wim Taymans <wim@fluendo.com>
6964 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6965 If the parent state change function failed, don't assume we can safely
6966 stop the source, this will be done when the pads are deactivated.
6968 2006-08-14 Wim Taymans <wim@fluendo.com>
6971 * gst/gsttask.c: (gst_task_join):
6974 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6975 (gst_pad_stop_task):
6976 When pad (de)activation failed for some reason, restore the old
6977 activation mode and set the pad to flushing instead of assuming the
6979 If the _task_join() failed, reinstall the task on the pad so that it can
6980 be stopped later and return an error.
6982 2006-08-11 Andy Wingo <wingo@pobox.com>
6985 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
6986 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
6987 is only for users of API that don't want to see deprecated
6988 functions in the headers; people that want to compile out
6989 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
6990 CFLAGS. Fixes the build of multifdsink, or will soon..
6992 2006-08-11 Wim Taymans <wim@fluendo.com>
6994 * docs/gst/gstreamer-sections.txt:
6995 Add GstClockClass vmethod docs.
6998 Mark #endif with comment for associated #if
7000 * gst/gstclock.c: (gst_clock_id_wait):
7002 Add vmethod wait_jitter to avoid an unneeded _get_time() for
7003 most clock implementations.
7005 Flesh out docs about resolution methods.
7006 API: GstClockClass::wait_jitter
7008 * gst/gstsystemclock.c: (gst_system_clock_class_init),
7009 (gst_system_clock_async_thread),
7010 (gst_system_clock_id_wait_jitter_unlocked),
7011 (gst_system_clock_id_wait_jitter):
7012 Use base class wait_jitter variant for improved performance
7013 due to less clock polling.
7015 2006-08-11 Edward Hervey <edward@fluendo.com>
7017 * gst/gst.c: (gst_init_check), (init_post):
7018 Set gst as being initialized before scanning/updating the registry,
7019 since there might be my python plugin loader that calls gst_init() and
7020 we don't want to loop back in.
7023 2006-08-11 Wim Taymans <wim@fluendo.com>
7025 * docs/design/part-qos.txt:
7026 Bring docs in line with the code. Mostly the sign of the jitter was
7027 wrong in the docs. Fixes #349943.
7030 Fix the docs for the jitter.
7032 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
7033 (gst_event_parse_tag), (gst_event_new_buffer_size),
7034 (gst_event_parse_buffer_size), (gst_event_parse_qos),
7035 (gst_event_new_seek), (gst_event_parse_seek),
7036 (gst_event_new_navigation):
7037 Make sure the GstStructure has no parent when creating custom
7039 Add some more argument checking so that we avoid 0.0 rates.
7040 Flesh out the docs for the QoS event some more.
7042 2006-08-11 Wim Taymans <wim@fluendo.com>
7044 * docs/gst/gstreamer-sections.txt:
7045 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7046 (ensure_current_registry_forking), (ensure_current_registry),
7047 (parse_one_option), (parse_goption_arg), (gst_deinit),
7048 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
7051 Added API and command line option to disable registry forking in
7052 addition to the environment variable.
7053 Constify some static arrays.
7054 Added some more debug.
7056 API: gst_registry_fork_is_enabled()
7057 API: gst_registry_fork_set_enabled()
7058 API: --gst-disable-registry-fork command line option
7061 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
7063 * gst/gst.c: (gst_init):
7064 Fix typo in error message.
7066 2006-08-10 Stefan Kost <ensonic@users.sf.net>
7068 * libs/gst/controller/gstcontroller.h:
7069 fix ABI size-correction
7071 * tests/check/libs/gdp.c: (gst_dp_suite):
7072 make tests that use deprecated API conditional
7074 2006-08-10 Stefan Kost <ensonic@users.sf.net>
7076 * docs/libs/gstreamer-libs-sections.txt:
7077 * libs/gst/controller/gstcontroller.c:
7078 (_gst_controller_get_property), (_gst_controller_set_property),
7079 (_gst_controller_init), (_gst_controller_class_init):
7080 * libs/gst/controller/gstcontroller.h:
7081 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
7082 (gst_object_set_control_rate):
7083 API: add gst_object_{s,g}et_control_rate(), add private data section,
7086 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7087 * libs/gst/dataprotocol/dataprotocol.h:
7088 add deprecation guards to make gtk-doc happy and allow disabling cruft
7090 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
7092 * tests/check/Makefile.am:
7093 * tests/check/gst/.cvsignore:
7094 Let's enable the new unit test as well.
7096 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
7099 * docs/gst/gstreamer-sections.txt:
7100 * gst/gstconfig.h.in:
7101 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
7102 (_gst_info_printf_extension_ptr),
7103 (_gst_info_printf_extension_segment):
7104 API: add GST_SEGMENT_FORMAT, which is a printf extension we
7105 register that lets us easily dump GstSegments into debug
7108 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
7109 (info_segment_format_printf_extension), (gst_info_suite):
7110 Add simple unit test that logs a bunch of different segments (not
7111 valgrinded at the moment because of leaks in
7112 gst_debug_add_log_function).
7114 2006-08-09 Edward Hervey <edward@fluendo.com>
7116 * libs/gst/base/gstbasetransform.c:
7117 (gst_base_transform_buffer_alloc):
7118 Even if we can't figure out the proper format to request downstream,
7119 call buffer_alloc() downstream with the input parameters without setting
7120 the caps on the srcpad. This will force negotiation in the chain
7124 2006-08-08 Edward Hervey <edward@fluendo.com>
7126 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7127 Unlinking from a pad without a target is now a perfectly valid case
7128 which should NOT raise an assertion.
7129 This case would happen if a linked ghostpad its target set to NULL after
7130 it was previously linked.
7132 2006-08-08 Edward Hervey <edward@fluendo.com>
7134 * tests/check/libs/gdp.c:
7135 Also comment out the test (see below).
7137 2006-08-08 Edward Hervey <edward@fluendo.com>
7139 * tests/check/libs/gdp.c: (gst_dp_suite):
7140 Use the architecture information from config.h and not gcc macros
7141 in order to properly disable a test that fails on PPC64.
7143 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
7145 * gst/gstelement.c: (gst_element_remove_pad):
7146 Don't crash printing the warning if the pad has no parent.
7148 2006-08-02 Wim Taymans <wim@fluendo.com>
7150 * libs/gst/dataprotocol/dataprotocol.c:
7151 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7152 (gst_dp_crc), (gst_dp_header_payload_length),
7153 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
7154 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
7155 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
7156 (gst_dp_event_from_packet), (gst_dp_validate_header),
7157 (gst_dp_validate_payload):
7158 Make debug category static
7159 Constify the crc table.
7160 Do some more arg checking in public functions.
7161 Fix some docs and do some small cleanups.
7163 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
7164 Add some more checks to see if GDP deals with bogus input.
7166 2006-07-31 Wim Taymans <wim@fluendo.com>
7168 * gst/gstvalue.c: (gst_value_compare_list):
7169 Fix GstValueList comparison code. Fixes #347293.
7171 * tests/check/gst/gstvalue.c: (GST_START_TEST):
7172 Check to test GstValueList comparison.
7174 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7176 * gst/gstelementfactory.c: (gst_element_factory_create):
7177 Remove unnecessary ref/unref pair
7179 * gst/parse/grammar.y:
7180 Make sure to free the parse buffer on all code paths.
7181 Move a g_free up to the error handler where it's easier to see.
7183 * tests/check/gst/gstevent.c: (test_event):
7184 Extending timeout for downstream travelling events to 10 seconds to
7185 hopefully avoid intermittent failure on the buildbots.
7187 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
7188 Don't manually set the state of the src element - it will happen as a
7189 natural consequence of the pipeline changing state, and that way it
7190 will do it in the right order too.
7192 2006-07-31 Wim Taymans <wim@fluendo.com>
7194 * libs/gst/base/gstbasetransform.c:
7195 (gst_base_transform_buffer_alloc):
7196 Use OBJECT_LOCK and refcounting to get the pad caps in the
7197 buffer_alloc function because the caps could change while we are
7198 busy with them. Fixes #349105
7200 2006-07-31 Wim Taymans <wim@fluendo.com>
7202 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
7203 Protect _PAD_CAPS with OBJECT_LOCK.
7205 2006-07-31 Wim Taymans <wim@fluendo.com>
7207 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7208 (gst_pad_get_property), (gst_pad_activate_pull),
7209 (gst_pad_activate_push), (gst_pad_set_blocked_async),
7210 (gst_pad_set_activate_function),
7211 (gst_pad_set_activatepull_function),
7212 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
7213 (gst_pad_set_getrange_function),
7214 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
7215 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7216 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
7217 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
7218 (gst_pad_set_acceptcaps_function),
7219 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
7220 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
7221 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
7222 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
7223 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
7224 (gst_pad_configure_sink), (gst_pad_configure_src),
7225 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
7226 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
7227 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
7228 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
7229 (gst_pad_send_event):
7230 Use _DEBUG_OBJECT when it makes sense.
7231 Protect GST_PAD_CAPS with the OBJECT_LOCK.
7232 Small cleanups and code reflows.
7233 Avoid caps refcounting in _accept_caps.
7234 Refactor alloc_buffer so that the code performed on the peer is in a
7235 separate function. Also if the pad does not implement a buffer alloc
7236 function, we should still check if the pad is flushing before falling
7237 back to the default allocator.
7239 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7241 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7242 Make all uses of identity and fakesink have silent=true to avoid
7243 serialising every passing data structure, which is breaking tests
7244 on FC4 for some unknown reason.
7246 2006-07-30 Stefan Kost <ensonic@users.sf.net>
7248 * gst/parse/Makefile.am:
7249 * gst/parse/grammar.y:
7250 * gst/parse/parse.l:
7251 Reverted previous patch as it required to bump the flex dependency to
7252 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
7254 2006-07-30 Stefan Kost <ensonic@users.sf.net>
7256 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
7258 * gst/parse/Makefile.am:
7259 * gst/parse/grammar.y:
7260 * gst/parse/parse.l:
7261 push & pop the state of the lexer for reentrant use case
7264 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
7266 * libs/gst/base/gstbasesrc.h:
7267 Note in the docs that the ::newsegment vfunc is not actually used by
7270 2006-07-28 Wim Taymans <wim@fluendo.com>
7272 * libs/gst/base/gstcollectpads.c:
7273 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
7274 (gst_collect_pads_clear), (gst_collect_pads_flush),
7275 (gst_collect_pads_event), (gst_collect_pads_chain):
7276 When flushing a pad, also clear the queued buffer so that we don't
7277 accidentally use it when we shouldn't.
7278 Fix leaks by inreffing incomming buffer.
7279 Flush out queued buffers in case of errors.
7282 2006-07-28 Wim Taymans <wim@fluendo.com>
7284 * docs/random/phonon-gst:
7285 Random notes about a Phonon backend.
7287 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
7289 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7291 * tests/check/libs/gdp.c: (gst_dp_suite):
7292 Take a whack at fixing the ppc compile using a different define to
7293 disable the broken test.
7295 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7296 Remove excess g_print()
7298 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
7300 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7301 Oops, meant to uncomment this line too to dampen the noise a bit.
7303 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
7305 * gst/parse/grammar.y:
7306 * gst/parse/parse.l:
7307 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7308 (GST_START_TEST), (parse_suite):
7309 Fix some of the leaks exposed by extending the parse-launch testsuite,
7310 and move the 3 I can't figure out into a separate test that won't run
7311 the pipelines unless the appropriate line is uncommented.
7313 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
7315 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7316 Requesting 0 bytes before the end of the file should result in
7317 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
7320 2006-07-27 Wim Taymans <wim@fluendo.com>
7322 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
7323 Fix useless assert, a uint is always positive.
7325 * gst/gststructure.c: (gst_structure_nth_field_name),
7326 (gst_structure_foreach), (gst_structure_map_in_place):
7327 Check input arguments for public functions to avoid obvious crashes.
7329 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
7330 * plugins/elements/gstfakesink.h:
7331 Do less useless typechecking.
7333 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
7335 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
7336 Do not use mmap() by default since there are a number of error
7337 conditions that we would like to handle in a non-fatal way that
7338 will result in a SIGBUS if we use mmap(). Examples: external
7339 devices (USB harddrive, portable music player) being unplugged
7340 while in use; file on mounted CD/DVD that can't be read because
7341 the medium is partly damaged. Fixes #348455 and #348475.
7343 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
7346 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
7349 2006-07-26 Stefan Kost <ensonic@users.sf.net>
7351 * gst/gstregistry.c:
7352 Move big documentation comment into class section header, so that it
7353 appears in the API docs.
7355 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7357 * docs/gst/gstreamer-sections.txt:
7358 Oops. Commit the docs additions too for new API.
7359 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
7361 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7363 * gst/gststructure.c: (gst_structure_id_set),
7364 (gst_structure_id_set_valist):
7365 * gst/gststructure.h:
7366 Add API for setting values into structures without performing
7367 a quark lookup, if the appropriate quark is already known.
7369 API: gst_structure_id_set
7370 API: gst_structure_id_set_valist
7372 * gst/parse/grammar.y:
7373 * gst/parse/parse.l:
7374 Remove some dead code shown by the coverage information.
7375 Don't throw a critical g_warning when encountering a syntax error,
7376 just warn and let the normal error path handle it.
7378 * plugins/elements/gstelements.c:
7379 Bump the rank of filesink up to PRIMARY so that it is preferred over
7380 gnomevfssink for file:// sink uri's
7382 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
7383 (GST_START_TEST), (run_delayed_test),
7384 (gst_parse_test_element_base_init),
7385 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
7386 (gst_parse_test_element_change_state),
7387 (gst_register_parse_element), (parse_suite):
7388 Beef up the tests for parse syntax to check that more error cases
7389 fail as they are supposed to. Increases the test coverage a bit.
7391 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
7393 * docs/manual/basics-elements.xml:
7394 Fix gst_element_link() example.
7397 Mention in API docs that one should usually gst_bin_add()
7398 elements to a bin or pipeline before doing the linking.
7400 2006-07-26 Wim Taymans <wim@fluendo.com>
7402 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
7403 (gst_subbuffer_get_type), (gst_buffer_create_sub):
7404 Avoid function call for known types by keeping the buffer and
7405 subbuffer GType global.
7407 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7408 Random silly optimisations in read() path.
7410 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7412 * tools/gst-launch.c: (main):
7413 If the top-level of the parse is a normal bin, it doesn't do the
7414 right logic to run as a top-level element, so place it inside a
7417 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
7419 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
7420 Remove superfluous g_object_notify() calls, GObject does
7421 that for us automatically.
7423 2006-07-25 Stefan Kost <ensonic@users.sf.net>
7426 on Win32, use dllspec to export the debug category symbols
7428 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
7430 * gst/gsttaglist.c: (_gst_tag_initialize):
7431 Allow more than one GST_TAG_IMAGE per taglist.
7433 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
7435 * gst/gstminiobject.c:
7437 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
7438 (gst_fd_src_create):
7439 log recurring events at LOG level
7440 add more debug for when the fd gets set
7442 2006-07-21 Stefan Kost <ensonic@users.sf.net>
7444 * gst/gstparse.c: (gst_parse_launch):
7445 Also remove reentrance checks if flex is MT safe (#348179)
7446 Fix my empty ChangeLog entry below
7448 2006-07-21 Andy Wingo <wingo@pobox.com>
7450 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
7452 * libs/gst/check/Makefile.am
7453 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
7454 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
7455 * libs/gst/check/gstbufferstraw.h:
7456 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
7457 functions, thus proving I am still a GStreamer haxor. OK I wrote
7458 them a long time ago, but anyways.
7460 2006-07-21 Stefan Kost <ensonic@users.sf.net>
7463 * gst/gstparse.c: (gst_parse_launch):
7464 Check for flex version and omit mutex if we have a MT save flex
7467 2006-07-21 Wim Taymans <wim@fluendo.com>
7469 * gst/gstparse.c: (gst_parse_launch):
7470 Protect recursive calls to _parse with a recursive mutex
7473 2006-07-21 Wim Taymans <wim@fluendo.com>
7475 * tests/check/gst/gstpad.c: (GST_START_TEST):
7478 2006-07-20 Stefan Kost <ensonic@users.sf.net>
7480 * gst/gstparse.c: (gst_parse_launch):
7481 Do not hang on recursive usage of gst_parse_launch()
7483 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
7486 Add some more docs, comments and FIXME 0.11s here and there
7487 and also fix some typos.
7489 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
7492 Convert tabs to spaces for better readability.
7494 2006-07-20 Edward Hervey <edward@fluendo.com>
7496 * tests/check/libs/gdp.c: (gst_dp_suite):
7497 the test_buffer test fails at line 140 on ppc64 at the following
7499 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
7500 GST_BUFFER_FLAG_IN_CAPS),
7501 "GST_BUFFER_IN_CAPS flag should have been copied !");
7502 See bug #348114 for more details.
7504 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
7506 * docs/pwg/advanced-scheduling.xml:
7508 Fix typos (#348000).
7510 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
7512 * docs/pwg/intro-basics.xml:
7513 Fix wrong links (#347927).
7515 2006-07-18 Stefan Kost <ensonic@users.sf.net>
7517 * gst/gstregistry.h:
7518 * gst/gstregistryxml.c: (load_feature),
7519 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
7520 * win32/common/config.h:
7521 make --disable-index work (#342564)
7523 2006-07-18 Wim Taymans <wim@fluendo.com>
7525 Patch by: Peter Kjellerstedt <pkj at axis dot com>
7529 The attached patch adds two missing defines to gsttrace.h when tracing
7530 is disabled. It also corrects one existing define.
7533 2006-07-17 Wim Taymans <wim@fluendo.com>
7535 * docs/gst/gstreamer-sections.txt:
7536 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
7538 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
7539 Add two functions to check and change the SIGSEGV behaviour
7540 when loading plugins.
7541 Don't mess with the SIGSEGV handler when we were told not to.
7543 API: gst_segtrap_is_enabled
7544 API: gst_segtrap_set_enabled
7546 2006-07-14 Wim Taymans <wim@fluendo.com>
7548 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7549 * tests/check/elements/filesrc.c: (GST_START_TEST):
7550 Revert fix for regression in #347408 after release.
7552 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
7554 Patch by: Antoine Tremblay <hexa00 at gmail com>
7556 * gst/gstutils.c: (gst_element_unlink):
7557 Free iterator when done (#347311).
7559 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7560 And add a test case for this.
7562 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
7565 Bump nano back to CVS
7567 === release 0.10.9 ===
7569 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7572 releasing 0.10.9, "On the road again"
7574 2006-07-13 Wim Taymans <wim@fluendo.com>
7576 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7577 * tests/check/elements/filesrc.c: (GST_START_TEST):
7578 Revert pull-0 fix for release. Disable check. Fixes #347408.
7580 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
7582 * libs/gst/dataprotocol/dataprotocol.c:
7583 (gst_dp_event_from_packet_1_0):
7584 Fixes #347337: failure to deserialize event packets with
7585 empty payload (only event type)
7587 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
7590 do not install a .c file in the header directory
7592 2006-07-13 Edward Hervey <edward@fluendo.com>
7594 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
7595 GhostPad no longer implicitely use the padtemplates of the targets.
7598 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
7600 * gst/gstvalue.c: (gst_value_compare_list),
7601 (gst_value_compare_array), (_gst_value_initialize):
7602 * tests/check/gst/gstvalue.c: (GST_START_TEST):
7603 Make GstValueArray comparison be order dependent as designed.
7604 Add checks for value lists and value array comparisons.
7607 2006-07-11 Edward Hervey <edward@fluendo.com>
7609 * gst/gstbin.c: (activate_pads),
7610 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
7611 (gst_bin_change_state_func):
7612 (de)activate src pads before calling state_change on the childs.
7613 This is to avoid the case where a src ghostpad is blocked (holding the
7614 stream lock), which would block the deactivation of the ghostpad's
7616 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
7617 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
7618 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
7619 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
7620 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
7621 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7622 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
7623 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
7624 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
7625 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
7626 (gst_ghost_pad_class_init),
7627 (gst_ghost_pad_internal_do_activate_push),
7628 (gst_ghost_pad_internal_do_activate_pull),
7629 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7630 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7631 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
7632 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
7633 GhostPads now create their internal GstProxyPad at creation (and not
7634 when they're linked, as it was being done previously).
7635 The internal and target pads are linked straight away.
7636 The data will also travel through the other pad in order to make
7637 pad blocking and probes non-hackish (the probe/block now really happens
7638 on the GhostPad and not on the target).
7639 * gst/gstpad.c: (gst_pad_set_blocked_async),
7640 (gst_pad_link_prepare), (gst_pad_push_event):
7641 Remove previous ghostpad cruft.
7642 * gst/gstutils.c: (gst_pad_add_data_probe),
7643 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7644 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7645 (gst_pad_remove_buffer_probe):
7646 Remove previous ghost pad cruft.
7647 Added more detailed debug statements.
7648 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7649 Fix the testsuite for refcounting changes.
7650 The comments about who has references were correct, but the refcount
7651 being checked wasn't the same (!?!).
7655 2006-07-10 Stefan Kost <ensonic@users.sf.net>
7657 * docs/gst/gstreamer-sections.txt:
7658 * gst/gstconfig.h.in:
7659 More docs for configuration options, add docs to gtk-doc.
7661 2006-07-10 Stefan Kost <ensonic@users.sf.net>
7664 * gst/gstconfig.h.in:
7665 * win32/common/config.h:
7666 Fix build when disabling tracing (fixes #344016). Also start to document
7667 the defines that disable the sub-systems.
7669 2006-07-10 Edward Hervey <edward@fluendo.com>
7671 * gst/gst.c: (ensure_current_registry_forking):
7672 let's make valgrind happy...
7674 2006-07-09 Wim Taymans <wim@fluendo.com>
7676 * gst/gstelement.c: (activate_pads),
7677 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
7678 Better pad activation code: Reset the collect value too on resync.
7681 2006-07-09 Wim Taymans <wim@fluendo.com>
7683 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
7684 (gst_pad_activate_push):
7685 Use some more macros where it makes sense.
7686 Allow pad mode switching instead of asserting. When a pad
7687 is activated in one mode and we activate it in another,
7688 deactivate it first before activating it in a different mode.
7691 2006-07-08 Andy Wingo <wingo@pobox.com>
7693 * tools/gst-launch.c (main): Handle err == NULL.
7695 * gst/gst.c (init_post, ensure_current_registry)
7696 (ensure_current_registry_forking)
7697 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
7698 factoring out the registry scanning into separate functions. Don't
7699 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
7700 Better environment var name/interface suggestions accepted.
7702 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
7704 * gst/gstobject.c: (gst_object_set_name_default),
7705 (gst_object_set_name):
7706 Random micro-optimisation: don't use a hash table
7707 with strings as keys and the usual strdup/strcmp
7708 involved, but rather just use the GQuark of the
7709 type name as key, since it needs to be looked up
7710 anyway to get the type name string.
7712 * tests/check/gst/gstobject.c: (GST_START_TEST):
7715 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
7717 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
7718 (gst_bin_iterate_all_by_interface):
7719 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
7720 GTypes are gulongs and thus the top 4 bytes might be cut
7721 off on some platforms when doing GPOINTER_TO_INT, leading
7722 to invalid GTypes and bad things happening (see RH bug #179654).
7723 Also add a check to make sure the type passed in is really
7726 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
7731 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
7735 * gst-element-check.m4:
7736 * gst-element-check.m4.in:
7737 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
7738 instead of the unversioned gst-inspect (#324176, #168659).
7740 2006-07-06 Wim Taymans <wim@fluendo.com>
7743 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
7746 2006-07-06 Wim Taymans <wim@fluendo.com>
7748 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7749 (gst_base_src_wait), (gst_base_src_update_length),
7750 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
7751 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
7752 (gst_base_src_loop), (gst_base_src_start),
7753 (gst_base_src_activate_pull):
7755 blocksize == 0 now means the default blocksize when working in push
7757 Remove some pointless asserts in _wait function.
7758 Fix offset/length calculations and EOS handling. We can now pull 0
7759 bytes as well, which is allowed.
7760 use _check_get_range() to decide if we can operate in _pull based
7762 Fix refcounting leak when check_get_range function was not
7764 API GstBaseSrc::blocksize range can be 0 too now (default)
7766 * tests/check/elements/filesrc.c: (GST_START_TEST),
7768 Added check to test _get_range() behaviour.
7770 2006-07-06 Wim Taymans <wim@fluendo.com>
7772 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
7773 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
7774 (gst_pad_pull_range):
7776 Lots of comments and docs added to the pad functions.
7777 Flesh out the expected behaviour of the get_range() functions.
7779 2006-07-06 Wim Taymans <wim@fluendo.com>
7784 * gst/gstiterator.h:
7788 Remove comma at end of enumerator list.
7790 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
7792 * win32/common/libgstbase.def:
7793 * win32/common/libgstdataprotocol.def:
7794 * win32/common/libsgtreamer.def:
7795 Add new exported functions.
7797 2006-07-05 Wim Taymans <wim@fluendo.com>
7799 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
7800 Add some more docs here and there.
7802 2006-07-05 Wim Taymans <wim@fluendo.com>
7804 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
7805 (gst_base_sink_loop), (gst_base_sink_get_position):
7806 When operating in pull mode update the offset so that we
7809 2006-07-05 Wim Taymans <wim@fluendo.com>
7811 * gst/gstregistryxml.c: (read_string):
7812 Avoid strdup. (will happen in libxml, but hey!)
7817 2006-07-05 Wim Taymans <wim@fluendo.com>
7819 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
7820 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7822 No point in checking if the size of the subbuffer > 0, the
7823 code handles it correclty as demonstrated by unit test.
7824 Also add a unit test for the zero sized _new_and_alloc and
7825 _copy. Fixes #346663.
7827 2006-07-05 Wim Taymans <wim@fluendo.com>
7829 * libs/gst/base/gstbasetransform.c:
7830 (gst_base_transform_prepare_output_buffer),
7831 (gst_base_transform_buffer_alloc),
7832 (gst_base_transform_handle_buffer):
7833 Make sure the buffer we pass to transform_ip has a refcount of
7834 1 and thus is writable. Fixes #343196
7836 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
7838 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7839 (gst_file_src_init), (gst_file_src_set_property),
7840 (gst_file_src_get_property), (gst_file_src_map_region):
7841 * plugins/elements/gstfilesrc.h:
7842 Add "sequential" property, off by default, to use madvise and hint
7843 to the kernel that sequential access is desired.
7844 Touch all retrieved pages by default to ensure they are pulled
7845 into memory. (Closes #345720)
7847 2006-07-03 Wim Taymans <wim@fluendo.com>
7849 * docs/design/part-block.txt:
7850 * docs/design/part-dynamic.txt:
7853 2006-07-03 Wim Taymans <wim@fluendo.com>
7855 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
7856 (gst_caps_unref), (gst_static_caps_get),
7857 (gst_caps_append_structure):
7858 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
7859 Use GSlice when the glib we build against is >= 2.10
7861 2006-07-03 Wim Taymans <wim@fluendo.com>
7863 * gst/gstelement.c: (gst_element_pads_activate):
7864 Small cleanup in pad activation code.
7866 2006-07-03 Wim Taymans <wim@fluendo.com>
7868 Patch by: Peter Kjellerstedt <pkj at axis dot com>
7870 * gst/gst-i18n-app.h:
7871 * gst/gst-i18n-lib.h:
7872 * tools/gst-inspect.c: (print_signal_info):
7873 The attached patch will make the inclusion of gettext.h unconditional in
7874 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
7875 libintl.h in tools/gst-inspect.c.
7876 This allows use of --disable-nls again and fixes #344642.
7878 2006-07-03 Edward Hervey <edward@fluendo.com>
7880 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
7881 Implement pad blocking on events according to part-block.txt.
7882 More comments on behaviour.
7883 * tests/check/gst/gstevent.c: (test_event):
7884 Send event to peer pad of blocked pad (else it will block).
7886 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
7888 * libs/gst/check/gstcheck.c: (gst_check_message_error),
7889 (gst_check_run_suite):
7890 if we get the wrong message, give us the types as string
7891 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7893 * tests/check/elements/filesrc.c: (GST_START_TEST):
7894 add a test for trying to open a non-existing file
7896 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
7898 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7899 add a test for adding self
7901 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
7903 * libs/gst/check/gstcheck.h:
7904 add some assert_ as alias for fail_unless_*
7905 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
7906 increase test coverage
7908 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7911 include lcov.mak for lcov coverage generation
7912 * tools/Makefile.am:
7915 2006-07-02 Edward Hervey <edward@fluendo.com>
7917 * tests/check/elements/.cvsignore:
7920 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7923 don't set CFLAGS and friends for gcov, done from GST_GCOV now
7924 * tests/check/Makefile.am:
7927 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7929 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
7930 remove gst_caps_simplify; it was not declared and not used
7931 and deprecated in 0.8
7933 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7935 * docs/faq/gst-uninstalled:
7936 don't put empty paths on PYTHONPATH
7937 * docs/gst/gstreamer-sections.txt:
7938 remove some symbols that are not there
7940 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7942 * gst/gstcaps.c: (gst_caps_compare_structures):
7944 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7945 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7948 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7950 * libs/gst/dataprotocol/Makefile.am:
7951 build dataprotocol test by linking to the lib, instead of
7952 compiling the source, so we get coverage
7953 * tests/check/Makefile.am:
7954 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
7955 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
7956 add a test for filesrc
7958 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7960 * tests/check/gst/gststructure.c: (GST_START_TEST),
7961 (gst_structure_suite):
7962 Push coverage from 59.04% to 70.00%
7964 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7966 * tests/check/Makefile.am:
7967 gst-inspect every element; this makes sure that we also get
7968 coverage on element's get/set functions
7970 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
7973 set CFLAGS and friends to -O0 if gcov is being used
7976 * libs/gst/base/Makefile.am:
7977 * libs/gst/check/Makefile.am:
7978 * libs/gst/controller/Makefile.am:
7979 * libs/gst/dataprotocol/Makefile.am:
7980 * libs/gst/net/Makefile.am:
7981 * plugins/elements/Makefile.am:
7982 * plugins/indexers/Makefile.am:
7983 add makefile rules to generate gcov data and clean up
7984 * tests/check/Makefile.am:
7985 add a coverage target that generates an html overview
7988 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7990 * tests/check/elements/fakesink.c:
7991 * tests/check/elements/fakesrc.c:
7992 * tests/check/elements/fdsrc.c:
7993 * tests/check/elements/identity.c:
7994 * tests/check/generic/sinks.c: (gst_sinks_suite):
7995 * tests/check/generic/states.c:
7996 * tests/check/gst/gst.c:
7997 * tests/check/gst/gstabi.c:
7998 * tests/check/gst/gstbin.c:
7999 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
8000 * tests/check/gst/gstbus.c: (gst_bus_suite):
8001 * tests/check/gst/gstcaps.c: (GST_START_TEST):
8002 * tests/check/gst/gstelement.c:
8003 * tests/check/gst/gstevent.c: (gst_event_suite):
8004 * tests/check/gst/gstghostpad.c:
8005 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
8006 * tests/check/gst/gstmessage.c: (gst_message_suite):
8007 * tests/check/gst/gstminiobject.c:
8008 * tests/check/gst/gstobject.c:
8009 * tests/check/gst/gstpad.c:
8010 * tests/check/gst/gstpipeline.c:
8011 * tests/check/gst/gstplugin.c:
8012 * tests/check/gst/gstquery.c: (gst_query_suite):
8013 * tests/check/gst/gstsegment.c: (gst_segment_suite):
8014 * tests/check/gst/gststructure.c:
8015 * tests/check/gst/gstsystemclock.c:
8016 * tests/check/gst/gsttag.c:
8017 * tests/check/gst/gsttask.c: (gst_task_suite):
8018 * tests/check/gst/gstutils.c:
8019 * tests/check/gst/gstvalue.c:
8020 * tests/check/libs/adapter.c:
8021 * tests/check/libs/basesrc.c:
8022 * tests/check/libs/collectpads.c:
8023 * tests/check/libs/controller.c:
8024 * tests/check/libs/gdp.c: (gst_dp_suite):
8025 * tests/check/libs/gstnetclientclock.c:
8026 * tests/check/libs/gstnettimeprovider.c:
8027 * tests/check/libs/libsabi.c: (libsabi_suite):
8028 * tests/check/libs/typefindhelper.c:
8029 * tests/check/pipelines/cleanup.c:
8030 * tests/check/pipelines/parse-launch.c:
8031 * tests/check/pipelines/simple-launch-lines.c:
8032 * tests/check/pipelines/stress.c: (stress_suite):
8035 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
8037 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
8038 * libs/gst/check/gstcheck.h:
8039 create a macro and function so that the simple unit test
8040 case can be just one macro to create main()
8042 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
8044 * gst/gstbin.c: (gst_bin_restore_thyself):
8045 * gst/gstxml.c: (gst_xml_make_element):
8046 Fix deserialisation from XML. Set parent manually
8047 instead of using gst_bin_add(), since gst_bin_add()
8048 will unlink all pads of the element being added.
8051 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
8053 Patch by: Peter Kjellerstedt <pkj at axis com>
8055 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
8056 Fix missing g_strdup() and double free when using the
8057 --gst-plugin-load command line option (#346097).
8059 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
8062 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
8064 * libs/gst/net/gstnetclientclock.c:
8065 * libs/gst/net/gstnettimeprovider.c:
8066 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
8068 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
8070 * docs/manual/advanced-dataaccess.xml:
8071 Fix buffer probe example compilation in
8074 2006-06-22 Edward Hervey <edward@fluendo.com>
8076 * gst/gstelement.c: (gst_element_pads_activate):
8077 We need to deactivate src pads first and then sink pads.
8078 The reason is the src pads might be blocking while holding the streaming
8079 lock, so we need to deactivate them first so that deactivating the sink
8080 pads doesn't block (since it will require the streaming lock).
8082 2006-06-22 Wim Taymans <wim@fluendo.com>
8084 * libs/gst/base/gstbasetransform.c:
8085 (gst_base_transform_buffer_alloc):
8086 Forgot to remove two unneeded unrefs.
8087 Simplify a check _is_equal allready checks the obvious case.
8089 2006-06-22 Wim Taymans <wim@fluendo.com>
8091 * docs/design/part-block.txt:
8092 Some docs about what pad_block should do.
8094 2006-06-22 Wim Taymans <wim@fluendo.com>
8096 * gst/gstcaps.c: (gst_caps_replace):
8097 Fix crasher when passed NULL. Doc clarification.
8098 Optimize for the trivial case.
8100 * gst/gstpipeline.c: (gst_pipeline_change_state):
8103 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8104 Small documentation cleanup.
8106 * libs/gst/base/gstbasetransform.c:
8107 (gst_base_transform_buffer_alloc):
8108 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
8109 is what we need and it avoids a whole lot of redundant
8110 refcount operations.
8112 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
8114 Patch by: Philip Jägenstedt <philip at lysator liu se>
8116 * docs/manual/advanced-dataaccess.xml:
8117 Fix 'Embedding static elements' section to use
8118 GST_PLUGIN_DEFINE_STATIC (#345607).
8120 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
8122 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
8123 Attempt to 'fix' spuriously failing test case: it seems like the
8124 timeout of half a second is simply too small when the system is under
8125 load otherwise, and the timeout doesn't really seem to serve any
8126 particular purpose here. Give the pipeline a few seconds to preroll
8127 first, and then give it another half a second to go from PAUSED to
8128 PLAYING and marshal the message into the main thread.
8130 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
8132 * tools/gst-feedback-m.m:
8133 Don't only use unversioned tools, try versioned tools as well
8136 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
8138 * gst/gstbus.c: (gst_bus_class_init):
8139 Fix some typos, make docs more explicit.
8141 2006-06-20 Wim Taymans <wim@fluendo.com>
8143 * tests/check/gst/gstghostpad.c: (block_callback),
8144 (GST_START_TEST), (gst_ghost_pad_suite):
8145 Added some more ghostpad tests, mainly blocking
8148 2006-06-16 Wim Taymans <wim@fluendo.com>
8150 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8151 (gst_file_sink_close_file), (gst_file_sink_do_seek),
8152 (gst_file_sink_event), (gst_file_sink_render):
8153 * plugins/elements/gstfilesink.h:
8154 Check if we can seek in the file instead of assuming
8155 we always can. Post an error when we are asked to seek in a
8156 non-seekable file (like a fifo). Fixes #343312.
8159 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
8161 * tools/gst-launch.1.in:
8162 Un-garble (fourcc) bit in filtered caps section.
8164 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
8166 * docs/manual/advanced-autoplugging.xml:
8167 * docs/manual/basics-helloworld.xml:
8168 * docs/manual/highlevel-components.xml:
8169 Don't leak bus reference in sample code.
8171 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
8174 Add default for new --enable-plugin-docs switch.
8177 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
8181 Use new ENABLE_PLUGIN_DOCS conditional.
8183 2006-06-14 Wim Taymans <wim@fluendo.com>
8185 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
8186 Make it clear with a FIXME and a real define what the #if 0
8187 previously disabled.
8189 2006-06-14 Wim Taymans <wim@fluendo.com>
8191 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8192 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8193 * libs/gst/base/gstbasetransform.c:
8194 (gst_base_transform_sink_eventfunc):
8195 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8196 Don't randomly and silently reset a segment when the format
8197 changes as this is a bug somewhere upstream. Fixes #330379.
8199 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
8201 Patch by: Wouter Paesen <wouter at kangaroot net>
8203 * libs/gst/controller/gstcontroller.c:
8204 (gst_controlled_property_new):
8205 Fix controlling of float properties (#344849).
8207 * tests/check/libs/controller.c:
8208 (gst_test_mono_source_get_property),
8209 (gst_test_mono_source_set_property),
8210 (gst_test_mono_source_class_init), (GST_START_TEST):
8211 While we're at it, add some float stuff to unit test.
8213 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
8216 * docs/images/gdp-header.svg:
8218 * docs/libs/Makefile.am:
8219 * docs/libs/gdp-header.png:
8220 * libs/gst/dataprotocol/dataprotocol.c:
8221 add it to the API docs
8222 * docs/manual/intro-motivation.xml:
8225 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
8227 * gst/gst.c: (scan_and_update_registry), (init_post):
8228 If the fork()'ed child process can't write the updated registry cache
8229 file to disk for some reason, make it exit with a failure exit code,
8230 so that the parent can then re-scan the plugins itself and update the
8231 registry structures in memory and work with that (rather than failing
8232 when creating elements because seemingly no plugins are available).
8233 Refactor registry scanning code into separate function for this and
8234 also separate fork() and non-fork() code paths. Fixes #344748.
8236 2006-06-13 Wim Taymans <wim@fluendo.com>
8238 * docs/manual/advanced-dataaccess.xml:
8239 Fix wrong PluginDesc. Fixes #344755.
8241 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
8243 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8244 Fix silly bug that prevented us from creating
8245 ~/.gstreamer-0.10 and writing the registry in one
8246 go (the first call to g_mkstemp() would overwrite the
8247 placeholder in the template string, so the second call
8248 to g_mkstemp() after creating the missing directory
8249 would then error out with 'invalid argument').
8251 2006-06-13 Edward Hervey <edward@fluendo.com>
8253 * gst/gst.c: (init_post):
8256 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
8258 * gst/glib-compat-private.h:
8259 * gst/glib-compat.c:
8260 * gst/glib-compat.h:
8261 * gst/gstvalue.c: (gst_value_serialize_flags):
8262 remove GLib 2.6 compatibility code
8264 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
8266 * gst/parse/Makefile.am:
8267 Fix build with 'make -j N' even more (#340016).
8269 2006-06-12 Wim Taymans <wim@fluendo.com>
8271 * docs/gst/gstreamer-sections.txt:
8274 2006-06-12 Wim Taymans <wim@fluendo.com>
8276 * gst/gstsegment.c: (gst_segment_set_duration),
8277 (gst_segment_set_last_stop), (gst_segment_set_seek),
8278 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8279 (gst_segment_to_running_time), (gst_segment_clip):
8280 Use G_UNLIKELY to help the compiler a bit.
8282 2006-06-12 Wim Taymans <wim@fluendo.com>
8284 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
8286 * gst/gstevent.c: (gst_event_get_type):
8288 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8290 constify quark registration strings. Fixes #344115
8291 Avoid unneeded type checking is _pad_push() by internally
8292 calling gst_pad_chain_unchecked().
8294 2006-06-12 Wim Taymans <wim@fluendo.com>
8296 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
8297 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
8298 (gst_subbuffer_finalize), (gst_buffer_create_sub),
8299 (gst_buffer_is_span_fast), (gst_buffer_span):
8300 Init _type for consistency.
8301 Use _FLAGS macro to avoid type check.
8302 Avoid unneeded type checks in subbufer code.
8304 2006-06-12 Wim Taymans <wim@fluendo.com>
8306 * gst/gst.c: (gst_debug_help):
8307 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
8308 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
8309 (gst_plugin_feature_list_free):
8310 * gst/gstregistry.c: (gst_registry_add_plugin),
8311 (gst_registry_add_feature), (gst_registry_plugin_filter),
8312 (gst_registry_feature_filter), (gst_registry_find_plugin),
8313 (gst_registry_find_feature), (gst_registry_get_plugin_list),
8314 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
8315 * gst/gstregistryxml.c: (load_feature),
8316 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
8317 * gst/gstminiobject.c: (gst_mini_object_unref),
8318 (gst_mini_object_replace), (gst_value_mini_object_free),
8319 (gst_value_mini_object_copy):
8320 Use _CAST macros to avoid unneeded type checking.
8321 Added some more G_UNLIKELY.
8323 2006-06-12 Wim Taymans <wim@fluendo.com>
8326 Avoid unneeded type checking.
8327 API: GST_BUFFER_IS_DISCONT
8329 * gst/gstminiobject.h:
8330 Avoid type check in flag accessor.
8332 * gst/gstelementfactory.h:
8334 * gst/gstpluginfeature.h:
8336 API: GST_ELEMENT_FACTORY_CAST
8337 API: GST_PLUGIN_CAST
8338 API: GST_PLUGIN_FEATURE_CAST
8340 2006-06-12 Wim Taymans <wim@fluendo.com>
8342 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
8344 Add G_UNLIKELY in type registration.
8345 Avoid type check in _ref/_unref since that is also
8348 2006-06-12 Wim Taymans <wim@fluendo.com>
8350 * gst/gsterror.c: (gst_g_error_get_type):
8351 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8352 (gst_static_pad_template_get_type):
8353 * gst/gsttaglist.c: (gst_tag_list_get_type):
8354 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
8355 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
8356 * gst/gsturi.c: (gst_uri_handler_get_type):
8357 * gst/gstvalue.c: (gst_date_get_type):
8358 * gst/gstxml.c: (gst_xml_get_type):
8359 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
8360 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8361 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
8362 Add G_UNLIKELY in type registration.
8364 2006-06-12 Wim Taymans <wim@fluendo.com>
8366 * tools/gst-inspect.c: (print_signal_info):
8367 Properly print enum values.
8369 2006-06-12 Wim Taymans <wim@fluendo.com>
8371 * gst/gstinfo.c: (gst_debug_set_active),
8372 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
8374 Add some G_[UN]LIKELY.
8375 Maintain __gst_debug_min to avoid formatting the arguments of
8376 debug messages that will be dropped anyway to avoid a lot of
8377 overhead from the debugging system.
8379 2006-06-11 Stefan Kost <ensonic@users.sf.net>
8383 add missing files containing translatable strings, tell intltool about
8386 2006-06-11 Stefan Kost <ensonic@users.sf.net>
8388 * tests/check/libs/.cvsignore:
8389 add test-binary to ignore list
8391 2006-06-11 Stefan Kost <ensonic@users.sf.net>
8393 * docs/libs/gstreamer-libs-docs.sgml:
8394 reorder (put dp into a chapter) and indent
8396 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
8401 === release 0.10.8 ===
8403 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
8406 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
8408 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
8410 * gst/gst.c: (init_post):
8411 move pid declaration to declaration block
8413 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
8415 * gst/gst.c: (init_post):
8416 use _exit() instead of exit() in our forked child; this ensures
8417 that none of the registered exit handlers from whatever is using
8418 GStreamer get executed. This fixes gnome-mixer-applet failing
8419 to load, because ORBit would shut down.
8420 Spotted by: Edward Hervey <edward@fluendo.com>
8421 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
8424 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
8429 === release 0.10.7 ===
8431 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
8434 releasing 0.10.7, "Soepeke, ik zie ou"
8436 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
8459 * win32/common/config.h:
8462 2006-06-07 Wim Taymans <wim@fluendo.com>
8464 * gst/gstindex.c: (gst_index_gtype_resolver):
8465 * tools/gst-xmlinspect.c: (print_plugin_info):
8466 Fix leak spotted by coverity checker. Fixes #343827
8467 Fix another other leak found by paolo borelli.
8469 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
8471 * libs/gst/dataprotocol/dataprotocol.c:
8472 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
8473 (gst_dp_version_get_type), (gst_dp_init),
8474 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
8475 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
8476 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
8477 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
8478 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
8479 (gst_dp_packetizer_free):
8480 * libs/gst/dataprotocol/dataprotocol.h:
8481 API: add a GstDPPacketizer object, and create/free functions
8482 API: add GstDPVersion enum
8483 Add 1.0 event function that uses the string serialization
8484 Serialize more useful buffer flags
8487 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
8489 * tests/check/Makefile.am:
8490 * tests/check/gst/gstabi.c:
8491 * tests/check/gst/struct_ppc64.h:
8492 * tests/check/libs/libsabi.c:
8493 * tests/check/libs/struct_ppc64.h:
8494 add ppc64 structure sizes
8496 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
8498 * tests/check/Makefile.am:
8499 * tests/check/gst/gstabi.c:
8500 * tests/check/gst/struct_x86_64.h:
8501 * tests/check/libs/libsabi.c:
8502 * tests/check/libs/struct_x86_64.h:
8503 generate and add structure size lists for x86_64
8505 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
8507 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8508 * libs/gst/check/gstcheck.h:
8509 factor out the method from tests that checks size of structures,
8510 and add code to generate the header containing these sizes
8511 * tests/check/gst/gstabi.c: (GST_START_TEST):
8512 * tests/check/gst/struct_i386.h:
8513 * tests/check/libs/libsabi.c: (GST_START_TEST):
8514 * tests/check/libs/struct_i386.h:
8517 2006-06-06 Michael Smith <msmith@fluendo.com>
8520 Don't use c++-style comments, fixes #343929
8522 2006-06-05 Edward Hervey <edward@fluendo.com>
8525 plugin_paths is not used if we build without registry support.
8527 * gst/gstsegment.c: (gst_segment_copy):
8528 _copy() was always returning NULL...
8530 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
8532 * libs/gst/dataprotocol/dataprotocol.c:
8533 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8534 (gst_dp_packet_from_event):
8537 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
8539 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
8540 make sure we unset caps
8542 2006-06-02 Michael Smith <msmith@fluendo.com>
8544 * libs/gst/check/gstcheck.c: (gst_check_init),
8545 (gst_check_chain_func):
8546 * libs/gst/check/gstcheck.h:
8547 Add a cond/mutex to the check support lib, signal this whenever we
8548 add to the buffers list. This will allow tests to not busy-wait on
8551 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
8553 * libs/gst/dataprotocol/dataprotocol.c:
8554 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8555 (gst_dp_packet_from_event):
8556 factor out some common header init code
8558 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
8560 * docs/libs/gstreamer-libs-sections.txt:
8561 * docs/libs/tmpl/gstdataprotocol.sgml:
8562 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
8563 * libs/gst/dataprotocol/dataprotocol.h:
8564 API: make gst_dp_crc() public
8566 2006-06-01 Stefan Kost <ensonic@users.sf.net>
8568 * plugins/indexers/gstindexers.c: (plugin_init):
8569 conditionally register fileindexer (fixes #343598)
8571 2006-06-01 Stefan Kost <ensonic@users.sf.net>
8573 * gst/gsttagsetter.h:
8574 Can't cast ifaces to a class
8576 * libs/gst/net/gstnetclientclock.h:
8577 * libs/gst/net/gstnettimeprovider.h:
8578 * plugins/elements/gstfakesink.h:
8579 * plugins/elements/gstfakesrc.h:
8580 * plugins/elements/gstfdsink.h:
8581 * plugins/elements/gstfdsrc.h:
8582 * plugins/elements/gstfilesink.h:
8583 * plugins/elements/gstfilesrc.h:
8584 * plugins/elements/gstidentity.h:
8585 * plugins/elements/gstqueue.h:
8586 * plugins/elements/gsttee.h:
8587 * plugins/indexers/gstfileindex.c:
8588 * plugins/indexers/gstmemindex.c:
8589 * tests/old/examples/plugins/example.h:
8590 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
8592 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
8594 * libs/gst/dataprotocol/dataprotocol.c:
8595 (gst_dp_header_from_buffer):
8596 make sure we zero the whole ABI-compatible area
8598 2006-06-01 Wim Taymans <wim@fluendo.com>
8600 Patch by: Alessandro Decina <alessandro at nnva dot org>
8602 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
8603 Make sure the EOS flag is cleared from pads after a flush
8604 or stop. Fixes #343538.
8606 * tests/check/libs/collectpads.c: (GST_START_TEST),
8607 (gst_collect_pads_suite):
8608 Added test for collectpads reusage after EOS.
8610 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
8613 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
8614 * win32/common/libgstbase.def:
8615 export gst_collect_pads_set_flushing
8616 * win32/common/libgstreamer.def:
8617 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
8618 gst_value_fraction_multiply
8619 * win32/vs6/gst_inspect.dsp:
8620 add a link to intl.lib
8622 2006-05-30 Wim Taymans <wim@fluendo.com>
8624 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8625 (gst_collect_pads_chain):
8626 Handle the case where a pad is removed from the collection
8627 that could cause the other pads to become collectable.
8629 2006-05-30 Wim Taymans <wim@fluendo.com>
8632 Clarify the use of _release_request_pad() and
8633 _get_request_pad() a bit better.
8635 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
8636 (gst_adapter_take_buffer):
8637 Fix some doc and comment typos.
8639 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
8641 * docs/gst/gstreamer-sections.txt:
8642 * docs/libs/gstreamer-libs-sections.txt:
8643 add declared symbols
8645 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
8647 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8648 Add debug that can be enabled using a #define at the top of the file,
8649 for dumping stats about how late/early we were when waking up from
8650 waiting on the clock.
8652 2006-05-30 Wim Taymans <wim@fluendo.com>
8654 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
8655 When rebuilding the pad list, don't leak the previous list.
8657 2006-05-30 Wim Taymans <wim@fluendo.com>
8659 Patch by: Lutz Mueller <lutz at topfrose dot de>
8661 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8662 (gst_base_src_get_query_types), (gst_base_src_update_length):
8663 Publish supported query types.
8664 Update last_stop field in get_range mode so the position
8665 query works. Fixes #342321.
8667 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
8669 * docs/gst/gstreamer-sections.txt:
8670 * gst/gsttaglist.c: (_gst_tag_initialize):
8672 API: add GST_TAG_PREVIEW_IMAGE (#343341).
8674 2006-05-30 Wim Taymans <wim@fluendo.com>
8676 Patch by: Alessandro Decina <alessandro at nnva dot org>
8678 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8679 Unlock mutex when removing an unknown pad.
8682 * tests/check/Makefile.am:
8683 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
8684 (push_event), (setup), (teardown), (GST_START_TEST),
8685 (gst_collect_pads_suite), (main):
8686 Added collecpads check, disabled for now as check crashes for
8689 2006-05-29 Wim Taymans <wim@fluendo.com>
8691 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
8692 Don't leak pads lists.
8694 2006-05-29 Wim Taymans <wim@fluendo.com>
8696 * docs/libs/gstreamer-libs-sections.txt:
8697 * libs/gst/base/gstcollectpads.c:
8698 (gst_collect_pads_set_flushing_unlocked),
8699 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
8700 (gst_collect_pads_stop):
8701 * libs/gst/base/gstcollectpads.h:
8702 API: gst_collect_pads_set_flushing()
8703 Added api to set the pads to flushing, useful for seeking
8704 code in elements using collectpads.
8705 Clear segment when receiving a flush.
8707 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
8709 * gst/gst.c: (add_path_func), (init_post):
8710 Don't scan registry paths passed via --gst-plugin-path immediately
8711 (will crash, because absolutely nothing is set up and no types are
8712 registered etc.); do this later in init_post(). Fixes #343057.
8714 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
8716 * gst/gst.c: (init_post):
8717 if we have fork, fork while reading/rebuilding the registry
8718 so the parent doesn't take the hit of having all plugins loaded
8719 in memory. Fixes #342777.
8721 Check if we have fork()
8722 * win32/common/config.h.in:
8725 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
8727 * plugins/elements/gstelements.c:
8728 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8729 (gst_file_src_init), (gst_file_src_set_property),
8730 (gst_file_src_get_property), (gst_file_src_start):
8731 * plugins/elements/gstfilesrc.h:
8732 API: GstFileSrc::use-mmap
8734 Add a use-mmap property to enable easier testing of all code paths.
8735 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
8736 in the absence of gnomevfssrc. (Closes #340501)
8738 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8740 * tools/gst-inspect.c:
8741 Add missing include, removes warning of ngettext not being defined on
8744 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
8746 * gst/gstvalue.c: (gst_value_deserialize_fraction):
8747 Handle NULL input and output pointers silently as a failed conversion,
8748 rather than g_warnings.
8750 2006-05-25 Wim Taymans <wim@fluendo.com>
8752 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
8753 Initialize variable before using. Fixes #342820.
8755 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
8757 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
8758 Fix off-by-one bug that would only allow peeks of N-1 bytes
8759 from the start even if the buffer to typefind on contains
8760 in fact N bytes of data (makes vorbis typefinding from a
8761 vorbis identification header buffer work).
8763 * tests/check/Makefile.am:
8764 * tests/check/libs/.cvsignore:
8765 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
8766 (gst_typefindhelper_suite), (main), (foobar_typefind),
8768 Add very basic unit test for gst_type_find_helper_for_buffer()
8769 that checks for the problem fixed above.
8771 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
8773 * tools/gst-inspect.c: (print_interfaces),
8774 (print_element_properties_info), (print_element_list), (main):
8775 add more translatable strings
8777 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
8779 Patch by: Julien Moutte <julien at moutte net>
8781 * docs/gst/gstreamer-sections.txt:
8782 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
8784 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8785 (gst_fake_sink_preroll):
8786 * plugins/elements/gstfakesink.h:
8787 API: Add new GstFakeSink::preroll-handoff signal (#337100).
8789 2006-05-23 Wim Taymans <wim@fluendo.com>
8791 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
8793 Added _CUSTOM error and success GstFlowReturn that can be
8794 used be elements internally.
8795 Added macro to check for SUCCESS flowreturns.
8796 API: GST_FLOW_CUSTOM_SUCCESS
8797 API: GST_FLOW_CUSTOM_ERROR
8798 API: GST_FLOW_IS_SUCCESS
8800 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8801 Added check for GstFlowReturn sanity.
8803 2006-05-23 Wim Taymans <wim@fluendo.com>
8805 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8807 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8808 (gst_collect_pads_event):
8809 clear/reset segment info in FLUSH_STOP.
8812 2006-05-22 Stefan Kost <ensonic@users.sf.net>
8814 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
8815 (gst_collect_pads_check_collected):
8816 Flush queued buffer on _stop(), fixes playing again (#342454)
8818 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
8820 * tests/check/gst/gststructure.c: (GST_START_TEST),
8821 (gst_structure_suite):
8822 add a test for a complete structure
8824 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
8826 * docs/faq/developing.xml:
8828 * docs/faq/troubleshooting.xml:
8829 * docs/faq/using.xml:
8830 Some minor FAQ updates that won't change the fact that
8831 our FAQ is badly structured, full of information hardly
8832 anyone new to GStreamer needs to know and lacking lots
8833 of information people constantly ask for.
8835 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
8837 * gst/gstpad.c: (gst_pad_set_caps):
8838 Short-circuit gst_pad_set_caps if setting the existing
8839 caps pointer again, and avoid printing debug and
8840 reffing/unreffing the caps.
8842 * plugins/elements/gstqueue.c: (gst_queue_push_one):
8843 There's actually no need to set the caps before pushing -
8844 the acceptcaps method will handle it anyway.
8846 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
8848 * docs/gst/gstreamer-sections.txt:
8849 * win32/common/libgstreamer.def:
8850 * gst/gstutils.c: (gst_element_seek_simple):
8852 API: add gst_element_seek_simple() (#342238).
8854 2006-05-18 Edward Hervey <edward@fluendo.com>
8856 * gst/gsttypefind.c: (gst_type_find_get_type):
8857 * gst/gsttypefind.h:
8858 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
8859 registered for GstTypeFind pointers. This allows wrapping the structure
8860 in bindings (i.e. gst-python).
8862 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
8864 * gst/gsttagsetter.c:
8865 Docs additions and fixes (see #339918).
8867 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
8869 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8870 The caps intersection algorithm can produce multiple copies of the
8871 caps. Until that is fixed, we need to simplify the result to be
8872 sure whether the allowed caps are fixed or not.
8874 * plugins/elements/gstqueue.c: (gst_queue_init),
8875 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
8876 (gst_queue_push_one):
8877 Proxied buffer alloc should not set the caps on the source pad.
8878 When pushing buffers, we always accept the caps change that triggers.
8879 This prevents negotiation errors caused by caps changing mid-stream
8880 and then being refused on our source pad (because upstream is now
8881 refusing those caps).
8883 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
8885 * tests/examples/helloworld/helloworld.c: (main):
8886 Must plug audioconvert and audioresample between decoder
8889 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
8891 * gst/gstregistryxml.c: (read_string), (load_pad_template),
8892 (load_feature), (load_plugin):
8893 Allow empty strings for some of the plugin fields so we don't
8894 drop valid plugin entries that were written out correctly
8897 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
8899 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
8900 Use g_remove and g_rename instead of remove and rename that don't
8901 handle utf8 characters. rename was failing for users who had specific
8902 characters in their name then the registry was built at each
8904 * win32/vs6/gst_inspect.dsp:
8905 * win32/vs6/gst_launch.dsp:
8906 * win32/vs6/libgstbase.dsp:
8907 * win32/vs6/libgstcoreelements.dsp:
8908 * win32/vs6/libgstreamer.dsp:
8909 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
8910 build of libgstreamer and clean unused libraries in projects link
8913 2006-05-17 Edward Hervey <edward@fluendo.com>
8915 * plugins/elements/gstqueue.c: (gst_queue_push_one):
8916 The queue is not responsible for pushing an EOS when receiving a fatal
8917 flow error. It's up to the real element driving the pipeline to do that.
8919 2006-05-16 Edward Hervey <edward@fluendo.com>
8921 * plugins/elements/gstqueue.c: (gst_queue_push_one):
8922 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
8923 buffer returned a fatal error. It should just send an EOS and stop
8925 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
8926 when pushing buffers on the queue and will be able to handle the event.
8928 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
8930 * docs/manual/basics-bins.xml:
8931 * docs/manual/basics-init.xml:
8932 Fix typos and minor errors in sample code (#341856).
8934 2006-05-16 Wim Taymans <wim@fluendo.com>
8936 * docs/design/part-qos.txt:
8937 Fix indexes in formulas to make more sense.
8939 2006-05-15 Wim Taymans <wim@fluendo.com>
8941 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8942 Don't report POSITION based on clock time if sync is
8945 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
8948 Add cast to make compiler happy - refcount variable was a gint
8949 in GstObject but is a guint in GObject and g_atomic_int_get()
8952 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
8954 * gst/parse/Makefile.am:
8955 chain commands using &&, which also makes parallel make work
8957 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
8959 * docs/gst/gstreamer-sections.txt:
8965 === release 0.10.6 ===
8967 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
8970 releasing 0.10.6, "Take the cannoli"
8972 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
8974 * tools/gst-launch.c: (print_tag):
8975 Fix use of uninitialized variable in the hypothetical
8976 case that some broken plugin creates a GST_TAG_IMAGE
8977 tag containing a NULL buffer (#341667).
8979 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
8981 * tools/gst-launch.c: (print_tag):
8982 Print something more intelligible for image tags when
8983 using the -t switch (#341556).
8985 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
8990 define GST_MAJORMINOR so we have it available in win32/common/config.h
8991 Possibly remove it from our Makefile.am files later
8992 * win32/common/config.h:
8993 * win32/common/config.h.in:
8994 added GST_MAJORMINOR
8995 * win32/common/gstenumtypes.c: (register_gst_resource_error):
8996 * win32/common/gstversion.h:
8999 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
9002 Update win32 files listing.
9003 * win32/common/gstversion.h:
9004 Add GST_MAJORMINOR definition.
9005 * win32/common/libgstreamer.def:
9006 Add new exported functions.
9008 2006-05-12 Michael Smith <msmith@fluendo.com>
9010 * gst/gstplugin.c: (gst_plugin_load_file):
9011 If an so file has no plugin entry point, unload the module.
9013 2006-05-11 Wim Taymans <wim@fluendo.com>
9015 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
9016 (gst_queue_set_property):
9017 Don't forget to signal the _chain or _loop function
9018 when the queue size or thresholds change since that might
9019 cause them to make progres again.
9021 2006-05-11 Stefan Kost <ensonic@users.sf.net>
9023 * gst/gstclock.c: (gst_clock_class_init):
9024 * gst/gstindex.c: (gst_index_class_init):
9025 * gst/gstobject.c: (gst_object_class_init):
9026 * gst/gstpad.c: (gst_pad_class_init):
9027 * gst/gstpipeline.c: (gst_pipeline_class_init):
9028 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9029 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
9030 * libs/gst/base/gstbasetransform.c:
9031 (gst_base_transform_class_init):
9032 * libs/gst/net/gstnetclientclock.c:
9033 (gst_net_client_clock_class_init):
9034 * libs/gst/net/gstnettimeprovider.c:
9035 (gst_net_time_provider_class_init):
9036 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
9037 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
9038 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
9039 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
9040 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9041 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
9042 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9043 * plugins/elements/gstidentity.c: (gst_identity_class_init):
9044 * plugins/elements/gsttee.c: (gst_tee_class_init):
9045 * tests/old/examples/plugins/example.c: (gst_example_class_init):
9046 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9047 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
9049 2006-05-11 Wim Taymans <wim@fluendo.com>
9051 * gst/gstbuffer.c: (_gst_buffer_initialize):
9052 Register subbufer along with the buffer type so that
9053 it does not accidentally gets registered from N
9054 different streaming threads in a non threadsafe way.
9056 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
9061 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
9062 gst_event_ref() and gst_message_ref() functions again
9063 (ugly hack, please do fix if there's a better way besides
9064 overrides.txt, which doesn't seem to work).
9066 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
9068 * libs/gst/check/gstcheck.h:
9069 add an assert for setting state to avoid lots of repetitive code
9072 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
9074 * gst/gstvalue.c: (gst_value_serialize_flags):
9075 fix a leak if no flags are set
9076 * tests/check/gst/gstvalue.c: (GST_START_TEST):
9079 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
9081 * docs/manual/basics-pads.xml:
9082 Expand a bit on caps and filtered links and update
9083 examples that were still using the no longer existing
9084 gst_pad_link_filtered() (#338206).
9086 2006-05-10 Wim Taymans <wim@fluendo.com>
9088 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9089 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9090 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
9091 (gst_collect_pads_stop):
9092 * libs/gst/base/gstcollectpads.h:
9093 No need to call _stop in _finalize.
9094 Iterate the main pad list in _finalize.
9095 Added some more debug.
9096 Free lists and data in the right order.
9097 Also free data whem doing _remove_pad when stopped for
9098 backward compatibility protect ::started with PAD_LOCK as
9101 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
9103 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
9104 (gst_structure_parse_value):
9106 rename a method so that it actually says what it does better
9108 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
9110 * gst/gstevent.c: (_gst_event_initialize):
9111 * gst/gstformat.c: (_gst_format_initialize):
9112 make sure some essential types used by events are registered
9113 as part of gst_init()
9114 * gst/gstvalue.c: (gst_value_serialize_flags):
9115 if no flags are set, serialize them to a value that represents NONE
9116 so that deserializing them works
9117 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9118 add tests for serialization and deserialization of flags
9120 2006-05-10 Wim Taymans <wim@fluendo.com>
9122 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
9123 (gst_collect_pads_collect_range), (gst_collect_pads_available),
9124 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
9125 (gst_collect_pads_event), (gst_collect_pads_chain):
9128 Catch and return errors from the collect function
9129 Refuse data on eos pads.
9131 2006-05-10 Edward Hervey <edward@fluendo.com>
9133 * gst/gstinterface.h:
9134 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
9135 GInterface type checking.
9136 They were previously using non-defined macros.
9138 2006-05-09 Wim Taymans <wim@fluendo.com>
9140 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
9141 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
9142 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
9143 (gst_collect_pads_start), (gst_collect_pads_stop),
9144 (gst_collect_pads_peek), (gst_collect_pads_pop),
9145 (gst_collect_pads_available), (gst_collect_pads_read),
9146 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
9147 (gst_collect_pads_is_collected), (gst_collect_pads_event),
9148 (gst_collect_pads_chain):
9149 * libs/gst/base/gstcollectpads.h:
9150 Clean up the mess that is collectpads, add comments and
9151 FIXMEs where needed.
9152 Maintain a separate pad list so we can add pads while
9153 collecting the other ones. For this we need a new separate
9155 Fix memory leak in finalize.
9156 Refactor some weird code to set/unset pad flushing flags, mark
9158 Don't crash in _available, _read, _flush when we're EOS.
9160 * tests/check/libs/.cvsignore:
9161 Ignore adapter check binary.
9163 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
9165 * gst/gstindex.c: (gst_index_resolver_get_type):
9166 * plugins/elements/gstfakesink.c:
9167 (gst_fake_sink_state_error_get_type):
9168 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9169 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
9170 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9171 Const-ify GEnumValue arrays.
9173 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
9175 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9176 Add test case for flags + gst_buffer_make_metadata_writable().
9178 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
9180 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
9181 gst_buffer_make_metadata_writable() should maintain the
9182 buffer flags (those that make sense at least) (see #340859).
9184 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
9186 * tools/gst-inspect.c:
9187 * tools/gst-launch.c:
9188 * tools/gst-typefind.c:
9189 * tools/gst-xmlinspect.c:
9191 Fix up includes: need to include stdlib.h in tools.h for exit().
9193 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
9195 * gst/gsttaglist.c: (_gst_tag_initialize):
9197 API: add GST_TAG_IMAGE tag (#340721).
9199 2006-05-08 Wim Taymans <wim@fluendo.com>
9202 Added some docs for the segment query.
9204 2006-05-08 Wim Taymans <wim@fluendo.com>
9206 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9207 (gst_base_src_loop), (gst_base_src_change_state):
9208 Always push non-flushing serialized events in the streaming
9211 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
9213 * gst/gsterror.c: (_gst_stream_errors_init):
9214 Add a missing error string.
9216 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
9218 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
9219 Add applied_rate to the debug
9221 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9222 Copy applied_rate into the outgoing NEWSEGMENT event
9224 2006-05-08 Wim Taymans <wim@fluendo.com>
9226 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
9228 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9229 (gst_base_sink_change_state):
9230 call ::unlock before taking the PREROLL_LOCK so we can safely
9231 handle elements that lock in ::render.
9234 2006-05-08 Edward Hervey <edward@fluendo.com>
9236 * autogen.sh: (CONFIGURE_DEF_OPT):
9237 Darwin's libtoolize is in fact called glibtoolize.
9238 Adding glibtoolize to the list of accepted names for libtoolize.
9240 2006-05-08 Wim Taymans <wim@fluendo.com>
9242 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9243 Unify error handling, don't post an error message
9244 when a push() returns EOS but perform our normal EOS
9245 handling code. Fixes #340772.
9247 2006-05-08 Wim Taymans <wim@fluendo.com>
9249 * docs/design/part-overview.txt:
9250 Make upsteam/downstream concepts more clear.
9251 Give an example of serialized/non-serialized events.
9253 * docs/design/part-events.txt:
9254 * docs/design/part-streams.txt:
9255 Mention applied_rate.
9257 * docs/design/part-trickmodes.txt:
9258 Mention applied rate, flesh out some more use cases.
9260 * gst/gstevent.c: (gst_event_new_new_segment),
9261 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
9262 (gst_event_parse_new_segment_full), (gst_event_new_tag),
9263 (gst_event_parse_tag), (gst_event_new_buffer_size),
9264 (gst_event_parse_buffer_size), (gst_event_new_qos),
9265 (gst_event_parse_qos), (gst_event_parse_seek),
9266 (gst_event_new_navigation):
9268 Add applied_rate field to NEWSEGMENT event.
9269 API: gst_event_new_new_segment_full()
9270 API: gst_event_parse_new_segment_full()
9272 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
9273 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
9274 (gst_segment_to_stream_time), (gst_segment_to_running_time):
9276 Add applied_rate to GstSegment structure.
9277 Make calculation of stream_time and running_time more correct
9278 wrt rate/applied_rate.
9280 API: GstSegment::applied_rate field
9281 API: gst_segment_set_newsegment_full();
9283 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
9284 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
9285 * libs/gst/base/gstbasetransform.c:
9286 (gst_base_transform_sink_eventfunc),
9287 (gst_base_transform_handle_buffer):
9288 Parse and use applied_rate in the GstSegment field.
9290 * tests/check/gst/gstevent.c: (GST_START_TEST):
9291 Add check for applied_rate field.
9293 * tests/check/gst/gstsegment.c: (GST_START_TEST),
9294 (gstsegments_suite):
9295 Add more checks for various GstSegment operations.
9297 2006-05-08 Wim Taymans <wim@fluendo.com>
9299 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9300 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
9301 (gst_base_sink_get_position), (gst_base_sink_change_state):
9302 Store the sync time of the buffer end position separatly in a
9303 new variable eos_rtime so we can properly sync the EOS event.
9305 Fix the docs for gst_base_sink_set_qos_enabled().
9306 Don't set segment start to invalid value when we receive a
9307 non TIME newsegment.
9308 get closer to handling position reporting for negative rates
9311 2006-05-07 Stefan Kost <ensonic@users.sf.net>
9314 Docs about how to print caps for debug purposes.
9316 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
9317 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
9319 2006-05-07 Stefan Kost <ensonic@users.sf.net>
9322 use full enum names and preprend a '%' in docs strings to make recent
9323 gtk-doc turn that into a link
9325 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
9327 * docs/manual/basics-bins.xml:
9328 * docs/manual/basics-bus.xml:
9329 * docs/manual/basics-pads.xml:
9330 Some typo fixes, some additions, some clarifications.
9332 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
9334 * tools/gst-inspect.c: (main):
9335 * tools/gst-launch.c: (main):
9336 * tools/gst-run.c: (main):
9337 * tools/gst-typefind.c: (main):
9338 * tools/gst-xmlinspect.c: (main):
9339 Use the string passed to g_option_context_new() for
9340 what it's intended for - the program name is already
9343 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
9345 * tools/Makefile.am:
9346 * tools/gst-inspect.c: (main):
9347 * tools/gst-launch.c: (main):
9348 * tools/gst-xmlinspect.c: (main):
9350 Add back --version command line option (#340460).
9352 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
9353 Add --version option and use GOption for argument parsing; refactor a
9354 bit; accept directories as arguments and recurse into them; lastly,
9355 print a decent error message when things go wrong.
9357 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
9359 * docs/manual/basics-bins.xml:
9360 Don't mention GstThread (#340611)
9361 * docs/manual/basics-elements.xml:
9362 Update link to GObject tutorial (#340607)
9364 2006-05-05 Wim Taymans <wim@fluendo.com>
9367 * gst/gstminiobject.c:
9368 Add note about refcounting and miniobject/buffer writeability
9369 to docs. Fixes #340604
9371 * gst/gstelementfactory.h:
9372 Added some explanation about @klass.
9374 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
9376 * docs/manual/intro-motivation.xml:
9377 * docs/manual/manual.xml:
9378 Avoid CORBA & Bonobo references (#340598)
9380 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
9382 * docs/manual/basics-bus.xml:
9383 * docs/manual/basics-pads.xml:
9384 Fix up some inaccuracies and omissions (#340609)
9386 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
9388 * gst/gstghostpad.c:
9389 Small typo in docs (#340625)
9391 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
9393 * gst/parse/Makefile.am:
9394 Make 'make -j' proof (see #340698).
9396 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
9399 Require GLib-2.8 here as well.
9401 2006-05-05 Wim Taymans <wim@fluendo.com>
9403 * gst/glib-compat.c:
9404 * gst/gst.c: (init_pre):
9405 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9406 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
9407 (gst_object_dispatch_properties_changed):
9409 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
9410 * gst/gststructure.c: (gst_structure_set_valist):
9411 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9412 Remove pre glib2.8 compatibility, fixes #340508
9414 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
9417 Mention type of tags in doc blurbs.
9419 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
9421 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9422 (gst_pad_configure_src), (gst_pad_push):
9423 Restore acceptcaps checking behaviour now that good plugins have
9426 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
9428 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
9439 * gst/parse/Makefile.am:
9440 * libs/gst/base/gstadapter.c:
9441 * libs/gst/base/gstbasesrc.c:
9442 * libs/gst/base/gstpushsrc.c:
9443 * libs/gst/base/gsttypefindhelper.c:
9444 * plugins/elements/gstfakesrc.c:
9445 * plugins/elements/gstidentity.c:
9446 Make sure gstprivate.h and/or config.h are
9447 always included first, otherwise some of our
9448 defines (like _FILE_OFFSET_BITS) might be
9449 redefined in the system headers. Fixes build
9450 on opensolaris (#340016).
9452 2006-05-04 Wim Taymans <wim@fluendo.com>
9454 * docs/libs/gstreamer-libs-sections.txt:
9455 API: addition: gst_adapter_take_buffer()
9457 * libs/gst/base/gstadapter.c: (gst_adapter_push),
9458 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
9459 (gst_adapter_available_fast):
9460 * libs/gst/base/gstadapter.h:
9461 Prepare for optimizing the hell out of this hugely inefficient
9463 Added gst_adapter_take_buffer() so we can at least start thinking
9464 about subbuffering and merging.
9465 Added some comments.
9467 * tests/check/Makefile.am:
9468 * tests/check/libs/adapter.c: (GST_START_TEST),
9469 (gst_adapter_suite), (main):
9470 Added GstAdapter check.
9472 2006-05-04 Wim Taymans <wim@fluendo.com>
9474 * docs/design/part-overview.txt:
9475 Fix some typos, add blurb about buffer flags.
9477 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
9479 * docs/libs/gstreamer-libs-sections.txt:
9480 make sure GstBaseTransformClass shows up in the docs
9481 * libs/gst/base/gstbasetransform.c:
9482 * libs/gst/base/gstbasetransform.h:
9483 move docs so gtk-doc picks it up now
9485 2006-05-02 Stefan Kost <ensonic@users.sf.net>
9487 * docs/libs/gstreamer-libs-sections.txt:
9488 add missing symbols to docs
9490 2006-05-02 Stefan Kost <ensonic@users.sf.net>
9492 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9493 back out the newsegment handling change, see #340060 for ongoing
9496 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
9498 * tools/gst-run.c: (get_candidates), (main):
9499 Fix wrong g_file_test() usage (see glib docs for why it doesn't
9500 work); fix typo in error message. Fixes #340079.
9502 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
9504 * common/Makefile.am:
9506 * docs/faq/Makefile.am:
9507 * docs/gst/Makefile.am:
9508 * docs/libs/Makefile.am:
9509 * docs/manual/Makefile.am:
9510 * docs/plugins/Makefile.am:
9511 * docs/pwg/Makefile.am:
9512 * docs/slides/Makefile.am:
9514 * common/upload.mak:
9515 move upload.mak to common
9517 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
9519 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9520 add more asserts on refcounts
9521 do more cleanup at end of tests
9522 fix test leaks showing in FC5
9524 2006-04-29 Stefan Kost <ensonic@users.sf.net>
9526 * plugins/elements/gsttypefindelement.c:
9527 (gst_type_find_element_handle_event):
9528 reverted wrong change and reflowed code to avoid others falling into
9531 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9533 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9534 fix changelog entry about last collectpads change,
9535 add notes about proper fix
9537 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9540 * gst/gstregistry.c: (gst_registry_scan_path_level),
9541 (gst_registry_scan_path):
9542 * gst/gstregistry.h:
9543 only write out registry if it has changed, fixes #338339
9545 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9548 * gst/gstpipeline.c:
9549 * plugins/elements/gstcapsfilter.c:
9550 * plugins/elements/gstfakesink.c:
9551 * plugins/elements/gstfakesrc.c:
9552 * plugins/elements/gstfdsink.c:
9553 * plugins/elements/gstfdsrc.c:
9554 * plugins/elements/gstfilesink.c:
9555 * plugins/elements/gstfilesrc.c:
9556 * plugins/elements/gstidentity.c:
9557 * plugins/elements/gstqueue.c:
9558 * plugins/elements/gsttee.c:
9559 * plugins/elements/gsttypefindelement.c:
9560 (gst_type_find_element_handle_event):
9561 make GstElementDetails const
9563 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9565 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
9566 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9567 (gst_collect_pads_is_collected), (gst_collect_pads_event):
9568 more detailed debug and formatting cleanup,
9569 forward newsegments to src-pad (so that e.g. adder not eats them)
9571 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9573 * gst/gstutils.c: (gst_element_link_pads):
9576 2006-04-28 Stefan Kost <ensonic@users.sf.net>
9578 * libs/gst/controller/gstcontroller.c:
9579 (gst_controller_sync_values):
9581 * tests/check/libs/controller.c: (GST_START_TEST),
9582 (gst_controller_suite):
9583 a new test for live value handling
9585 2006-04-28 Wim Taymans <wim@fluendo.com>
9587 * gst/gstutils.c: (push_and_ref):
9588 Added some more docs.
9589 Fix refcount issue whith gst_element_found_tags() helper
9590 function. Fixes #338335
9592 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9593 Added testsuite for gst_element_found_tags().
9595 2006-04-28 Michael Smith <msmith@fluendo.com>
9597 * gst/gstvalue.c: (gst_value_serialize_flags):
9598 Avoid NULL dereference when trying to serialize flags containing
9601 2006-04-28 Michael Smith <msmith@fluendo.com>
9603 * plugins/elements/gsttypefindelement.c:
9604 (gst_type_find_element_handle_event):
9605 If we get EOS before any data is accumulated, don't use
9606 uninitialised local variables.
9608 2006-04-28 Michael Smith <msmith@fluendo.com>
9610 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9611 (gst_dp_event_from_packet):
9612 Fixes in reading/writing events over GDP (not currently used?) -
9613 dereferencing NULL events for unknown/invalid event types, memory
9614 leak, and change g_warning to GST_WARNING.
9616 2006-04-28 Wim Taymans <wim@fluendo.com>
9618 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
9619 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9620 (gst_base_sink_get_position), (gst_base_sink_change_state):
9621 When frame dropping is enabled, we should not ignore frames
9623 Update some documentation.
9625 2006-04-28 Wim Taymans <wim@fluendo.com>
9627 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9628 (gst_base_src_send_event), (gst_base_src_change_state):
9629 Documentation updates.
9631 2006-04-28 Wim Taymans <wim@fluendo.com>
9633 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
9634 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
9635 handle EAGAIN, EINTR and short writes correctly. Also clean
9636 up some error cases, avoid a deadlock on bad file descriptors and
9637 use GST_DEBUG_OBJECT.
9640 2006-04-28 Wim Taymans <wim@fluendo.com>
9642 * gst/gstvalue.c: (gst_value_serialize_buffer),
9643 (gst_value_deserialize_buffer):
9644 Don't try to serialize a GValue with a NULL buffer.
9647 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9648 Added check for serialisation of NULL buffers.
9650 2006-04-28 Wim Taymans <wim@fluendo.com>
9652 * gst/gstminiobject.c: (gst_value_take_mini_object):
9653 Taking a NULL miniobject is valid, fix the case where
9654 we try to unref the NULL miniobject.
9656 2006-04-28 Wim Taymans <wim@fluendo.com>
9658 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
9660 * gst/gstbin.c: (gst_bin_handle_message_func):
9662 Don't leak bin refcount when a state recalc is
9663 in progress and we delay another one #339808.
9665 2006-04-28 Wim Taymans <wim@fluendo.com>
9667 * docs/design/part-TODO.txt:
9668 Mention QoS as an ongoing work item.
9670 * docs/design/part-buffering.txt:
9671 New doc about buffering that needs to be fleshed out
9674 * docs/design/part-qos.txt:
9675 More QoS policy for decoders/demuxers/transforms
9677 * docs/design/part-trickmodes.txt:
9680 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
9685 === release 0.10.5 ===
9687 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
9690 releasing 0.10.5, "Fogo"
9692 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
9694 patch by: Wim Taymans
9696 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
9697 (gst_pad_configure_src), (gst_pad_push):
9698 * gst/gstpipeline.c: (gst_pipeline_init):
9699 Fix internal data flow errors. Fixes #338711.
9701 2006-04-12 Wim Taymans <wim@fluendo.com>
9703 * tests/check/gst/gstelement.c: (GST_START_TEST):
9704 Don't leak the factory.
9706 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9709 * win32/common/config.h:
9712 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
9714 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9715 (gst_controller_unset_all):
9716 Free allocated GstTimedValues when freeing list nodes.
9717 Should fix leaks 'make check-valgrind' complains about.
9719 * win32/common/libgstcontroller.def:
9720 Add gst_controller_unset_all.
9722 2006-04-11 Stefan Kost <ensonic@users.sf.net>
9724 * docs/libs/gstreamer-libs-sections.txt:
9725 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
9726 (gst_controller_unset_all):
9727 * libs/gst/controller/gstcontroller.h:
9728 API: Added new method gst_controller_unset_all()
9729 fixed gst_controller_unset()
9730 * tests/check/libs/controller.c: (GST_START_TEST),
9731 (gst_controller_suite):
9732 Added two testcases for new and fixed method
9734 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
9736 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
9737 MSG_DONTWAIT is not defined on Cygwin, so work
9738 around that (fixes #317048).
9740 2006-04-11 Wim Taymans <wim@fluendo.com>
9742 * gst/gstelementfactory.c: (gst_element_register),
9743 (gst_element_factory_create), (gst_element_factory_make):
9746 Updated docs (Fixes #131079)
9748 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9751 * tests/check/gst/gstelement.c: (GST_START_TEST),
9752 (gst_element_suite):
9753 Added testcase for elementfactory class field.
9755 2006-04-10 Wim Taymans <wim@fluendo.com>
9758 Added some more docs.
9760 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
9761 (gst_base_sink_reset_qos):
9762 Calculate more accurate rate values.
9764 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
9766 * gst/gst_private.h:
9767 add a new #ifdef to use __declspec(dllimport) only for
9768 other modules and not for gstreamer core
9769 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
9770 use gst_guint64_to_gdouble for conversion
9771 * win32/common/libgstreamer.def:
9772 add new exported functions
9773 * win32/vs6/gst_inspect.dsp:
9774 * win32/vs6/gst_launch.dsp:
9775 * win32/vs6/libgstbase.dsp:
9776 * win32/vs6/libgstcontroller.dsp:
9777 * win32/vs6/libgstcoreelements.dsp:
9778 * win32/vs6/libgstdataprotocol.dsp:
9779 * win32/vs6/libgstnet.dsp:
9780 update project files
9782 2006-04-08 Stefan Kost <ensonic@users.sf.net>
9784 * gst/gstbuffer.c: (gst_subbuffer_class_init):
9785 * gst/gstclock.c: (gst_clock_class_init):
9786 * gst/gstelement.c: (gst_element_class_init):
9787 * gst/gstindex.c: (gst_index_class_init):
9788 * gst/gstindexfactory.c: (gst_index_factory_class_init):
9789 * gst/gstobject.c: (gst_object_class_init),
9790 (gst_signal_object_class_init):
9791 * gst/gstpad.c: (gst_pad_class_init):
9792 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
9793 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
9794 * gst/gstregistry.c: (gst_registry_class_init):
9795 * gst/gstsystemclock.c: (gst_system_clock_class_init):
9796 * gst/gsttask.c: (gst_task_class_init):
9797 * gst/gstxml.c: (gst_xml_class_init):
9798 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9799 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9800 (gst_base_src_loop):
9801 * libs/gst/controller/gstcontroller.c:/
9802 (_gst_controller_class_init):
9803 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9804 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
9805 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
9806 * tests/old/examples/plugins/example.c: (gst_example_class_init):
9807 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9808 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
9810 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
9812 * gst/gstpad.c: (gst_pad_link):
9813 Must set peer pads before calling the link function, otherwise
9814 a task started from a link function might get a flow-not-linked
9815 result when trying to push because the other thread where the
9816 linking happens hasn't had a chance to set the peers yet. This
9817 might happen for example when a queue gets linked to a downstream
9818 element, as queue starts a streaming task when its source pad
9819 gets linked. Happens in real life when playing back flac/musepack
9820 files in playbin (#332390).
9822 2006-04-08 Stefan Kost <ensonic@users.sf.net>
9826 * libs/gst/base/gstadapter.h:
9827 * libs/gst/base/gstbasesink.h:
9828 * libs/gst/base/gstbasesrc.h:
9829 * libs/gst/base/gstbasetransform.h:
9830 * libs/gst/base/gstcollectpads.h:
9831 * libs/gst/base/gstpushsrc.h:
9832 Fix broken GObject macros
9834 2006-04-07 Wim Taymans <wim@fluendo.com>
9836 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9837 Initialize start and stop times, thanks valgrind.
9839 2006-04-07 Wim Taymans <wim@fluendo.com>
9841 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9842 Be a bit nicer to badly behaving upstream elements that expect
9843 us to deal with non TIME segments and timestamps (such as fakesrc
9846 2006-04-07 Wim Taymans <wim@fluendo.com>
9849 Small documentation clarification about the signal watch.
9851 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
9852 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
9853 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
9854 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
9855 (gst_base_sink_get_position_last),
9856 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
9857 Convert and store timestamps in stream time and running time, the
9858 raw timestamps are not useful, also document this better.
9859 Use different window sizes for good and bad QoS observations so
9860 we react to badness a little quicker.
9861 Keep track of the amount of rendered and dropped buffers.
9862 Send QoS timestamps in running time.
9864 * libs/gst/base/gstbasetransform.c:
9865 (gst_base_transform_sink_eventfunc),
9866 (gst_base_transform_handle_buffer):
9867 Compare QoS timestamps against running time.
9869 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
9874 2006-04-06 Michael Smith <msmith@fluendo.com>
9876 * gst/gstpad.c: (gst_pad_set_property):
9877 Use g_value_get_object() instead of g_value_dup_gst_object(),
9878 to avoid double-reffing the pad template (which we then sink,
9879 so this worked previously if (and only if) the pad template
9882 * gst/gstpadtemplate.c: (gst_pad_template_init),
9883 (gst_pad_template_pad_created):
9884 Never return floating references to pad templates, create
9885 them as initially-sunken.
9887 Document an extra function (and make this stop sinking our
9888 pad template, since that is now guaranteed to do nothing,
9889 since we created it sunken).
9891 * gst/gstghostpad.c:
9894 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
9896 * gst/gstinfo.c: (__gst_in_valgrind):
9899 * plugins/elements/gsttypefindelement.c:
9900 (gst_type_find_element_chain):
9901 Don't leak buffer caps.
9903 2006-04-06 Michael Smith <msmith@fluendo.com>
9905 * gst/parse/grammar.y:
9906 Fix a leak in parse-launch for any source-or-sink named element
9909 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9910 Unref the pipeline if it exists after we've failed parsing.
9912 2006-04-05 Michael Smith <msmith@fluendo.com>
9914 * gst/gstpipeline.c: (gst_pipeline_init):
9915 When we create a pipeline bus, initially create it in flushing mode.
9916 Fixes leaks in at least one test, and makes a new pipeline work the
9917 same as one that has gone to READY and then back to NULL.
9922 2006-04-05 Michael Smith <msmith@fluendo.com>
9924 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9925 Unref a pad we reffed.
9926 * tests/check/gst/gstutils.c: (GST_START_TEST):
9929 2006-04-05 Michael Smith <msmith@fluendo.com>
9931 * gst/gstquery.c: (gst_query_set_formats),
9932 (gst_query_set_formatsv):
9933 Fix leaking GValues in queries, as shown by valgrind/testsuite.
9935 2006-04-05 Michael Smith <msmith@fluendo.com>
9937 * tests/check/generic/sinks.c: (GST_START_TEST):
9938 Fix a variety of memleaks in sinks check, which are only sometimes
9939 shown by running the tests under valgrind (weird?).
9941 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
9943 * docs/version.entities.in:
9944 Fix the substituted entity name after thomas' changes on the
9947 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9949 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
9952 2006-04-05 Andy Wingo <wingo@pobox.com>
9954 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
9956 * libs/gst/base/gstbasetransform.c
9957 (gst_base_transform_sink_eventfunc): When resetting our segment on
9958 FLUSH_STOP, also update the flag saying we haven't seen a
9961 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
9963 Patch by: Paolo Borelli <pborelli at katamail dot com>
9965 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9966 (gst_plugin_check_license):
9967 minor clean-ups: G_DEFINE_TYPE already takes care of the
9968 parent_class stuff, no need to do it twice. Mark array of
9969 license strings as constant. (#337103)
9971 2006-04-04 Michael Smith <msmith@fluendo.com>
9973 * tools/gst-inspect.c: (print_element_list):
9974 Free the right plugin list; fixes a memory leak.
9976 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
9978 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9980 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
9981 Don't error out on empty buffers (#336945).
9983 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
9985 * docs/libs/gstreamer-libs-sections.txt:
9987 * libs/gst/base/gstbasesink.c:
9988 * libs/gst/base/gstbasesink.h:
9989 * libs/gst/base/gstbasesrc.c:
9990 * libs/gst/base/gstbasesrc.h:
9991 Documentation updates. Make BaseSink and BaseSrc docs contain the
9992 class structure so that people can actually see the prototypes for
9993 virtual functions they're supposed to be overriding.
9995 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
9997 * plugins/elements/gsttypefindelement.c:
9998 (gst_type_find_element_chain):
9999 More debug info; when skipping typefinding, send cached
10000 events in all cases.
10002 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
10005 use new AS_VERSION and AS_NANO macros
10006 * gst/gst-i18n-lib.h:
10009 * gst/gstversion.h.in:
10010 * win32/common/config.h:
10011 * win32/common/config.h.in:
10014 2006-03-31 Michael Smith <msmith@fluendo.com>
10016 * plugins/elements/gsttypefindelement.c:
10017 (gst_type_find_element_chain):
10018 Do not typefind content if the buffers already have caps.
10019 Neccesary for icydemux (#333657), and the right thing to do anyway.
10021 2006-03-30 Wim Taymans <wim@fluendo.com>
10023 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10024 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
10025 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
10026 (gst_base_sink_record_qos_observation),
10027 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10028 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10029 (gst_base_sink_change_state):
10030 More QoS measurements as described in the design doc.
10031 Get rid of ringbuffer with observations, running average is
10032 more simple and equally good.
10033 Calculates valid proportion now.
10034 Added beginning of flood measurement.
10036 2006-03-29 Wim Taymans <wim@fluendo.com>
10038 * docs/design/part-qos.txt:
10040 Small documentation updates and additions.
10042 2006-03-29 Wim Taymans <wim@fluendo.com>
10044 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10045 (gst_base_src_send_event), (gst_base_src_loop),
10046 (gst_base_src_change_state):
10047 Perform the EOS logic when we reach the segment stop position.
10048 Fix compilation on gcc4.1
10050 2006-03-29 Wim Taymans <wim@fluendo.com>
10052 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
10054 * plugins/elements/gstqueue.c: (gst_queue_init),
10055 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
10056 (gst_queue_set_property):
10057 * plugins/elements/gstqueue.h:
10058 In queue, when EOS is received, if minimum threshold > max_size -
10059 current_level, there is chance that queue blocks forever in conditional
10060 item del wait. This is because the queue is not emptied completely due
10061 to minimum threshold. Here is another approach. Instead of setting
10062 cur_levels to max in EOS, just zero all minimum threshold levels. This
10063 should make sure that queue gives out all data. When going to READY
10064 (stop) state, just reset the original minimum threshold levels.
10067 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
10069 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
10070 (gst_type_find_element_handle_event),
10071 (gst_type_find_element_send_cached_events),
10072 (gst_type_find_element_change_state):
10073 * plugins/elements/gsttypefindelement.h:
10074 When typefinding is done in push mode, we should cache
10075 events we receive during typefinding instead of just
10076 dropping them (e.g. newsegment, custom events from
10077 dvdreadsrc etc.) and then send them out once we've
10078 determined the type of the stream (and decodebin
10079 has had a chance to plug in a decoder/demuxer).
10081 2006-03-27 Wim Taymans <wim@fluendo.com>
10083 * docs/design/part-qos.txt:
10086 2006-03-27 Wim Taymans <wim@fluendo.com>
10088 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
10090 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10091 (gst_base_src_send_event), (gst_base_src_change_state):
10092 Handle element seek correctly when we are streaming.
10095 2006-03-24 Michael Smith <msmith@fluendo.com>
10097 * docs/faq/gst-uninstalled:
10098 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
10099 allow you to correctly run intalled applications built against old
10100 core, using plugins that require updated core (e.g. running
10101 installed totem against a full uninstalled gstreamer stack)
10103 2006-03-24 Stefan Kost <ensonic@users.sf.net>
10105 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
10108 2006-03-24 Wim Taymans <wim@fluendo.com>
10110 * docs/gst/gstreamer-sections.txt:
10111 Rearrange the order of the methods so that related methods
10112 are grouped together in sections.
10114 2006-03-24 Stefan Kost <ensonic@users.sf.net>
10116 * gst/gstelement.c:
10117 Little clarification in the docs
10119 2006-03-24 Stefan Kost <ensonic@users.sf.net>
10123 * plugins/elements/gstidentity.c:
10124 * plugins/elements/gstqueue.c:
10125 * plugins/elements/gsttee.c:
10126 * plugins/elements/gsttypefindelement.c:
10127 GST_ELEMENT_DETAILS formatting
10129 2006-03-24 Wim Taymans <wim@fluendo.com>
10131 * libs/gst/base/gstbasesink.h:
10132 Only add fields, not insert or we break ABI.
10134 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
10136 * win32/common/libgstbase.def:
10137 * win32/common/libgstreamer.def:
10138 Update, add recently added functions.
10140 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
10142 * docs/gst/gstreamer-sections.txt:
10143 * gst/gstutils.c: (gst_pad_query_peer_position),
10144 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
10146 API: add some new utility functions:
10147 - gst_pad_query_peer_position()
10148 - gst_pad_query_peer_duration()
10149 - gst_pad_query_peer_convert()
10151 2006-03-23 Wim Taymans <wim@fluendo.com>
10153 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10154 (gst_base_sink_init), (gst_base_sink_finalize),
10155 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
10156 (gst_base_sink_set_property), (gst_base_sink_get_property),
10157 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
10158 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10159 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
10160 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10161 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10162 (gst_base_sink_preroll_object), (gst_base_sink_event),
10163 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
10164 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
10165 (gst_base_sink_query), (gst_base_sink_change_state):
10166 Decouple max-lateness and the fact that QoS messages are generated
10167 with a new property (qos).
10168 added API: GstBaseSink::async_play()
10169 Add vmethod so subclasses can be notified of ASYNC playing
10171 Collect timestamp start and stop to report better current
10172 position in EOS/PLAYING/PAUSED/READY/NULL.
10173 Refactor QoS/frame dropping and other measurements.
10174 API: GstBaseSrc::qos
10177 * libs/gst/base/gstbasesink.h:
10178 Added Private struct.
10179 API: gst_base_sink_set_qos_enabled()
10180 API: gst_base_sink_is_qos_enabled()
10182 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
10184 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10185 If compiling against GLib-2.8 or newer, try to read the
10186 registry file using GMappedFile first before falling back
10187 to fopen() + fread() (#332151).
10189 2006-03-22 Wim Taymans <wim@fluendo.com>
10191 * gst/gstinfo.c: (gst_debug_set_active),
10192 (gst_debug_category_set_threshold):
10193 Disable debugging unless explicitly activated.
10196 2006-03-22 Wim Taymans <wim@fluendo.com>
10198 * gst/gstelement.c: (gst_element_set_locked_state),
10199 (gst_element_dispose):
10200 Cleanup the error case.
10202 * gst/gstobject.c: (gst_object_dispose):
10203 print a critical when some object was disposed with
10204 a parent, also revive the object since it might
10207 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
10209 * tools/gst-launch.1.in:
10212 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
10215 * tests/check/Makefile.am:
10216 disable some tests when we don't have a registry
10217 * tests/check/gst/gstutils.c: (gst_utils_suite):
10218 don't build the part that needs parsing
10220 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
10223 * tests/examples/Makefile.am:
10224 fix --disable-parse build
10226 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
10228 * tools/gst-feedback.1.in:
10229 Fix typo: s/feeback/feedback/ (#133494).
10231 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
10233 * tools/Makefile.am:
10234 * tools/gst-launch.1.in:
10235 Add FILES section and correct entry about GST_REGISTRY_PATH
10236 environment variable (#133495; #133494).
10238 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
10240 * tools/Makefile.am:
10241 * tools/gst-md5sum.1.in:
10242 * tools/gst-md5sum.c:
10243 Remove gst-md5sum and man page (the md5sink element
10244 required was removed ages ago)
10246 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
10248 * gst/gststructure.c: (gst_structure_id_set_value):
10249 Make sure that string fields in structures/taglists
10250 contain valid UTF-8 - we don't want to pass rubbish to
10251 applications because of a buggy plugin (cp. #334167).
10253 2006-03-21 Edward Hervey <edward@fluendo.com>
10255 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10256 (gst_bin_handle_message_func):
10257 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
10258 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
10259 (gst_element_set_bus_func):
10260 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
10261 * gst/gstminiobject.c: (gst_value_set_mini_object),
10262 (gst_value_take_mini_object):
10263 * gst/gstpad.c: (gst_pad_set_pad_template):
10264 * gst/gstpipeline.c: (gst_pipeline_dispose),
10265 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10266 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
10267 (gst_collect_pads_chain):
10268 * libs/gst/net/gstnettimeprovider.c:
10269 (gst_net_time_provider_set_property):
10270 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
10271 It's in fact all issues with gst_*object_replace().
10273 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
10275 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
10277 * pkgconfig/gstreamer-check-uninstalled.pc.in:
10278 * pkgconfig/gstreamer-check.pc.in:
10279 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
10281 2006-03-21 Edward Hervey <edward@fluendo.com>
10285 * gst/gstmessage.h:
10286 gst_[buffer|event|message]_ref() macros are replaced by a static
10287 inline functions because gcc-4.1 will about if the return value
10289 * tests/check/gst/gstevent.c: (event_probe):
10290 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
10292 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
10295 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
10296 the type' case. (Closes: #335195 for now). In the future, when we
10297 depend on GLib 2.10, we could also intern the type name using
10298 g_intern_static_string()
10300 2006-03-20 Wim Taymans <wim@fluendo.com>
10302 * gst/gstbin.c: (gst_bin_handle_message_func),
10303 (bin_query_max_init), (bin_query_position_fold),
10304 (bin_query_position_done), (gst_bin_query):
10305 Position query should also take max of all streams.
10307 2006-03-20 Wim Taymans <wim@fluendo.com>
10309 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10310 (gst_fake_src_finalize):
10311 Fix leaks in fakesrc.
10313 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10314 Fix leaks in the testcase.
10316 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
10318 * gst/gst_private.h:
10319 add win32 specific import decoration(__declspec(dllimport))
10320 for all extern GstDebugCategory * variables
10321 * win32/common/libgstbase.def:
10322 * win32/common/libgstcontroller.def:
10323 * win32/common/libgstreamer.def:
10324 Add some exports, remove empty lines
10325 * win32/common/libgstdataprotocol.def:
10326 * win32/common/libgstdataprotocol.dsp:
10327 * win32/common/libgstnet.def:
10328 * win32/common/libgstnet.dsp:
10329 new project files and exportation files added
10331 2006-03-19 Wim Taymans <wim@fluendo.com>
10333 * tests/check/libs/basesrc.c: (eos_event_counter):
10334 Use proper return value for probe.
10336 2006-03-17 Wim Taymans <wim@fluendo.com>
10338 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10340 Don't leak buffers, caps and pads on negotiation errors.
10342 2006-03-16 Stefan Kost <ensonic@users.sf.net>
10344 * docs/faq/cvs.xml:
10345 * docs/faq/dependencies.xml:
10346 * docs/faq/developing.xml:
10347 * docs/faq/faq.xml:
10348 * docs/faq/general.xml:
10349 * docs/faq/getting.xml:
10350 * docs/faq/legal.xml:
10351 * docs/faq/troubleshooting.xml:
10352 * docs/faq/using.xml:
10353 Faq review and update.
10355 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
10357 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10359 Don't pound the cpu to pieces by checking get_caps when accept_caps
10360 is called with the same caps as the pad already has.
10361 Use GST_DEBUG_OBJECT when outputting caps change information.
10363 2006-03-15 Wim Taymans <wim@fluendo.com>
10365 * gst/gstclock.c: (gst_clock_class_init):
10368 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
10373 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
10374 (gst_pad_accept_caps), (gst_pad_configure_sink),
10375 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
10376 Make the default acceptcaps behaviour be to check the requested
10377 caps against the gst_pad_get_caps output.
10379 Ensure that gst_pad_accept_caps is used to check caps when a pad
10380 doesn't have a setcaps function, so that pads automatically refuse
10381 caps that they don't allow in their pad template. (Fixes #332986)
10383 When a buffer with attached caps is pushed, ensure that the source
10384 pad receives those caps even if the element didn't call
10385 gst_pad_set_caps first.
10387 2006-03-15 Wim Taymans <wim@fluendo.com>
10389 * libs/gst/base/gstadapter.c:
10392 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
10394 * win32/common/libgstbase.def:
10395 * win32/common/libgstcontroller.def:
10396 * win32/common/libgstreamer.def:
10397 Add a whole bunch of missing functions (#334434).
10399 2006-03-14 Wim Taymans <wim@fluendo.com>
10401 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10402 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
10403 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
10404 Better debug info when we receive a segment event.
10405 Reorganize a bit so we can pass the get_times() results around.
10406 Use the segment format when calculating the running time.
10407 Don't do QoS is sync is disabled or we have no clock or the
10408 element does not want us to sync to the clock.
10409 Don't drop buffers if QoS is disabled for now.
10411 2006-03-14 Wim Taymans <wim@fluendo.com>
10413 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
10414 Marked the stats property as unimplemented so people don't get
10416 Add debug message when regression goes wrong.
10417 Added some more docs.
10419 2006-03-14 Wim Taymans <wim@fluendo.com>
10421 * gst/gstsegment.c: (gst_segment_to_stream_time):
10422 Return correct return type in case of errors.
10424 2006-03-14 Wim Taymans <wim@fluendo.com>
10426 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
10427 Don't segfault on invalid formats.
10429 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
10431 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10432 Can't use gst_segment_to_running_time() when the segment
10433 is not in GST_TIME_FORMAT (like with filesink, for example).
10434 Stops flac encoding pipelines from spewing critical warnings
10437 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
10439 * gst/gstpipeline.c: (gst_pipeline_class_init):
10440 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
10442 * plugins/elements/gsttypefindelement.c:
10443 (gst_type_find_element_handle_event):
10444 Don't try to typefind empty streams.
10446 2006-03-14 Wim Taymans <wim@fluendo.com>
10448 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
10449 (gst_base_sink_do_qos):
10450 Separate QoS calculation.
10451 Only drop buffers when lateness is bigger than the
10452 duration of the buffer.
10454 2006-03-13 Wim Taymans <wim@fluendo.com>
10456 * gst/gstpipeline.c: (gst_pipeline_set_property),
10457 (gst_pipeline_get_property), (do_pipeline_seek),
10458 (gst_pipeline_change_state), (gst_pipeline_set_delay),
10459 (gst_pipeline_get_delay):
10460 Don't deadlock when reading properties.
10462 2006-03-13 Wim Taymans <wim@fluendo.com>
10464 * libs/gst/base/gstbasetransform.c:
10465 (gst_base_transform_class_init), (gst_base_transform_init),
10466 (gst_base_transform_sink_event),
10467 (gst_base_transform_sink_eventfunc),
10468 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
10469 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10470 (gst_base_transform_set_property),
10471 (gst_base_transform_get_property),
10472 (gst_base_transform_change_state), (gst_base_transform_update_qos),
10473 (gst_base_transform_set_qos_enabled),
10474 (gst_base_transform_is_qos_enabled):
10475 * libs/gst/base/gstbasetransform.h:
10476 Make basetransform virtual method for src events too.
10477 Handle QOS in basetransform.
10478 API: gst_base_transform_update_qos()
10479 API: gst_base_transform_set_qos_enabled()
10480 API: gst_base_transform_is_qos_enabled()
10482 2006-03-13 Wim Taymans <wim@fluendo.com>
10484 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10485 (gst_base_sink_do_sync):
10487 Use QOS debug category.
10489 2006-03-13 Wim Taymans <wim@fluendo.com>
10491 * plugins/elements/gstqueue.c:
10492 Very small doc update.
10494 2006-03-13 Wim Taymans <wim@fluendo.com>
10496 * gst/gst_private.h:
10497 * gst/gstinfo.c: (_gst_debug_init):
10498 Added QOS debug category
10500 2006-03-13 Wim Taymans <wim@fluendo.com>
10502 * docs/gst/gstreamer-sections.txt:
10503 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
10505 * gst/gstbus.c: (gst_bus_class_init):
10508 * gst/gstelement.c: (gst_element_set_locked_state):
10509 * gst/gstsegment.c:
10510 Documentation updates.
10512 * gst/gstpipeline.c: (gst_pipeline_get_type),
10513 (gst_pipeline_class_init), (gst_pipeline_init),
10514 (gst_pipeline_dispose), (gst_pipeline_set_property),
10515 (gst_pipeline_get_property), (do_pipeline_seek),
10516 (gst_pipeline_send_event), (gst_pipeline_change_state),
10517 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
10518 (gst_pipeline_get_delay):
10519 * gst/gstpipeline.h:
10520 Added methods for setting the delay.
10521 API: gst_pipeline_set_delay()
10522 API: gst_pipeline_get_delay()
10523 Add pipeline debug category
10526 Don't reset stream time when seek failed.
10528 2006-03-13 Wim Taymans <wim@fluendo.com>
10530 * docs/design/draft-klass.txt:
10531 * docs/design/part-clocks.txt:
10532 * docs/design/part-events.txt:
10533 * docs/design/part-gstbin.txt:
10534 * docs/design/part-gstpipeline.txt:
10535 * docs/design/part-messages.txt:
10536 * docs/design/part-negotiation.txt:
10537 * docs/design/part-overview.txt:
10538 * docs/design/part-preroll.txt:
10539 * docs/design/part-seeking.txt:
10540 * docs/design/part-states.txt:
10541 * docs/design/part-streams.txt:
10542 Documentation updates.
10544 2006-03-12 Julien MOUTTE <julien@moutte.net>
10546 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
10547 us to leak strings...
10549 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
10551 * libs/gst/net/gstnettimeprovider.c:
10553 * win32/common/config.h:
10556 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
10558 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
10561 Don't check for libgnomeui (leftover from old examples
10562 that aren't built or disted any longer) (#334303).
10564 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
10566 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
10567 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10568 Emit RESOURCE_NO_SPACE_LEFT error here as well when
10569 there's no space left on the device.
10571 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
10574 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
10575 to cast the input to GstClockTime before comparing with
10576 another GstClockTime value.
10578 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
10583 === release 0.10.4 ===
10585 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
10588 releasing 0.10.4, "Light"
10590 2006-03-10 Michael Smith <msmith@fluendo.com>
10592 * libs/gst/dataprotocol/dataprotocol.c:
10593 Fix docs for dataprocotol to not get the return types completely
10594 wrong for a few functions.
10596 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
10598 * docs/gst/gstreamer-sections.txt:
10599 * gst/gstpipeline.c: (gst_pipeline_class_init),
10600 (gst_pipeline_init), (gst_pipeline_set_property),
10601 (gst_pipeline_get_property), (gst_pipeline_change_state),
10602 (gst_pipeline_set_auto_flush_bus),
10603 (gst_pipeline_get_auto_flush_bus):
10604 * gst/gstpipeline.h:
10605 Add new API: gst_pipeline_set_auto_flush_bus() and
10606 gst_pipeline_get_auto_flush_bus() to disable automatic
10607 flushing of the pipeline's GstBus when going from READY
10608 to NULL state (#332045).
10610 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
10612 * docs/gst/gstreamer-sections.txt:
10613 * gst/gsturi.c: (gst_uri_has_protocol):
10615 Add new API: gst_uri_has_protocol() (#333779).
10617 2006-03-09 Wim Taymans <wim@fluendo.com>
10619 * gst/gstclock.c: (gst_clock_entry_new),
10620 (gst_clock_id_compare_func), (gst_clock_id_wait),
10621 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
10622 (gst_clock_init), (gst_clock_get_internal_time),
10623 (gst_clock_set_master), (do_linear_regression),
10624 (gst_clock_add_observation), (gst_clock_set_property):
10628 Fix a possible segfault when the window-size is made smaller.
10629 Calculate jitter before performing the clock wait. Ideally
10630 the clock implementation should calculate jitter but we need
10631 API breakage for that.
10633 * gst/gstsystemclock.c: (gst_system_clock_init):
10636 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10637 Remove leftover else
10639 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
10640 (gst_systemclock_suite):
10641 Added check to test GST_CLOCK_DIFF.
10643 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
10645 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
10646 (gst_type_find_helper_get_range):
10647 If we are provided with the size, we should implement
10648 GstTypeFind::get_length, so that typefind functions who
10649 want to can actually peek at the middle of a file.
10651 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
10653 * docs/manual/advanced-dataaccess.xml:
10654 Add some very very basic error checking.
10656 * docs/pwg/appendix-checklist.xml:
10657 Some updates to the list of things to check when writing an element.
10659 2006-03-08 Wim Taymans <wim@fluendo.com>
10661 * docs/design/part-element-transform.txt:
10662 Added some docs about the design of tranform elements.
10664 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10665 (gst_base_src_loop), (gst_base_src_change_state):
10666 Mark buffers with the DISCONT flag.
10668 2006-03-08 Michael Smith <msmith@fluendo.com>
10670 * gst/gstregistry.h:
10671 * gst/gstregistryxml.c: (gst_registry_save),
10672 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
10673 (gst_registry_xml_save_pad_template),
10674 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
10675 (gst_registry_xml_write_cache):
10676 Rewrite registry-saving to avoid race conditions and check for
10679 2006-03-08 Wim Taymans <wim@fluendo.com>
10681 * libs/gst/base/gstbasetransform.c:
10682 (gst_base_transform_transform_caps),
10683 (gst_base_transform_transform_size),
10684 (gst_base_transform_prepare_output_buffer),
10685 (gst_base_transform_get_unit_size),
10686 (gst_base_transform_buffer_alloc),
10687 (gst_base_transform_handle_buffer),
10688 (gst_base_transform_change_state):
10689 Cleanups, separate normal flow from errors, add sensible
10691 Don't try to renegotiate when allocating an output buffer.
10692 Also copy DISCONT buffer flag when copying a buffer.
10693 Reset the transform after we finish streaming, not during.
10695 2006-03-08 Wim Taymans <wim@fluendo.com>
10697 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10698 Use last buffer timestamp in qos message.
10700 2006-03-07 Wim Taymans <wim@fluendo.com>
10702 Patch by: Christophe Fergeau
10704 * docs/pwg/advanced-tagging.xml:
10705 * docs/pwg/building-pads.xml:
10708 2006-03-07 Wim Taymans <wim@fluendo.com>
10710 * docs/libs/gstreamer-libs-sections.txt:
10711 Added basesink new methods.
10715 Docs updates. Flesh out the QoS docs.
10717 * libs/gst/base/gstadapter.c:
10718 Small doc clarification about ownership and flushing.
10720 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
10721 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
10722 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
10723 (gst_base_sink_get_property), (gst_base_sink_do_sync):
10724 * libs/gst/base/gstbasesink.h:
10726 Added new methods to allow subclass to control max-lateness
10728 Generate very basic QoS events based on last sync observation.
10729 Updated docs, fix typo, added some QoS blurb.
10731 * libs/gst/base/gstbasesrc.c:
10732 Remove obsolete _get_state() calls from docs.
10734 2006-03-07 Wim Taymans <wim@fluendo.com>
10736 * docs/libs/gstreamer-libs-sections.txt:
10737 * libs/gst/base/gstbasetransform.h:
10738 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
10739 Fix docs for GstBaseSrc.
10741 2006-03-07 Wim Taymans <wim@fluendo.com>
10743 * docs/gst/gstreamer-sections.txt:
10746 * libs/gst/base/gstbasetransform.h:
10747 Small documentation fixes.
10749 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
10752 Document thread-unsafety of gst_value_register_foo_func()
10753 when used at the same time as gst_value_foo() (#322628).
10755 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
10757 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
10758 (gst_push_src_check_get_range):
10759 Push sources don't support pull mode by default.
10761 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
10763 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10764 (gst_base_src_init), (gst_base_src_pad_check_get_range),
10765 (gst_base_src_default_check_get_range):
10766 * libs/gst/base/gstbasesrc.h:
10767 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
10768 provide default implementation, and rename
10769 gst_base_src_check_get_range() to
10770 gst_base_src_pad_check_get_range() for clarity.
10772 2006-03-06 Wim Taymans <wim@fluendo.com>
10774 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10775 Make property overridable.
10777 2006-03-06 Wim Taymans <wim@fluendo.com>
10779 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10780 (gst_base_sink_init), (gst_base_sink_set_property),
10781 (gst_base_sink_get_property), (gst_base_sink_do_sync):
10782 * libs/gst/base/gstbasesink.h:
10783 API addition: Make max-lateness a property.
10785 2006-03-06 Wim Taymans <wim@fluendo.com>
10787 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
10788 (gst_base_sink_do_sync), (gst_base_sink_render_object):
10789 Don't ever draw a frame that is >10ms late.
10791 2006-03-06 Michael Smith <msmith@fluendo.com>
10793 * gst/gstmessage.c: (_gst_message_copy):
10794 When copying a message, set the parent_refcount of the enclosed
10795 structure to point at the copy, not the original message.
10797 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
10799 Patch by: Christophe Fergeau
10802 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
10803 usable in c++ code (#333417)
10805 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
10808 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
10810 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
10812 * libs/gst/base/gstbasetransform.c:
10813 (gst_base_transform_transform_caps):
10814 Make sure caps are writable before passing them to
10817 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
10820 Fix some minor docs errors.
10822 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
10824 Patch by: Ross Burton <ross at burtonini dot com>
10826 * gst/gsterror.c: (_gst_resource_errors_init):
10828 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
10830 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
10833 Add a check and output a g_warning when GStreamer is built
10834 against GLib 2.6 but running against 2.8 or higher, and vice
10835 versa. (Closes: #323542)
10837 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
10839 * gst/parse/parse.l:
10840 Commit patch for parse_launch syntax from #331255. Removes
10841 support for quoted strings and mimetypes when writing filtered
10842 caps. See the bug report for more details - I'm pretty sure this
10843 obscure feature is not in use by _anyone_ anywhere.
10845 With this simple change, the size of the gstreamer.so here
10846 drops from 2193KB to 1565KB.
10848 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
10850 * plugins/elements/gsttypefindelement.h:
10851 * plugins/elements/gsttypefindelement.c:
10852 (gst_type_find_element_src_event), (start_typefinding),
10853 (stop_typefinding), (gst_type_find_element_handle_event),
10854 (gst_type_find_element_chain),
10855 (gst_type_find_element_chain_do_typefinding):
10856 Use gst_type_find_helper_for_buffer() for chain-based
10859 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
10861 * plugins/elements/gsttypefindelement.c:
10862 (gst_type_find_element_class_init),
10863 (gst_type_find_element_set_property),
10864 (gst_type_find_element_get_property):
10865 Deprecate "maximum" property (not only was it only taken into
10866 account for typefinding in push-mode anyway, it also was never
10867 actually possible to set it in the first place because the
10868 property was registered with the numeric property ID for the
10869 "minimum" property). Register "maximum" property correctly,
10870 for the sake of future copy'n'pasters. Remove some cruft
10871 from property get/set functions.
10873 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
10875 * plugins/elements/gsttypefindelement.c:
10876 (gst_type_find_element_activate):
10877 Use gst_type_find_helper_get_range() here, so we
10878 can honour the "minimum" property and also emit
10879 the signal with the correct probability of the found caps.
10881 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
10883 * docs/libs/gstreamer-libs-sections.txt:
10884 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
10885 (helper_find_suggest), (gst_type_find_helper_get_range),
10886 (gst_type_find_helper):
10887 * libs/gst/base/gsttypefindhelper.h:
10888 New API: gst_type_find_helper_get_range() (#333042).
10890 2006-03-02 Michael Smith <msmith@fluendo.com>
10892 * gst/gstregistryxml.c: (load_feature):
10893 Asserting on a failure to read part of the registry is Not Cool.
10894 Just log a warning and return NULL (which is already handled)
10896 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
10898 * win32/common/libgstbase.def:
10899 added export of gst_type_find_helper_for_buffer
10900 * win32/common/libgstbase.def:
10901 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
10902 gst_ghost_pad_get_target
10904 2006-02-28 Wim Taymans <wim@fluendo.com>
10906 * docs/design/draft-klass.txt:
10908 Added Connector to mark elements that are only used to
10909 allow pipeline connections.
10910 Moved Debug to extra feature since most of them are
10911 functionally something else.
10913 2006-02-28 Wim Taymans <wim@fluendo.com>
10915 * docs/design/draft-klass.txt:
10916 Some updates and clarifications.
10918 2006-02-28 Wim Taymans <wim@fluendo.com>
10920 * docs/design/draft-klass.txt:
10921 Proposal for klass field values.
10923 * docs/design/part-streams.txt:
10924 Start of a doc describing stream anatomy.
10926 2006-02-28 Wim Taymans <wim@fluendo.com>
10928 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
10929 Help the compiler a bit with type registration.
10930 Use existing forward cod path instead of duplicating it when
10931 handling a message.
10933 * gst/gstbus.c: (gst_bus_get_type):
10934 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
10935 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
10936 * gst/gstclock.c: (gst_clock_get_type):
10937 * gst/gstelement.c: (gst_element_get_type),
10938 * gst/gstelementfactory.c: (gst_element_factory_get_type):
10939 * gst/gstindexfactory.c: (gst_index_factory_get_type):
10940 * gst/gstminiobject.c: (gst_mini_object_get_type):
10941 * gst/gstpad.c: (gst_pad_get_type):
10942 * gst/gstsegment.c: (gst_segment_get_type):
10943 * gst/gststructure.c: (gst_structure_get_type):
10944 * gst/gstsystemclock.c: (gst_system_clock_get_type):
10945 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
10947 Help compiler with type registration.
10949 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
10952 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
10954 * plugins/elements/gsttypefindelement.c:
10955 (gst_type_find_element_handle_event):
10956 When we get an EOS event and have not found a type yet
10957 (most likely because we had not yet accumulated
10958 TYPE_FIND_MIN_SIZE of data yet), try to determine the
10959 type given the data we have so far. Fixes typefinding
10960 for very short streams again, most notably quicktime
10961 redirections as used on Apple's trailer site (#331701).
10963 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
10965 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
10966 (gst_type_find_helper):
10967 Try typefinding factories with the highest rank first.
10969 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
10971 * docs/libs/gstreamer-libs-docs.sgml:
10972 * docs/libs/gstreamer-libs-sections.txt:
10973 * libs/gst/base/gsttypefindhelper.c:
10974 Add section for typefind helper and add documentation
10975 for the old and the new function.
10977 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
10979 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
10980 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
10981 (gst_type_find_helper_for_buffer):
10982 * libs/gst/base/gsttypefindhelper.h:
10983 New API: gst_type_find_helper_for_buffer() (#332723).
10985 2006-02-27 Michael Smith <msmith@fluendo.com>
10987 Patch by: Loïc Minier
10990 * docs/Makefile.am:
10991 * docs/slides/Makefile.am:
10992 prevent CVS directories getting disted.
10994 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
10996 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
10997 Use the REFCOUNTING category for caps refcounting.
10999 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
11001 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
11002 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
11004 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
11006 * plugins/elements/gsttypefindelement.c:
11007 (gst_type_find_element_activate):
11008 Use gst_pad_check_pull_range() before _activate_pull()
11009 to avoid unnecessary open/close (see #331690).
11011 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
11014 Docs enhancement: make it crystal clear what the
11015 gst_pad_add_*_probe() callbacks should look like.
11017 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
11019 * libs/gst/base/gstbasesrc.c:
11020 Document how applications can stop recording from
11021 live sources (see #330996).
11023 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
11025 * tests/check/Makefile.am:
11026 * tests/check/libs/basesrc.c: (eos_event_counter),
11027 (basesrc_eos_events_pull), (basesrc_eos_events_push),
11028 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
11029 (gst_basesrc_suite), (main):
11030 ... and add some tests for the base source EOS stuff.
11032 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
11034 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
11035 Test case originally showed the problem fixed below,
11036 but was then amended. Add checks back at the place
11037 where they used to be.
11039 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
11041 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11042 (gst_base_src_init), (gst_base_src_loop),
11043 (gst_base_src_activate_push), (gst_base_src_activate_pull),
11044 (gst_base_src_change_state):
11045 * libs/gst/base/gstbasesrc.h:
11046 Don't unconditionally send EOS when going from PAUSED to
11047 READY state, esp. make sure we don't send two EOS events
11048 in some cases (e.g. one when reaching EOS and one when
11049 going from PAUSED to READY). Also, we don't want to send
11050 EOS events when operating in pull mode. However, we do
11051 want to send an EOS event when shutting down a live
11052 source explicitly, for example (fixes #330996).
11054 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
11056 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11057 Update src->read_position after a seek when not using mmap.
11058 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
11060 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
11066 Make things work with --disable-parse as they do with
11067 --disable-load-save - the symbols involved disappear, but the
11068 header is still installed and GST_DISABLE_PARSE is included via
11071 2006-02-20 Julien MOUTTE <julien@moutte.net>
11073 * libs/gst/base/gstbasetransform.c:
11074 (gst_base_transform_change_state): Fix a stupid bug. I was
11075 sure I compiled that.
11077 2006-02-20 Julien MOUTTE <julien@moutte.net>
11079 * gst/gstpad.c: (gst_pad_set_blocked_async):
11080 * gst/gstutils.c: (gst_pad_add_data_probe),
11081 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11082 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11083 (gst_pad_remove_buffer_probe): Make those function act on the
11084 ghostpad target when it's a ghostpad. (Closes #331727)
11086 2006-02-20 Julien MOUTTE <julien@moutte.net>
11088 * libs/gst/base/gstbasetransform.c:
11089 (gst_base_transform_change_state): Make basetransform reusable.
11092 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
11094 * docs/random/release:
11095 Move the current documentation of how to do a release to the top
11098 * gst/gstbin.c: (gst_bin_class_init),
11099 (gst_bin_handle_message_func):
11100 Allow multiple state-recalculation threads. (Closes #328873)
11102 2006-02-19 Julien MOUTTE <julien@moutte.net>
11104 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
11105 * gst/gstpad.c: (gst_pad_set_event_function),
11106 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11107 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
11108 2 strings. You can't use the STR_NULL macro on that.
11110 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
11112 * gst/gstpad.c: (gst_pad_set_event_function),
11113 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11114 (gst_pad_set_getcaps_function)
11115 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
11116 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
11117 So now, we can use --gst-debug-level=5 on Windows
11118 * win32/common/libgstcontroller.def:
11119 Added export of gst_controller_init
11120 * win32/vs6/libgstcontroller.dsp:
11121 Fixed Release post build configuration
11123 2006-02-17 Wim Taymans <wim@fluendo.com>
11125 * tests/check/gst/gstquery.c: (GST_START_TEST):
11126 Added another check.
11128 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
11130 * plugins/elements/gsttypefindelement.c: (find_peek):
11131 We can do peeks at non-zero offsets, as long as they
11132 fall within the buffer we have.
11134 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
11136 * tests/check/Makefile.am:
11137 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
11138 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
11139 (parse_suite), (main):
11140 Add testsuite for parse launch syntax
11142 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
11144 * plugins/elements/gsttypefindelement.c:
11145 (gst_type_find_element_chain):
11146 When typefinding is unsuccessful in the chain function, don't
11147 error out immediately. Only error out with NO_CAPS_FOUND if
11148 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
11149 otherwise simply wait for more data so we can try typefinding
11150 again with more data later. Also, don't attempt to typefind
11151 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
11152 this should improve typefinding from network sources where the
11153 size of the first buffer can be somewhat random.
11155 2006-02-14 Wim Taymans <wim@fluendo.com>
11157 * docs/gst/gstreamer-sections.txt:
11158 * gst/gstpadtemplate.c:
11159 * gst/gstpadtemplate.h:
11160 Fix padtemplate docs, fixes #328805.
11162 2006-02-14 Wim Taymans <wim@fluendo.com>
11164 * tools/gst-launch.c: (main):
11165 NO_PREROLL is not an ERROR so don't send confusing messages
11168 2006-02-14 Wim Taymans <wim@fluendo.com>
11170 Patch by: Torsten Schoenfeld
11172 * gst/gstregistry.c: (gst_registry_get_default),
11173 (_gst_registry_cleanup):
11174 Protect default registry with lock and ref/sink it.
11177 2006-02-14 Wim Taymans <wim@fluendo.com>
11180 * gst/gstquery.c: (gst_query_list_add_format),
11181 (gst_query_set_formatsv), (gst_query_parse_formats_length),
11182 (gst_query_parse_formats_nth):
11183 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11186 2006-02-14 Wim Taymans <wim@fluendo.com>
11188 * docs/gst/gstreamer-sections.txt:
11189 Reworked query docs.
11191 * gst/gstquery.c: (gst_query_new_formats),
11192 (gst_query_list_add_format), (gst_query_set_formats),
11193 (gst_query_set_formatsv), (gst_query_parse_formats_length),
11194 (gst_query_parse_formats_nth):
11196 Flesh out formats query, added some new methods.
11197 Fix part of #324398.
11199 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
11200 Added query creation tests.
11202 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
11204 * gst/gstpad.c: (fixate_value):
11205 Add a default fixation for fraction lists.
11207 2006-02-13 Wim Taymans <wim@fluendo.com>
11209 * gst/gsttask.c: (gst_task_init), (gst_task_func),
11210 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
11213 Detect and warn for obvious deadlocks. fixes #320340
11214 Fix error case where lock was not released.
11216 * tests/check/Makefile.am:
11217 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
11218 (task_func), (gst_element_suite), (main):
11221 2006-02-13 Wim Taymans <wim@fluendo.com>
11223 * docs/gst/gstreamer-sections.txt:
11225 Add new functions to docs.
11227 2006-02-13 Wim Taymans <wim@fluendo.com>
11229 * docs/design/part-TODO.txt:
11230 Updated TODO list, basesrc supports seeking to non-bytes
11233 * docs/design/part-element-sink.txt:
11236 * gst/gstbin.c: (bin_replace_message),
11237 (gst_bin_handle_message_func):
11238 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
11239 * gst/gstevent.c: (gst_event_finalize):
11240 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11241 (gst_pad_send_event):
11242 Use shiny new _TYPE_NAME macros.
11244 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11245 Move debug statement up.
11247 * gst/gstelement.c: (gst_element_set_locked_state):
11248 Add some debugging.
11250 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
11252 * docs/gst/gstreamer-sections.txt:
11253 * gst/gstmessage.h:
11255 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
11256 macros (#330906). Also, document the already existing
11257 GST_QUERY_TYPE macro.
11259 2006-02-13 Wim Taymans <wim@fluendo.com>
11261 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
11262 (event_probe), (GST_START_TEST):
11263 Only events up to the pipeline EOS are counted, there are
11264 some more when going to NULL currently which we don't care
11267 2006-02-13 Wim Taymans <wim@fluendo.com>
11269 * gst/gstpad.c: (gst_pad_send_event):
11270 Correctly check flushing and emit probes. fixes #330125
11272 2006-02-10 Andy Wingo <wingo@pobox.com>
11274 * gst/gstbus.c (gst_bus_class_init): Declare our private data
11276 (gst_bus_init): Cache the location of the private data in the
11277 instance structure.
11278 (gst_bus_enable_sync_message_emission)
11279 (gst_bus_disable_sync_message_emission): Implement new public
11281 (gst_bus_post): Emit the sync-message signal if the user asked for
11284 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
11285 location of the bus-private structure.
11286 (gst_bus_enable_sync_message_emission)
11287 (gst_bus_disable_sync_message_emission): API addition
11289 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
11291 Patch by: Vincent Torri
11293 * docs/pwg/building-boiler.xml:
11294 PWG patch from #326800
11296 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
11299 * docs/Makefile.am:
11300 * docs/design/Makefile.am:
11303 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
11308 === release 0.10.3 ===
11310 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
11313 releasing 0.10.3, "Like a virgin"
11315 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
11318 2nd prerelease of 0.10.3
11319 Bump libtool versioning.
11321 2006-02-07 Andy Wingo <wingo@pobox.com>
11323 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
11324 update last_stop if we're in TIME format and the timestamp is
11327 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
11328 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
11329 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
11330 If we get a new newsegment with a different format, adapt
11333 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
11334 of 0. Not a problem, really.
11336 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
11339 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
11344 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
11347 project files updated to the default vs7 configuration
11348 * win32/common/libgstbase.def:
11349 * win32/common/libgstreamer.def:
11351 removed empty lines,
11352 sorted all exported symbols alphabetically
11353 * win32/common/dirent.c:
11354 * win32/common/dirent.h:
11355 * win32/common/gchar.h:
11356 use windows line end.
11358 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
11360 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11361 Send EOS event when stopping.
11363 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
11366 Tell folks what to do if the plugin-foobar.xml file
11367 hasn't been generated for a newly-added plugin.
11369 2006-02-05 Julien MOUTTE <julien@moutte.net>
11371 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11372 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11373 (gst_collect_pads_start), (gst_collect_pads_stop),
11374 (gst_collect_pads_event): Collectpads now holds a reference
11375 to the GstPad that was added. Indeed we don't want to look
11376 at pads that might just go away with no warning...
11378 2006-02-05 Julien MOUTTE <julien@moutte.net>
11380 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11381 (gst_collect_pads_start), (gst_collect_pads_stop),
11382 (gst_collect_pads_event), (gst_collect_pads_chain):
11383 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
11384 Mark Nauwelaerts's patch on bug #328491.
11386 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
11388 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
11390 Add some simple tests for gst_parse_bin_from_description() and
11391 gst_bin_find_unconnected_pad() (#329069).
11393 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
11395 * tools/gst-launch.c: (event_loop), (main):
11396 Catch errors during preroll (#320084).
11398 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
11400 * plugins/elements/gsttypefindelement.c:
11401 (gst_type_find_element_activate):
11402 Post TYPE_NOT_FOUND error message when typefinding
11403 is unsuccessful in the activate function as well.
11405 2006-02-02 Wim Taymans <wim@fluendo.com>
11407 * docs/design/part-element-sink.txt:
11410 2006-02-02 Wim Taymans <wim@fluendo.com>
11412 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
11413 (gst_base_sink_render_object),
11414 (gst_base_sink_queue_object_unlocked):
11415 Only keep track of prerollable items when we are
11417 Before rendering after preroll, always check if we
11419 Added some more debugging.
11421 2006-02-02 Wim Taymans <wim@fluendo.com>
11423 * gst/gstelement.c: (gst_element_continue_state),
11424 (gst_element_set_state_func), (gst_element_change_state):
11425 Fixed #326576, been running this for quite some time with
11426 no regressions at all.
11428 2006-02-02 Wim Taymans <wim@fluendo.com>
11431 Added more suppressions
11433 2006-02-02 Wim Taymans <wim@fluendo.com>
11435 * docs/design/part-element-sink.txt:
11438 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11439 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
11440 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
11441 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
11442 (gst_base_sink_do_sync), (gst_base_sink_render_object),
11443 (gst_base_sink_preroll_object),
11444 (gst_base_sink_queue_object_unlocked),
11445 (gst_base_sink_queue_object), (gst_base_sink_event),
11446 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
11447 (gst_base_sink_loop), (gst_base_sink_activate_pull),
11448 (gst_base_sink_get_position), (gst_base_sink_change_state):
11449 * libs/gst/base/gstbasesink.h:
11450 Totally refactored matching the design doc.
11451 Use two segments, one to clip incomming buffers and another to
11453 Handle queueing correctly, bypass the queue when playing.
11454 Make EOS cancelable.
11455 Handle errors correctly when operating in pull based mode.
11457 * tests/check/elements/fakesink.c: (GST_START_TEST),
11459 Added new check for sinks.
11461 2006-02-02 Wim Taymans <wim@fluendo.com>
11463 * gst/gstsegment.c: (gst_segment_clip):
11464 No reason to refuse to clip when start == -1
11466 2006-02-02 Stefan Kost <ensonic@users.sf.net>
11469 * docs/manual/intro-basics.xml:
11470 * docs/manual/intro-preface.xml:
11471 * docs/manual/manual.xml:
11472 * docs/pwg/advanced-dparams.xml:
11473 * docs/pwg/intro-basics.xml:
11474 * docs/pwg/intro-preface.xml:
11475 * docs/pwg/pwg.xml:
11476 describe dparams (controller) for plugins
11477 unify docs a little more
11479 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
11481 * docs/gst/gstreamer-sections.txt:
11482 * gst/gstutils.c: (element_find_unconnected_pad),
11483 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
11485 Add new API: gst_parse_bin_from_description() and
11486 gst_bin_find_unconnected_pad() (#329069).
11488 2006-02-01 Stefan Kost <ensonic@users.sf.net>
11490 * docs/manual/README:
11491 uncover a nasty detail of the docs build
11493 2006-01-31 Wim Taymans <wim@fluendo.com>
11495 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
11496 Don't cache duration messages if we're not going to use or
11499 2006-01-31 Stefan Kost <ensonic@users.sf.net>
11501 * docs/manual/advanced-dparams.xml:
11502 * docs/pwg/advanced-dparams.xml:
11506 * libs/gst/controller/lib.c: (gst_controller_init):
11509 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
11511 * gst/gstelement.c: (gst_element_message_full):
11512 also show file/line/func if no additional debug was given
11514 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
11516 * win32/vs7/grammar.vcproj:
11517 activate copy of autogenerated files for Release mode
11519 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
11521 * win32/common/libgstreamer.def:
11522 export gst_value_compare
11524 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
11526 * plugins/elements/Makefile.am:
11527 * plugins/elements/gstelements.c:
11528 * plugins/elements/gstfdsink.c: (_do_init),
11529 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
11530 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
11531 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
11532 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
11533 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
11534 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
11535 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
11536 * plugins/elements/gstfdsink.h:
11537 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
11539 2006-01-30 Stefan Kost <ensonic@users.sf.net>
11541 * docs/manual/advanced-dparams.xml:
11542 describe controller
11543 * docs/manual/advanced-position.xml:
11544 * docs/manual/basics-init.xml:
11545 * docs/manual/manual.xml:
11546 * docs/manual/titlepage.xml:
11547 * docs/pwg/pwg.xml:
11548 * docs/pwg/titlepage.xml:
11549 cleanup xml (more to come)
11550 * libs/gst/controller/gstcontroller.c:
11553 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
11555 * win32/vs6/grammar.dsp:
11556 add autogen of gstmarshal.c,h for Release mode
11558 2006-01-30 Wim Taymans <wim@fluendo.com>
11560 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11561 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
11562 (gst_base_sink_handle_object), (gst_base_sink_event),
11563 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
11564 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11565 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
11566 (gst_base_sink_deactivate), (gst_base_sink_activate),
11567 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11568 (gst_base_sink_query), (gst_base_sink_change_state):
11569 Basesink cleanups, remove some old code.
11570 Handle the case where a subclass can preroll in the render
11571 method (mostly audiosinks).
11572 Handle more events.
11573 Remove some locks around variables that are now protected
11574 with the PREROLL_LOCK (clock_id, flushing, ..).
11575 Optimize position query some more, do correct locking.
11576 Remove old code to push queue in state change, this is not
11577 needed anymore since preroll blocks on all prerollable items
11579 Almost implemented as described in design doc.
11581 2006-01-30 Wim Taymans <wim@fluendo.com>
11583 * tests/check/gst/gstbin.c: (GST_START_TEST):
11584 Wait for refcount to settle down before checking.
11586 2006-01-30 Wim Taymans <wim@fluendo.com>
11588 * docs/design/part-element-sink.txt:
11589 Pseudo code overview of desired sink behaviour regarding
11592 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
11593 * win32/vs6/grammar.dsp:
11594 fix some bugs in Release mode for autogenerated files
11596 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
11597 * win32/common/libgstbase.def:
11598 * win32/common/libgstreamer.def:
11599 export some new symbols: gst_base_src_set_format,
11600 gst_iterator_next, gst_structure_set_valist
11602 2006-01-29 Julien MOUTTE <julien@moutte.net>
11604 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11605 Set pad functions unconditionally. Fixes #329105.
11607 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
11609 add vs8 project files created by Sergey Scobich
11611 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
11613 * gst/gstutils.c: (gst_element_unlink_pads):
11614 Don't leak pad references.
11616 * tests/check/elements/fakesink.c: (GST_START_TEST):
11617 * tests/check/generic/sinks.c: (GST_START_TEST):
11618 * tests/check/generic/states.c: (GST_START_TEST):
11619 * tests/check/gst/gstbin.c: (GST_START_TEST):
11620 * tests/check/gst/gstcaps.c: (GST_START_TEST):
11621 * tests/check/gst/gstelement.c: (GST_START_TEST):
11622 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11623 * tests/check/gst/gstiterator.c: (GST_START_TEST):
11624 * tests/check/gst/gstvalue.c: (GST_START_TEST):
11625 Fix a bunch of leaks. Make generic/sinks.c
11626 use a bit less cpu by slowing the buffer rate
11627 between fakesrc and fakesink.
11629 2006-01-27 Stefan Kost <ensonic@users.sf.net>
11631 * gst/gstelement.c: (gst_element_send_event):
11634 * gst/gstiterator.c:
11635 * gst/gstiterator.h:
11636 * gst/gstpad.c: (gst_pad_send_event):
11637 * gst/gststructure.c:
11641 * libs/gst/base/gstadapter.c:
11642 doc fixes, to link to function, just write gst_cool_function(), don't
11645 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
11647 * plugins/elements/gsttee.c: (gst_tee_do_push),
11648 (gst_tee_handle_buffer):
11649 Always prefer an actual return value from a src
11650 pad in place of NOT_LINKED. This means we return
11651 WRONG_STATE when all src pads are WRONG_STATE
11652 instead of NOT_LINKED.
11654 Lock when replacing the last message to prevent
11655 racing with the get_property method.
11659 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
11661 * tests/check/Makefile.am:
11662 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
11664 Add a very simple check that should have caught the memleak I fixed
11665 last night (if not for the slice allocator hiding it)
11667 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
11669 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11670 (gst_bin_remove_func), (gst_bin_handle_message_func),
11671 (bin_query_duration_fold), (bin_query_generic_fold):
11672 Clean up references to the clock provider when disposed or when
11673 handling a clock-lost message from it.
11675 Unref sinks when performing a query via gst_iterator_fold, as the
11676 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
11678 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
11679 (gst_clock_set_master):
11680 Drop our reference to the master clock, if any, when we are disposed.
11682 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
11683 Chain up in dispose.
11685 2006-01-26 Wim Taymans <wim@fluendo.com>
11687 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
11688 Add some debugging.
11690 2006-01-26 Julien MOUTTE <julien@moutte.net>
11692 * plugins/elements/gsttee.c: (gst_tee_do_push),
11693 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
11694 handles pad being NOT_LINKED or in WRONG_STATE.
11696 2006-01-26 Stefan Kost <ensonic@users.sf.net>
11701 2006-01-26 Stefan Kost <ensonic@users.sf.net>
11704 remove obsolete entry
11706 2006-01-26 Stefan Kost <ensonic@users.sf.net>
11708 * docs/gst/gstreamer-sections.txt:
11709 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
11710 (gst_bin_iterate_sources), (gst_bin_send_event):
11712 * gst/gstelement.c: (gst_element_send_event):
11714 * gst/gstpad.c: (gst_pad_send_event):
11715 added code for downstream events, reviewed docs in gstevent.c
11717 2006-01-25 Julien MOUTTE <julien@moutte.net>
11719 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11720 We only query position using the clock in the playing state.
11721 Query peer in the other cases.
11722 * win32/common/config.h: Updates.
11724 2006-01-24 Wim Taymans <wim@fluendo.com>
11726 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11727 A clock entry that is scheduled for the exact time of the
11728 clock is still in time.
11730 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11731 (gst_base_sink_do_sync):
11732 Add some more debug info.
11734 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
11737 Add new vs7 project files and solution.
11739 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
11742 all files removed as they were out-dated.
11744 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
11746 * docs/random/release:
11748 * gst/gstbin.c: (gst_bin_init):
11749 * gst/gstbus.c: (gst_bus_new):
11751 * gst/gstpipeline.c: (gst_pipeline_init):
11752 use gst_bus_new(), improve logging, fix docs
11753 * win32/common/config.h:
11754 update for cvs build
11756 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
11759 up required version of automake to 1.7
11761 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
11763 * win32/common/libgstreamer.def:
11764 export gst_buffer_is_metadata_writable
11766 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
11768 * docs/gst/gstreamer-sections.txt:
11770 Add gst_event_replace() (#327001)
11772 2006-01-20 Wim Taymans <wim@fluendo.com>
11774 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11775 Make it actually compile too..
11777 2006-01-20 Wim Taymans <wim@fluendo.com>
11780 Clarify behaviour of _is_equal() when passing NULL parameters.
11782 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11783 (gst_pad_set_caps):
11784 Cleanups. Don't unref NULL caps.
11785 When setting the same caps, protect caps of the pad with
11787 Use full functionality of _is_equal() when comparing caps.
11789 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
11791 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
11792 Don't loop infinitely if there are no buffers to present. Partially
11793 fixes #327197, but collectpads is just broken for reusing elements
11794 to do multiple encodes atm.
11796 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
11798 * tools/gst-inspect.c: (print_element_features):
11799 * tools/gst-xmlinspect.c: (main):
11800 URL_HANDLER is not a plugin feature we can search for in
11803 2006-01-19 Edward Hervey <edward@fluendo.com>
11805 * gst/gstelement.c: (gst_element_pads_activate):
11806 When activating, do src pads first, then sink pads.
11807 When de-activating, do sink pads first, then src pads.
11809 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
11811 * docs/gst/gstreamer-sections.txt:
11812 Add gst_index_add_associationv to the docs
11814 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
11819 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
11820 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
11821 Do some refactoring. Doesn't actually change functionality,
11822 but makes landing the DRAIN event easier later.
11824 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
11826 * docs/pwg/advanced-scheduling.xml:
11827 Update from 0.9.x to 0.10 API and make example a bit
11830 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
11832 * docs/gst/gstreamer-sections.txt:
11833 Add gst_buffer_(is|make)_metadata_writable methods.
11835 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
11837 * docs/design/part-sparsestreams.txt:
11838 Update sparse streams doc, hopefully for greater clarity
11840 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
11842 * docs/design/part-events.txt:
11843 Remove mention of FILLER events.
11846 * docs/design/part-sparsestreams.txt:
11847 Write some things about using NEWSEGMENT to keep sparse streams
11850 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
11852 * gst/gstbin.c: (gst_bin_dispose):
11853 Guard gst_object_unref call against a NULL object (dispose
11854 can theoretically be called multiple times).
11856 2006-01-18 Wim Taymans <wim@fluendo.com>
11858 * gst/gstbin.c: (gst_bin_element_set_state):
11859 * gst/gstclock.c: (gst_clock_id_wait):
11860 Added some more debug info.
11862 * libs/gst/base/gstadapter.c:
11865 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11866 (gst_base_sink_do_sync), (gst_base_sink_chain):
11867 Added some comments.
11869 2006-01-18 Wim Taymans <wim@fluendo.com>
11871 * tests/check/Makefile.am:
11872 * tests/check/elements/fakesink.c: (chain_async_buffer),
11873 (chain_async), (chain_async_return), (GST_START_TEST),
11874 (fakesink_suite), (main):
11875 Added fakesink test that checks prerolling and clipping
11878 * tests/check/gst/gstutils.c: (GST_START_TEST):
11879 Make check run faster so that buildbots don't timeout.
11881 2006-01-18 Wim Taymans <wim@fluendo.com>
11883 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11884 (gst_base_sink_do_sync):
11886 When the sink finishes blocking on the preroll buffer, it can
11887 immediatly render it instead of rendering when the next buffer
11890 2006-01-18 Wim Taymans <wim@fluendo.com>
11892 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
11893 (gst_base_sink_get_property), (gst_base_sink_do_sync),
11894 (gst_base_sink_chain):
11896 GST_ELEMENT_CLOCK and sync are protected with LOCK.
11897 Don't store _last_stop if the buffer is dropped.
11899 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
11901 * plugins/elements/gsttypefindelement.c:
11902 (gst_type_find_element_class_init):
11903 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
11904 object method handler that sets the caps on the pad and we want
11905 that to happen before we emit the signal (fixes e.g. feeding a
11906 plain text file to decodebin).
11908 2006-01-18 Christian Schaller <Christian@fluendo.com>
11910 * gst/gstplugin.c: Add MPL and Proprietary as license options
11912 2006-01-18 Andy Wingo <wingo@pobox.com>
11914 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
11915 symbol was exported before, it appears this was just an oversight.
11917 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
11919 * gst/gstindex.c (gst_index_add_associationv): Changed int in
11920 prototype to gint. OK since this prototype was not in the header.
11922 2006-01-17 Andy Wingo <wingo@pobox.com>
11924 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
11925 registry while we remove plugins.
11927 * tools/gst-inspect.c (print_element_info): Don't unref the
11928 factory arg, that should be the responsibility of whatever code
11929 received the ref. Fixes a double-free when called from
11930 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
11931 (main): Unref the factory if we have one.
11932 (print_element_list): No change -- relies on the
11933 plugin_feature_list_free to free the list of features.
11935 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
11937 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11938 (gst_buffer_make_metadata_writable):
11940 * libs/gst/base/gstbasetransform.c:
11941 (gst_base_transform_prepare_output_buf):
11942 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11943 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11944 Replace gst_buffer_(make|is)_metadata_writable patch now
11945 that the release is out.
11947 2006-01-17 Andy Wingo <wingo@pobox.com>
11949 * gst/gstregistry.c: Reflow design comment. Update so as to speak
11950 in the present tense without reference to versions.
11952 * gst/gstregistry.c (gst_registry_add_plugin)
11953 (gst_registry_remove_plugin, gst_registry_remove_feature)
11954 (gst_registry_find_feature, gst_registry_get_feature_list)
11955 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
11956 (gst_registry_lookup, gst_registry_scan_path)
11957 (_gst_registry_remove_cache_plugins)
11958 (gst_registry_get_feature_list_by_plugin): Add argument
11961 === release 0.10.2 ===
11963 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
11966 releasing 0.10.2, "If man is five"
11968 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
11972 * libs/gst/base/gstbasetransform.c:
11973 (gst_base_transform_prepare_output_buf):
11974 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11975 * tests/check/gst/gstbuffer.c: (gst_test_suite):
11976 Back out patch until after the release.
11978 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
11980 * gst/gstminiobject.c:
11981 Spelling fix in docs.
11982 * ChangeLog - remove conflict indicator
11984 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
11986 Reviewed By: Andy Wingo
11988 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
11989 (gst_buffer_make_metadata_writable):
11991 Add gst_buffer_(is|make)_metadata_writable as analogues of
11992 gst_buffer_(is|make)_writable.
11994 * libs/gst/base/gstbasetransform.c:
11995 (gst_base_transform_prepare_output_buf):
11996 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11997 Use name gst_buffer_(is|make)_metadata_writable functions.
11999 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12000 Test gst_buffer_(is|make)_metadata_writable
12004 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
12006 * docs/manual/Makefile.am:
12007 don't do parallel make
12010 * win32/common/config.h.in:
12011 add generations for HOST_CPU and GST_MAJORMINOR
12012 * win32/common/config.h:
12013 commit generated result
12015 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
12017 * docs/manual/appendix-integration.xml:
12018 Update GNOME integration section to use gst_init_get_option_group()
12019 instead of the old popt stuff (#322911). Also, GNOME applications
12020 should now use gconf*sink and gconf*src instead of the old gconf
12023 2006-01-13 Stefan Kost <ensonic@users.sf.net>
12026 * docs/gst/gstreamer-docs.sgml:
12027 * docs/gst/gstreamer-sections.txt:
12028 * docs/libs/gstreamer-libs-sections.txt:
12029 add new API entries to the docs
12030 * libs/gst/controller/Makefile.am:
12031 * libs/gst/controller/gstcontroller.c:
12032 * libs/gst/controller/gstcontroller.h:
12033 * libs/gst/controller/gstcontrollerprivate.h:
12034 * libs/gst/controller/gsthelper.c:
12035 * libs/gst/controller/gstinterpolation.c:
12036 move private structs to private header
12038 gstreamer-0.7 -> gstreamer-0.10
12039 * tests/check/libs/struct_i386.h:
12040 remove private structs
12042 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
12044 * plugins/indexers/Makefile.am:
12045 Fixes as part of #317048
12047 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
12049 * plugins/indexers/Makefile.am:
12050 fix #316086 - compilation when mmap is missing
12052 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
12054 * libs/gst/base/gstbasesink.c:
12055 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
12056 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
12057 * win32/common/config.h:
12058 added some defines GST_MAJORMINOR and HOST_CPU
12059 * win32/common/libgstbase.def:
12060 * win32/common/libgstreamer.def:
12061 added some exported functions.
12063 2006-01-12 Stefan Kost <ensonic@users.sf.net>
12065 * libs/gst/controller/gstcontroller.c:
12066 (gst_controlled_property_set_interpolation_mode),
12067 (gst_controlled_property_new):
12068 * libs/gst/controller/gstcontroller.h:
12069 * libs/gst/controller/gstinterpolation.c:
12070 (interpolate_none_get_string_value_array):
12071 make G_TYPE_STRING controlable
12073 2006-01-12 Stefan Kost <ensonic@users.sf.net>
12076 * tools/gst-feedback.1.in:
12077 * tools/gst-inspect.1.in:
12078 * tools/gst-launch.1.in:
12079 * tools/gst-md5sum.1.in:
12080 * tools/gst-typefind.1.in:
12081 * tools/gst-xmlinspect.1.in:
12082 * tools/gst-xmllaunch.1.in:
12083 cleanup man-pages, remove reference to gst-register, document env-vars
12085 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
12087 * gst/gstbuffer.c: (gst_buffer_span):
12088 gst_buffer_span should copy the timestamp of the first buffer
12089 if they were both originally overlapping subbuffers of the
12090 same parent, using the same logic as the 'slow copy' case.
12092 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
12094 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
12095 Need to awaken ALL the pads when we pop a buffer, otherwise
12096 collectpads only works when there is 2 input streams.
12098 2006-01-11 Stefan Kost <ensonic@users.sf.net>
12100 * docs/random/ensonic/media-device-daemon.txt:
12103 fix doc example, add clarification
12104 * tools/gst-launch.1.in:
12105 add initial info about GST_PLUGIN_PATH, needs more work
12107 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
12109 * docs/manual/basics-bins.xml:
12110 * docs/manual/basics-elements.xml:
12111 * docs/manual/intro-basics.xml:
12112 Some more minor docs additions and updates.
12114 2006-01-11 Wim Taymans <wim@fluendo.com>
12116 * docs/manual/basics-bins.xml:
12117 * docs/manual/basics-elements.xml:
12118 Some small fixes as pointed out by Ser-ver on IRC.
12120 2006-01-10 Edward Hervey <edward@fluendo.com>
12122 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12123 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
12124 the single-segment mode.
12126 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
12128 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
12130 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
12131 (gst_base_src_perform_seek), (gst_base_src_send_event),
12132 (gst_base_src_set_property), (gst_base_src_get_property),
12133 (gst_base_src_loop), (gst_base_src_start),
12134 (gst_base_src_activate_push):
12135 * libs/gst/base/gstbasesrc.h:
12136 Name (private) union; makes Sun's Forte compiler happy (#324900).
12138 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
12141 gst-register is gone.
12143 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
12145 * gst/gstvalue.c: (_gst_value_initialize):
12146 make the G_TYPE_DATE instantiation work if debug is disabled
12148 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
12150 * gst/gstmessage.c: (gst_message_parse_tag),
12151 (gst_message_parse_error), (gst_message_parse_warning):
12152 Don't crash when return location for error/warning debug
12153 string is NULL; add fact that return locations can be
12154 NULL to docs where appropriate.
12156 2006-01-05 Wim Taymans <wim@fluendo.com>
12158 * gst/gstplugin.c: (gst_plugin_load_file):
12159 Replace strdup by g_strdup.
12161 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
12163 * docs/pwg/advanced-types.xml:
12166 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
12168 submitted by: Abel Cheung
12172 Added Chinese (traditional) translation
12174 2006-01-04 Wim Taymans <wim@fluendo.com>
12176 * docs/manual/basics-pads.xml:
12177 * docs/plugins/Makefile.am:
12178 * docs/plugins/gstreamer-plugins-docs.sgml:
12179 * docs/plugins/gstreamer-plugins-sections.txt:
12180 * docs/pwg/advanced-clock.xml:
12181 * docs/pwg/advanced-scheduling.xml:
12182 * docs/pwg/advanced-types.xml:
12183 * plugins/elements/gstfdsink.c:
12184 * plugins/elements/gstfdsrc.c:
12185 * plugins/elements/gstfdsrc.h:
12186 * plugins/elements/gstidentity.c: (gst_identity_class_init):
12187 * plugins/elements/gstidentity.h:
12188 * plugins/elements/gstqueue.h:
12189 * plugins/elements/gsttee.c:
12190 * plugins/elements/gsttee.h:
12191 * plugins/elements/gsttypefindelement.c:
12192 (gst_type_find_element_class_init):
12193 * plugins/elements/gsttypefindelement.h:
12194 Small updates to various docs.
12195 Added core plugins to docs.
12197 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12200 add a suppression for liboil's uninitialized variable
12202 2006-01-02 James Livingston <jrl at ids dot org dot au>
12204 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
12207 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
12208 macro, so that gcc doesn't complain if the -Wmissing-prototypes
12209 compiler switch is being used (#325429).
12211 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
12213 * gst/gstbin.c: (gst_bin_query):
12214 Disable duration query caching in bins until it gets
12215 fixed (see #324807).
12217 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
12219 * tools/gst-inspect.c: (print_element_properties_info):
12220 Handle properties of POINTER and BOXED type.
12222 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
12224 * gst/gst.c: (init_post):
12225 Init tags stuff and some other things before loading
12226 any static plugins (there may be other static plugins
12227 than just the GStreamer ones, and they may want to
12228 register their own tags or formats or whatever, and
12229 preferably without segfaulting).
12231 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
12232 Print at least a warning in the debug logs if we drop a
12233 query just because we don't know how to adjust the value
12234 in the particular format.
12236 2005-12-24 David Schleef <ds@schleef.org>
12238 * tools/gstreamer-completion:
12239 Replacement for gst-complete written in sh and sed. Only
12240 completes names of features, but that's 90% of what I want
12241 it for. Properties are not available in registry.xml. (Maybe
12244 === release 0.10.1 ===
12246 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
12249 releasing 0.10.1, "Nollaig chridheil"
12251 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
12253 * docs/faq/cvs.xml:
12254 Add missing quote, should be make ERROR_CFLAGS="".
12256 2005-12-20 Wim Taymans <wim@fluendo.com>
12258 * docs/design/part-trickmodes.txt:
12259 More documentation on trickmodes.
12261 2005-12-20 Edward Hervey <edward@fluendo.com>
12263 * gst/gstcaps.c: (gst_static_caps_get_type):
12265 API addition: GST_TYPE_STATIC_CAPS
12266 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
12267 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
12268 * gst/gstpadtemplate.h:
12269 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
12270 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
12273 2005-12-18 Wim Taymans <wim@fluendo.com>
12275 * libs/gst/base/gstadapter.c:
12276 * libs/gst/base/gstadapter.h:
12277 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12278 (gst_base_sink_get_position):
12279 * libs/gst/base/gstbasesink.h:
12280 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12281 (gst_base_src_default_query), (gst_base_src_default_do_seek),
12282 (gst_base_src_do_seek), (gst_base_src_perform_seek),
12283 (gst_base_src_send_event), (gst_base_src_update_length),
12284 (gst_base_src_get_range), (gst_base_src_loop),
12285 (gst_base_src_start):
12286 * libs/gst/base/gstbasesrc.h:
12287 * libs/gst/base/gstbasetransform.h:
12288 * libs/gst/base/gstcollectpads.h:
12289 * libs/gst/base/gstpushsrc.c:
12290 * libs/gst/base/gstpushsrc.h:
12291 * libs/gst/dataprotocol/dataprotocol.c:
12292 * libs/gst/dataprotocol/dataprotocol.h:
12293 * libs/gst/net/gstnetclientclock.h:
12294 * libs/gst/net/gstnettimeprovider.h:
12295 Documentation updates.
12297 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
12299 * docs/manual/basics-helloworld.xml:
12300 Remove superfluous closing bracket in helloworld example.
12302 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
12304 * tools/gst-launch.1.in:
12305 Update gst-launch man page; add a section with useful
12306 environment variables. Fixes #323882.
12308 2005-12-16 Stefan Kost <ensonic@users.sf.net>
12311 * gst/gst_private.h:
12312 change some char* into char[]
12314 2005-12-16 Wim Taymans <wim@fluendo.com>
12316 * gst/gstregistryxml.c: (load_feature):
12318 Don't use g_object_unref on GstObjects so that we avoid
12319 leaks on unsafe glibs.
12321 2005-12-16 Wim Taymans <wim@fluendo.com>
12323 * gst/gstbin.c: (gst_bin_recalc_state):
12326 2005-12-16 Wim Taymans <wim@fluendo.com>
12328 * common/check.mak:
12329 Added make forever target for check.
12331 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
12333 * gst/gst.c: (init_post):
12334 make the registry cache file HOST_CPU-dependent
12336 2005-12-16 Andy Wingo <wingo@pobox.com>
12338 * plugins/elements/gstbufferstore.c
12339 (gst_buffer_store_cleared_func): Pay attention to g_list_append
12342 * tests/check/gst/gstobject.c
12343 (test_fake_object_name_threaded_unique): Pay attention to
12344 g_list_sort return value.
12346 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
12348 * tools/gst-feedback-m.m:
12349 Update for 0.9/0.10 (fixes #323870).
12351 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
12353 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
12354 Fix lcopy for mini objects, the mini object needs to be ref'ed.
12356 * tests/check/gst/gstminiobject.c: (my_foo_init),
12357 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
12358 (test_value_collection), (gst_mini_object_suite):
12359 Add test to ensure refcounts end up as expected when passing
12360 GstMiniObjects through g_object_get() and g_object_set().
12362 2005-12-14 Julien MOUTTE <julien@moutte.net>
12364 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12365 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
12366 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
12367 of collectpads. This version removes a lot of races without
12368 touching API/ABI. Yay !
12370 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
12372 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
12373 Don't allow activation of a srcpad in pull_range if it has no
12375 Change some debug statements to be a little clearer
12377 * plugins/elements/gsttypefindelement.c:
12378 (gst_type_find_handle_src_query):
12379 Check that we have a peer before executing queries thereupon.
12381 * tests/examples/metadata/read-metadata.c: (message_loop):
12382 Use gst_bus_pop instead of gst_bus_poll when we just want it to
12383 immediately return us any available message with 0 timeout.
12385 2005-12-12 Michael Smith <msmith@fluendo.com>
12387 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
12388 Don't unref factories after calling them.
12389 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
12390 * plugins/elements/gsttypefindelement.c:
12391 (gst_type_find_element_chain):
12392 Free lists of factories after using them. Fixing typefinding memory
12395 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12397 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12398 (gst_plugin_feature_load):
12399 more meaningful debug output
12401 * tests/Makefile.am:
12402 * tests/old/examples/Makefile.am:
12403 make make distcheck happy again
12405 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
12407 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12408 Catch the special case where we are operating chain-based,
12409 but the downstream peer pad has no chain function. Emit a
12410 custom error message in this case instead of letting the
12411 core generate one implying that this is some sort of core
12412 bug. It's not, it just means that whatever got plugged
12413 into the pipeline downstream when we announced the type
12414 can only operate pull-based, while our source can only
12415 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
12416 Error string has not been marked for translation yet, as
12417 it probably needs some more work first.
12419 (gst_type_find_element_get_best_possibility):
12420 Add helper function to find the best of all available
12421 found possibilities that qualify given the min. threshold.
12423 (gst_type_find_element_handle_event):
12424 Fix the case where we get an EOS while still in TYPEFIND
12425 mode (we want to chose the best of all possible types,
12426 not just the first type that happens to be in our unsorted
12427 list of possible types).
12429 (gst_type_find_element_chain):
12430 Make sure we return GST_FLOW_ERROR when we errored out
12431 in stop_typefinding(); also, don't just find the best of
12432 all found type entries and then use the last examined
12433 type entry, but actually use the best entry.
12435 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
12437 * tests/examples/typefind/typefind.c: (type_found):
12438 * tests/examples/xml/runxml.c: (xml_loaded):
12439 More gcc4 fixes and a mem leak fix.
12441 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12443 * tests/examples/xml/createxml.c: (object_saved):
12446 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12448 * tests/Makefile.am:
12449 enable the examples even more
12451 2005-12-12 Andy Wingo <wingo@pobox.com>
12453 * libs/gst/net/gstnettimeprovider.c
12454 (gst_net_time_provider_class_init, gst_net_time_provider_init)
12455 (gst_net_time_provider_set_property)
12456 (gst_net_time_provider_get_property):
12457 API addition: Export "active" as a GObject property.
12458 (gst_net_time_provider_thread): Only respond to time queries if
12459 the time provider is active.
12461 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
12462 NetTimeProvider, preserving binary compat.
12464 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12466 * tests/examples/controller/audio-example.c: (main):
12467 * tests/examples/launch/Makefile.am:
12468 convert comments again
12470 2005-12-12 Wim Taymans <wim@fluendo.com>
12472 * libs/gst/base/gstpushsrc.c:
12475 2005-12-12 Wim Taymans <wim@fluendo.com>
12477 * docs/libs/gstreamer-libs-sections.txt:
12478 Added new symbol to docs.
12480 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12481 (gst_base_src_init), (gst_base_src_set_format),
12482 (gst_base_src_default_query), (gst_base_src_query),
12483 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
12484 (gst_base_src_perform_seek), (gst_base_src_send_event),
12485 (gst_base_src_default_event), (gst_base_src_event_handler),
12486 (gst_base_src_set_property), (gst_base_src_get_property),
12487 (gst_base_src_wait), (gst_base_src_do_sync),
12488 (gst_base_src_update_length), (gst_base_src_get_range),
12489 (gst_base_src_check_get_range), (gst_base_src_loop),
12490 (gst_base_src_default_negotiate), (gst_base_src_start),
12491 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12492 (gst_base_src_change_state):
12493 * libs/gst/base/gstbasesrc.h:
12494 Implement seeking to other formats than _BYTES.
12495 Implement more seeking methods correctly.
12497 Added query vmethod.
12498 Added do_seek vmethod to make life easier for subclasses
12500 API addition: gst_base_src_set_format()
12502 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12504 * tests/examples/Makefile.am:
12507 2005-12-12 Stefan Kost <ensonic@users.sf.net>
12510 * docs/random/ensonic/media-device-daemon.txt:
12511 * tests/examples/controller/.cvsignore:
12512 * tests/examples/controller/Makefile.am:
12513 * tests/examples/controller/audio-example.c: (main):
12514 * tests/examples/helloworld/.cvsignore:
12515 * tests/examples/helloworld/Makefile.am:
12516 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
12517 * tests/examples/launch/.cvsignore:
12518 * tests/examples/launch/Makefile.am:
12519 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
12520 * tests/examples/metadata/.cvsignore:
12521 * tests/examples/metadata/Makefile.am:
12522 * tests/examples/metadata/read-metadata.c: (message_loop),
12523 (make_pipeline), (print_tag), (main):
12524 * tests/examples/queue/.cvsignore:
12525 * tests/examples/queue/Makefile.am:
12526 * tests/examples/queue/queue.c: (event_loop), (main):
12527 * tests/examples/typefind/.cvsignore:
12528 * tests/examples/typefind/Makefile.am:
12529 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
12531 * tests/examples/xml/.cvsignore:
12532 * tests/examples/xml/Makefile.am:
12533 * tests/examples/xml/createxml.c: (object_saved), (main):
12534 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
12535 * tests/old/examples/Makefile.am:
12536 * tests/old/examples/TODO:
12537 * tests/old/examples/controller/.cvsignore:
12538 * tests/old/examples/controller/Makefile.am:
12539 * tests/old/examples/controller/audio-example.c:
12540 * tests/old/examples/helloworld/.cvsignore:
12541 * tests/old/examples/helloworld/Makefile.am:
12542 * tests/old/examples/helloworld/helloworld.c:
12543 * tests/old/examples/launch/.cvsignore:
12544 * tests/old/examples/launch/Makefile.am:
12545 * tests/old/examples/launch/mp3parselaunch.c:
12546 * tests/old/examples/launch/mp3play:
12547 * tests/old/examples/manual/Makefile.am:
12548 * tests/old/examples/metadata/Makefile.am:
12549 * tests/old/examples/metadata/read-metadata.c:
12550 * tests/old/examples/queue/.cvsignore:
12551 * tests/old/examples/queue/Makefile.am:
12552 * tests/old/examples/queue/queue.c:
12553 * tests/old/examples/typefind/.cvsignore:
12554 * tests/old/examples/typefind/Makefile.am:
12555 * tests/old/examples/typefind/typefind.c:
12556 * tests/old/examples/xml/.cvsignore:
12557 * tests/old/examples/xml/Makefile.am:
12558 * tests/old/examples/xml/createxml.c:
12559 * tests/old/examples/xml/runxml.c:
12560 applied some simple fixing to some examples
12561 re-enabled the working examples
12563 2005-12-12 Wim Taymans <wim@fluendo.com>
12565 * gst/gstsegment.c: (gst_segment_init),
12566 (gst_segment_set_last_stop), (gst_segment_set_seek),
12567 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
12568 (gst_segment_to_running_time):
12569 Added more documentation.
12570 Make sure the last_pos value is updated properly.
12571 Make sure to_stream_time and to_running_time don't
12572 operate on wrong values.
12574 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12577 2005-12-12 Michael Smith <msmith@fluendo.com>
12579 * plugins/elements/gsttypefindelement.c: (free_entry),
12580 (gst_type_find_element_chain):
12581 Now that we're not leaking factories, make sure we keep references
12582 to them while we need them.
12584 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
12586 * tests/check/gst/struct_i386.h:
12587 ifdef out the XML structs
12589 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
12591 * gst/gstvalue.c: (gst_value_transform_double_fraction):
12592 floor is not needed, F is always positive; this obviates the
12593 need for adding -lm when building without libxml
12595 2005-12-12 Wim Taymans <wim@fluendo.com>
12597 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12598 Take current playback rate into account when reporting
12601 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
12603 * docs/manual/mime-world.fig:
12604 Let's try this again, this time with a file that is
12605 actually in XFig format.
12607 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
12609 * docs/manual/mime-world.fig:
12610 Add audioconvert element to diagram so that it
12611 matches the text and the code (fixes #319526).
12613 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
12615 * docs/pwg/building-chainfn.xml:
12616 * docs/pwg/building-pads.xml:
12617 * docs/pwg/building-state.xml:
12618 * docs/pwg/other-source.xml:
12619 Update state change stuff for 0.10 (fixes #322969).
12621 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
12623 * docs/manual/advanced-dataaccess.xml:
12624 * docs/manual/appendix-checklist.xml:
12625 * docs/manual/appendix-programs.xml:
12626 * docs/manual/basics-pads.xml:
12627 * docs/manual/highlevel-components.xml:
12628 * docs/manual/manual.xml:
12629 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
12630 add converters in front of pipelines; remove curly
12631 brackets for threads stuff, they no longer exist; use
12632 GST_TYPE_FRACTION for framerates; update some pieces of
12633 code to 0.10, but there's plenty more to do.
12635 * docs/manual/appendix-porting.xml:
12636 Expand on asynchroneous state changes; s/0.9/0.10/;
12637 mention disappearance of gst_init_get_popt_table()
12640 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
12642 * docs/faq/using.xml:
12643 Spider no longer exists, and neither does gst-launch-ext.
12644 Update examples to use decodebin and playbin and put
12645 converters in front of sinks (fixes #323726).
12647 2005-12-09 Michael Smith <msmith@fluendo.com>
12649 * plugins/elements/gsttypefindelement.c: (find_peek),
12650 (gst_type_find_element_chain):
12651 Fix leaking element factories in typefinding.
12652 Fix problem where we forgot about a probable type on non-seekable
12653 files, and thus later mis-typefound it.
12655 2005-12-09 Michael Smith <msmith@fluendo.com>
12657 * common/m4/gst-makecontext.m4:
12658 * common/m4/gst-mcsc.m4:
12660 * win32/common/config.h:
12661 * win32/common/config.h.in:
12662 Remove makecontext stuff; not used in 0.10 and causes problems on
12663 HPUX according to bug #322441
12665 2005-12-07 Wim Taymans <wim@fluendo.com>
12667 * tests/check/Makefile.am:
12668 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
12670 * tests/check/libs/struct_i386.h:
12671 Added ABI check for libs
12673 2005-12-07 Wim Taymans <wim@fluendo.com>
12675 * tests/check/Makefile.am:
12676 And add the struct_i386.h to dist.
12678 2005-12-07 Wim Taymans <wim@fluendo.com>
12680 * tests/check/Makefile.am:
12681 * tests/check/gst/.cvsignore:
12682 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
12684 * tests/check/gst/struct_i386.h:
12685 Added check for ABI compatibility.
12687 2005-12-07 Wim Taymans <wim@fluendo.com>
12689 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12690 (gst_fake_src_get_times), (gst_fake_src_create):
12691 Fix broken sync option, fixes #323259
12693 2005-12-07 Wim Taymans <wim@fluendo.com>
12698 * gst/gstcaps.c: (gst_caps_is_equal):
12699 Don't assert on NULL <--> X. Fixes #323260
12701 * gst/gstminiobject.c: (gst_mini_object_replace):
12702 If we're doing atomic operations, we might just as well use
12703 the proper way to get an atomic pointer.
12705 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12706 Clean up debugging.
12708 2005-12-07 Michael Smith <msmith@fluendo.com>
12710 * gst/parse/grammar.y:
12711 Remove handling of { } for threads.
12713 2005-12-06 David Schleef <ds@schleef.org>
12715 * libs/gst/base/gstbasetransform.c: speling fix.
12717 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
12719 * docs/libs/tmpl/gstdataprotocol.sgml:
12720 * docs/random/omega/testing/gstobject.c:
12723 * gst/gstelement.c:
12724 * gst/gstelementfactory.c:
12727 * gst/gstghostpad.c:
12729 * gst/gstpadtemplate.c:
12730 * gst/gstregistryxml.c:
12731 * gst/gsttaglist.c:
12732 * gst/gsttagsetter.c:
12733 * gst/gsttypefind.c:
12735 * libs/gst/base/gstbasesrc.c:
12736 * libs/gst/net/gstnetclientclock.c:
12737 * libs/gst/net/gstnettimeprovider.c:
12738 * plugins/elements/gstfakesrc.c:
12739 * plugins/elements/gstfdsrc.c:
12740 * plugins/elements/gstfilesrc.c:
12741 * plugins/elements/gstidentity.c:
12742 * plugins/elements/gstqueue.c:
12743 * plugins/elements/gsttypefindelement.c:
12744 * plugins/indexers/gstfileindex.c:
12745 * plugins/indexers/gstmemindex.c:
12746 * tests/check/gst/gsttag.c:
12747 * tests/old/examples/cutter/cutter.c:
12748 * tests/old/examples/mixer/mixer.c:
12749 * tests/old/examples/xml/runxml.c: (main):
12750 * tests/old/testsuite/caps/normalisation.c:
12751 * tests/old/testsuite/debug/global.c:
12752 * tests/old/testsuite/parse/parse1.c:
12753 * tools/gst-xmlinspect.c:
12754 * win32/common/dirent.c:
12757 === release 0.10.0 ===
12759 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12762 releasing 0.10.0, "Maroilles"
12764 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
12766 submitted by: Funda Wang <fundawang@linux.net.cn>
12770 added Chinese (Traditional) translation
12772 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
12774 * docs/gst/gstreamer-sections.txt:
12775 * docs/libs/tmpl/gstdataprotocol.sgml:
12776 * docs/random/thomasvs/TODO:
12781 2005-12-05 Andy Wingo <wingo@pobox.com>
12783 patch by: Wim Taymans <wim@fluendo.com>
12785 * libs/gst/base/gstbasetransform.c
12786 (gst_base_transform_prepare_output_buf)
12787 (gst_base_transform_buffer_alloc):
12788 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
12789 alloc_buffer_and_set_caps.
12791 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
12792 set_caps on the source pad.
12793 (gst_pad_alloc_buffer_and_set_caps): New function, does what
12794 alloc_buffer used to do. Fixes #322874.
12796 * docs/gst/gstreamer-sections.txt:
12797 * docs/design/part-negotiation.txt:
12798 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
12801 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
12803 patch by: Sebastien Moutte
12806 * win32/common/config.h.in:
12807 * win32/vs6/libgstcontroller.dsp:
12810 2005-12-05 Wim Taymans <wim@fluendo.com>
12812 * gst/gstcaps.c: (gst_caps_is_equal):
12813 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12814 (gst_fake_src_create):
12815 Back out previous code changes, leave doc updates, file bugs
12818 2005-12-05 Wim Taymans <wim@fluendo.com>
12820 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12821 (gst_fake_src_get_times), (gst_fake_src_create):
12822 * plugins/elements/gstfakesrc.h:
12823 Fix broken sync code.
12825 2005-12-05 Wim Taymans <wim@fluendo.com>
12827 * gst/gstcaps.c: (gst_caps_is_equal):
12828 Comparing NULL against !NULL yields different caps, not a
12831 2005-12-05 Wim Taymans <wim@fluendo.com>
12833 * gst/gstpipeline.c:
12834 Fix small typo in docs.
12836 2005-12-05 Andy Wingo <wingo@pobox.com>
12838 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
12840 * gst/gst.c (init_post): remove hard-coded 0.9 location for
12841 registries/plugins with a MAJORMINOR one.
12842 (plugin_desc): Rename library from gstcoreleements to
12843 staticelements. Fixes #323222.
12845 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
12847 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
12848 Change debug category to 'collectpads' from 'collect_pads'
12851 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
12853 patch by: Sebastien Moutte
12855 * libs/gst/controller/gstinterpolation.c:
12856 use convert function for uint64/double
12857 * win32/vs6/libgstcontroller.dsp:
12860 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
12862 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
12863 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
12865 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12866 add tests that seem to show that the guint64/gdouble conversions
12869 2005-12-02 Wim Taymans <wim@fluendo.com>
12871 * gst/gstregistry.c: (gst_registry_add_path):
12872 * gst/gstregistry.h:
12873 * gst/gstregistryxml.c:
12876 2005-12-02 Wim Taymans <wim@fluendo.com>
12878 * gst/gstutils.c: (gst_util_uint64_scale_int64),
12879 (gst_util_uint64_scale_int):
12882 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12883 Add debug log line.
12885 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
12888 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
12891 * win32/common/config.h:
12892 * win32/vs6/gstreamer.dsw:
12893 * win32/vs6/libgstcoreelements.dsp:
12894 * win32/vs6/libgstelements.dsp:
12895 renamed core elements plugin
12897 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
12899 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
12901 do piece-wise major/minor comparison so 0.9 < 0.10
12902 also allow .exe extensions for tools
12904 2005-12-02 Michael Smith <msmith@fluendo.com>
12907 Escape a % to make gtkdoc happier; bug 322958.
12909 === release 0.9.7 ===
12911 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12914 releasing 0.9.7, "My Dog Has No Nose"
12916 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12918 * common/gst-xmlinspect.py:
12920 * docs/libs/tmpl/gstdataprotocol.sgml:
12921 * docs/random/release:
12940 * win32/common/config.h:
12941 * win32/common/config.h.in:
12942 * win32/vs6/gst_inspect.dsp:
12943 * win32/vs6/gst_launch.dsp:
12944 * win32/vs6/libgstbase.dsp:
12945 * win32/vs6/libgstelements.dsp:
12946 * win32/vs6/libgstreamer.dsp:
12947 * win32/vs7/GStreamer.vcproj:
12948 * win32/vs7/gst-inspect.vcproj:
12949 * win32/vs7/gst-launch.vcproj:
12950 * win32/vs7/libgstbase.vcproj:
12951 bump GST_MAJORMINOR to 0.10
12952 reset libtool version
12954 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12958 Added Bulgarian translation by (Alexander Shopov)
12960 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12962 * tests/check/gst/gstplugin.c:
12965 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12967 * common/gst-xmlinspect.py:
12968 * common/gtk-doc-plugins.mak:
12970 * docs/Makefile.am:
12971 * docs/gst/Makefile.am:
12972 * docs/gst/gstreamer-docs.sgml:
12973 * docs/gst/gstreamer-sections.txt:
12974 * docs/gst/gstreamer.types:
12975 * docs/gst/gstreamer.types.in:
12976 * docs/plugins/Makefile.am:
12977 * docs/plugins/gstreamer-plugins-docs.sgml:
12978 * docs/plugins/gstreamer-plugins-sections.txt:
12979 * docs/plugins/gstreamer-plugins.types:
12980 * docs/plugins/inspect.stamp:
12981 * docs/plugins/inspect/plugin-coreelements.xml:
12982 * docs/plugins/inspect/plugin-coreindexers.xml:
12983 * docs/plugins/scanobj-build.stamp:
12984 * gstreamer.spec.in:
12985 * plugins/elements/Makefile.am:
12986 * plugins/elements/gstelements.c:
12987 * plugins/elements/gstfakesink.c:
12988 * plugins/elements/gstfakesrc.c:
12989 * plugins/elements/gstfilesink.c:
12990 * plugins/elements/gstfilesrc.c:
12991 * plugins/elements/gstqueue.c:
12992 * plugins/indexers/Makefile.am:
12993 * plugins/indexers/gstindexers.c:
12994 document core plugins in a separate document just like all the
12996 rename these plugins to something starting with core
12998 2005-12-01 Andy Wingo <wingo@pobox.com>
13000 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
13001 padding here before, but it missed the commit.
13003 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
13005 * libs/gst/controller/gstinterpolation.c:
13006 whitespace prices have crashed, we should feel free to use some now
13007 use gst_guint64_to_gdouble
13009 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
13011 * libs/gst/controller/gstcontroller.c:
13012 * libs/gst/controller/gsthelper.c:
13013 * libs/gst/controller/gstinterpolation.c:
13014 * libs/gst/controller/lib.c:
13015 wrap config.h include
13017 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
13019 * docs/gst/gstreamer-sections.txt:
13022 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
13024 * plugins/elements/gstelements.c:
13025 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
13026 (gst_fd_sink__class_init), (gst_fd_sink__init),
13027 (gst_fd_sink__chain), (gst_fd_sink__set_property),
13028 (gst_fd_sink__get_property):
13029 * plugins/elements/gstfdsink.h:
13030 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
13031 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
13032 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
13033 (gst_fd_src_unlock), (gst_fd_src_set_property),
13034 (gst_fd_src_get_property), (gst_fd_src_create),
13035 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
13036 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
13037 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
13038 (gst_fd_src_uri_handler_init):
13039 * plugins/elements/gstfdsrc.h:
13040 * plugins/elements/gstqueue.c: (gst_queue_get_type):
13043 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13045 * docs/gst/Makefile.am:
13046 * docs/gst/gstreamer.types.in:
13050 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13056 * gst/gstregistry.h:
13057 * tests/benchmarks/complexity.c:
13058 * tests/benchmarks/mass-elements.c:
13059 * tests/check/Makefile.am:
13060 * tools/Makefile.am:
13061 * tools/gst-inspect.c:
13062 * tools/gst-xmlinspect.c:
13063 various fixes to make
13064 --disable-nls --disable-registry --disable-loadsave
13065 --disable-parse --disable-gst-debug
13066 work and get the core .so down to 360444 bytes after stripping
13068 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13073 * docs/random/thomasvs/TODO:
13074 * tests/Makefile.am:
13078 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13080 * win32/GStreamer.vcproj:
13083 * win32/Makefile.inspect:
13084 * win32/Makefile.launch:
13085 * win32/Makefile.register:
13086 * win32/README.txt:
13087 * win32/gst-inspect.vcproj:
13088 * win32/gst-launch.vcproj:
13089 * win32/gst-register.vcproj:
13090 * win32/gstelements.vcproj:
13091 * win32/gstgetbits.def:
13092 * win32/gstgetbits.vcproj:
13093 * win32/gstreamer-dbg.def:
13094 * win32/gstreamer.def:
13095 * win32/libgstbase.def:
13096 * win32/libgstbase.vcproj:
13097 * win32/link_oldruntime.c:
13101 * win32/msvc71.sln:
13102 move even more stuff, win32/ is nice and clean now
13104 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13106 * libs/gst/control/.cvsignore:
13111 * win32/gstbytestream.def:
13112 * win32/gstbytestream.vcproj:
13113 * win32/gstconfig.h:
13114 * win32/gstenumtypes.c:
13115 * win32/gstenumtypes.h:
13116 * win32/gstoptimalscheduler.vcproj:
13117 * win32/gstversion.h:
13119 * win32/testsuite/bins.vcproj:
13120 * win32/testsuite/bytestream.vcproj:
13121 * win32/testsuite/caps.vcproj:
13122 * win32/testsuite/cleanup.vcproj:
13123 * win32/testsuite/clock.vcproj:
13124 * win32/testsuite/debug.vcproj:
13125 * win32/testsuite/dlopen.vcproj:
13126 * win32/testsuite/dynparams.vcproj:
13127 * win32/testsuite/elements.vcproj:
13128 * win32/testsuite/ghostpads.vcproj:
13129 * win32/testsuite/indexers.vcproj:
13130 * win32/testsuite/negotiation.vcproj:
13131 * win32/testsuite/parse.vcproj:
13132 * win32/testsuite/plugin.vcproj:
13133 * win32/testsuite/refcounting.vcproj:
13134 * win32/testsuite/schedulers.vcproj:
13135 * win32/testsuite/states.vcproj:
13136 * win32/testsuite/tags.vcproj:
13137 * win32/testsuite/threads.vcproj:
13138 remove old win32 stuff that isn't maintained and should be
13141 2005-11-30 Andy Wingo <wingo@pobox.com>
13143 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
13144 loading the gst.interfaces python module bork.
13146 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
13147 available since GLib 2.2. Fixes #318031.
13149 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13152 * check/.cvsignore:
13153 * check/Makefile.am:
13154 * check/elements/.cvsignore:
13155 * check/elements/fakesrc.c:
13156 * check/elements/fdsrc.c:
13157 * check/elements/identity.c:
13158 * check/generic/.cvsignore:
13159 * check/generic/states.c:
13160 * check/gst-libs/.cvsignore:
13161 * check/gst-libs/controller.c:
13162 * check/gst-libs/gdp.c:
13163 * check/gst/.cvsignore:
13164 * check/gst/capslist.h:
13166 * check/gst/gstbin.c:
13167 * check/gst/gstbuffer.c:
13168 * check/gst/gstbus.c:
13169 * check/gst/gstcaps.c:
13170 * check/gst/gstelement.c:
13171 * check/gst/gstevent.c:
13172 * check/gst/gstghostpad.c:
13173 * check/gst/gstiterator.c:
13174 * check/gst/gstmessage.c:
13175 * check/gst/gstminiobject.c:
13176 * check/gst/gstobject.c:
13177 * check/gst/gstpad.c:
13178 * check/gst/gstpipeline.c:
13179 * check/gst/gstplugin.c:
13180 * check/gst/gstsegment.c:
13181 * check/gst/gststructure.c:
13182 * check/gst/gstsystemclock.c:
13183 * check/gst/gsttag.c:
13184 * check/gst/gstutils.c:
13185 * check/gst/gstvalue.c:
13186 * check/net/.cvsignore:
13187 * check/net/gstnetclientclock.c:
13188 * check/net/gstnettimeprovider.c:
13189 * check/pipelines/.cvsignore:
13190 * check/pipelines/cleanup.c:
13191 * check/pipelines/simple_launch_lines.c:
13192 * check/pipelines/stress.c:
13193 * check/states/.cvsignore:
13194 * check/states/sinks.c:
13196 * examples/Makefile.am:
13197 * examples/appreader/.cvsignore:
13198 * examples/appreader/Makefile.am:
13199 * examples/appreader/appreader.c:
13200 * examples/controller/.cvsignore:
13201 * examples/controller/Makefile.am:
13202 * examples/controller/audio-example.c:
13203 * examples/cutter/.cvsignore:
13204 * examples/cutter/Makefile.am:
13205 * examples/cutter/cutter.c:
13206 * examples/cutter/cutter.h:
13207 * examples/events/Makefile.am:
13208 * examples/events/seek.c:
13209 * examples/helloworld/.cvsignore:
13210 * examples/helloworld/Makefile.am:
13211 * examples/helloworld/helloworld.c:
13212 * examples/helloworld2/.cvsignore:
13213 * examples/helloworld2/Makefile.am:
13214 * examples/helloworld2/helloworld2.c:
13215 * examples/launch/.cvsignore:
13216 * examples/launch/Makefile.am:
13217 * examples/launch/mp3parselaunch.c:
13218 * examples/launch/mp3play:
13219 * examples/manual/.cvsignore:
13220 * examples/manual/Makefile.am:
13221 * examples/manual/extract.pl:
13222 * examples/metadata/Makefile.am:
13223 * examples/metadata/read-metadata.c:
13224 * examples/mixer/.cvsignore:
13225 * examples/mixer/Makefile.am:
13226 * examples/mixer/mixer.c:
13227 * examples/mixer/mixer.h:
13228 * examples/pingpong/.cvsignore:
13229 * examples/pingpong/Makefile.am:
13230 * examples/pingpong/pingpong.c:
13231 * examples/plugins/.cvsignore:
13232 * examples/plugins/Makefile.am:
13233 * examples/plugins/example.c:
13234 * examples/plugins/example.h:
13235 * examples/pwg/.cvsignore:
13236 * examples/pwg/Makefile.am:
13237 * examples/pwg/extract.pl:
13238 * examples/queue/.cvsignore:
13239 * examples/queue/Makefile.am:
13240 * examples/queue/queue.c:
13241 * examples/queue2/.cvsignore:
13242 * examples/queue2/Makefile.am:
13243 * examples/queue2/queue2.c:
13244 * examples/queue3/.cvsignore:
13245 * examples/queue3/Makefile.am:
13246 * examples/queue3/queue3.c:
13247 * examples/queue4/.cvsignore:
13248 * examples/queue4/Makefile.am:
13249 * examples/queue4/queue4.c:
13250 * examples/retag/.cvsignore:
13251 * examples/retag/Makefile.am:
13252 * examples/retag/retag.c:
13253 * examples/retag/transcode.c:
13254 * examples/thread/.cvsignore:
13255 * examples/thread/Makefile.am:
13256 * examples/thread/thread.c:
13257 * examples/typefind/.cvsignore:
13258 * examples/typefind/Makefile.am:
13259 * examples/typefind/typefind.c:
13260 * examples/xml/.cvsignore:
13261 * examples/xml/Makefile.am:
13262 * examples/xml/createxml.c:
13263 * examples/xml/runxml.c:
13264 * tests/Makefile.am:
13265 * tests/check/Makefile.am:
13266 * testsuite/.cvsignore:
13267 * testsuite/Makefile.am:
13269 * testsuite/caps/.cvsignore:
13270 * testsuite/caps/Makefile.am:
13271 * testsuite/caps/app_fixate.c:
13272 * testsuite/caps/audioscale.c:
13273 * testsuite/caps/caps.c:
13274 * testsuite/caps/caps.h:
13275 * testsuite/caps/caps_strings:
13276 * testsuite/caps/compatibility.c:
13277 * testsuite/caps/deserialize.c:
13278 * testsuite/caps/enumcaps.c:
13279 * testsuite/caps/eratosthenes.c:
13280 * testsuite/caps/filtercaps.c:
13281 * testsuite/caps/fixed.c:
13282 * testsuite/caps/fraction-convert.c:
13283 * testsuite/caps/fraction-multiply-and-zero.c:
13284 * testsuite/caps/intersect2.c:
13285 * testsuite/caps/intersection.c:
13286 * testsuite/caps/normalisation.c:
13287 * testsuite/caps/random.c:
13288 * testsuite/caps/renegotiate.c:
13289 * testsuite/caps/sets.c:
13290 * testsuite/caps/simplify.c:
13291 * testsuite/caps/string-conversions.c:
13292 * testsuite/caps/structure.c:
13293 * testsuite/caps/subtract.c:
13294 * testsuite/caps/union.c:
13295 * testsuite/debug/.cvsignore:
13296 * testsuite/debug/Makefile.am:
13297 * testsuite/debug/category.c:
13298 * testsuite/debug/commandline.c:
13299 * testsuite/debug/global.c:
13300 * testsuite/debug/output.c:
13301 * testsuite/debug/printf_extension.c:
13302 * testsuite/dlopen/.cvsignore:
13303 * testsuite/dlopen/Makefile.am:
13304 * testsuite/dlopen/dlopen_gst.c:
13305 * testsuite/dlopen/loadgst.c:
13306 * testsuite/elements/.cvsignore:
13307 * testsuite/elements/Makefile.am:
13308 * testsuite/elements/gst-inspect-check.in:
13309 * testsuite/elements/struct_i386.h:
13310 * testsuite/elements/struct_size.c:
13311 * testsuite/indexers/.cvsignore:
13312 * testsuite/indexers/Makefile.am:
13313 * testsuite/indexers/cache1.c:
13314 * testsuite/indexers/indexdump.c:
13315 * testsuite/parse/.cvsignore:
13316 * testsuite/parse/Makefile.am:
13317 * testsuite/parse/parse1.c:
13318 * testsuite/parse/parse2.c:
13319 * testsuite/plugin/.cvsignore:
13320 * testsuite/plugin/Makefile.am:
13321 * testsuite/plugin/README:
13322 * testsuite/plugin/dynamic.c:
13323 * testsuite/plugin/linked.c:
13324 * testsuite/plugin/loading.c:
13325 * testsuite/plugin/registry.c:
13326 * testsuite/plugin/static.c:
13327 * testsuite/plugin/static2.c:
13328 * testsuite/plugin/testplugin.c:
13329 * testsuite/plugin/testplugin2.c:
13330 * testsuite/plugin/testplugin2_s.c:
13331 * testsuite/plugin/testplugin_s.c:
13332 * testsuite/refcounting/.cvsignore:
13333 * testsuite/refcounting/Makefile.am:
13334 * testsuite/refcounting/bin.c:
13335 * testsuite/refcounting/element.c:
13336 * testsuite/refcounting/element_pad.c:
13337 * testsuite/refcounting/mainloop.c:
13338 * testsuite/refcounting/mem.c:
13339 * testsuite/refcounting/mem.h:
13340 * testsuite/refcounting/object.c:
13341 * testsuite/refcounting/pad.c:
13342 * testsuite/refcounting/sched.c:
13343 * testsuite/refcounting/thread.c:
13344 * testsuite/states/.cvsignore:
13345 * testsuite/states/Makefile.am:
13346 * testsuite/states/bin.c:
13347 * testsuite/states/locked.c:
13348 * testsuite/states/parent.c:
13349 * testsuite/threads/.cvsignore:
13350 * testsuite/threads/159566.c:
13351 * testsuite/threads/159852.c:
13352 * testsuite/threads/Makefile.am:
13353 * testsuite/threads/queue.c:
13354 * testsuite/threads/signals.c:
13355 * testsuite/threads/staticrec.c:
13356 * testsuite/threads/thread.c:
13357 * testsuite/threads/threadb.c:
13358 * testsuite/threads/threadc.c:
13359 * testsuite/threads/threadd.c:
13360 * testsuite/threads/threade.c:
13361 * testsuite/threads/threadf.c:
13362 * testsuite/threads/threadg.c:
13363 * testsuite/threads/threadh.c:
13364 * testsuite/threads/threadi.c:
13365 move all of these under tests
13367 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13370 * tests/Makefile.am:
13373 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13375 * docs/gst/gstreamer-sections.txt:
13376 * tests/sched/.cvsignore:
13377 * tests/sched/Makefile.am:
13378 * tests/sched/cases/(fs-fs).xml:
13379 * tests/sched/cases/(fs-i-fs).xml:
13380 * tests/sched/cases/(fs-i-i-fs).xml:
13381 * tests/sched/cases/(fs-i-q[i-fs]).xml:
13382 * tests/sched/dynamic-pipeline.c:
13383 * tests/sched/interrupt1.c:
13384 * tests/sched/interrupt2.c:
13385 * tests/sched/interrupt3.c:
13386 * tests/sched/runtestcases:
13387 * tests/sched/runxml.c:
13388 * tests/sched/sched-stress.c:
13389 * tests/sched/sort.c:
13390 * tests/sched/testcases:
13391 * tests/sched/testcases1.tc:
13392 * tests/seeking/.cvsignore:
13393 * tests/seeking/Makefile.am:
13394 * tests/seeking/seeking1.c:
13395 * tests/threadstate/.cvsignore:
13396 * tests/threadstate/Makefile.am:
13397 * tests/threadstate/test1.c:
13398 * tests/threadstate/test2.c:
13399 * tests/threadstate/threadstate1.c:
13400 * tests/threadstate/threadstate2.c:
13401 * tests/threadstate/threadstate3.c:
13402 * tests/threadstate/threadstate4.c:
13403 * tests/threadstate/threadstate5.c:
13404 remove obsolete tests
13406 * tests/bench-complexity.scm:
13407 * tests/bench-mass_elements.scm:
13408 * tests/complexity.c:
13409 * tests/complexity.gnuplot:
13410 * tests/instantiate/.cvsignore:
13411 * tests/instantiate/Makefile.am:
13412 * tests/instantiate/caps.c:
13413 * tests/mass_elements.c:
13414 * tests/network-clock-utils.scm:
13415 * tests/network-clock.scm:
13417 First pass at cleaning up tests/ dir before moving the rest
13418 Combined with CVS surgery
13420 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13423 queue has moved, update
13425 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13427 * docs/gst/gstreamer-sections.txt:
13428 remove double entries from the docs
13429 * gst/gst_private.h:
13430 * gst/gstinfo.c: (_gst_debug_init):
13431 remove the THREAD debug category
13435 * docs/gst/gstreamer.types:
13436 * plugins/elements/gstqueue.c: (gst_queue_get_type),
13437 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
13438 completely move queue and fix up debugging categories
13440 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13442 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13443 make initialization portable, using LL is not
13445 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13447 * win32/common/gstconfig.h:
13450 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13452 * win32/common/libgstreamer.def:
13453 rename symbols; sort base section
13455 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13457 * gst/gstclock.c: (do_linear_regression):
13458 remove crack non-portable handrolled DEBUG macro
13460 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13462 * docs/random/release:
13464 * win32/common/gstenumtypes.c: (register_gst_object_flags),
13465 (gst_object_flags_get_type), (register_gst_bin_flags),
13466 (gst_bin_flags_get_type), (register_gst_buffer_flag),
13467 (gst_buffer_flag_get_type), (register_gst_bus_flags),
13468 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13469 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
13470 (gst_caps_flags_get_type), (register_gst_clock_return),
13471 (gst_clock_return_get_type), (register_gst_clock_entry_type),
13472 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13473 (gst_clock_flags_get_type), (register_gst_state),
13474 (gst_state_get_type), (register_gst_state_change_return),
13475 (gst_state_change_return_get_type), (register_gst_state_change),
13476 (gst_state_change_get_type), (register_gst_element_flags),
13477 (gst_element_flags_get_type), (register_gst_core_error),
13478 (gst_core_error_get_type), (register_gst_library_error),
13479 (gst_library_error_get_type), (register_gst_resource_error),
13480 (gst_resource_error_get_type), (register_gst_stream_error),
13481 (gst_stream_error_get_type), (register_gst_event_type_flags),
13482 (gst_event_type_flags_get_type), (register_gst_event_type),
13483 (gst_event_type_get_type), (register_gst_seek_type),
13484 (gst_seek_type_get_type), (register_gst_seek_flags),
13485 (gst_seek_flags_get_type), (register_gst_format),
13486 (gst_format_get_type), (register_gst_index_certainty),
13487 (gst_index_certainty_get_type), (register_gst_index_entry_type),
13488 (gst_index_entry_type_get_type),
13489 (register_gst_index_lookup_method),
13490 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13491 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13492 (gst_index_resolver_method_get_type), (register_gst_index_flags),
13493 (gst_index_flags_get_type), (register_gst_debug_level),
13494 (gst_debug_level_get_type), (register_gst_debug_color_flags),
13495 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13496 (gst_iterator_result_get_type), (register_gst_iterator_item),
13497 (gst_iterator_item_get_type), (register_gst_message_type),
13498 (gst_message_type_get_type), (register_gst_mini_object_flags),
13499 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13500 (gst_pad_link_return_get_type), (register_gst_flow_return),
13501 (gst_flow_return_get_type), (register_gst_activate_mode),
13502 (gst_activate_mode_get_type), (register_gst_pad_direction),
13503 (gst_pad_direction_get_type), (register_gst_pad_flags),
13504 (gst_pad_flags_get_type), (register_gst_pad_presence),
13505 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13506 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13507 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13508 (gst_plugin_error_get_type), (register_gst_plugin_flags),
13509 (gst_plugin_flags_get_type), (register_gst_rank),
13510 (gst_rank_get_type), (register_gst_query_type),
13511 (gst_query_type_get_type), (register_gst_tag_merge_mode),
13512 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13513 (gst_tag_flag_get_type), (register_gst_task_state),
13514 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13515 (gst_alloc_trace_flags_get_type),
13516 (register_gst_type_find_probability),
13517 (gst_type_find_probability_get_type), (register_gst_uri_type),
13518 (gst_uri_type_get_type), (register_gst_parse_error),
13519 (gst_parse_error_get_type):
13520 * win32/common/gstenumtypes.h:
13521 * win32/common/gstversion.h:
13522 update visual studio generated files
13524 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13526 * win32/vs6/libgstbase.dsp:
13527 * win32/vs6/libgstelements.dsp:
13528 update project files for new locations
13530 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
13535 reinstate and update
13540 * docs/random/LICENSE:
13543 2005-11-30 Edward Hervey <edward@fluendo.com>
13545 * gst/gsttypefind.c: (gst_type_find_register):
13546 * gst/gsttypefind.h:
13547 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
13548 (gst_type_find_factory_dispose):
13549 * gst/gsttypefindfactory.h:
13550 Fix memory leak in GstTypeFindFactory.
13552 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13555 * plugins/elements/Makefile.am:
13556 * plugins/elements/gstelements.c:
13557 * plugins/elements/gstqueue.c:
13558 move queue from core to the elements plugin
13560 2005-11-29 Andy Wingo <wingo@pobox.com>
13562 * libs/gst/base/gstbasetransform.h:
13563 * libs/gst/base/gstbasesrc.h:
13564 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
13566 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
13567 of pointers by which to pad very extensible base classes (like the
13568 ones in libs/gst/base).
13570 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13572 * docs/gst/gstreamer-docs.sgml:
13573 * docs/gst/gstreamer-sections.txt:
13574 * docs/libs/gstreamer-libs-docs.sgml:
13575 * docs/libs/gstreamer-libs-sections.txt:
13576 moving documentation from core to lib
13578 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13580 * check/Makefile.am:
13582 * docs/gst/Makefile.am:
13584 * gst/base/.cvsignore:
13585 * gst/base/Makefile.am:
13587 * gst/base/gstadapter.c:
13588 * gst/base/gstadapter.h:
13589 * gst/base/gstbasesink.c:
13590 * gst/base/gstbasesink.h:
13591 * gst/base/gstbasesrc.c:
13592 * gst/base/gstbasesrc.h:
13593 * gst/base/gstbasetransform.c:
13594 * gst/base/gstbasetransform.h:
13595 * gst/base/gstcollectpads.c:
13596 * gst/base/gstcollectpads.h:
13597 * gst/base/gstpushsrc.c:
13598 * gst/base/gstpushsrc.h:
13599 * gst/base/gsttypefindhelper.c:
13600 * gst/base/gsttypefindhelper.h:
13601 * gst/check/Makefile.am:
13602 * gst/check/gstcheck.c:
13603 * gst/check/gstcheck.h:
13604 * gst/net/Makefile.am:
13605 * gst/net/gstnet.h:
13606 * gst/net/gstnetclientclock.c:
13607 * gst/net/gstnetclientclock.h:
13608 * gst/net/gstnettimepacket.c:
13609 * gst/net/gstnettimepacket.h:
13610 * gst/net/gstnettimeprovider.c:
13611 * gst/net/gstnettimeprovider.h:
13612 * libs/gst/Makefile.am:
13613 * libs/gst/base/Makefile.am:
13614 * libs/gst/base/gstbasetransform.c:
13615 * libs/gst/check/Makefile.am:
13616 * plugins/elements/Makefile.am:
13618 CVS surgery + support to move base, check, and net out of gst
13621 2005-11-29 Andy Wingo <wingo@pobox.com>
13623 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
13625 * gst/gststructure.h (struct _GstStructure): Only one pointer of
13628 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
13630 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
13632 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
13634 * gst/gstobject.h: (struct _GstObject): Only one pointer of
13635 padding; reduces object size by about 30%. We don't expect
13636 anything else to go into gstobject.
13638 * gst/gstminiobject.h (struct _GstMiniObject)
13639 (struct _GstMiniObjectClass): Only one pointer of padding; the
13640 payload is only a pointer and two ints anyway. For the class there
13641 are only two methods as well.
13643 * gst/gstelement.h (struct _GstElementClass): Removed
13644 the state_changed signal callback, it is not used.
13646 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
13648 * docs/gst/gstreamer.types:
13649 fix includes, though they are a little dinky
13651 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13653 * check/Makefile.am:
13654 look in the right place for elements, a lot more chance of
13657 remove indexers and elements subdirs
13658 * plugins/Makefile.am:
13659 make indexers conditional
13661 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13665 * plugins/elements/Makefile.am:
13666 * plugins/elements/gstcapsfilter.c:
13667 * plugins/elements/gstfilesink.c:
13668 * plugins/elements/gstfilesrc.c:
13669 * plugins/elements/gstidentity.c:
13670 * plugins/indexers/Makefile.am:
13671 do CVS surgery and related build fixery to move elements
13672 and indexers in a new gstreamer/plugins directory, out of the
13675 2005-11-29 Andy Wingo <wingo@pobox.com>
13677 * check/Makefile.am:
13678 * pkgconfig/gstreamer-net-uninstalled.pc.in:
13679 * pkgconfig/gstreamer-net.pc.in:
13680 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
13683 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
13685 * tools/Makefile.am:
13686 * tools/gst-complete.1.in:
13687 * tools/gst-complete.c:
13688 * tools/gst-compprep.1.in:
13689 * tools/gst-compprep.c:
13690 removing -compprep and -complete
13692 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
13694 * gst/gstevent.c: (gst_event_new_new_segment),
13695 (gst_event_parse_new_segment):
13697 fix #320529 - clean up new_segment API and structure.
13698 Let's hope everyone was using the methods, and not the structure.
13700 2005-11-29 Edward Hervey <edward@fluendo.com>
13702 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13703 (gst_base_sink_event), (gst_base_sink_do_sync),
13704 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13705 Properly handle non GST_FORMAT_TIME segment
13706 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
13707 Properly handle non GST_FORMAT_TIME segment
13708 * gst/gstsegment.c:
13709 This function is valid if the accumulator is 0 and the format
13710 is different from the requested format.
13712 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
13714 * docs/gst/gstreamer-sections.txt:
13715 Add gst_query_new_seeking and gst_query_parse_seeking to the
13718 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
13720 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13721 Treat a pad alloc with new caps the same as if we were not
13722 negotiated, in order to allow a changing upstream output
13723 to produce a new format of data.
13725 2005-11-29 Edward Hervey <edward@fluendo.com>
13727 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13728 (gst_base_transform_event), (gst_base_transform_eventfunc):
13729 The event virtual method is now properly implemented, with a default
13731 Sub classes should call the parent_class event method. They should
13732 return FALSE if they had a problem handling the given event, or don't
13733 want GstBaseTransform to send that even downstream
13734 * gst/elements/gstidentity.c: (gst_identity_class_init),
13735 (gst_identity_init), (gst_identity_event),
13736 (gst_identity_transform_ip), (gst_identity_set_property),
13737 (gst_identity_get_property):
13738 * gst/elements/gstidentity.h:
13739 Added the single-segment boolean property.
13740 If set to TRUE, it will output a single segment of data, starting from
13741 0, will eat up all incoming newsegment, and modify the timestamp of the
13742 buffers accordingly
13744 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
13746 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
13747 Don't ref NULL target pad (#322751). Improve docs.
13749 2005-11-29 Michael Smith <msmith@fluendo.com>
13751 * gst/gstregistryxml.c: (load_plugin):
13752 Don't crash if we failed to load a feature from a plugin.
13754 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
13756 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13758 use more check API and less GLib API
13760 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
13763 don't run checks if we don't have check
13764 * common/check.mak:
13765 remove the registry when running make torture
13766 * docs/gst/gstreamer-sections.txt:
13767 remove second multiply
13768 * gst/gstqueue.c: (gst_queue_loop):
13769 fix a compile warning when disabling debug
13771 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
13774 Hey! Let's print the pad name if the pointer != NULL instead
13775 of when it == NULL :-)
13777 2005-11-28 Wim Taymans <wim@fluendo.com>
13779 * check/gst/gstutils.c: (GST_START_TEST):
13780 Updated check, add some scaling accuracy checking code.
13782 * gst/gstutils.c: (gst_util_div128_64),
13783 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
13784 (gst_util_uint64_scale_int):
13785 Fix 6 times faster division code. Optimize for common
13786 1/1 and less common X/1 cases.
13788 2005-11-28 Wim Taymans <wim@fluendo.com>
13790 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13793 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
13794 (do_linear_regression), (gst_clock_add_observation):
13796 Release lock when the clock cannot be slaved.
13797 Catch the case where the regression returned an invalid denominator.
13799 * gst/gstutils.c: (gst_util_div128_64_iterate),
13800 (gst_util_div128_64), (gst_util_uint64_scale_int64),
13801 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13802 Add protentially more performant non-iterative 128/64 divide function
13803 that unfortunatly does not work yet.
13804 Shortcut the trivial 0/X = 0 case.
13805 Remove the warnings on overflow.
13807 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
13809 * gst/gstplugin.c: (gst_plugin_register_func):
13810 everything causing a plugin not to load should be at least a WARNING
13812 2005-11-28 Stefan Kost <ensonic@users.sf.net>
13814 * docs/random/ensonic/dparams.txt:
13815 some TODOs for the next dev cycle
13816 * libs/gst/controller/gstcontroller.c:
13817 (gst_controlled_property_set_interpolation_mode),
13818 (gst_controlled_property_new):
13819 * libs/gst/controller/gstcontroller.h:
13820 use base type to assign acccessor functions
13822 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
13824 * check/Makefile.am:
13825 Oops, that should have been top_srcdir
13827 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
13829 * check/Makefile.am:
13830 * check/elements/fdsrc.c: (GST_START_TEST):
13831 Use a cmdline define to specify the location of a file to use for
13832 testing, to avoid breaking distcheck.
13834 2005-11-28 Andy Wingo <wingo@pobox.com>
13836 * gst/gstpad.c (fixate_value): Use array functions for arrays.
13838 2005-11-28 Edward Hervey <edward@fluendo.com>
13840 * tools/gst-launch.c: (main):
13841 Clarify the output strings, makes it easier to translate.
13844 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
13847 don't try and build net if we don't even have <sys/socket.h>
13849 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
13851 * check/Makefile.am:
13852 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
13853 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
13854 Add tests for fdsrc seekability
13856 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13857 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
13858 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
13859 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
13860 * gst/elements/gstfdsrc.h:
13861 fdsrc should not be a 'live' source.
13862 Implement seeking on seekable fd's.
13864 * gst/gstquery.c: (gst_query_new_seeking),
13865 (gst_query_parse_seeking):
13867 Implement SEEKING query functions:
13868 *_new_seeking and *_parse_seeking
13870 2005-11-27 Stefan Kost <ensonic@users.sf.net>
13872 * gst/gstelement.c: (gst_element_dispose):
13875 * gst/gstiterator.c:
13876 * gst/gststructure.c:
13879 * libs/gst/controller/gstcontroller.c:
13880 (gst_controlled_property_set_interpolation_mode):
13881 * libs/gst/controller/gstcontroller.h:
13882 * libs/gst/controller/gstinterpolation.c:
13883 (interpolate_none_get_enum_value_array):
13884 support controlling enums
13886 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
13889 Improve documentation for gst_value_union().
13892 Change return value for union, intersect and subtract functions
13893 from gint to gboolean.
13895 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
13897 * gst/gstvalue.c: (gst_value_serialize_any_list),
13898 (gst_value_transform_any_list_string),
13899 (gst_value_deserialize_list), (gst_value_deserialize_array),
13900 (gst_value_set_int_range), (gst_value_deserialize_int_range),
13901 (gst_value_set_double_range), (gst_value_deserialize_double_range),
13902 (gst_value_set_fraction_range_full),
13903 (gst_value_deserialize_fraction_range),
13904 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
13905 (gst_value_deserialize_boolean),
13906 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
13907 (gst_value_serialize_float), (gst_value_deserialize_float),
13908 (gst_string_wrap), (gst_value_deserialize_string),
13909 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
13910 (gst_value_union_int_range_int_range),
13911 (gst_value_intersect_int_range_int_range),
13912 (gst_value_intersect_double_range_double_range),
13913 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
13914 (gst_value_subtract_int_range_int_range),
13915 (gst_value_subtract_double_double_range),
13916 (gst_value_subtract_double_range_double_range),
13917 (gst_value_deserialize_fraction):
13919 Use gint, gdouble and gchar in our API instead of int, double and
13920 char (and make usage in gstvalue.c more consistent).
13922 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
13924 * check/Makefile.am:
13925 * libs/gst/controller/Makefile.am:
13926 * libs/gst/dataprotocol/Makefile.am:
13927 fix up Makefile.am and remove GST_ENABLE_NEW
13929 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
13933 * gst/base/Makefile.am:
13934 * gst/check/Makefile.am:
13935 * gst/elements/Makefile.am:
13936 * gst/net/Makefile.am:
13937 update LDFLAGS use some more
13939 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
13941 * common/m4/gst-doc.m4:
13944 2005-11-26 Edward Hervey <edward@fluendo.com>
13946 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13947 This shouldn't issue a g_warning since it returns NULL if it
13948 couldn't find the plugin, and all functions using this behave
13949 properly on a NULL return. Switching to a GST_WARNING.
13951 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
13953 * gst/gstbin.c: (gst_bin_handle_message_func):
13954 Don't leak clock messages.
13956 2005-11-25 Wim Taymans <wim@fluendo.com>
13958 * gst/gstutils.c: (gst_util_uint64_scale_int64),
13959 (gst_util_uint64_scale_int):
13960 Optimisations, remove unneeded vars.
13962 2005-11-25 Wim Taymans <wim@fluendo.com>
13964 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13965 Added more checks for the high precision uint64 cases.
13967 * gst/gstutils.c: (gst_util_uint64_scale_int64),
13968 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
13969 Implement high precision (guint64 * guint64) / guint64.
13971 2005-11-24 Wim Taymans <wim@fluendo.com>
13973 * gst/base/gstbasesrc.c: (gst_base_src_query):
13974 Fix wrong percentage query.
13976 * gst/gstutils.c: (gst_util_uint64_scale),
13977 (gst_util_uint64_scale_int):
13978 Add some more common cases that can be handled
13979 efficiently to _scale.
13981 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
13983 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
13984 (gst_mini_object_suite):
13985 don't use check calls from threads; check probably isn't
13986 threadsafe and using a lock to make it threadsafe would
13987 defeat the purpose of this check
13988 * gst/check/gstcheck.c:
13989 * gst/check/gstcheck.h:
13990 use GST_DEBUG some more
13992 2005-11-24 Wim Taymans <wim@fluendo.com>
13994 * gst/gstutils.c: (gst_util_uint64_scale),
13995 (gst_util_uint64_scale_int):
13996 Chain trivial case to _scale_int.
13998 2005-11-24 Wim Taymans <wim@fluendo.com>
14000 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14001 Added test for scaling.
14006 * gst/gstutils.c: (gst_util_uint64_scale_int):
14007 Implemented high precision scaling code.
14009 2005-11-24 Stefan Kost <ensonic@users.sf.net>
14012 do not crash on pad==NULL
14014 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
14016 Patch by: Stefan Kost
14018 * common/gtk-doc.mak:
14019 * docs/gst/Makefile.am:
14020 * docs/libs/Makefile.am:
14021 Fix distcheck issues for the libraries docs build
14024 2005-11-24 Michael Smith <msmith@fluendo.com>
14026 * docs/manual/basics-helloworld.xml:
14027 Fix bug #315027: memory leak in example code in docs.
14029 2005-11-24 Michael Smith <msmith@fluendo.com>
14031 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14032 Unlock the PREROLL_LOCK in a failure case.
14034 2005-11-24 Wim Taymans <wim@fluendo.com>
14036 * docs/gst/gstreamer-sections.txt:
14037 * gst/base/gstadapter.h:
14038 * gst/base/gstbasesink.h:
14039 * gst/base/gstbasesrc.h:
14040 * gst/base/gstbasetransform.h:
14041 * gst/base/gstpushsrc.h:
14042 * gst/elements/gstfakesink.h:
14043 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
14044 * gst/elements/gstfakesrc.h:
14045 * gst/elements/gstfilesink.h:
14046 * gst/elements/gstfilesrc.h:
14049 * gst/gstbuffer.c: (_gst_buffer_copy):
14052 * gst/gstchildproxy.c:
14054 * gst/gstelement.c:
14055 * gst/gstelementfactory.c:
14056 * gst/gstelementfactory.h:
14058 * gst/gstghostpad.h:
14060 * gst/gstinterface.h:
14061 * gst/gstminiobject.c:
14062 * gst/gstminiobject.h:
14065 * gst/gstpadtemplate.h:
14066 * gst/gstpipeline.h:
14067 * gst/gstpluginfeature.h:
14070 * gst/gsttaglist.c:
14071 * gst/gsttaglist.h:
14072 * gst/gsttagsetter.c:
14073 * gst/gsttagsetter.h:
14076 * gst/gsttypefind.h:
14079 * gst/net/gstnetclientclock.c:
14080 * gst/net/gstnetclientclock.h:
14081 * gst/net/gstnettimepacket.c:
14082 * gst/net/gstnettimeprovider.c:
14083 * gst/net/gstnettimeprovider.h:
14086 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
14088 * configure.ac: back to HEAD
14090 === release 0.9.6 ===
14092 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
14095 releasing 0.9.6, "Always On Time"
14097 2005-11-23 Wim Taymans <wim@fluendo.com>
14099 * docs/gst/gstreamer-sections.txt:
14100 * gst/glib-compat.c:
14101 * gst/gsttagsetter.c:
14103 * gst/net/gstnetclientclock.c:
14104 * gst/net/gstnettimepacket.h:
14107 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
14109 * docs/faq/using.xml:
14110 * docs/libs/tmpl/gstcontrol.sgml:
14111 * docs/manual/advanced-dparams.xml:
14112 * docs/manual/appendix-checklist.xml:
14113 * docs/manual/basics-elements.xml:
14114 * docs/pwg/other-source.xml:
14115 * docs/random/moving-plugins:
14117 * tools/gst-launch.1.in:
14118 remove mentions of sinesrc
14120 2005-11-23 Michael Smith <msmith@fluendo.com>
14122 * docs/gst/gstreamer-sections.txt:
14123 Update for new API and API changes.
14125 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
14127 Documentation typo fix.
14128 * gst/net/gstnettimepacket.c:
14129 Documentation fixes for arguments.
14131 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
14133 * gst/gststructure.c: (gst_structure_get_fraction),
14134 (gst_structure_parse_value),
14135 (gst_structure_fixate_field_nearest_fraction):
14136 * gst/gststructure.h:
14137 * gst/gstutils.c: (gst_util_uint64_scale_int):
14139 * scripts/update-funcnames:
14141 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
14142 Make gst_structure_fixate_field_nearest_fraction take a numerator
14143 and denominator argument instead of a GValue
14144 add gst_structure_get_fraction helper function.
14146 2005-11-23 Wim Taymans <wim@fluendo.com>
14148 * docs/design/part-TODO.txt:
14151 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
14152 * gst/net/gstnetclientclock.h:
14153 Use parent fields for timeout and window_size.
14155 2005-11-23 Andy Wingo <wingo@pobox.com>
14157 * check/net/gstnetclientclock.c (test_functioning): Adjust to
14158 rate_num/rate_denom change.
14160 * gst/net/gstnetclientclock.c
14161 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
14162 OBJECT_LOCK. Don't call add_observation with the lock.
14164 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
14166 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
14168 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
14169 deal with rate as a fraction whose numerator and denominator are
14170 GstClockTime values.
14171 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
14172 master; the other fields are protected by the SLAVE_LOCK.
14173 (do_linear_regression): Note that this must be called with the
14175 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
14176 OBJECT_LOCK. Call set_calibration instead of touching the
14177 variables directly.
14178 (gst_clock_set_property, gst_clock_get_property): Protect
14179 master/slave parameters with the SLAVE_LOCK.
14181 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
14182 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
14183 note that all of the instance variables that add_observation and
14184 the set_master functions use are protected by that lock and not
14186 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
14188 * gst/gstclock.c (gst_clock_add_observation): No longer requires
14189 the caller to take the object lock.
14191 2005-11-23 Wim Taymans <wim@fluendo.com>
14193 * gst/gsterror.c: (_gst_core_errors_init):
14195 Add error for clock stuff.
14197 * gst/gstpipeline.c: (gst_pipeline_change_state),
14198 (gst_pipeline_set_clock):
14199 Post clock error when clock cannot be used in a pipeline.
14201 2005-11-23 Stefan Kost <ensonic@users.sf.net>
14203 * docs/gst/gstreamer-sections.txt:
14204 make two symbols from gstinfo private for the docs
14205 * gst/base/gstcollectpads.h:
14207 fix doc typos, update docs
14209 2005-11-22 Wim Taymans <wim@fluendo.com>
14211 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
14212 (gst_base_sink_wait), (gst_base_sink_do_sync),
14213 (gst_base_sink_handle_event):
14214 * gst/base/gstbasesink.h:
14215 No need to store the clock, the parent element class already
14218 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
14219 Updates for clock_set returning a gboolean
14221 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
14222 (gst_clock_id_wait_async), (gst_clock_class_init),
14223 (gst_clock_init), (gst_clock_finalize),
14224 (gst_clock_get_internal_time), (gst_clock_get_time),
14225 (gst_clock_slave_callback), (gst_clock_set_master),
14226 (gst_clock_get_master), (do_linear_regression),
14227 (gst_clock_add_observation), (gst_clock_set_property),
14228 (gst_clock_get_property):
14230 Implement master/slave. When setting a clock as a slave, a
14231 periodic timeout is scheduled to sample master and slave times.
14232 Then the slave clock is recalibrated to match offset and rate
14233 of the master clock.
14234 Update logging a bit.
14235 Add flag so that a clock can state that is cannot be slaved to
14238 * gst/gstelement.c: (gst_element_set_clock):
14239 * gst/gstelement.h:
14240 The set clock returns a gboolean for when an element cannot
14241 deal with the selected clock in the pipeline.
14243 * gst/gstpipeline.c: (gst_pipeline_change_state),
14244 (gst_pipeline_set_clock):
14245 * gst/gstpipeline.h:
14246 Handle the case where the selected clock cannot be set on
14249 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
14250 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
14251 (gst_net_client_clock_set_property),
14252 (gst_net_client_clock_get_property),
14253 (gst_net_client_clock_observe_times):
14254 * gst/net/gstnetclientclock.h:
14255 Use regression code in GstClock parent, remove duplicated
14258 2005-11-22 Michael Smith <msmith@fluendo.com>
14260 * gst/gstutils.c: (gst_util_clock_time_scale):
14262 * docs/gst/gstreamer-sections.txt:
14263 Rename method to have extra underscore.
14265 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
14267 * gst/elements/Makefile.am:
14268 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
14269 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14270 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14271 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
14272 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
14273 * gst/elements/gstfakesrc.h:
14274 * gst/gstqueue.c: (queue_leaky_get_type):
14275 correctly fix GEnumValues so that nick is the short lowercase
14277 * tools/gst-inspect.c: (print_element_properties_info):
14278 also show the nick, since it's useful to use from parse_launch
14282 2005-11-22 Michael Smith <msmith@fluendo.com>
14284 * gst/gstutils.c: (gst_util_clocktime_scale):
14286 * docs/gst/gstreamer-sections.txt:
14287 Add util method for scaling a clocktime by a fraction. Useful
14288 implementation is left as an exercise for the reader.
14290 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14292 * gst/gstvalue.c: (gst_value_collect_fraction_range):
14293 If needed, allocate storage in the destination value during
14296 2005-11-22 Edward Hervey <edward@fluendo.com>
14298 * docs/gst/gstreamer-sections.txt:
14301 * gst/gsturitype.c:
14302 * gst/gsturitype.h:
14303 * gst/gstutils.c: (gst_util_set_object_arg):
14304 * tools/gst-compprep.c: (main):
14305 * tools/gst-inspect.c: (print_element_properties_info):
14306 Removed GstURI, closes bug #321061
14308 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14310 * check/gst/gststructure.c: (GST_START_TEST):
14311 * gst/gststructure.c: (gst_structure_parse_value):
14312 Oops, broke automatic string type parsing.
14313 Add a test to catch it in future.
14315 2005-11-22 Andy Wingo <wingo@pobox.com>
14317 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
14318 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
14319 Actually rename the function implementations. Grr.
14321 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14323 * check/gst/capslist.h:
14325 * check/gst/gststructure.c: (GST_START_TEST),
14326 (gst_structure_suite):
14327 Test automatic value type detection in gst_structure_from_string.
14328 * gst/gststructure.c: (gst_structure_parse_value):
14329 Add fraction as a type we try and guess automatically in
14330 caps/structure strings.
14332 2005-11-22 Andy Wingo <wingo@pobox.com>
14334 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
14336 * gst/gsttagsetter.h:
14337 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
14338 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
14339 (gst_tag_setter_add_tag_valist)
14340 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
14341 _add_values, _add_valist, and _add_valist_values. Since this is an
14342 interface the function suffixes should be more explicit so
14343 language binding don't end up with element.add_valist ->
14344 gst_tag_setter_add_valist, for example. Fixes #322069.
14346 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14348 * check/gst/gstcaps.c: (GST_START_TEST):
14349 Extend caps string tests to check that a caps to string
14350 conversion is reversible and produces the same caps.
14352 * gst/gststructure.c: (gst_structure_value_get_generic_type):
14353 Output "fraction" as the generic type fraction range, so caps
14354 serialisation and deserialisation works.
14355 * check/gst/capslist.h:
14356 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14357 Support 'MIN' and 'MAX' for deserialising fractions.
14359 2005-11-22 Andy Wingo <wingo@pobox.com>
14361 * gst/gstevent.h (gst_event_new_new_segment)
14362 (gst_event_parse_new_segment, gst_event_new_buffer_size)
14363 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
14364 Renamed from *_newsegment, *_buffersize, *_notarget.
14366 * scripts/update-funcnames: New script, performs the changes
14369 2005-11-22 Wim Taymans <wim@fluendo.com>
14371 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14372 Make sure the GstFlowReturn is returned.
14374 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
14375 (gst_bus_add_signal_watch):
14377 add gst_bus_add_signal_watch_full.
14379 * gst/gstplugin.c: (gst_plugin_load_file):
14380 Small style cleanup.
14382 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14384 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
14385 Block the fakesrc srcpad when we send an event, to avoid
14386 contention on the stream_lock causing random test failures.
14388 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14390 * check/gst/gstvalue.c: (GST_START_TEST):
14391 * gst/gstvalue.c: (gst_value_fraction_subtract):
14394 2005-11-22 Stefan Kost <ensonic@users.sf.net>
14397 include "gstchildproxy.h"
14398 * gst/gstchildproxy.h:
14399 * libs/gst/controller/gstcontroller.h:
14400 use G_GNUC_NULL_TERMINATED
14402 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
14404 * check/gst/capslist.h:
14405 * check/gst/gstcaps.c: (GST_START_TEST):
14406 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14407 * gst/gststructure.c: (gst_structure_parse_range),
14408 (gst_structure_fixate_field_nearest_fraction):
14409 * gst/gststructure.h:
14410 * gst/gstvalue.c: (gst_value_init_fraction_range),
14411 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
14412 (gst_value_collect_fraction_range),
14413 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
14414 (gst_value_set_fraction_range_full),
14415 (gst_value_get_fraction_range_min),
14416 (gst_value_get_fraction_range_max),
14417 (gst_value_serialize_fraction_range),
14418 (gst_value_transform_fraction_range_string),
14419 (gst_value_compare_fraction_range),
14420 (gst_value_deserialize_fraction_range),
14421 (gst_value_intersect_fraction_fraction_range),
14422 (gst_value_intersect_fraction_range_fraction_range),
14423 (gst_value_subtract_fraction_fraction_range),
14424 (gst_value_subtract_fraction_range_fraction),
14425 (gst_value_subtract_fraction_range_fraction_range),
14426 (gst_value_collect_fraction), (gst_value_fraction_multiply),
14427 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
14428 (gst_value_transform_string_fraction), (_gst_value_initialize):
14430 Implement fraction ranges and extend GstFraction to support
14431 arithmetic subtraction, as well as deserialization from integer
14432 strings such as "100"
14433 Add a testsuite as for int and double range set operations
14435 2005-11-21 Andy Wingo <wingo@pobox.com>
14437 * gst/gsttaglist.h:
14439 * gst/gststructure.h: Add glib-compat.h.
14441 2005-11-21 Wim Taymans <wim@fluendo.com>
14443 * gst/gstbin.c: (gst_bin_change_state_func):
14446 2005-11-21 Wim Taymans <wim@fluendo.com>
14448 * gst/gstsegment.h:
14449 And add a nice define too.
14451 2005-11-21 Wim Taymans <wim@fluendo.com>
14453 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
14454 (gst_segment_new), (gst_segment_free), (gst_segment_init),
14455 (gst_segment_set_duration), (gst_segment_set_last_stop),
14456 (gst_segment_set_seek), (gst_segment_set_newsegment),
14457 (gst_segment_to_stream_time), (gst_segment_to_running_time),
14458 (gst_segment_clip):
14459 * gst/gstsegment.h:
14460 Make binding friendly.
14462 2005-11-21 Andy Wingo <wingo@pobox.com>
14464 * gst/gsttagsetter.h:
14465 * gst/gsttaglist.h:
14466 * gst/gststructure.h:
14468 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
14471 * gst/gsterror.c (_gst_core_errors_init):
14472 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
14475 * gst/Makefile.am (gst_headers): Add glib-compat.h.
14476 (noinst_HEADERS): noinst the -private.
14478 2005-11-21 Michael Smith <msmith@fluendo.com>
14481 * gst/gstregistry.h:
14482 Remove unimplemented declarations for which we can see no sensible
14485 2005-11-21 Andy Wingo <wingo@pobox.com>
14487 * gst/gst.h: Include glib-compat.h.
14489 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
14491 * gst/glib-compat.c: Include the public and the private header.
14493 * gst/glib-compat-private.h: Copied here from glib-compat.h.
14497 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
14499 * check/gst/gstevent.c (create_custom_events): Check that
14500 FLUSH_STOP is serialized.
14502 * check/elements/identity.c (event_func):
14503 * check/elements/fakesrc.c (event_func): No stream lock, the core
14506 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
14507 stream lock taking, yay.
14509 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
14510 ensure that core takes the stream lock.
14512 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
14515 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
14516 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
14517 it already. For the flush start we do take it though so we get the
14518 right preroll state change messages.
14520 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
14521 the stream lock here, the core does it for us.
14523 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
14524 GST_STREAM_GET_LOCK.
14525 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
14526 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
14527 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
14528 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
14529 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
14530 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
14532 * gst/gstpad.c: Update for stream lock name change.
14534 * gst/base/gstbasesink.c: Update for preroll lock name change.
14536 2005-11-21 Wim Taymans <wim@fluendo.com>
14538 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
14539 (gst_clock_get_master):
14541 * gst/gstsystemclock.c: (gst_system_clock_init):
14542 Convert Clock flags to object flags.
14543 Added methods to manage master/slave clocks.
14545 2005-11-21 Wim Taymans <wim@fluendo.com>
14547 * check/gst/gstsegment.c: (GST_START_TEST):
14548 * docs/design/part-TODO.txt:
14549 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14550 (gst_base_sink_event), (gst_base_sink_do_sync),
14551 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14552 (gst_base_sink_query), (gst_base_sink_change_state):
14553 * gst/base/gstbasesink.h:
14554 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
14555 (gst_base_src_default_newsegment),
14556 (gst_base_src_configure_segment), (gst_base_src_do_seek),
14557 (gst_base_src_get_range), (gst_base_src_loop),
14558 (gst_base_src_change_state):
14559 * gst/base/gstbasesrc.h:
14560 * gst/base/gstbasetransform.c:
14561 (gst_base_transform_prepare_output_buf),
14562 (gst_base_transform_event), (gst_base_transform_change_state):
14563 * gst/base/gstbasetransform.h:
14564 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
14565 (gst_collect_pads_event):
14566 * gst/base/gstcollectpads.h:
14567 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
14568 (gst_fake_src_create):
14569 * gst/elements/gstfakesrc.h:
14570 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14571 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14572 (gst_segment_set_last_stop), (gst_segment_set_seek),
14573 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14574 (gst_segment_to_running_time), (gst_segment_clip):
14575 * gst/gstsegment.h:
14576 More segment updates, replace code in plugins with segment
14579 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
14581 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
14582 Don't ignore sscanf results
14584 2005-11-21 Andy Wingo <wingo@pobox.com>
14586 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
14589 * *.c: Ran scripts/update-macros. Oh yes.
14591 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
14592 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
14595 * scripts/update-macros: New script. Run it on your files to
14596 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
14599 2005-11-21 Stefan Kost <ensonic@users.sf.net>
14601 * docs/gst/Makefile.am:
14602 * docs/gst/gstreamer-docs.sgml:
14603 * docs/gst/gstreamer-sections.txt:
14604 * docs/gst/gstreamer.types:
14606 more docs fixes, add new api to the docs
14608 2005-11-21 Andy Wingo <wingo@pobox.com>
14610 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
14611 state_broadcast call.
14613 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
14615 2005-11-21 Julien MOUTTE <julien@moutte.net>
14617 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
14618 function calls for arrays.
14620 2005-11-21 Stefan Kost <ensonic@users.sf.net>
14622 * docs/random/ensonic/media-device-daemon.txt:
14623 wild idea, can this be done?
14624 * docs/gst/gstreamer-sections.txt:
14629 * gst/gstpluginfeature.c:
14633 doc fixes and additions
14635 2005-11-21 Andy Wingo <wingo@pobox.com>
14637 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
14638 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
14639 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
14640 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
14641 private to the basesrc implementation.
14643 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
14644 behalf of event function if necessary. It should no longer be
14645 necessary to take the stream lock in pad's event functions. Fixes
14648 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
14649 * docs/gst/gstreamer-sections.txt:
14650 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
14651 (gst_structure_fixate_field_nearest_double),
14652 (gst_structure_fixate_field_boolean):
14653 * gst/gststructure.h:
14654 * win32/common/libgstreamer.def:
14655 * win32/gstreamer.def:
14657 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
14660 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
14662 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
14663 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
14664 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
14665 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
14666 (gst_fdsrc_uri_handler_init):
14667 * gst/elements/gstfdsrc.h:
14668 Port fd:// URI handler from 0.8 to fdsrc
14670 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14672 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
14673 (gst_value_serialize_fourcc):
14675 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
14676 consistent with our other format defines (#320324).
14678 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14680 * gst/gstvalue.c: (gst_value_is_fixed):
14681 Revert previous commit. Value lists are by definition
14682 not fixed, as they are a list of possible values.
14684 2005-11-21 Andy Wingo <wingo@pobox.com>
14686 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
14687 during the stable series if we need it. Fixes #319178.
14689 * gst/gstevent.c (gst_event_new_filler): Removed.
14691 * check/gst/gstevent.c: Update comment about filler events.
14693 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14695 * gst/gstvalue.c: (gst_value_is_fixed):
14696 Should handle both value arrays and value lists.
14698 2005-11-21 Andy Wingo <wingo@pobox.com>
14700 patch by: Alessandro Dessina <alessandro nnva org>
14702 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
14703 functions to access arrays. Fixes #321962.
14705 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14707 * docs/gst/gstreamer.types:
14708 gst_collectpads_get_type => gst_collect_pads_get_type.
14710 * gst/base/gstbasetransform.c:
14711 Remove unused SIGNAL_HANDOFF enum.
14713 2005-11-21 Andy Wingo <wingo@pobox.com>
14715 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
14716 the event type (upstream, downstream, serialized). Renamed
14717 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
14718 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
14719 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
14721 * gst/gstevent.c: Update for new CUSTOM event names.
14723 * check/gst/gstevent.c: Update check for new CUSTOM event names.
14726 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
14729 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14731 * docs/gst/gstreamer-sections.txt:
14732 * win32/common/libgstbase.def:
14733 * win32/libgstbase.def:
14734 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14735 (gst_collect_pads_class_init), (gst_collect_pads_init),
14736 (gst_collect_pads_finalize), (gst_collect_pads_new),
14737 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
14738 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
14739 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
14740 (gst_collect_pads_start), (gst_collect_pads_stop),
14741 (gst_collect_pads_peek), (gst_collect_pads_pop),
14742 (gst_collect_pads_available), (gst_collect_pads_read),
14743 (gst_collect_pads_flush), (gst_collect_pads_event),
14744 (gst_collect_pads_chain):
14745 * gst/base/gstcollectpads.h:
14746 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
14747 unimplemented functions as unimplemented. Add padding to
14748 GstCollectData. (#320766, #320423)
14750 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
14752 * gst/gstmessage.c:
14753 Improve docs for DURATION message (usage of duration parameter)
14756 2005-11-20 Wim Taymans <wim@fluendo.com>
14758 * check/Makefile.am:
14759 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
14763 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
14764 (gst_segment_set_seek), (gst_segment_set_newsegment),
14765 (gst_segment_to_stream_time), (gst_segment_to_running_time),
14766 (gst_segment_clip):
14767 * gst/gstsegment.h:
14768 Added segment helper structure and methods. Not fully implemented
14770 Added segment check.
14772 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
14774 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14775 Add a deserialisation test for fractions
14776 * examples/metadata/read-metadata.c: (message_loop),
14777 (make_pipeline), (main):
14778 Fix up metadata reading sample.
14779 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14781 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14782 Don't try and fixate empty caps
14783 * gst/gst_private.h:
14784 Wrap in G_BEGIN_DECLS/G_END_DECLS
14785 * gst/gstvalue.c: (gst_value_collect_fraction),
14786 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
14787 (gst_value_transform_string_fraction),
14788 (gst_value_compare_fraction):
14789 Add some extra guards to ensure that we don't end up
14790 with an invalid denominator of 0 in a gstfraction and
14791 that fractions always get reduced.
14793 2005-11-20 Wim Taymans <wim@fluendo.com>
14795 * docs/gst/gstreamer-sections.txt:
14797 * gst/gstelement.c:
14806 2005-11-20 Wim Taymans <wim@fluendo.com>
14808 * docs/design/part-TODO.txt:
14810 Make a proper enum of the flag.
14812 2005-11-19 Wim Taymans <wim@fluendo.com>
14814 * docs/design/part-TODO.txt:
14815 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
14816 (gst_format_to_quark), (gst_format_register):
14818 * gst/gstquery.c: (_gst_query_initialize),
14819 (gst_query_type_get_name), (gst_query_type_to_quark),
14820 (gst_query_type_register):
14822 Add type to quark and type to string conversions.
14824 2005-11-19 Andy Wingo <wingo@pobox.com>
14826 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
14829 2005-11-19 Wim Taymans <wim@fluendo.com>
14831 * docs/design/part-TODO.txt:
14832 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14833 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
14834 (gst_bin_handle_message_func):
14836 Make message handling overridable.
14838 2005-11-19 Andy Wingo <wingo@pobox.com>
14840 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
14843 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
14845 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
14846 is a GstClockTime. Fixes #321710.
14848 * gst/gstclock.h (GstClock): Remove offset property. Add
14849 internal_calibration and external_calibration. Fix padding. Pad
14850 also by GstClockTime so we don't run into problems.
14852 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
14853 (gst_clock_get_rate_offset): Remove.
14854 (gst_clock_set_time_adjust): Remove. Fixes #321712.
14857 * gst/gstutils.c (g_static_rec_cond_wait)
14858 (g_static_rec_cond_timed_wait): Removed, no longer needed.
14860 * gst/gstbin.c: Remove terrible continue_state prototype.
14862 * gst/gstelement.h (gst_element_continue_state): Make public.
14864 * gst/gstelement.h:
14865 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
14866 by continue_state. Fixes #319389.
14868 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
14869 Really fixes #168438. However I don't see anywhere where the
14870 filter function is called... stupid GStreamer...
14872 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
14873 don't have a dispose function, so it won't get called when the
14874 object is unreffed, but oh well!
14876 * gst/gstindex.c (gst_index_set_filter_full): New API function,
14877 allows a destroy function to be set so user_data can be freed.
14879 (gst_index_set_filter): Call gst_index_set_filter_full.
14881 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
14883 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
14884 string should produce an error, given the lack of a way to
14885 represent NULL strings. Fixes #165650.
14888 * gst/gstvalue.c (gst_value_array_append_value)
14889 (gst_value_array_prepend_value, gst_value_array_get_size)
14890 (gst_value_array_get_value): New API, copied from
14891 gst_value_list_*, only operates on arrays.
14892 (gst_value_list_append_value, gst_value_list_prepend_value)
14893 (gst_value_list_concat, gst_value_list_get_size)
14894 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
14896 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
14897 init_list, because it works on both.
14898 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
14899 (gst_value_copy_list_or_array): Renamed from copy_list.
14900 (gst_value_free_list_or_array): Renamed from free_list.
14901 (gst_value_collect_list_or_array): Renamed from collect_list.
14902 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
14903 (gst_value_list_or_array_peek_pointer): Renamed from
14905 (_gst_value_array_value_table, _gst_value_list_value_table):
14906 Update value table functions.
14907 (gst_value_compare_list_or_array): Renamed from compare_list.
14909 * gsttaglist.h: Whoops, foreach function returns void. Also fix
14912 * gst/gsttaglist.c:
14913 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
14914 GstTagList*. Fixes #143472.
14916 * gst/gststructure.h: Clarify what the foreach/map functions can
14917 or can't do to their arguments.
14919 2005-11-18 Wim Taymans <wim@fluendo.com>
14921 * gst/gstclock.c: (gst_clock_set_calibration),
14922 (gst_clock_get_calibration):
14924 Calibration can be set with internal time equal to current
14927 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
14933 2005-11-18 Andy Wingo <wingo@pobox.com>
14936 * pkgconfig/gstreamer-net.pc.in:
14937 * pkgconfig/gstreamer-net-uninstalled.pc.in:
14938 * pkgconfig/Makefile.am: Add net pkgconfig files.
14940 2005-11-18 Stefan Kost <ensonic@users.sf.net>
14943 * gst/gstghostpad.c:
14949 2005-11-18 Andy Wingo <wingo@pobox.com>
14951 * gst/net/gstnetclientclock.c: Turn off debugging.
14953 * check/net/gstnetclientclock.c (test_functioning): Assert that the
14954 times connverge somewhat. Can't make a real test.
14956 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
14957 integer arithmetic. Return the minimum of the domain, which can be
14958 set as "internal" for gst_clock_set_calibration.
14959 (gst_net_client_clock_observe_times): Call _set_calibration.
14960 (gst_net_client_clock_new): Call _set_calibration instead of
14963 * check/net/gstnetclientclock.c (test_functioning): Use the right
14967 * gst/gstclock.c (gst_clock_get_calibration)
14968 (gst_clock_set_calibration): New functions, obsolete the ones I
14969 added yesterday. Doh. Precision issues mean we have to extrapolate
14970 from a point in the more recent past than 1970.
14971 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
14973 (gst_clock_adjust_unlocked): Use the right calibration data.
14975 2005-11-18 Edward Hervey <edward@fluendo.com>
14977 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14978 Also reset the ->current_* values in READY->PAUSED
14980 2005-11-18 Andy Wingo <wingo@pobox.com>
14982 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
14983 Whoops, check the right fd. Also add some debugging.
14984 (gst_net_client_clock_observe_times): Adjust for int64 offset.
14985 (do_linear_regression): Add a crapload of debugging. Subtract off
14986 the minimum values from the input series to discard unneeded bits.
14987 Use only int arithmetic. There is still double arithmetic when
14988 calculating the intercept that needs fixing. Return boolean to
14989 indicate success; FALSE would mean the domain or range is too
14990 great. Still needs fixes.
14992 2005-11-18 Wim Taymans <wim@fluendo.com>
14994 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
14995 For the current position in stream time, we need to subtract
14998 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14999 Release lock before calling the callback function of async
15002 2005-11-18 Andy Wingo <wingo@pobox.com>
15004 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
15005 Port goes all the way to MAXUINT16.
15007 * gst/net/gstnettimeprovider.c: Make the port range the same as
15008 for the kernel: 0 assigns, otherwise ports are less than
15011 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
15014 * check/net/gstnetclientclock.c (test_functioning): Add the start
15017 2005-11-18 Wim Taymans <wim@fluendo.com>
15019 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15020 (gst_bin_remove_func), (bin_bus_handler):
15022 Removing a clock provider from a bin, triggers a clock lost message
15023 so that a new clock will be selected.
15024 Adding a clock to a bin triggers a clock provider message.
15025 Make sure we reselect a clock when we received a clock lost message.
15026 Keep a reference to the element that provided the clock.
15028 2005-11-18 Andy Wingo <wingo@pobox.com>
15030 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
15031 the clock initially so it produces values around the base time.
15032 (gst_net_client_clock_class_init): Typo fix.
15033 (gst_net_client_clock_thread): Add note on when the socket gets
15036 2005-11-17 Wim Taymans <wim@fluendo.com>
15038 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
15039 Free remote and local time arrays.
15041 2005-11-17 Wim Taymans <wim@fluendo.com>
15043 * gst/net/gstnetclientclock.c: (do_linear_regression),
15044 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
15045 Fix compilation, uninitialized vars and a forgotten continue.
15047 2005-11-17 Andy Wingo <wingo@pobox.com>
15049 * check/Makefile.am (check_PROGRAMS):
15050 * check/net/gstnetclientclock.c: Add a most minimal test for the
15051 net client clock. More to come later.
15053 * gst/net/gstnet.h:
15054 * gst/net/Makefile.am: Add netclientclock.
15056 * gst/net/gstnetclientclock.h:
15057 * gst/net/gstnetclientclock.c: New files, implement an untested
15058 GstClock that takes its time from a network time provider.
15059 Implements the algorithm in network-clock.scm.
15061 * tests/network-clock.scm (*window-size*): Rename from
15063 * tests/network-clock.scm (network-time):
15064 * tests/network-clock-utils.scm (q-push): Update callers.
15066 2005-11-17 Wim Taymans <wim@fluendo.com>
15068 * gst/gstbin.c: (gst_bin_provide_clock_func),
15069 (gst_bin_sort_iterator_new):
15070 And unref the child too..
15072 2005-11-17 Wim Taymans <wim@fluendo.com>
15074 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15075 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
15076 Refactor the sort iterator so it can be used while holding the
15078 Make clock selection select a clock closest to the source.
15080 2005-11-17 Michael Smith <msmith@fluendo.com>
15082 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
15083 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
15085 Anonymous structs are a gcc (and some other compilers) extension, so
15086 don't use them. Since this is only for ABI-compatibility, and our
15087 API/ABI freeze is over in a few days, this whole thing will only
15088 last a few days, so don't bother trying to think up a meaningful
15089 name for the struct.
15091 2005-11-17 Andy Wingo <wingo@pobox.com>
15093 * gst/gstclock.h (GstClock): Add rate and offset properties,
15094 preserving ABI stability. Add rate/offset accessors. Will file bug
15095 for the freeze break.
15097 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
15098 and offset, trying to keep precision and avoiding
15099 underflow/overflow.
15100 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
15101 functions. Make gst_clock_set_time_adjust obsolete.
15102 (gst_clock_set_time_adjust): Note that this function is obsolete.
15103 Will file bug soon.
15105 * gst/base/gstbasetransform.h: Make the ABI-stability hack
15106 greppable by using GST_PADDING-1+1.
15108 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
15110 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
15112 * gst/gstmessage.c: (gst_message_parse_clock_lost):
15113 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
15115 * gst/gstpadtemplate.h:
15116 * gst/gstpluginfeature.h:
15117 Don't use c++ style comments in headers (#321638).
15119 2005-11-16 Andy Wingo <wingo@pobox.com>
15121 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
15124 * check/net/gstnettimeprovider.c: Check to see that the time
15125 provider actually provides times. Works, yo!
15127 2005-11-16 Wim Taymans <wim@fluendo.com>
15129 * check/Makefile.am:
15132 * check/elements/fakesrc.c: (GST_START_TEST):
15133 Set element to NULL before disposing it.
15135 2005-11-16 Andy Wingo <wingo@pobox.com>
15137 * gst/net/Makefile.am:
15138 * gst/net/gstnet.h:
15139 * gst/net/gstnettimeprovider.c:
15140 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
15141 provider, include it from gstnet.h, and add it to the build.
15143 * gst/net/gstnettimepacket.h:
15144 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
15145 sending and receiving.
15147 2005-11-16 Wim Taymans <wim@fluendo.com>
15149 * check/Makefile.am:
15150 Enable valgrind check.
15152 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
15153 (gst_fake_src_alloc_buffer):
15156 2005-11-16 Wim Taymans <wim@fluendo.com>
15158 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
15159 Call parent finalize too.
15161 2005-11-16 Wim Taymans <wim@fluendo.com>
15163 * check/Makefile.am:
15164 Enable valgrind check that should work fine now.
15166 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15167 * gst/gstqueue.c: (gst_queue_init):
15168 Fix memleaks in pad allocation.
15170 2005-11-16 Andy Wingo <wingo@pobox.com>
15172 * gst/net/Makefile.am:
15173 * gst/net/gstnet.h: New part of core to hold network elements and
15174 objects. Put in core because it exposes API that applications want
15175 to use. The library is named libgstnet-tempname right now because
15176 of the existing libgstnet in gst-plugins-base. Solution is
15177 probably to rename the one in plugins-base; will file a bug for
15180 * gst/net/gstnettimeprovider.c:
15181 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
15182 get_time call over the network.
15185 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
15187 * check/Makefile.am:
15188 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
15189 get additions shortly.
15191 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15193 * gst/gstpad.c: (gst_pad_new_from_static_template):
15195 add gst_pad_new_from_static_template functions
15196 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
15197 (gst_check_setup_sink_pad):
15198 * gst/elements/gsttee.c: (gst_tee_init):
15201 2005-11-16 Wim Taymans <wim@fluendo.com>
15203 * gst/gstpad.c: (gst_pad_pause_task):
15204 Removed warning, it's not really an error either.
15206 2005-11-16 Wim Taymans <wim@fluendo.com>
15208 * gst/base/gstbasetransform.c:
15209 (gst_base_transform_prepare_output_buf),
15210 (gst_base_transform_event):
15211 Check if the caps are NULL, this can happen if the element
15212 is shutting down and the pad caps are set to NULL.
15214 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15216 * gst/elements/gsttee.c: (gst_tee_init):
15217 fix pad template leak in tee
15219 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15221 * gst/glib-compat.c: (g_value_dup_gst_object):
15222 * gst/glib-compat.h:
15223 * gst/gstpad.c: (gst_pad_set_property):
15224 use gst_object_ref when setting the pad template; this will
15225 trigger the pad template leaks on GLib 2.6 and the slaves
15227 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15229 * gst/glib-compat.c: (gst_flags_get_first_value):
15230 * gst/glib-compat.h:
15231 * gst/gstregistryxml.c:
15232 remove functions copied from GLib 2.6
15234 2005-11-16 Michael Smith <msmith@fluendo.com>
15237 Don't link against VALGRIND_LIBS. That was always the wrong thing to
15238 do, but only breaks with newer valgrind versions. We're not a
15239 valgrind tool, we have no link-time dependencies on libcoregrind.
15241 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15243 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15245 * gst/gstmessage.h:
15248 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
15250 * gst/base/gstbasesrc.c: (gst_base_src_init):
15251 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15252 * gst/gstqueue.c: (gst_queue_init):
15253 * gst/gstregistryxml.c: (load_feature):
15254 Revert all these unrefs, they don't even pass make check !
15256 2005-11-15 Johan Dahlin <johan@gnome.org>
15258 * gst/base/gstbasesrc.c: (gst_base_src_init):
15259 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15260 * gst/gstqueue.c: (gst_queue_init):
15261 Free pad templates, fixes a couple of leaks.
15263 2005-11-15 Daniel Fischer <dan at f3c dot com>
15265 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
15267 * gst/gstpad.c: (gst_pad_get_property):
15268 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
15269 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
15272 2005-11-15 Wim Taymans <wim@fluendo.com>
15277 2005-11-15 Andy Wingo <wingo@pobox.com>
15279 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
15281 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
15282 using GST_CLOCK_TIME_NONE to disable base time management.
15283 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
15284 time if it was NONE before.
15285 (gst_pipeline_change_state): Only munge the base time if
15286 stream_time != GST_CLOCK_TIME_NONE.
15288 * check/gst/gstpipeline.c (test_base_time): Punt around the
15289 problem of the probe not being called, because that's not the
15290 issue I'm looking at. Add a check that setting stream_time to NONE
15291 disables base time management.
15293 2005-11-15 Wim Taymans <wim@fluendo.com>
15295 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15296 segment_stop == -1 at startup.
15298 * gst/base/gstbasetransform.c: (gst_base_transform_event),
15299 (gst_base_transform_change_state):
15300 Init segment values at start.
15302 2005-11-15 Wim Taymans <wim@fluendo.com>
15304 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15305 0 segment values are 0 in any format.
15307 * gst/base/gstbasetransform.c: (gst_base_transform_event):
15308 * gst/base/gstbasetransform.h:
15309 Parse newsegment correctly in basetransform
15311 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15312 Sync to clock using updated segment values.
15314 2005-11-15 Andy Wingo <wingo@pobox.com>
15316 * check/gst/gstpipeline.c (test_base_time): Add check that the
15317 base time and stream time are reset correctly.
15319 2005-11-15 Wim Taymans <wim@fluendo.com>
15321 * docs/design/part-TODO.txt:
15322 Some more TODO items.
15324 2005-11-15 Andy Wingo <wingo@pobox.com>
15326 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
15327 error if the user selected "no clock" as the clocking method.
15329 * check/gst/gstpipeline.c (test_base_time): New test for buffer
15330 timestamps with live capture.
15332 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
15333 is 0 but we are a live source, timestamp the buffers using the
15336 2005-11-14 Stefan Kost <ensonic@users.sf.net>
15338 * docs/gst/gstreamer-sections.txt:
15340 * gst/gstghostpad.c:
15345 2005-11-14 Wim Taymans <wim@fluendo.com>
15348 add suppressions from Wim's Debian machine
15350 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
15353 add suppressions from Andy's AMD64 Ubuntu machine
15355 2005-11-14 Andy Wingo <wingo@pobox.com>
15357 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
15358 STATE_LOCK not necessary. Fixes #311489.
15360 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
15363 * gst/gstindex.c (gst_index_add_object): Note in the docs that
15364 this function is not implemented.
15366 2005-11-14 Julien MOUTTE <julien@moutte.net>
15368 * gst/base/gstbasetransform.c:
15369 (gst_base_transform_prepare_output_buf):
15370 Ref the source pad caps while we need them.
15373 2005-11-11 Wim Taymans <wim@fluendo.com>
15375 * docs/gst/gstreamer-sections.txt:
15376 Added some docs for GstCollectData.
15378 * gst/base/gstadapter.c:
15379 Some small code example fix.
15381 * gst/base/gstcollectpads.c:
15382 * gst/base/gstcollectpads.h:
15383 Document some more.
15385 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
15387 * configure.ac: back to HEAD
15389 === release 0.9.5 ===
15391 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
15394 releasing 0.9.5, "Bike Lunch Day"
15396 2005-11-11 Wim Taymans <wim@fluendo.com>
15398 * gst/gstbuffer.c: (_gst_buffer_copy):
15401 * gst/gstcaps.c: (gst_caps_is_equal):
15403 Make _is_equal fast in the trivial cases.
15405 * gst/gstminiobject.c:
15406 * gst/gstminiobject.h:
15407 More docs. Spifify .h file.
15412 2005-11-11 Wim Taymans <wim@fluendo.com>
15414 * gst/base/gstbasetransform.c:
15415 (gst_base_transform_prepare_output_buf),
15416 (gst_base_transform_handle_buffer):
15418 If we're processing a buffer and need to allocate an output
15419 buffer, we cannot accept a format change. If we did get a
15420 format change, we have to alloc a buffer ourselves of the
15423 2005-11-11 Wim Taymans <wim@fluendo.com>
15425 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
15426 While checking the flag for reentrancy in the gstcaps function
15427 is nice to detect recursive invocations, it also makes it
15428 impossible to call getcaps from multiple threads, which must be
15429 possible. So, checking for recursive calls has to go.
15431 2005-11-11 Michael Smith <msmith@fluendo.com>
15433 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15434 Don't sync on buffers that fall partially outside our current
15435 segment. Prevents an assertion failure/abort playing some files.
15437 2005-11-10 Andy Wingo <wingo@pobox.com>
15439 * check/gst/gstbin.c (test_message_state_changed_children): Style
15442 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
15443 gst_bus_poll with the signal watch. Ensures that poll and a signal
15444 watch see the same messages.
15446 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
15447 a poll and a watch at the same time get the same messages.
15449 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
15451 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
15452 * gst/gstcaps.c: (gst_caps_intersect):
15453 Don't call gst_caps_do_simplify - it doesn't respect order of caps
15454 and it's not needed.
15456 2005-11-10 Wim Taymans <wim@fluendo.com>
15458 * docs/design/part-TODO.txt:
15461 2005-11-10 Wim Taymans <wim@fluendo.com>
15463 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15464 * gst/base/gstbasesrc.c: (gst_base_src_wait),
15465 (gst_base_src_do_sync), (gst_base_src_get_range):
15466 Implement clock sync in base class.
15468 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
15470 patch by: Tim-Philipp Müller <tim at centricular dot net>
15472 * gst/gststructure.c: (gst_structure_parse_field),
15473 (gst_structure_from_string):
15474 Forward-port a 0.8 patch to handle escaped spaces in structure string,
15475 so that gst_parse_launch() can deal with spaces in filtered link
15476 caps (fixes #164479)
15477 * check/gst/capslist.h:
15478 * check/gst/gststructure.c: (GST_START_TEST):
15479 add unit tests for this change
15481 2005-11-10 Wim Taymans <wim@fluendo.com>
15483 * docs/gst/gstreamer-sections.txt:
15484 * gst/gstelement.c:
15485 * gst/gstelement.h:
15486 Fix docs, move some STATE macros to private.
15488 2005-11-10 Wim Taymans <wim@fluendo.com>
15490 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15491 Added check for bug #317341
15495 Some more spiffifying.
15497 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
15498 Call peer linkfunction if we are a source pad. Totally fixes
15502 Update docs, source pads should call the peer linkfunction
15503 so they can atomically perform the pad link.
15505 2005-11-09 Wim Taymans <wim@fluendo.com>
15509 Uber-spiffy-spiffify some more.
15511 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
15513 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
15514 * gst/elements/gstfilesink.c: (gst_file_sink_init):
15515 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15516 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
15517 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
15518 * gst/gstpad.c: (gst_pad_init):
15519 Use GST_DEBUG_FUNCPTR() more extensively.
15521 2005-11-09 Wim Taymans <wim@fluendo.com>
15523 * gst/gstobject.c: (gst_object_class_init):
15525 Documentation fixes.
15527 2005-11-09 Edward Hervey <edward@fluendo.com>
15529 * gst/gsttypefindfactory.c:
15532 2005-11-09 Edward Hervey <edward@fluendo.com>
15534 * gst/base/gsttypefindhelper.c:
15535 * gst/gsttypefind.c:
15536 * gst/gsttypefind.h:
15539 2005-11-09 Wim Taymans <wim@fluendo.com>
15541 * gst/gstiterator.c:
15548 2005-11-09 Wim Taymans <wim@fluendo.com>
15554 2005-11-09 Wim Taymans <wim@fluendo.com>
15556 * docs/gst/gstreamer-sections.txt:
15557 Moved the message async delivery private lock and cond
15558 to the private section.
15560 * gst/gstmessage.c:
15561 * gst/gstmessage.h:
15564 2005-11-09 Edward Hervey <edward@fluendo.com>
15566 * docs/gst/gstreamer-sections.txt:
15569 Document GstURIHandler
15571 2005-11-09 Wim Taymans <wim@fluendo.com>
15573 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
15574 (gst_iterator_find_custom):
15575 * gst/gstiterator.h:
15578 2005-11-09 Wim Taymans <wim@fluendo.com>
15581 Document another field.
15583 * gst/gststructure.c:
15584 * gst/gststructure.h:
15587 2005-11-09 Wim Taymans <wim@fluendo.com>
15590 Documented structs.
15592 2005-11-09 Wim Taymans <wim@fluendo.com>
15594 * docs/gst/gstreamer-sections.txt:
15595 Added some new macros.
15602 2005-11-09 Wim Taymans <wim@fluendo.com>
15604 * docs/design/part-TODO.txt:
15605 Some more items for the TODO
15611 2005-11-09 Andy Wingo <wingo@pobox.com>
15613 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
15614 to work on something else now tho...
15616 * gst/base/gstadapter.c: More adapter docs.
15618 * gst/elements/gstfilesink.c (gst_file_sink_start)
15619 (gst_file_sink_stop): New functions, replace the state change
15621 (gst_file_sink_class_init): Hook up the start and stop functions.
15622 (gst_file_sink_base_init): Don't set the state change handler any
15623 more. It was a bit ugly too, being set from here...
15624 (gst_file_sink_get_property, gst_file_sink_set_property):
15626 (gst_file_sink_set_location): More robust check that doesn't call
15627 GST_STATE. Ugggggg.
15629 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
15631 * gst/base/gstbasetransform.c: (gst_base_transform_event):
15632 Hold STREAM_LOCK while pushing newsegment or tag events as well.
15634 2005-11-08 Wim Taymans <wim@fluendo.com>
15636 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15637 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15638 (gst_base_sink_chain), (gst_base_sink_change_state):
15639 * gst/base/gstbasesink.h:
15640 * gst/base/gstbasesrc.h:
15641 * gst/gstelement.h:
15643 Avoid excessive typechecking in macros.
15645 * gst/gstminiobject.c: (gst_mini_object_get_type),
15646 (gst_mini_object_init), (gst_mini_object_new),
15647 (gst_mini_object_free):
15648 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15649 (gst_object_finalize):
15650 Remove cruft code, optimize alloc_trace.
15652 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
15654 * docs/faq/gst-uninstalled:
15655 fix up PS1 for systems that try to reset it
15657 2005-11-07 Wim Taymans <wim@fluendo.com>
15659 * gst/base/gstbasesrc.c: (gst_base_src_init),
15660 (gst_base_src_get_range):
15661 Set the segment_end to -1 initially. Fixed typefind.
15663 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
15665 * gst/base/gstadapter.c:
15666 Debug category should be 'adapter', not 'GstAdapter'.
15668 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
15669 (gst_collectpads_class_init), (gst_collectpads_init),
15670 (gst_collectpads_peek), (gst_collectpads_pop),
15671 (gst_collectpads_event), (gst_collectpads_chain):
15672 Add debug category and some debugging output. Use boilerplate
15673 macros. Remove some extraneous words from docs.
15675 2005-11-05 Andy Wingo <wingo@pobox.com>
15677 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
15680 2005-11-04 Stefan Kost <ensonic@users.sf.net>
15682 * docs/gst/gstreamer-sections.txt:
15685 * gst/gstminiobject.h:
15690 2005-11-04 Wim Taymans <wim@fluendo.com>
15692 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15693 Small update to stop at the configured segment_end
15696 2005-11-04 Stefan Kost <ensonic@users.sf.net>
15698 * gst/gstregistry.c:
15699 * gst/gstregistry.h:
15702 2005-11-04 Edward Hervey <edward@fluendo.com>
15704 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15705 Check if we are doing a segment seek and have arrived at the
15706 end of that segment.
15708 2005-11-04 Wim Taymans <wim@fluendo.com>
15710 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
15711 Don't leak a mutex unlock in case of an error.
15716 2005-11-04 Wim Taymans <wim@fluendo.com>
15718 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
15720 Get the context to wake up only once.
15722 2005-11-03 Wim Taymans <wim@fluendo.com>
15724 * check/states/sinks.c: (GST_START_TEST):
15725 Uncomment fixed check.
15727 * docs/design/part-TODO.txt:
15730 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15731 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15732 (gst_base_sink_get_position):
15733 If we are going to PLAYING, post the right pending state
15734 when we post the intermediate paused message.
15736 * gst/gstelement.c: (gst_element_continue_state),
15737 (gst_element_set_state_func), (gst_element_change_state):
15738 Don't post state changes that were between the same state
15739 and were not ASYNC.
15741 2005-11-03 Stefan Kost <ensonic@users.sf.net>
15743 * docs/gst/gstreamer-sections.txt:
15746 * gst/gstminiobject.h:
15749 more docs and doc style fixes
15751 2005-11-03 Stefan Kost <ensonic@users.sf.net>
15753 * docs/gst/gstreamer-sections.txt:
15754 * gst/gstelement.c:
15755 * gst/gstminiobject.c:
15758 2005-11-03 Andy Wingo <wingo@pobox.com>
15760 * check/states/sinks.c (test_livesrc_sink): Add checks that the
15761 state-changed messages actually have the right order and the right
15764 2005-11-03 Wim Taymans <wim@fluendo.com>
15766 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
15767 Added some more checks. Specifically the case where NO_PREROLL
15768 elements are in the pipeline.
15770 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
15771 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
15772 (gst_base_sink_get_position):
15773 Post READY->PAUSED state change messages too.
15774 Fix bug where VOID was posted as pending state...
15776 * gst/gstbin.c: (gst_bin_recalc_state):
15777 use _element_continue_state() to continue the state change.
15779 * gst/gstelement.c: (gst_element_continue_state),
15780 (gst_element_commit_state), (gst_element_set_state_func),
15781 (gst_element_change_state), (gst_element_change_state_func):
15782 Lots of state change cleanups, assign the STATE_RETURN in
15783 a new continue_state() function that also propagates the
15784 last return value from a state change to the app.
15785 Update some debug statements with proper category.
15787 2005-11-03 Wim Taymans <wim@fluendo.com>
15789 * docs/design/part-events.txt:
15790 * docs/design/part-gstpipeline.txt:
15791 * docs/design/part-messages.txt:
15792 * docs/design/part-overview.txt:
15793 * docs/design/part-seeking.txt:
15794 * docs/design/part-states.txt:
15795 * docs/design/part-trickmodes.txt:
15796 * docs/manual/advanced-position.xml:
15797 Small docs updates.
15800 People think !! is ugly, this looks better.
15802 * gst/gstpad.c: (gst_pad_set_blocked_async):
15803 Remove !! since it's fixed elsewhere now.
15805 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
15807 * gst/gstminiobject.h:
15809 Add !! to _FLAG_IS_SET macros to make the result boolean.
15811 2005-11-03 Edward Hervey <edward@fluendo.com>
15813 * gst/gstpad.c: (gst_pad_set_blocked_async):
15814 comparing a flag and a gboolean rarely returns coherent results...
15815 Added two characters (!!) to make that work correctly.
15817 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
15819 * gst/gstbus.c: (gst_bus_class_init):
15822 * gst/gstqueue.c: (gst_queue_loop):
15823 Don't assume a miniobject that isn't a buffer is an
15824 event (it could be that there is a refcounting
15825 problem somewhere and the pointer is stale and
15826 refers to an already destroyed miniobject).
15828 2005-11-03 Julien MOUTTE <julien@moutte.net>
15830 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
15832 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
15834 * docs/manual/advanced-position.xml:
15835 Update seek example and explanations to current 0.9 API.
15837 * gst/elements/gsttypefindelement.c:
15838 (gst_type_find_element_activate):
15839 Remove FIXME comment now that the found caps
15842 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
15844 * gst/gstregistryxml.c: (load_feature):
15845 Add another GST_STR_NULL instance
15847 2005-11-02 Edward Hervey <edward@fluendo.com>
15849 * gst/gstpad.c: (handle_pad_block):
15850 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
15852 2005-11-02 Wim Taymans <wim@fluendo.com>
15857 * gst/gstelement.c: (gst_element_commit_state):
15858 Remove unused value.
15860 * gst/gstiterator.c:
15861 Mention that the returned element is reffed in the docs.
15863 2005-11-02 Wim Taymans <wim@fluendo.com>
15865 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
15866 (gst_pad_push), (gst_pad_push_event):
15867 Unlock blocked pads when they are flushed.
15869 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
15872 * docs/gst/gstreamer-sections.txt:
15875 * gst/gstregistry.c: (gst_registry_scan_path_level):
15876 fix for a nasty little missed situation where an installed plug-in
15877 which was in the cache did not get overridden by an uninstalled one
15878 which was earlier in the plugin path because the newly created plugin
15879 for the uninstalled one (not in the registry) didn't get its
15880 ->registered set to TRUE
15882 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
15884 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
15885 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
15886 (gst_collectpads_is_active), (gst_collectpads_collect),
15887 (gst_collectpads_collect_range), (gst_collectpads_start),
15888 (gst_collectpads_stop), (gst_collectpads_peek),
15889 (gst_collectpads_pop), (gst_collectpads_available),
15890 (gst_collectpads_read), (gst_collectpads_flush):
15891 Guard public API with assertions.
15894 Fix docs for gst_pad_set_link_function().
15896 2005-11-02 Johan Dahlin <johan@gnome.org>
15898 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
15899 Unref found_caps after we used it.
15901 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
15903 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
15904 Don't try to ref NULL.
15906 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
15908 * win32/common/config.h.in:
15909 provide a GST_FUNCTION that just gives a string for now
15911 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
15913 * win32/common/gstenumtypes.c: (register_gst_object_flags),
15914 (gst_object_flags_get_type), (register_gst_bin_flags),
15915 (gst_bin_flags_get_type), (register_gst_buffer_flag),
15916 (gst_buffer_flag_get_type), (register_gst_bus_flags),
15917 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15918 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
15919 (gst_clock_return_get_type), (register_gst_clock_entry_type),
15920 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15921 (gst_clock_flags_get_type), (register_gst_state),
15922 (gst_state_get_type), (register_gst_state_change_return),
15923 (gst_state_change_return_get_type), (register_gst_state_change),
15924 (gst_state_change_get_type), (register_gst_element_flags),
15925 (gst_element_flags_get_type), (register_gst_core_error),
15926 (gst_core_error_get_type), (register_gst_library_error),
15927 (gst_library_error_get_type), (register_gst_resource_error),
15928 (gst_resource_error_get_type), (register_gst_stream_error),
15929 (gst_stream_error_get_type), (register_gst_event_type),
15930 (gst_event_type_get_type), (register_gst_seek_type),
15931 (gst_seek_type_get_type), (register_gst_seek_flags),
15932 (gst_seek_flags_get_type), (register_gst_format),
15933 (gst_format_get_type), (register_gst_index_certainty),
15934 (gst_index_certainty_get_type), (register_gst_index_entry_type),
15935 (gst_index_entry_type_get_type),
15936 (register_gst_index_lookup_method),
15937 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15938 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15939 (gst_index_resolver_method_get_type), (register_gst_index_flags),
15940 (gst_index_flags_get_type), (register_gst_debug_level),
15941 (gst_debug_level_get_type), (register_gst_debug_color_flags),
15942 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15943 (gst_iterator_result_get_type), (register_gst_iterator_item),
15944 (gst_iterator_item_get_type), (register_gst_message_type),
15945 (gst_message_type_get_type), (register_gst_mini_object_flags),
15946 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15947 (gst_pad_link_return_get_type), (register_gst_flow_return),
15948 (gst_flow_return_get_type), (register_gst_activate_mode),
15949 (gst_activate_mode_get_type), (register_gst_pad_direction),
15950 (gst_pad_direction_get_type), (register_gst_pad_flags),
15951 (gst_pad_flags_get_type), (register_gst_pad_presence),
15952 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15953 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15954 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15955 (gst_plugin_error_get_type), (register_gst_plugin_flags),
15956 (gst_plugin_flags_get_type), (register_gst_rank),
15957 (gst_rank_get_type), (register_gst_query_type),
15958 (gst_query_type_get_type), (register_gst_tag_merge_mode),
15959 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15960 (gst_tag_flag_get_type), (register_gst_task_state),
15961 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15962 (gst_alloc_trace_flags_get_type),
15963 (register_gst_type_find_probability),
15964 (gst_type_find_probability_get_type), (register_gst_uri_type),
15965 (gst_uri_type_get_type), (register_gst_parse_error),
15966 (gst_parse_error_get_type):
15967 * win32/common/gstversion.h:
15968 update win32 copies
15970 2005-11-01 Luca Ognibene <luogni@tin.it>
15973 fix docs. popt is dead, long live GOption.
15975 2005-10-31 Wim Taymans <wim@fluendo.com>
15980 2005-10-31 Andy Wingo <wingo@pobox.com>
15984 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
15986 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
15987 need to serialize property notifications on GLib 2.8. GLib 2.6 has
15988 the possibility of deadlocks here if code calling notify() or
15989 set() has a lock that can be taken in another notify handler (ABBA
15990 with class lock and e.g. python GIL state lock).
15992 2005-10-28 Julien MOUTTE <julien@moutte.net>
15994 * gst/gstbus.c: Doc updates.
15996 2005-10-28 Wim Taymans <wim@fluendo.com>
15998 * docs/design/part-TODO.txt:
15999 * gst/gstiterator.c:
16000 * gst/gstsystemclock.c:
16001 * gst/gstsystemclock.h:
16004 2005-10-28 Edward Hervey <edward@fluendo.com>
16006 * docs/gst/gstreamer-docs.sgml:
16007 * docs/gst/gstreamer-sections.txt:
16008 the GstURIType documentation page is private, it only defines GstURIType
16009 which should be defined in the GstURIHandler page
16011 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
16013 * gst/gstbin.c: (gst_bin_class_init):
16016 Documentation updates.
16018 2005-10-28 Wim Taymans <wim@fluendo.com>
16020 * docs/gst/gstreamer-sections.txt:
16023 Documented the clocks.
16025 2005-10-28 Stefan Kost <ensonic@users.sf.net>
16027 * docs/gst/gstreamer-sections.txt:
16028 move some macros to private sections
16029 * gst/gstminiobject.c:
16030 * gst/gstminiobject.h:
16031 add descriptions provided by ds and some more
16033 mark macro as to be removed
16035 2005-10-28 Wim Taymans <wim@fluendo.com>
16037 * docs/design/part-TODO.txt:
16038 Add an item to TODO.
16040 * gst/gstiterator.c: (gst_iterator_fold),
16041 (gst_iterator_find_custom):
16042 * gst/gstiterator.h:
16045 2005-10-28 Wim Taymans <wim@fluendo.com>
16047 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16048 (gst_base_transform_init):
16051 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
16052 An EOS event marks the queue as completely filled.
16054 2005-10-27 Wim Taymans <wim@fluendo.com>
16056 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16057 (gst_base_sink_do_sync), (gst_base_sink_get_position):
16058 Some more debugging.
16060 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
16061 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
16062 (gst_base_transform_event), (gst_base_transform_getrange),
16063 (gst_base_transform_chain):
16064 * gst/base/gstbasetransform.h:
16066 Protect transform and concurrent buffer alloc with a new lock.
16067 Try not to break ABI/API.
16069 2005-10-27 Wim Taymans <wim@fluendo.com>
16071 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16072 (gst_base_src_init), (gst_base_src_query),
16073 (gst_base_src_default_newsegment),
16074 (gst_base_src_configure_segment), (gst_base_src_do_seek),
16075 (gst_base_src_send_event), (gst_base_src_event_handler),
16076 (gst_base_src_pad_get_range), (gst_base_src_loop),
16077 (gst_base_src_unlock), (gst_base_src_default_negotiate),
16078 (gst_base_src_start), (gst_base_src_deactivate),
16079 (gst_base_src_activate_push), (gst_base_src_change_state):
16080 Move some stuff around and cleanup things.
16082 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
16084 * gst/base/gstbasesrc.c: (gst_base_src_query):
16085 Add missing break statements.
16087 2005-10-27 Wim Taymans <wim@fluendo.com>
16089 * check/gst/gstbin.c: (GST_START_TEST):
16090 An extra refcount is taken in basesrc.
16092 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16093 (gst_base_src_get_range), (gst_base_src_pad_get_range),
16094 (gst_base_src_loop):
16095 Small cleanups, check for flushing after being unlocked from the
16096 LIVE_LOCK. take refcounts correctly (not yet everywhere).
16097 Don't send out EOS when going to READY.
16099 2005-10-27 Wim Taymans <wim@fluendo.com>
16101 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16102 (gst_base_sink_get_position):
16105 * gst/gstbin.c: (message_check), (bin_replace_message),
16106 (bin_remove_messages), (is_eos), (gst_bin_add_func),
16107 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16108 (bin_query_duration_init), (bin_query_duration_fold),
16109 (bin_query_duration_done), (bin_query_generic_fold),
16111 * tools/gst-launch.c: (main):
16114 2005-10-26 Stefan Kost <ensonic@users.sf.net>
16116 * examples/controller/audio-example.c: (main):
16117 * examples/queue/queue.c: (event_loop):
16118 * gst/base/gstbasetransform.h:
16119 * gst/gstelement.c: (gst_element_send_event):
16121 * gst/gstpad.c: (gst_pad_send_event):
16124 changing log priority in error situations
16126 2005-10-25 Wim Taymans <wim@fluendo.com>
16128 * gst/gstbin.c: (message_check), (bin_replace_message),
16129 (bin_remove_messages), (is_eos), (gst_bin_add_func),
16130 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16131 (bin_query_duration_init), (bin_query_duration_fold),
16132 (bin_query_duration_done), (bin_query_generic_fold),
16134 Some doc and debug updates.
16135 Cache previously requested query DURATION for speed. invalidate
16136 cached duration if element posts a DURATION message.
16138 2005-10-25 Wim Taymans <wim@fluendo.com>
16140 * docs/design/part-TODO.txt:
16143 * gst/gstbin.c: (message_check), (bin_replace_message),
16144 (bin_remove_messages), (is_eos), (gst_bin_add_func),
16145 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16146 (bin_query_duration_init), (bin_query_duration_fold),
16147 (bin_query_duration_done), (bin_query_generic_fold),
16149 Handle SEGMENT_START/DONE messages correctly.
16150 More evolved query algorithm that handles duration queries
16153 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
16154 (gst_element_get_state_func), (gst_element_abort_state),
16155 (gst_element_commit_state), (gst_element_lost_state):
16156 Some more debugging.
16158 * gst/gstmessage.h:
16161 2005-10-25 Wim Taymans <wim@fluendo.com>
16163 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16164 Don't use invalid stream_time.
16166 * gst/gstevent.c: (gst_event_new_newsegment):
16167 stream_time in newsegment cannot be undefined.
16169 2005-10-24 Wim Taymans <wim@fluendo.com>
16174 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16176 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
16178 2005-10-24 Stefan Kost <ensonic@users.sf.net>
16180 * docs/libs/tmpl/gstdparam.sgml:
16181 * docs/libs/tmpl/gstdplinint.sgml:
16182 * docs/libs/tmpl/gstdpman.sgml:
16183 * docs/libs/tmpl/gstdpsmooth.sgml:
16184 * docs/libs/tmpl/gstunitconvert.sgml:
16187 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
16192 === release 0.9.4 ===
16194 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
16197 releasing 0.9.4, "Tyrannosaurus Rex"
16199 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
16201 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16202 (gst_file_sink_get_current_offset):
16203 Use fseeko() and ftello() if available. When falling back on
16204 lseek() to get the current offset, fflush() first to make sure
16205 everything is up-to-date and we get the right offset.
16207 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
16209 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16210 * gst/base/gstbasesrc.c: (gst_base_src_loop):
16211 * gst/gsterror.c: (_gst_stream_errors_init):
16213 * gst/gstqueue.c: (gst_queue_loop):
16215 remove prematurely added error category and clean up the instances
16217 2005-10-21 Wim Taymans <wim@fluendo.com>
16219 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16220 (gst_base_sink_get_position), (gst_base_sink_query),
16221 (gst_base_sink_change_state):
16222 Simply set the right flag when going to playing, that's all
16223 we need to do instead of calling a function inside the object
16224 lock (that could take the lock as well and deadlock)
16226 2005-10-21 Wim Taymans <wim@fluendo.com>
16228 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
16229 (gst_base_src_loop):
16230 Don't warn, the peer element knows what to do best when
16231 the seek failed, it might try something else.
16233 2005-10-21 Wim Taymans <wim@fluendo.com>
16235 * gst/base/gstbasesrc.c: (gst_base_src_init),
16236 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
16239 2005-10-21 Wim Taymans <wim@fluendo.com>
16241 * docs/design/part-segments.txt:
16244 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16245 Correctly set caps, even on the subbufer.
16247 2005-10-21 Wim Taymans <wim@fluendo.com>
16249 * docs/gst/gstreamer-docs.sgml:
16250 * docs/gst/gstreamer-sections.txt:
16251 * gst/gstelement.h:
16254 * gst/gstmessage.h:
16257 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
16261 And 2% more doc coverage.
16263 2005-10-21 Andy Wingo <wingo@pobox.com>
16265 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
16266 position reporting.
16268 2005-10-20 Wim Taymans <wim@fluendo.com>
16270 * gst/gsterror.c: (gst_error_get_message):
16273 * gst/gststructure.c:
16278 2005-10-20 Wim Taymans <wim@fluendo.com>
16283 Another 1% more coverage.
16285 2005-10-20 Wim Taymans <wim@fluendo.com>
16287 * docs/gst/gstreamer-sections.txt:
16288 * gst/gstelement.c: (gst_element_get_state_func),
16289 (gst_element_abort_state), (gst_element_commit_state),
16290 (gst_element_lost_state):
16292 * gst/gstquery.c: (gst_query_set_position),
16293 (gst_query_parse_position), (gst_query_set_duration),
16294 (gst_query_parse_duration), (gst_query_new_convert):
16296 Yay! 1% more docs coverage.
16298 2005-10-20 Wim Taymans <wim@fluendo.com>
16301 * gst/gstquery.c: (gst_query_set_position),
16302 (gst_query_parse_position), (gst_query_set_duration),
16303 (gst_query_parse_duration), (gst_query_new_convert):
16305 * gst/gstutils.c: (gst_element_query_convert):
16307 Docs and consistency fixes.
16309 2005-10-20 Wim Taymans <wim@fluendo.com>
16315 2005-10-20 Wim Taymans <wim@fluendo.com>
16317 * gst/gstbin.c: (message_check), (bin_replace_message),
16318 (bin_remove_messages), (is_eos), (gst_bin_add_func),
16319 (update_degree), (gst_bin_sort_iterator_next),
16320 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
16321 Reworked the message handling a bit, cache the messages instead of
16322 only the senders. alows us to do more in the future.
16324 2005-10-20 Wim Taymans <wim@fluendo.com>
16326 * docs/design/part-TODO.txt:
16329 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16330 (gst_base_sink_query):
16331 Don't use clock time to report position when in EOS.
16333 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
16335 * tools/gst-inspect.c: (print_interfaces),
16336 (print_element_properties_info), (print_element_info):
16337 Fix interface output with gst-inspect -a; don't print
16338 newlines after double/float properties.
16340 2005-10-20 Wim Taymans <wim@fluendo.com>
16342 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
16343 (gst_base_sink_query):
16344 Speed up current position calculation.
16346 * gst/base/gstbasesrc.c: (gst_base_src_query),
16347 (gst_base_src_default_newsegment):
16348 Correctly set stream position in newsegment.
16350 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
16351 (update_degree), (gst_bin_sort_iterator_next),
16352 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
16353 * gst/gstmessage.c: (gst_message_new_custom):
16354 Clean up debugging info
16356 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
16357 (gst_queue_loop), (gst_queue_handle_src_query):
16360 2005-10-19 Wim Taymans <wim@fluendo.com>
16362 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16363 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16364 Fix query handling again.
16366 2005-10-19 Wim Taymans <wim@fluendo.com>
16368 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16369 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
16370 * gst/base/gstbasesrc.c: (gst_base_src_query):
16371 * gst/elements/gstfilesink.c: (gst_file_sink_query):
16372 * gst/elements/gsttypefindelement.c:
16373 (gst_type_find_handle_src_query), (find_element_get_length),
16374 (gst_type_find_element_activate):
16377 * gst/gstquery.c: (gst_query_new_position),
16378 (gst_query_set_position), (gst_query_parse_position),
16379 (gst_query_new_duration), (gst_query_set_duration),
16380 (gst_query_parse_duration), (gst_query_set_segment),
16381 (gst_query_parse_segment):
16383 Bundling query position/duration is not a good idea since duration
16384 does not change much and we don't want to recalculate it for every
16385 position query, so they are separated again..
16386 Base value in segment query is not needed.
16388 * gst/gstqueue.c: (gst_queue_handle_src_query):
16389 * gst/gstutils.c: (gst_element_query_position),
16390 (gst_element_query_duration), (gst_pad_query_position),
16391 (gst_pad_query_duration):
16393 Updates for query API change.
16394 Added some docs here and there.
16396 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
16398 * check/gst/gstbin.c: (GST_START_TEST):
16399 * check/gst/gstghostpad.c: (GST_START_TEST):
16400 * check/pipelines/cleanup.c: (GST_START_TEST):
16401 wait on thread to die so we can check refcount correctly
16403 2005-10-18 Wim Taymans <wim@fluendo.com>
16405 * check/pipelines/stress.c: (GST_START_TEST):
16406 Make check a little more time consuming.
16408 2005-10-18 Wim Taymans <wim@fluendo.com>
16410 * check/Makefile.am:
16411 * check/pipelines/stress.c: (GST_START_TEST),
16412 (simple_launch_lines_suite), (main):
16413 Small state change torture test.
16415 * docs/design/part-states.txt:
16416 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16417 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
16418 (gst_base_sink_change_state):
16419 Never take state lock from streaming thread, clean up ugly
16420 hacks. Unfortunatly core does not yet support nice ways to
16421 async commit state.
16423 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
16425 Start state recalc if a STATE_DIRTY message is posted, but only
16426 on the toplevel bin.
16428 * gst/gstelement.c: (gst_element_sync_state_with_parent),
16429 (gst_element_get_state_func), (gst_element_abort_state),
16430 (gst_element_commit_state), (gst_element_lost_state),
16431 (gst_element_set_state_func), (gst_element_change_state):
16432 * gst/gstelement.h:
16433 State variables are now protected with the LOCK, the state
16434 lock is only used to serialize _set_state().
16436 2005-10-18 Wim Taymans <wim@fluendo.com>
16438 * check/gst/gstbin.c: (GST_START_TEST):
16439 * check/gst/gstmessage.c: (GST_START_TEST):
16440 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16441 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
16443 * gst/gstelement.c: (gst_element_abort_state),
16444 (gst_element_commit_state), (gst_element_lost_state):
16445 * gst/gstmessage.c: (gst_message_new_state_changed),
16446 (gst_message_new_state_dirty), (gst_message_new_segment_start),
16447 (gst_message_new_segment_done), (gst_message_new_duration),
16448 (gst_message_parse_state_changed),
16449 (gst_message_parse_segment_start),
16450 (gst_message_parse_segment_done), (gst_message_parse_duration):
16451 * gst/gstmessage.h:
16452 * tools/gst-launch.c: (event_loop):
16453 Seriously, this is better than a previous commit as we only need
16454 to notify the fact that an element changed state in a streaming
16455 thread, marking the state of the parents dirty, hence the
16456 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
16459 2005-10-18 Wim Taymans <wim@fluendo.com>
16461 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
16462 (gst_bin_recalc_func):
16463 * gst/gstelement.c: (gst_element_set_clock),
16464 (gst_element_abort_state), (gst_element_lost_state):
16465 Cleanups, prepare for state change fixes.
16467 2005-10-18 Wim Taymans <wim@fluendo.com>
16470 * gst/gstelement.c: (gst_element_class_init),
16471 (gst_element_set_state), (gst_element_set_state_func):
16472 * gst/gstelement.h:
16473 Pending ABI changes.
16474 GThreadPool in GstBinClass to monitor async state changes.
16475 state_cookie in GstElement to detect concurrent gst/set state.
16476 set_state is now virtual too in case a very complicated element
16477 has to be constructed.
16479 2005-10-18 Wim Taymans <wim@fluendo.com>
16481 * check/gst/gstbin.c: (GST_START_TEST):
16482 * check/gst/gstmessage.c: (GST_START_TEST):
16483 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
16484 * gst/gstbin.c: (bin_bus_handler):
16485 * gst/gstelement.c: (gst_element_commit_state),
16486 (gst_element_lost_state):
16487 * gst/gstmessage.c: (gst_message_new_state_changed),
16488 (gst_message_new_segment_start), (gst_message_new_segment_done),
16489 (gst_message_new_duration), (gst_message_parse_state_changed),
16490 (gst_message_parse_segment_start),
16491 (gst_message_parse_segment_done), (gst_message_parse_duration):
16492 * gst/gstmessage.h:
16493 * tools/gst-launch.c: (event_loop):
16494 Make messages future proof.
16495 state-change gets a flag if it was a message comming from the
16497 segment-start/stop can also be specified in other formats.
16498 A message to notify an app that a pipeline changed playback
16500 Also fix a GstMessage leak in -launch
16502 2005-10-18 Andy Wingo <wingo@pobox.com>
16504 * gst/gstelement.c (gst_element_dispose): More helpful message.
16506 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
16508 reviewed by: <delete if not using a buddy>
16510 * common/gtk-doc.mak:
16512 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
16514 * gst/gstregistry.c: (gst_registry_scan_path_level):
16515 unref a plug-in we get that was already initialized
16517 2005-10-18 Stefan Kost <ensonic@users.sf.net>
16519 * docs/gst/gstreamer-sections.txt:
16520 * docs/libs/gstreamer-libs-sections.txt:
16521 * gst/gstelement.h:
16522 add new api entries
16523 hide internal macro
16525 2005-10-17 Andy Wingo <wingo@pobox.com>
16527 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
16530 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
16532 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
16534 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
16535 (gst_element_get_state_func): Better debug message.
16536 (gst_element_commit_state): s/INFO/DEBUG/.
16537 (gst_element_lost_state, gst_element_change_state):
16539 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
16540 (gst_message_new_custom): s/INFO/LOG/.
16542 2005-10-17 Michael Smith <msmith@fluendo.com>
16544 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16545 Check if end time is valid using end time, not start time.
16547 2005-10-17 Stefan Kost <ensonic@users.sf.net>
16549 * check/gst-libs/controller.c: (GST_START_TEST),
16550 (gst_controller_suite):
16551 * libs/gst/controller/gstcontroller.c:
16552 (gst_controlled_property_set_interpolation_mode):
16553 * libs/gst/controller/gstcontroller.h:
16554 * libs/gst/controller/gstinterpolation.c:
16555 * testsuite/controller/.cvsignore:
16556 * testsuite/controller/Makefile.am:
16557 * testsuite/controller/interpolator.c:
16558 merge controller testsuites
16560 remove mem-chunk from docs
16562 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
16564 * gst/gstmemchunk.c:
16565 * gst/gstmemchunk.h:
16566 * gst/gsttrashstack.c:
16567 * gst/gsttrashstack.h:
16568 out. get out. you're fired. to the Attic !
16570 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
16572 * gst/gstcaps.c: (gst_caps_intersect):
16573 fix signedness issues in a (hopefully) correct way
16574 * gst/gstelement.c: (gst_element_pads_activate):
16576 * gst/gstobject.c: (gst_object_set_parent):
16579 2005-10-17 Julien MOUTTE <julien@moutte.net>
16581 * gst/gstvalue.h: Fix prototypes.
16583 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16585 * docs/gst/gstreamer-sections.txt:
16586 * gst/gst.c: (gst_version_string):
16588 * gst/gstversion.h.in:
16589 * win32/common/libgstreamer.def:
16590 add gst_version_string ()
16592 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16596 * gst/gst.c: (init_post):
16597 * win32/common/config.h.in:
16599 * gst/gstcaps.c: (gst_caps_intersect):
16600 use gint64, the range could be bigger than a guint
16602 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16605 document potential problem in 2038
16607 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16609 * gst/gstcaps.c: (gst_caps_intersect):
16610 Fix guint j diving under 0
16612 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16615 * win32/common/config.h:
16616 * win32/common/config.h.in:
16617 check for process.h, declares getpid() on Windows
16619 include process.h if we have it
16620 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
16621 * gst/gstmemchunk.h:
16622 fix signedness issues
16623 * win32/common/libgstreamer.def:
16626 2005-10-16 Julien MOUTTE <julien@moutte.net>
16628 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
16629 fix. Because of unsigned ints, caps intersection was going nuts and
16630 trying to access structures with G_MAXUINT index. That fixes
16631 videotestsrc ! ffmpegcolorspace ! fakesink
16632 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
16635 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16638 use the gettext macro
16639 * gst/elements/gstelements.c:
16641 * gst/indexers/gstindexers.c:
16642 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
16643 * win32/common/config.h:
16645 * win32/common/config.h.in:
16646 add the template to generate config.h
16647 * win32/common/gstenumtypes.c:
16648 * win32/common/gstversion.h:
16651 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
16653 * gst/gst.c: (gst_version):
16654 * gst/gstversion.h.in:
16657 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
16660 Oops, add missing closing bracket.
16662 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16665 use common m4's for argument checking
16667 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
16669 * docs/gst/gstreamer-sections.txt:
16671 Add GST_EVENT_TYPE_NAME() macro.
16673 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16676 * gst/gstpluginfeature.c:
16678 privatize more symbols
16680 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16683 add srcdir, builddir includes to GST_ALL_CFLAGS, since
16684 everything that uses GStreamer API should have the includes
16686 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16688 * docs/gst/gstreamer-sections.txt:
16689 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
16691 give each value a _get_type, removes the DATA exports
16693 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16697 remove _gst_registry_auto_load, not used anymore
16698 * gst/gstbin.c: (gst_bin_get_type):
16700 * gst/gstelement.c: (gst_element_get_type):
16701 * gst/gstelement.h:
16702 * gst/gstobject.c: (gst_object_get_type):
16704 * gst/gstpad.c: (gst_pad_get_type):
16706 make _get_type functions similar, fixes data export from library
16708 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16711 correctly make conditionals
16712 * gst/elements/Makefile.am:
16713 * gst/elements/gstelements.c:
16714 fix typo causing fdsrc not to build
16716 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16718 * testsuite/Makefile.am:
16719 * testsuite/bytestream/.cvsignore:
16720 * testsuite/bytestream/Makefile.am:
16721 * testsuite/bytestream/filepadsink.c:
16722 * testsuite/bytestream/gstbstest.c:
16723 * testsuite/bytestream/test1.c:
16724 * testsuite/bytestream/testfile1:
16725 * testsuite/caps/normalisation.c:
16726 * testsuite/caps/random.c: (main):
16727 * testsuite/cleanup/.cvsignore:
16728 * testsuite/cleanup/Makefile.am:
16729 * testsuite/cleanup/cleanup1.c:
16730 * testsuite/cleanup/cleanup2.c:
16731 * testsuite/cleanup/cleanup3.c:
16732 * testsuite/cleanup/cleanup4.c:
16733 * testsuite/cleanup/cleanup5.c:
16734 * testsuite/controller/interpolator.c:
16735 * testsuite/debug/printf_extension.c: (main):
16736 * testsuite/elements/tee.c:
16737 * testsuite/negotiation/.cvsignore:
16738 * testsuite/negotiation/Makefile.am:
16739 * testsuite/negotiation/pad_link.c:
16740 * testsuite/pad/Makefile.am:
16741 * testsuite/pad/chainnopull.c:
16742 * testsuite/pad/getnopush.c:
16743 * testsuite/pad/link.c:
16744 * testsuite/refcounting/sched.c: (create_pipeline):
16745 * testsuite/registry/Makefile.am:
16746 * testsuite/registry/gst-print-formats.c:
16747 * testsuite/schedulers/.cvsignore:
16748 * testsuite/schedulers/142183-2.c:
16749 * testsuite/schedulers/142183.c:
16750 * testsuite/schedulers/143777-2.c:
16751 * testsuite/schedulers/143777.c:
16752 * testsuite/schedulers/147713.c:
16753 * testsuite/schedulers/147819.c:
16754 * testsuite/schedulers/147894-2.c:
16755 * testsuite/schedulers/147894.c:
16756 * testsuite/schedulers/Makefile.am:
16757 * testsuite/schedulers/group_link.c:
16758 * testsuite/schedulers/queue_link.c:
16759 * testsuite/schedulers/relink.c:
16760 * testsuite/schedulers/unlink.c:
16761 * testsuite/schedulers/unref.c:
16762 * testsuite/schedulers/useless_iteration.c:
16763 * testsuite/states/bin.c:
16764 clean out/remove some stuff from the testsuite directories
16766 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16769 check for some headers
16770 * gst/elements/Makefile.am:
16771 * gst/elements/gstelements.c:
16772 don't compile fdsrc without sys/socket.h
16773 * gst/indexers/Makefile.am:
16774 * gst/indexers/gstindexers.c: (plugin_init):
16775 don't compile fileindex without mmap
16777 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
16784 * check/Makefile.am:
16785 * docs/gst/Makefile.am:
16786 * examples/helloworld/Makefile.am:
16788 * gst/base/Makefile.am:
16789 * gst/check/Makefile.am:
16790 * gst/elements/Makefile.am:
16791 * gst/indexers/Makefile.am:
16792 * gst/parse/Makefile.am:
16793 * libs/gst/controller/Makefile.am:
16794 * libs/gst/dataprotocol/Makefile.am:
16795 * examples/helloworld/helloworld.c: (event_loop):
16796 compile fixes, though it's not being compiled currently
16798 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
16800 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
16801 Add some simple tests for the new taglist date API.
16803 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
16805 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
16806 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
16807 Beautify 'last-message' output: print 'none' for buffer timestamps
16808 and durations if none is set; improve alignment with next messages.
16810 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
16812 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
16813 * gst/gstpluginfeature.h:
16814 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
16815 * gst/gstregistry.h:
16816 * docs/gst/gstreamer-sections.txt:
16817 Add new API to check plugin feature version requirements.
16819 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
16820 Some basic tests for the above.
16822 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
16824 * gst/gststructure.c: (gst_structure_to_string):
16825 guard against NULL printf - happens when for example
16826 a message structure with GstClock gets serialized
16828 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
16830 * gst/base/gstcollectpads.c: (gst_collectpads_event):
16831 Fix presumable copy'n'pasto.
16833 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
16835 * gst/elements/gstfakesrc.h:
16836 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
16837 * gst/elements/gsttypefindelement.c:
16838 fix some signedness
16839 * gst/elements/gstfilesink.c: (gst_file_sink_render):
16840 I wonder if this could actually write +2GB files before
16842 2005-10-13 Andy Wingo <wingo@pobox.com>
16844 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
16845 Fix Timmeke Waymans bug.
16846 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
16847 string of the proper length to gst_caps_from_string. There's a
16848 potential for, before this fix, that this could cause someone
16849 connecting over the network to cause a segfault if the payload is
16850 not NUL-terminated.
16852 2005-10-13 Stefan Kost <ensonic@users.sf.net>
16854 * docs/design/draft-push-pull.txt:
16855 * docs/design/part-overview.txt:
16856 * docs/random/TODO-pre-0.9:
16857 * docs/random/old/ChangeLog.gstreamer:
16858 * gst/base/gstpushsrc.c:
16862 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
16864 * gst/glib-compat.c: (gst_flags_get_first_value):
16865 * gst/glib-compat.h:
16866 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
16867 (gst_value_compare_double), (gst_value_serialize_flags):
16868 GLib 2.6 g_flags_get_first_value has a bug that triggers an
16871 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
16873 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16874 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16876 * tools/gst-launch.c: (event_loop):
16877 print out clock nicely
16879 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
16881 * docs/gst/gstreamer-sections.txt:
16882 * gst/gsttaglist.h:
16883 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
16884 (gst_tag_list_get_date_index):
16885 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
16886 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
16888 2005-10-13 Julien MOUTTE <julien@moutte.net>
16890 * gst/base/gstcollectpads.c: (gst_collectpads_event),
16891 (gst_collectpads_chain):
16892 * gst/base/gstcollectpads.h: Handle newsegment and store informations
16895 2005-10-13 Stefan Kost <ensonic@users.sf.net>
16897 * docs/gst/gstreamer-sections.txt:
16900 * tools/gst-inspect.c: (main):
16901 * tools/gst-launch.c: (main):
16902 * tools/gst-run.c: (main):
16903 * tools/gst-xmlinspect.c: (main):
16904 fix GOption context leaks
16907 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
16911 * win32/common/config.h:
16913 * win32/vs6/grammar.dsp:
16914 * win32/vs6/libgstelements.dsp:
16915 * win32/vs6/libgstreamer.dsp:
16918 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
16920 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16921 * gst/base/gstbasesrc.c: (gst_base_src_query):
16922 fix more guint64<->gdouble conversions
16924 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
16927 add win32-update target
16928 * win32/common/gstconfig.h:
16929 * win32/common/gstenumtypes.c:
16930 * win32/common/gstenumtypes.h:
16931 * win32/common/gstversion.h:
16932 add files that visual studio can't generate
16934 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
16937 add a win32-update target
16940 2005-10-12 Wim Taymans <wim@fluendo.com>
16942 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16943 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
16944 * gst/gstelement.c: (gst_element_commit_state),
16945 (gst_element_set_state):
16946 Protect flags with proper lock.
16947 unref provided cached clock in dispose.
16949 2005-10-12 Stefan Kost <ensonic@users.sf.net>
16952 * gst/gstminiobject.h:
16954 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
16955 removed unused flags from miniobject
16958 2005-10-12 Wim Taymans <wim@fluendo.com>
16960 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
16961 (gst_file_sink_event), (gst_file_sink_render):
16962 Flush before seeking.
16964 2005-10-12 Andy Wingo <wingo@pobox.com>
16966 * gst/gst.c (gst_init_check): Ignore unknown options, as has
16967 always been the case.
16969 2005-10-12 Stefan Kost <ensonic@users.sf.net>
16971 * check/gst/gstbin.c: (GST_START_TEST):
16972 * docs/gst/gstreamer-sections.txt:
16973 * gst/base/gstbasesink.c: (gst_base_sink_init):
16974 * gst/base/gstbasesrc.c: (gst_base_src_init),
16975 (gst_base_src_get_range), (gst_base_src_check_get_range),
16976 (gst_base_src_start), (gst_base_src_stop):
16977 * gst/base/gstbasesrc.h:
16978 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
16979 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16980 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
16984 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
16986 * gst/gstelement.c: (gst_element_is_locked_state),
16987 (gst_element_set_locked_state), (gst_element_commit_state),
16988 (gst_element_set_state):
16989 * gst/gstelement.h:
16990 * gst/gstindex.c: (gst_index_init):
16992 * gst/gstminiobject.h:
16993 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
16994 (gst_object_set_parent):
16996 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
16997 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
16999 * gst/gstpadtemplate.h:
17000 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
17001 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
17002 * gst/gstpipeline.h:
17003 * gst/indexers/gstfileindex.c: (gst_file_index_load),
17004 (gst_file_index_commit):
17005 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
17006 * testsuite/pad/link.c: (gst_test_src_init),
17007 (gst_test_filter_init), (gst_test_sink_init):
17008 * testsuite/states/locked.c: (main):
17009 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
17010 moved bitshift from macro to enum definition
17012 2005-10-12 Wim Taymans <wim@fluendo.com>
17014 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
17015 * gst/elements/gstfilesink.c: (gst_file_sink_event),
17016 (gst_file_sink_render):
17017 Some more debugging info.
17019 2005-10-12 Wim Taymans <wim@fluendo.com>
17021 * docs/design/part-states.txt:
17022 * tools/gst-launch.c: (main):
17024 Revert non-intentional change.
17026 2005-10-12 Wim Taymans <wim@fluendo.com>
17028 * check/gst/gstbin.c: (GST_START_TEST):
17029 * check/gst/gstelement.c: (GST_START_TEST):
17030 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
17031 * check/gst/gstghostpad.c: (GST_START_TEST):
17032 * check/gst/gstpipeline.c: (GST_START_TEST):
17033 * check/pipelines/simple_launch_lines.c: (run_pipeline):
17034 * check/states/sinks.c: (GST_START_TEST):
17035 * gst/elements/gsttypefindelement.c: (stop_typefinding):
17036 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17037 (gst_bin_remove_func), (gst_bin_get_state_func),
17038 (gst_bin_recalc_state), (gst_bin_change_state_func),
17040 * gst/gstelement.c: (gst_element_get_state_func),
17041 (gst_element_get_state), (gst_element_abort_state),
17042 (gst_element_commit_state), (gst_element_set_state),
17043 (gst_element_change_state), (gst_element_change_state_func):
17044 * gst/gstelement.h:
17045 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
17046 (gst_pipeline_provide_clock_func):
17047 * gst/gstutils.c: (gst_element_link_pads_filtered):
17048 * tools/gst-launch.c: (main):
17049 * tools/gst-typefind.c: (main):
17050 Use GstClockTime in _get_state() instead of GTimeVal.
17051 Remove old code in gstutils.c
17053 2005-10-12 Andy Wingo <wingo@pobox.com>
17055 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
17058 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
17059 there is no task. Shouldn't affect any code, as nothing in our
17060 plugins checks this return value.
17061 (gst_pad_stop_task): Also take the stream lock if the pad has no
17062 task. Docs updated.
17064 2005-10-12 Wim Taymans <wim@fluendo.com>
17066 * gst/gstpad.c: (pre_activate), (post_activate),
17067 (gst_pad_activate_pull), (gst_pad_activate_push):
17068 Cleanup activation code. Reset old state if
17071 2005-10-12 Wim Taymans <wim@fluendo.com>
17073 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17074 (gst_base_sink_change_state):
17075 No need to prerol after receiving EOS.
17077 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
17078 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
17079 * gst/elements/gstidentity.c: (gst_identity_event):
17080 Print events more verbosely.
17082 2005-10-12 Wim Taymans <wim@fluendo.com>
17084 * check/Makefile.am:
17085 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17086 * check/states/sinks2.c:
17087 Moved sinks2 testcode in sinks check.
17089 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17090 (gst_bin_remove_func), (gst_bin_recalc_state),
17091 (gst_bin_change_state_func), (bin_bus_handler):
17092 Fix potential race condition when _get_state() iterated over an
17093 ASYNC element right before it posted a state completion.
17096 Do proper cast here.
17098 * gst/gstevent.c: (gst_event_new_newsegment),
17099 (gst_event_parse_newsegment):
17100 A playback rate of 0.0 is not allowed.
17102 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17104 * win32/common/config.h:
17105 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
17106 (_trewinddir), (_ttelldir), (_tseekdir):
17107 * win32/common/dirent.h:
17108 * win32/common/gtchar.h:
17109 * win32/common/libgstbase.def:
17110 * win32/common/libgstreamer.def:
17111 * win32/vs6/grammar.dsp:
17112 * win32/vs6/gst_inspect.dsp:
17113 * win32/vs6/gst_launch.dsp:
17114 * win32/vs6/gstreamer.dsw:
17115 * win32/vs6/libgstbase.dsp:
17116 * win32/vs6/libgstelements.dsp:
17117 * win32/vs6/libgstreamer.dsp:
17118 Visual Studio 6 project files, and a new common directory.
17121 2005-10-11 Wim Taymans <wim@fluendo.com>
17123 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17124 (gst_base_sink_do_sync), (gst_base_sink_query),
17125 (gst_base_sink_change_state):
17126 * gst/base/gstbasesink.h:
17127 Correctly parse newsegment info.
17129 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17131 * gst/gst.c: (init_post):
17132 split plugin paths correctly
17134 2005-10-11 Wim Taymans <wim@fluendo.com>
17136 * check/gst/gstevent.c: (GST_START_TEST):
17137 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17138 (gst_base_sink_change_state):
17139 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
17140 * gst/base/gstbasetransform.c: (gst_base_transform_event):
17141 * gst/elements/gstfilesink.c: (gst_file_sink_event):
17142 * gst/gstevent.c: (gst_event_new_newsegment),
17143 (gst_event_parse_newsegment):
17145 Added extra flag to newsegment for future API freeze.
17146 Updated check and base elements.
17148 2005-10-11 Julien MOUTTE <julien@moutte.net>
17150 * gst/base/gstcollectpads.c: (gst_collectpads_init),
17151 (gst_collectpads_add_pad), (gst_collectpads_pop),
17152 (gst_collectpads_event), (gst_collectpads_chain):
17153 * gst/base/gstcollectpads.h: Handle EOS correctly.
17155 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17157 * tools/gst-launch.c: (main):
17158 more null protecting
17160 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17162 * gst/gst-i18n-lib.h:
17163 check for ENABLE_NLS, not GETTEXT_PACKAGE
17164 * gst/gstregistry.c: (gst_registry_add_plugin),
17165 (gst_registry_scan_path_level),
17166 (_gst_registry_remove_cache_plugins):
17167 protect possibly NULL strings
17168 * gst/parse/types.h:
17169 config.h already included before
17170 * tools/gst-inspect.c: (main):
17171 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
17172 check for ENABLE_NLS, not GETTEXT_PACKAGE
17173 * tools/gst-launch.c: (main):
17174 check for ENABLE_NLS, not GETTEXT_PACKAGE
17176 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17179 if we don't have glib, fail before testing 2.8
17180 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
17181 fix a leak, should fix plugins-base testsuite
17183 2005-10-11 Andy Wingo <wingo@pobox.com>
17185 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
17186 take the mode we're going to as an arg. Go head and set the mode
17187 and flushing flags now, so that if the activate function starts a
17188 thread all the flags will be in the right state.
17189 (post_activate): Renamed also. Just handle making sure streaming
17190 finishes for the deactivation case, and setting the deactivated
17192 (gst_pad_set_active): Complain loudly if deactivation fails.
17193 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
17194 (gst_pad_activate_push): Adapt to pre/post_activate changes,
17195 remove the terrible hack.
17197 2005-10-11 Wim Taymans <wim@fluendo.com>
17199 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17200 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
17201 (gst_bin_recalc_state), (gst_bin_change_state_func),
17202 (gst_bin_dispose), (bin_bus_handler):
17204 Prepare to make current EOS message queue more generic.
17207 * gst/gstevent.c: (gst_event_new_newsegment),
17208 (gst_event_parse_newsegment):
17210 Rename base to stream_time.
17212 * gst/gstmessage.h:
17215 2005-10-11 Wim Taymans <wim@fluendo.com>
17217 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
17218 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
17219 (gst_bin_change_state_func), (bin_bus_handler):
17221 Work on proper clock selection.
17223 2005-10-11 Edward Hervey <edward@fluendo.com>
17225 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
17226 * libs/gst/controller/gstcontroller.h:
17227 Added GList* version of _remove_properties() in order to be able to wrap
17230 2005-10-11 Wim Taymans <wim@fluendo.com>
17232 * docs/design/part-states.txt:
17235 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
17236 (gst_bin_change_state_func), (bin_bus_handler):
17237 Doc updates. Don't distribute the same clock over and over again.
17243 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
17244 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
17245 (gst_pad_send_event):
17247 Make probe emission threadsafe again.
17248 Register quarks and move _get_name() from utils.
17251 * gst/gstpipeline.c: (gst_pipeline_class_init),
17252 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17253 Only redistribute the clock of it changed.
17255 * gst/gstsystemclock.h:
17260 Moved the _flow_get_name() to GstPad.
17262 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17264 * check/gst-libs/gdp.c: (GST_START_TEST):
17265 * check/gst/gstcaps.c: (GST_START_TEST):
17266 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
17267 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
17268 (gst_dp_packet_from_caps):
17269 fix more valgrind warnings before turning up the heat
17271 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
17273 * gst/parse/grammar.y:
17274 some cleanup before the hacking
17276 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
17278 * gst/base/gstbasesrc.c: (gst_base_src_query):
17280 * gst/gstutils.c: (gst_guint64_to_gdouble),
17281 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
17283 externalize, basesrc uses it
17284 obviously the implementation needs testing
17286 2005-10-10 Wim Taymans <wim@fluendo.com>
17288 * tests/sched/Makefile.am:
17289 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
17290 (make_pipeline3), (make_pipeline4), (print_elem), (main):
17292 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
17294 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
17295 apparently converting from guint64 to double is not implemented
17298 2005-10-10 Wim Taymans <wim@fluendo.com>
17300 * check/Makefile.am:
17301 * check/generic/states.c: (GST_START_TEST):
17302 * check/gst/gstbin.c: (GST_START_TEST):
17303 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
17304 * check/states/sinks.c: (GST_START_TEST):
17305 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
17307 Check fixes, use API as stated in design docs, remove hacks.
17309 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17310 (gst_base_sink_change_state):
17311 Catch stopping our task while we're shutting down.
17313 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
17314 (gst_bin_remove_func), (gst_bin_get_state_func),
17315 (gst_bin_recalc_state), (gst_bin_change_state_func),
17318 * gst/gstelement.c: (gst_element_init),
17319 (gst_element_get_state_func), (gst_element_abort_state),
17320 (gst_element_commit_state), (gst_element_lost_state),
17321 (gst_element_set_state), (gst_element_change_state),
17322 (gst_element_change_state_func):
17323 * gst/gstelement.h:
17324 New state change algorithm (see #318116)
17326 * gst/gstpipeline.c: (gst_pipeline_class_init),
17327 (gst_pipeline_init), (gst_pipeline_set_property),
17328 (gst_pipeline_get_property), (do_pipeline_seek),
17329 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
17330 * gst/gstpipeline.h:
17331 Remove crude state change hacks.
17334 Remove crude hacks.
17336 * tools/gst-launch.c: (main):
17337 Fixes for state change. Needs some more work to fully use the
17340 2005-10-10 Andy Wingo <wingo@pobox.com>
17342 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
17344 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
17345 this flag, but it's not even in GLib 2.6. Odd. Hack around the
17348 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
17350 * gst/gstiterator.c: (gst_iterator_new):
17351 Fix my previous commit: GTypes passed to gst_iterator_new()
17352 can be fundamental types.
17354 2005-10-10 Wim Taymans <wim@fluendo.com>
17356 * gst/gstelement.c: (gst_element_iterate_pad_list),
17357 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
17358 (gst_element_iterate_sink_pads):
17359 Use src/sink pads lists for the respective iterators instead
17362 2005-10-10 Andy Wingo <wingo@pobox.com>
17364 Merged in popt removal + GOption addition patch from Ronald, bug
17367 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
17368 GstElement macros around, remove popt-related symbols, add goption
17371 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
17373 * docs/gst/Makefile.am:
17374 * docs/libs/Makefile.am: No POPT_CFLAGS.
17376 * examples/manual/Makefile.am:
17377 * docs/manual/basics-init.xml: Doc updates with an example.
17379 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
17380 (gst_init), (parse_one_option), (parse_goption_arg):
17381 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
17382 bit of hand merging and debugging to get the GOption stuff working
17385 * tests/Makefile.am:
17386 * tools/Makefile.am:
17387 * tools/gst-inspect.c: (main):
17388 * tools/gst-launch.c: (main):
17389 * tools/gst-run.c: (main):
17390 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
17392 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
17394 * gst/gstiterator.c: (gst_iterator_new):
17395 Add assertions to make sure passed GType is likely to really
17396 be a GType (as the compiler won't catch it if the size and
17397 GType arguments get mixed up, see #318447).
17399 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
17401 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
17403 * gst/gstbin.c: (gst_bin_iterate_sorted):
17404 Pass GType and size arguments to gst_iterator_new() in the right
17405 order (maybe we should make _new() take the GType as first argument
17406 just like _new_list()?) (#318447).
17409 2005-10-10 Wim Taymans <wim@fluendo.com>
17411 * gst/gstelement.c: (gst_element_finalize):
17412 And free the GStaticRecMutex too
17414 2005-10-10 Andy Wingo <wingo@pobox.com>
17416 * gst/gstelement.c (gst_element_init, gst_element_finalize):
17417 Allocate and free the mutex properly.
17419 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
17421 (GstElement): The state_lock is now recursive. Rebuild your
17422 plugins, suckers. Old macros adapted.
17424 * docs/gst/gstreamer-sections.txt: Doc updates.
17427 * gst/gstutils.c (g_static_rec_cond_timed_wait)
17428 (g_static_rec_cond_wait): Ported from state changes patch, while
17429 we wait on bug #317802 to be solved in a well-distributed GLib.
17431 * gst/gstelement.c (gst_element_change_state_func): Renamed from
17432 gst_element_change_state, variable name changes.
17433 (gst_element_change_state): Split out of gst_element_set_state in
17434 preparation for the state change merge. Doesn't pay attention to
17435 the 'transition' argument.
17436 (gst_element_set_state): Updates, hopefully purely cosmetic.
17437 (gst_element_sync_state_with_parent): MT-safety. Ported from the
17438 state change patch.
17439 (gst_element_get_state_func): Renamed from get_state, cosmetic
17442 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
17444 * gst/elements/gstelements.c:
17445 * win32/GStreamer.vcproj:
17447 * win32/dirent.c: (_tseekdir):
17448 * win32/gst-inspect.vcproj:
17449 * win32/gst-launch.vcproj:
17450 * win32/gstconfig.h:
17451 * win32/gstelements.vcproj:
17452 * win32/gstenumtypes.c: (gst_object_flags_get_type):
17453 * win32/gstreamer.def:
17454 * win32/msvc71.sln:
17455 updates for the win32 build (patch from Sebastien Moutte)
17457 2005-10-10 Andy Wingo <wingo@pobox.com>
17459 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
17460 gst_bin_get_state, cleaned up (but no logic changes).
17461 (bin_element_is_sink): Comment updates.
17462 (sink_iterator_filter): Remove needless cast.
17463 (gst_bin_iterate_sinks): Doc update.
17464 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
17465 cleaned up (but no logic changes).
17467 * check/states/sinks.c (test_src_sink): Cleanups from the state
17469 (test_livesrc_sink): Sync on the state.
17471 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
17472 the state change patch.
17474 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
17477 * check/gst/gstbin.c: Merge in some style fixes and additional
17478 checks from Wim's state change patch.
17480 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
17482 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17483 (gst_type_find_helper):
17484 Check whether we have the requested data already in our list of
17485 cached buffers before pulling a new buffer; also make the buffer
17486 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
17488 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
17493 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17494 don't use long long, it's not portable. Replacing with
17495 gint64 seems to work; let's hope no skeletons fall out of the closet.
17497 2005-10-10 Andy Wingo <wingo@pobox.com>
17499 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
17501 2005-10-09 Stefan Kost <ensonic@users.sf.net>
17503 * docs/gst/gstreamer-sections.txt:
17508 * gst/gstmessage.c: (gst_message_parse_state_changed):
17511 more docs, fix compilation
17513 2005-10-09 Philippe Khalaf <burger@speedy.org>
17514 * gst/gstmessage.c:
17515 Fixed a few forgotten variables on previous commit
17517 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
17519 * gst/base/gsttypefindhelper.c: (helper_find_peek):
17520 Fix evil typefind crasher: getrange() might return a short
17521 buffer at the end of a file, but gst_type_find_peek() must
17522 either return the full data as requested or NULL, but
17523 never a short buffer.
17525 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
17527 * gst/gstmessage.c: (gst_message_new_state_changed),
17528 (gst_message_parse_state_changed):
17529 * gst/gstmessage.h:
17530 don't use "new", it's a C++ keyword
17532 2005-10-08 Wim Taymans <wim@fluendo.com>
17534 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
17535 * gst/gstelement.c: (gst_element_post_message):
17536 * gst/gstpipeline.c: (gst_pipeline_change_state):
17537 Small docs and debug updates.
17539 2005-10-08 Stefan Kost <ensonic@users.sf.net>
17541 * docs/gst/gstreamer-sections.txt:
17542 * gst/gstelementfactory.c:
17544 * gst/gsttaglist.c:
17547 2005-10-08 Wim Taymans <wim@fluendo.com>
17549 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
17550 (gst_bin_dispose), (bin_bus_handler):
17551 Fix typos, add comments.
17552 Clear EOS list when going to PAUSED from any direction and do it
17553 in a threadsafe way.
17554 Get base time in a threadsafe way too.
17555 Fix confusing debug in the change_state function.
17556 Various other small cleanups.
17558 * gst/gstelement.c: (gst_element_post_message):
17559 Fix very verbose bus posting code.
17561 * gst/gstpipeline.c: (gst_pipeline_class_init),
17562 (gst_pipeline_set_property), (gst_pipeline_get_property),
17563 (gst_pipeline_change_state):
17564 Small ARG_ -> PROP_ cleanup
17566 2005-10-08 Wim Taymans <wim@fluendo.com>
17568 * gst/gstbin.c: (is_eos), (bin_bus_handler):
17569 Do a less CPU demanding EOS check because we can.
17571 2005-10-08 Wim Taymans <wim@fluendo.com>
17573 * libs/gst/dataprotocol/dataprotocol.c:
17574 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
17575 (gst_dp_packet_from_event):
17576 * libs/gst/dataprotocol/dataprotocol.h:
17577 * libs/gst/dataprotocol/dp-private.h:
17578 It's about time we bump the version number.
17579 Since event types don't fit in the guint8 anymore describing
17580 the payload type, make payload type 16 bits wide.
17582 2005-10-08 Wim Taymans <wim@fluendo.com>
17584 * docs/design/part-TODO.txt:
17585 * docs/design/part-clocks.txt:
17586 * docs/design/part-events.txt:
17587 * docs/design/part-gstbin.txt:
17588 * docs/design/part-gstelement.txt:
17589 * docs/design/part-gstpipeline.txt:
17590 * docs/design/part-live-source.txt:
17591 * docs/design/part-messages.txt:
17592 * docs/design/part-overview.txt:
17593 * docs/design/part-states.txt:
17596 2005-10-08 Wim Taymans <wim@fluendo.com>
17600 Fix event quark registration.
17601 Add some space between events so we can insert them in the
17604 2005-10-08 Wim Taymans <wim@fluendo.com>
17606 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17607 (gst_base_sink_handle_buffer):
17608 Better log message.
17611 * gst/gstelement.h:
17614 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17615 (gst_queue_set_property), (gst_queue_get_property):
17617 Remove old unused properties.
17619 2005-10-08 Stefan Kost <ensonic@users.sf.net>
17620 * docs/gst/gstreamer-sections.txt:
17621 * gst/gstmessage.c:
17622 * gst/gstmessage.h:
17623 * gst/gstminiobject.c:
17624 * gst/gstminiobject.h:
17628 lots of new docs and doc fixes
17630 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
17632 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
17634 * gst/gstregistry.c: (gst_registry_lookup_locked),
17635 (gst_registry_scan_path_level):
17636 * gst/gstregistryxml.c: (load_plugin):
17637 Only ever load one plugin for a given plugin basename.
17638 This ensures correct overriding of GST_PLUGIN_PATH over
17639 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
17640 system installed plugins.
17642 2005-10-08 Wim Taymans <wim@fluendo.com>
17644 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17645 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
17646 Prepare for doing QOS.
17648 2005-10-08 Wim Taymans <wim@fluendo.com>
17650 * check/gst/gstbin.c: (GST_START_TEST):
17651 * check/pipelines/cleanup.c: (GST_START_TEST):
17652 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
17653 Allow new clock message too.
17655 2005-10-08 Wim Taymans <wim@fluendo.com>
17657 * gst/gstmessage.c: (gst_message_new_error),
17658 (gst_message_new_warning), (gst_message_new_tag),
17659 (gst_message_new_state_changed), (gst_message_new_clock_provide),
17660 (gst_message_new_clock_lost), (gst_message_new_new_clock),
17661 (gst_message_new_segment_start), (gst_message_new_segment_done),
17662 (gst_message_parse_state_changed),
17663 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
17664 (gst_message_parse_new_clock):
17665 * gst/gstmessage.h:
17666 Also carry the clock in question.
17668 2005-10-08 Wim Taymans <wim@fluendo.com>
17670 * gst/gstmessage.c: (gst_message_new_custom),
17671 (gst_message_new_eos), (gst_message_new_error),
17672 (gst_message_new_warning), (gst_message_new_tag),
17673 (gst_message_new_state_changed), (gst_message_new_clock_provide),
17674 (gst_message_new_new_clock), (gst_message_new_segment_start),
17675 (gst_message_new_segment_done), (gst_message_parse_state_changed),
17676 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
17677 * gst/gstmessage.h:
17679 Added clock related messages.
17681 * gst/gstpipeline.c: (gst_pipeline_change_state):
17682 Post message when the clock changed.
17684 * tools/gst-launch.c: (event_loop):
17687 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
17689 * tools/gst-inspect.c: (print_element_properties_info):
17690 Can't pass NULL strings to g_print() on windows.
17692 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
17694 * docs/Makefile.am:
17695 * docs/gst/Makefile.am:
17696 * docs/gst/gstreamer-docs.sgml:
17697 * docs/gst/running.xml:
17698 * docs/version.entities.in:
17699 add a chapter on running GStreamer.
17700 document GST_DEBUG and GST_PLUGIN* env vars
17702 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
17707 remove PLUGINS_BUILDDIR stuff
17708 * gst/gst.c: (init_post):
17709 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
17711 remove, it was condescending and not needed
17713 2005-10-08 Wim Taymans <wim@fluendo.com>
17715 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
17716 (gst_base_sink_handle_object), (gst_base_sink_event),
17717 (gst_base_sink_wait), (gst_base_sink_handle_event),
17718 (gst_base_sink_change_state):
17719 * gst/base/gstbasesink.h:
17720 Repost EOS message while going to PLAYING if still EOS.
17721 Make sure that when receiving a FLUSH_START we don't attempt
17722 to sync on the clock anymore.
17724 2005-10-08 Wim Taymans <wim@fluendo.com>
17726 * tools/gst-launch.c: (event_loop):
17727 Better message printout.
17729 2005-10-08 Wim Taymans <wim@fluendo.com>
17731 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
17732 (gst_bin_child_proxy_get_children_count):
17733 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17734 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
17735 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
17736 (gst_child_proxy_set_valist):
17737 * gst/parse/grammar.y:
17738 Make ChildProxy threadsafe and fix mem leaks.
17740 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
17742 * gst/gst.c: (init_post):
17743 debug the GST_PLUGIN_ env vars
17745 2005-10-08 Wim Taymans <wim@fluendo.com>
17747 * check/gst/gstbin.c: (GST_START_TEST):
17748 * check/gst/gstmessage.c: (GST_START_TEST):
17749 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17750 * gst/gstelement.c: (gst_element_commit_state),
17751 (gst_element_lost_state):
17752 * gst/gstmessage.c: (gst_message_new_state_changed),
17753 (gst_message_parse_state_changed):
17754 * gst/gstmessage.h:
17755 * tools/gst-launch.c: (event_loop):
17756 Added extra field to STATE_CHANGE message with the pending
17757 state, which will be different from the new state soon.
17759 2005-10-08 Wim Taymans <wim@fluendo.com>
17761 * gst/gstbus.c: (gst_bus_pop):
17763 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17764 Small cleanups and doc updates.
17766 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
17768 * gst/gst.c: (init_pre):
17769 * gst/gstbin.c: (gst_bin_add_func):
17770 log distributing clocks and base time
17771 * gst/gstregistry.c: (gst_registry_add_plugin),
17772 (gst_registry_scan_path_level), (gst_registry_scan_path):
17773 clean up the debugging output a little
17774 * gst/gstutils.c: (gst_element_state_get_name):
17775 warn about a memleak (I've actually seen this be used, though
17776 it was probably a bug)
17778 2005-10-07 Wim Taymans <wim@fluendo.com>
17780 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17781 (gst_base_src_init), (gst_base_src_default_newsegment),
17782 (gst_base_src_newsegment), (gst_base_src_do_seek),
17783 (gst_base_src_loop), (gst_base_src_start):
17784 * gst/base/gstbasesrc.h:
17785 Make the newsegment event customizable by subclasses.
17787 2005-10-07 Wim Taymans <wim@fluendo.com>
17789 * gst/gstevent.c: (gst_event_new_buffersize),
17790 (gst_event_parse_buffersize):
17792 New event for future idea.
17794 2005-10-07 Andy Wingo <wingo@pobox.com>
17796 * gst/gstelement.c (gst_element_post_message): Doc update.
17798 * docs/gst/gstreamer-sections.txt: Update.
17800 * gst/gstmessage.c (gst_message_new_application): Made into a
17801 function like honest API calls.
17802 (gst_message_new_element): New message type.
17804 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
17806 * check/elements/fakesrc.c (test_no_preroll): New check, checks
17807 that setting a live fakesrc to PAUSED returns NO_PREROLL both
17810 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
17811 NO_PREROLL from gst_element_change_state to fall through.
17813 2005-10-07 Wim Taymans <wim@fluendo.com>
17815 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
17816 (gst_ghost_pad_do_activate_push):
17817 Activating a ghostpad with no internal pad in push mode
17820 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
17823 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
17824 Fixes compilation on Windows.
17826 2005-10-07 Michael Smith <msmith@fluendo.com>
17828 * tools/gst-inspect.c:
17829 Print out feature and plugin count at the end when printing out
17832 2005-10-04 Michael Smith <msmith@fluendo.com>
17834 * gst/gsterror.c: (_gst_stream_errors_init):
17835 Add another error string used in a few existing plugins.
17838 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17839 * tools/gst-inspect.c: (print_element_info):
17840 When a feature disappears from a plugin (and the feature exists in
17841 the cached registry file), things went horribly wrong. This isn't a
17842 complete fix, we should actually be removing the 'missing' features
17843 from the features list when we load the actual plugin. That's not
17846 2005-10-04 Johan Dahlin <johan@gnome.org>
17848 * check/gst/gstiterator.c: (GST_START_TEST):
17849 * gst/gstbin.c: (gst_bin_iterate_elements),
17850 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
17851 * gst/gstelement.c: (gst_element_iterate_pads):
17852 * gst/gstformat.c: (gst_format_iterate_definitions):
17853 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17854 (gst_iterator_new_list), (gst_iterator_filter):
17855 * gst/gstiterator.h:
17856 * gst/gstquery.c: (gst_query_type_iterate_definitions):
17857 Add a GType to GstIterator, update callsites and tests.
17859 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
17861 * gst/gstpad.c: (gst_pad_event_default_dispatch):
17862 give events a chance to be handled by event probes when the pad
17865 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
17867 * gst/gstevent.c: (gst_event_type_get_name),
17868 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
17870 add string representations for event types
17872 2005-10-06 Wim Taymans <wim@fluendo.com>
17874 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
17875 Don't use NULL pointers.
17877 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
17879 * gst/gst_private.h:
17881 * gst/gstelement.c:
17883 * gst/gstpluginfeature.c:
17884 widen the debug category in output to fit the biggest one we have
17885 add a bus category and use it
17886 play with the colors
17887 fix up some categories
17889 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
17891 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
17892 add push activation of sink ghost pads.
17893 Andye, please verify
17895 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
17897 * gst/gstutils.c: (gst_element_link_pads):
17898 fix a bug in the case where neither element has a pad
17899 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
17900 add a test for that case
17902 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
17904 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
17905 emit have-data before checking for peers. This allows
17906 for probe handlers to connect elements. This helps autopluggers.
17907 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
17909 add six checks, linked/unlinked with no/true/false probe
17911 2005-10-04 Wim Taymans <wim@fluendo.com>
17913 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
17914 (gst_fake_sink_event), (gst_fake_sink_preroll),
17915 (gst_fake_sink_render), (gst_fake_sink_change_state):
17916 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
17917 (gst_fake_src_get_property), (gst_fake_src_create),
17918 (gst_fake_src_stop):
17919 * gst/elements/gstidentity.c: (gst_identity_stop):
17920 Protect last_message with lock.
17922 2005-10-04 Edward Hervey <edward@fluendo.com>
17925 Added precision in the comments for GST_FORMAT_DEFAULT
17927 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
17929 * tools/gst-launch.c: (main):
17930 Don't try to run erroneous pipelines.
17932 2005-10-04 Julien MOUTTE <julien@moutte.net>
17934 * gst/gstbus.c: We don't need this header.
17936 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
17939 back to development
17941 === release 0.9.3 ===
17943 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
17947 Releasing 0.9.3, "Unregistered"
17949 2005-10-03 Andy Wingo <wingo@pobox.com>
17951 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
17952 whereby calling a pad's activatepush() function can start a thread
17953 that starts to push or pull before the pad gets the FLUSHING flag
17954 unset. Hack around it by holding the stream lock until the flag is
17955 set. Need to replace this with a proper solution. Together with
17956 the ghost pad fixes, this fixes mp3 playing/tagreading.
17958 * docs/design/part-gstghostpad.txt: Add a note about activation of
17959 proxy pads outside of ghost pads.
17961 * gst/gstghostpad.c: Implement the ghost pad activation design.
17963 2005-10-02 Andy Wingo <wingo@pobox.com>
17965 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
17966 It is volatile, after all.
17968 * docs/design/part-gstghostpad.txt: Flesh out activation with
17971 * gst/base/gstbasesrc.c (gst_base_src_init): Use
17974 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
17977 Fix (unused) AM_CONDITIONAL tests.
17979 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
17981 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
17983 * gst/gstutils.c: (gst_pad_query_convert):
17984 Add assertion that makes sure src_val is >=0, just like
17985 gst_query_new_convert() has. (#315895)
17987 2005-09-30 Edward Hervey <edward@fluendo.com>
17989 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
17990 Let's not iterate pads we're not interested in, it avoids getting
17991 sky-high refcounts on sinkpad.
17993 2005-09-30 Wim Taymans <wim@fluendo.com>
17995 * gst/gstelement.c: (gst_element_set_state),
17996 (gst_element_change_state):
17997 Small tweak, element in ASYNC remains ASYNC.
17999 2005-09-30 Wim Taymans <wim@fluendo.com>
18001 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
18002 Only error is an error.
18004 * gst/gstbin.c: (gst_bin_change_state):
18007 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
18008 Also call pad_block in pad alloc.
18010 * gst/gstutils.c: (gst_flow_get_name):
18013 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
18015 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18016 (gst_base_src_get_range):
18017 Fix documentation typos. Add some more debug info.
18019 2005-09-29 David Schleef <ds@schleef.org>
18021 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
18022 more end-user friendly.
18023 * tools/gst-inspect.c: (main): Check if command-line argument is
18024 a file and attempt to load that file as a plugin.
18026 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
18028 * check/gst/gstbin.c:
18029 * check/states/sinks.c:
18030 fix tests for the new warning
18031 * check/gst/gstpipeline.c:
18032 add a test for pipeline and bus interaction
18033 * gst/gstelement.c:
18034 elements should be NULL if they get disposed; add a warning if not
18036 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
18039 for 2.6 refcounting, make debug log more correct by printing
18040 the actual refcounts at the time of swap (Wim)
18042 2005-09-29 Andy Wingo <wingo@pobox.com>
18044 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
18045 removes signal watches previously added via
18046 gst_bus_add_signal_watch.
18047 (gst_bus_add_signal_watch): Don't return the source id, just store
18048 it on the bus if there wasn't an id already.
18050 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
18051 add_signal_watch and remove_signal_watch.
18053 2005-09-29 Edward Hervey <edward@fluendo.com>
18055 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
18056 Better if we actually iterate the list :)
18058 2005-09-29 Wim Taymans <wim@fluendo.com>
18060 * check/gst/gstbin.c: (GST_START_TEST):
18061 Change for new bus API.
18063 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
18064 (send_messages), (GST_START_TEST), (gstbus_suite):
18065 Change for new bus signal API.
18067 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
18068 (gst_bus_source_prepare), (gst_bus_source_check),
18069 (gst_bus_create_watch), (gst_bus_add_watch_full),
18070 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
18071 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
18073 Remove support for multiple GSources operating on different
18074 message types as it is too complex and unneeded when using
18076 Added support for receiving signals from the bus.
18078 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
18080 * docs/libs/tmpl/gstdataprotocol.sgml:
18081 * docs/manual/advanced-dataaccess.xml:
18082 * gst/elements/gstcapsfilter.c:
18084 rename filter-caps to caps property
18086 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
18088 * gst/gstvalue.c: (gst_value_deserialize_fraction):
18089 More robust fraction string parsing.
18091 * docs/pwg/appendix-porting.xml:
18092 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
18094 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
18096 * gst/gstcaps.c: (gst_caps_do_simplify):
18097 Thou shalt not free a structure and then continue using it
18098 in the next loop iteration.
18100 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
18102 Add test case for caps simplification.
18104 2005-09-29 Wim Taymans <wim@fluendo.com>
18106 * check/gst/gstbin.c: (GST_START_TEST):
18109 2005-09-29 Wim Taymans <wim@fluendo.com>
18111 * check/gst/gstbin.c: (GST_START_TEST):
18114 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
18115 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18116 (find_element), (gst_bin_sort_iterator_next),
18117 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18118 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18119 (gst_bin_change_state), (gst_bin_dispose):
18120 A bin does not have a bus, it gets the bus from the parent.
18122 * gst/gstelement.c: (gst_element_requires_clock),
18123 (gst_element_provides_clock), (gst_element_is_indexable),
18124 (gst_element_is_locked_state), (gst_element_change_state),
18125 (gst_element_set_bus_func):
18128 * gst/gstpipeline.c: (gst_pipeline_class_init),
18129 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
18130 The pipeline provides a bus.
18132 2005-09-28 Johan Dahlin <johan@gnome.org>
18134 * gst/gstmessage.c (gst_message_parse_state_changed): Use
18135 gst_structure_get_enum instead of gst_structure_get_int
18137 * gst/gststructure.c (gst_structure_get_enum): Impl.
18139 * gst/gststructure.h (gst_structure_get_enum): Add
18141 * docs/gst/gstreamer-sections.txt: Ditto
18143 * gst/gstmessage.c (gst_message_new_state_changed): Use
18144 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
18145 which does introspection.
18146 Reviewed by Christian Schaller
18148 2005-09-28 Stefan Kost <ensonic@users.sf.net>
18150 * gst/gstinfo.c: (gst_debug_log_default):
18151 don't do dummy g_strdup()s
18152 * libs/gst/controller/gstcontroller.c:
18153 (on_object_controlled_property_changed),
18154 (gst_controlled_property_new), (gst_controller_new_valist),
18155 (gst_controller_new_list),
18156 (gst_controller_remove_properties_valist), (gst_controller_set),
18157 (gst_controller_get), (gst_controller_sync_values),
18158 (gst_controller_get_value_array), (_gst_controller_class_init),
18159 (gst_controller_get_type):
18160 * libs/gst/controller/gstcontroller.h:
18161 * libs/gst/controller/gstinterpolation.c:
18162 (gst_controlled_property_find_timed_value_node):
18163 convert // to /**/ comments
18165 2005-09-28 Wim Taymans <wim@fluendo.com>
18167 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
18168 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
18169 (gst_bus_sync_signal_handler):
18171 Added async-message and sync-message signals to the bus.
18172 Added helper BusFunc to emit signals for all posted messages.
18174 * gst/gstmessage.c: (gst_message_type_get_name),
18175 (gst_message_type_to_quark), (gst_message_get_type):
18176 * gst/gstmessage.h:
18177 Register quarks for message names.
18179 2005-09-28 Stefan Kost <ensonic@users.sf.net>
18181 * docs/libs/gstreamer-libs-sections.txt:
18182 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
18183 (gst_controller_new_list):
18184 * libs/gst/controller/gstcontroller.h:
18185 added another constructor for language bindings
18187 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
18189 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18193 * gst/gstinfo.c: (_gst_debug_init):
18194 slightly more readable color for refcount debugging
18196 2005-09-28 Wim Taymans <wim@fluendo.com>
18198 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18199 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18200 (find_element), (gst_bin_sort_iterator_next),
18201 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18202 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18203 (gst_bin_change_state), (gst_bin_dispose):
18204 Small doc fixes. get_clock -> provide_clock.
18206 * gst/gstelement.c: (gst_element_class_init),
18207 (gst_element_provides_clock), (gst_element_provide_clock),
18208 (gst_element_get_clock), (gst_element_commit_state),
18209 (gst_element_lost_state):
18210 * gst/gstelement.h:
18211 Make get/set_clock() symetric. Add provide_clock vmethod since
18212 that is actually what this function does.
18214 * gst/gstpipeline.c: (gst_pipeline_class_init),
18215 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
18216 (gst_pipeline_get_clock):
18217 get_clock -> provide_clock.
18219 2005-09-28 Andy Wingo <wingo@pobox.com>
18221 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
18222 lieu of real docs...
18224 * gst/elements/gstfdsrc.c: Cleaned up a bit.
18226 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
18228 * gst/elements/gstcapsfilter.c:
18229 * gst/elements/gstfakesink.c:
18230 * gst/elements/gstfakesrc.c:
18231 * gst/elements/gstfdsink.c:
18232 * gst/elements/gstfdsrc.c:
18233 * gst/elements/gstfilesink.c:
18234 * gst/elements/gstfilesrc.c:
18235 * gst/elements/gstidentity.c:
18236 * gst/elements/gsttee.c:
18237 * gst/elements/gsttypefindelement.c:
18238 Make element details static.
18240 2005-09-28 Wim Taymans <wim@fluendo.com>
18242 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18243 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18244 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18245 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18246 (gst_bin_change_state), (gst_bin_dispose):
18247 Some documentation updates.
18248 Clean up dispose handlers.
18250 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
18251 * gst/gstpad.c: (gst_pad_dispose):
18252 Clean up dispose handler.
18254 * gst/gstpipeline.c: (gst_pipeline_change_state):
18255 Removed spurious UNLOCK.
18257 2005-09-27 Stefan Kost <ensonic@users.sf.net>
18259 * docs/gst/gstreamer-sections.txt:
18260 * gst/base/gstbasesrc.h:
18261 * gst/gstelement.h:
18265 * gst/gstpipeline.c:
18266 * gst/gstpipeline.h:
18269 added two new functions to the docs
18270 documents all undocumented GstXXXFlags
18271 completed some incomplete docs
18273 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
18275 * gst/gstbin.c: (gst_bin_dispose):
18276 * gst/gstelement.c: (gst_element_dispose):
18277 remove now useless and leaky resurrection code in dispose
18278 * gst/base/gstbasesrc.c: (gst_base_src_init):
18279 * gst/gstelementfactory.c: (gst_element_factory_create):
18280 * gst/gstobject.c: (gst_object_set_parent):
18283 2005-09-27 Wim Taymans <wim@fluendo.com>
18285 * docs/design/part-TODO.txt:
18288 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18289 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18290 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18291 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18292 (gst_bin_change_state):
18293 * gst/gstelement.h:
18294 Remove element variable, we keep element info in the iterator now.
18296 2005-09-27 Andy Wingo <wingo@pobox.com>
18298 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
18301 2005-09-27 Wim Taymans <wim@fluendo.com>
18303 * check/gst/gstbin.c: (GST_START_TEST):
18304 Enable check that works now.
18306 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
18307 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
18308 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18309 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18310 (gst_bin_change_state):
18312 Redid the state change algorithm using a topological sort algo.
18313 Handles all cases correctly.
18314 Exposed iterator for state change order.
18316 * gst/gstelement.h:
18317 Temp storage for state changes. Need to get rid of this soon.
18319 2005-09-27 Wim Taymans <wim@fluendo.com>
18321 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
18322 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
18323 (link_fold_func), (gst_pad_proxy_setcaps):
18324 Leak fixes, the fold functions need to unref the passed object and
18325 _get_parent_*() returns ref to parent.
18327 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
18329 * check/gst/gstbuffer.c: (test_make_writable):
18330 Plug leak in test case and fix 'make check-valgrind'
18332 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
18334 * gst/gstbuffer.c: (gst_subbuffer_init):
18335 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
18336 works correctly in all circumstances (we could have just copied
18337 the parent buffer's readonly flag, but conceptually it seems
18338 cleaner to mark all subbuffers as read-only). (based on patch
18339 by Alessandro Decina, #314710).
18341 * check/gst/gstbuffer.c: (create_read_only_buffer),
18342 (test_make_writable), (test_subbuffer_make_writable),
18344 Add some tests for gst_buffer_make_writable().
18346 2005-09-27 Wim Taymans <wim@fluendo.com>
18348 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
18349 use gst_object_has_ancestor().
18351 * gst/gstobject.c: (gst_object_has_ancestor):
18353 gst_object_has_ancestor() copied from gstbin.c as it is a
18356 * tests/instantiate/create.c: (create_all_elements):
18357 * tests/lat.c: (handoff_src), (handoff_sink):
18358 * tests/sched/runxml.c: (main):
18359 * tests/seeking/seeking1.c: (main):
18360 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18362 Fix compilation of some tests.
18364 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
18367 Remove comment. GST_TYPE_G_ERROR is here to stay,
18368 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
18369 (#316961, #300610).
18371 2005-09-26 Wim Taymans <wim@fluendo.com>
18373 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18374 Added check that shows error in state change order.
18376 2005-09-26 Wim Taymans <wim@fluendo.com>
18378 * gst/gstbin.c: (gst_bin_change_state):
18379 Make state change function use 3 queues again, we were
18380 adding elements in the wrong order.
18382 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
18385 * gst/gstpad.c: (gst_pad_dispose):
18386 Added some debug info first.
18388 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
18390 * docs/design/draft-push-pull.txt:
18391 * docs/design/part-events.txt:
18392 * docs/design/part-overview.txt:
18393 * docs/design/part-scheduling.txt:
18394 Replace all _pull_region() with _pull_range()
18396 2005-09-26 Andy Wingo <wingo@pobox.com>
18398 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
18400 * check/gst-libs/controller.c: Update for controller api change.
18403 * tests/Makefile.am:
18404 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
18405 over by GLib bug 118439.
18407 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
18408 routines to a function.
18410 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
18412 * libs/gst/controller/gsthelper.c:
18413 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
18414 (gst_object_sync_values): Renamed from sink_values. Ugh.
18416 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
18418 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
18419 Renamed from controller_key, as it is exported.
18421 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
18423 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
18428 * gst/gstpadtemplate.h:
18431 * gst/gstqueryutils.c:
18432 * gst/gstqueryutils.h:
18433 remove queryutils headers after moving the two used functions
18434 to gstquery. also fixes build problem for gstsiddec
18436 2005-09-26 Michael Smith <msmith@fluendo.com>
18438 * tools/gst-launch.1.in:
18439 Correct documentation in manpage of debug syntax
18441 2005-09-26 Wim Taymans <wim@fluendo.com>
18443 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
18444 (gst_base_src_is_seekable), (gst_base_src_change_state):
18445 Some more debugging info.
18447 2005-09-25 Stefan Kost <ensonic@users.sf.net>
18449 * docs/gst/gstreamer-sections.txt:
18450 * gst/base/gstbasetransform.h:
18454 2005-09-25 Stefan Kost <ensonic@users.sf.net>
18456 * docs/gst/.cvsignore:
18457 * docs/gst/tmpl/.cvsignore:
18458 * docs/gst/tmpl/gstpipeline.sgml:
18459 * docs/gst/tmpl/gstplugin.sgml:
18460 * gst/gstpipeline.c:
18463 inlined the last two docs files
18464 removed the tmpl directory from cvs (no more conflicts here!)
18466 2005-09-25 Stefan Kost <ensonic@users.sf.net>
18468 * docs/gst/gstreamer-sections.txt:
18469 * docs/gst/tmpl/.cvsignore:
18470 * docs/gst/tmpl/gstpad.sgml:
18471 * docs/gst/tmpl/gstpadtemplate.sgml:
18473 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
18474 (gst_pad_finalize), (gst_pad_set_pad_template):
18476 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
18477 (gst_pad_template_class_init), (gst_pad_template_init),
18478 (gst_pad_template_dispose), (name_is_valid),
18479 (gst_static_pad_template_get), (gst_pad_template_new),
18480 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
18481 (gst_pad_template_pad_created):
18482 * gst/gstpadtemplate.h:
18483 inlined two more docs
18484 factored gstpadtemplate out of gstpad
18486 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
18488 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18489 (test_children_state_change_order_semi_sink):
18490 Fix test case: we can't rely on a fixed state change order when
18491 going from READY => PAUSED because the sink might commit its
18492 new state first when the first buffer created by the source
18493 reaches the sink before the source has finished its change state.
18494 (Test case still fails at times, see #316856, comment 5 onwards)
18496 2005-09-24 Wim Taymans <wim@fluendo.com>
18498 * docs/design/part-events.txt:
18499 * docs/design/part-gstbus.txt:
18500 * docs/design/part-gstpipeline.txt:
18501 * docs/design/part-messages.txt:
18502 * docs/design/part-overview.txt:
18503 * docs/design/part-segments.txt:
18507 * gst/gstelement.c:
18510 * gst/gstiterator.c:
18511 Various documentation updates.
18513 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
18516 Well, that's embarassing. Luckily we weren't using
18517 GST_CLOCK_DIFF anywhere.
18519 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
18521 * common/gtk-doc.mak:
18522 don't fail on building XML, FC4 slave shows a bunch of doc
18523 missing bits that I don't get
18525 * gst/gstpipeline.c:
18526 * gst/gststructure.c:
18529 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
18531 * docs/design/part-gstbin.txt:
18532 * docs/design/part-gstbus.txt:
18534 Add blurb about how the bus goes into flushing mode and
18535 drops all messages when its bin goes from READY into NULL
18538 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
18540 * docs/gst/gstreamer-sections.txt:
18541 * gst/gststructure.c: (gst_structure_get_clock_time):
18542 * gst/gststructure.h:
18543 add a method to get a GstClockTime out of a structure
18545 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
18547 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
18548 (test_children_state_change_order_semi_sink), (gst_bin_suite):
18549 Added test to check state change order in bins (can still be made
18550 to fail here under heavy disk load; bails out with 'Push on pad
18551 fakesink:sink0, but it was not activated in push mode').
18553 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
18554 Fix state change order when there is only a semi sink (#316856)
18556 * gst/gstbus.c: (gst_bus_class_init):
18557 Use _class_peek_parent(), not _class_ref(); fix docs to say
18558 'default main context' instead of 'mainloop' where that is
18561 * gst/gstelement.c: (gst_element_commit_state),
18562 (gst_element_set_state):
18563 Fix typos in debug messages
18565 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
18568 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
18569 * gst/gstpluginfeature.c:
18571 various doc updates
18572 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18573 change an assert into an error until it gets fixed properly
18575 2005-09-23 Stefan Kost <ensonic@users.sf.net>
18577 * docs/gst/gstreamer-sections.txt:
18578 * docs/gst/tmpl/.cvsignore:
18579 * docs/gst/tmpl/gstelement.sgml:
18580 * docs/gst/tmpl/gstinfo.sgml:
18581 * docs/gst/tmpl/gstobject.sgml:
18582 * gst/gstelement.c:
18583 * gst/gstelement.h:
18586 * gst/gstobject.c: (gst_object_class_init):
18588 inlined 3 more biiiig doc files and added some missing docs on the fly
18590 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
18592 * check/gst/.cvsignore:
18593 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
18594 * gst/gstregistryxml.c: (load_plugin),
18595 (gst_registry_xml_save_plugin):
18596 put back source in registry. add checks for find_plugin.
18597 * testsuite/states/bin.c: (assert_state), (empty_bin),
18598 (test_adding_one_element), (main):
18599 * testsuite/states/locked.c: (main):
18600 some compile/run fixes
18602 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
18604 * check/gst/gstvalue.c: (GST_START_TEST):
18605 fix leaks in the test itself
18607 2005-09-22 Wim Taymans <wim@fluendo.com>
18609 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18610 (gst_base_sink_send_event), (gst_base_sink_peer_query),
18611 (gst_base_sink_query):
18612 Prepare for more accurate position reporting and query
18615 * gst/gstelement.c: (gst_element_send_event),
18616 (gst_element_set_state):
18619 2005-09-22 Wim Taymans <wim@fluendo.com>
18621 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
18622 (gst_query_parse_segment):
18624 More documentation.
18625 Add segment query for future use.
18627 2005-09-22 Wim Taymans <wim@fluendo.com>
18629 * gst/gstbin.c: (gst_bin_add_func):
18630 Some more debug info.
18632 * gst/gstelement.c: (gst_element_send_event):
18633 Simplify send_event
18635 * gst/gstelement.h:
18636 Don't know how flags got broken.
18641 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
18643 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
18644 Add simplistic test suite for GST_TYPE_DATE serialisation and
18647 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
18649 * docs/gst/gstreamer-sections.txt:
18650 * gst/gststructure.c: (gst_structure_set_valist),
18651 (gst_structure_get_date):
18652 * gst/gststructure.h:
18653 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
18654 (gst_date_copy), (gst_value_compare_date),
18655 (gst_value_serialize_date), (gst_value_deserialize_date),
18656 (gst_value_transform_date_string),
18657 (gst_value_transform_string_date), (_gst_value_initialize):
18659 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
18660 bunch of utility functions along with a hack that checks that
18661 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
18662 is required. Part of the grand scheme in #170777.
18664 2005-09-22 Andy Wingo <wingo@pobox.com>
18666 * gst/gstconfig.h.in: Psych out gtk-doc.
18668 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
18670 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
18672 * tools/gst-inspect.c (print_element_list): Plug some
18673 inconsequential leaks.
18675 * gst/gstregistry.c (gst_registry_get_default): Doc.
18677 * check/gst/gstplugin.c:
18678 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
18679 * gst/gstelementfactory.c (gst_element_factory_create):
18680 * gst/gstindexfactory.c (gst_index_factory_create): Update for
18683 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
18684 (gst_plugin_feature_load): Doc, don't eat refs.
18686 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
18687 (gst_plugin_list_free): Doc.
18688 (gst_plugin_load_file): Doc updates.
18690 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
18691 accessors returning refcounted objects, return a ref.
18693 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
18694 accessor for caps. IDEMPOTENCE. Oh yes.
18696 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
18698 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18700 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18701 (_gst_debug_register_funcptr):
18702 Add mutex to serialise access to the hash table with
18703 the function pointer => function name string mapping;
18704 make that hash table static scope (#316809).
18706 * gst/registries/.cvsignore:
18707 Remove left-over file.
18709 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
18711 * docs/pwg/appendix-porting.xml:
18712 And something about newsegment events and caps-on-buffers to
18713 the porting guide (feel free to improve).
18715 2005-09-21 Andy Wingo <wingo@pobox.com>
18717 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
18718 data and event probes on the same pad.
18719 (test_buffer_probe_once): Test that removing probes from within
18720 the probe functions works.
18722 2005-09-21 Andy Wingo <wingo@pobox.com>
18724 * check/gst/gstutils.c: New file.
18725 (test_buffer_probe_n_times): A simple buffer probe test. More to
18728 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
18729 have-data::buffer, not have-data.
18730 (gst_pad_add_event_probe): Likewise for have-data::event.
18731 (gst_pad_add_data_probe): More docs. The part about 'resolving the
18732 peer' isn't quite right yet though.
18733 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
18734 (gst_pad_remove_data_probe): Change to take the guint handler_id
18735 as their arg, not the function+data, which is more glib-like.
18737 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
18738 the signal emission to indicate if the data is a buffer or an
18740 (gst_pad_get_type): Initialize buffer and event quarks.
18741 (gst_pad_class_init): have-data is now a detailed signal, yes it
18744 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
18746 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
18747 * gst/gstutils.c: (gst_util_set_value_from_string),
18748 (gst_util_set_object_arg):
18749 Don't put functional code in g_return_if_fail() or
18750 g_return_val_if_fail() statements, otherwise things will
18751 break when G_DISABLE_CHECKS is defined during compilation.
18753 2005-09-21 Stefan Kost <ensonic@users.sf.net>
18755 * docs/gst/tmpl/.cvsignore:
18756 * docs/gst/tmpl/gstvalue.sgml:
18759 inlied another one and added some obvious docs
18761 2005-09-21 Wim Taymans <wim@fluendo.com>
18763 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18764 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
18765 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
18766 (gst_fdsrc_get_property), (gst_fdsrc_create):
18767 * gst/elements/gstfdsrc.h:
18768 Properly implement fdsrc. Removed signal and timeout,
18769 better implemented somewhere else.
18771 2005-09-21 Stefan Kost <ensonic@users.sf.net>
18773 * docs/gst/tmpl/.cvsignore:
18774 * docs/gst/tmpl/gstimplementsinterface.sgml:
18775 * gst/gstinterface.c:
18778 2005-09-21 Stefan Kost <ensonic@users.sf.net>
18780 * docs/gst/gstreamer-sections.txt:
18781 * docs/gst/tmpl/.cvsignore:
18782 * docs/gst/tmpl/gstenumtypes.sgml:
18783 remove obsolete doc file
18785 2005-09-21 David Schleef <ds@schleef.org>
18787 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
18788 little beer, fix a little leak.
18790 2005-09-21 Stefan Kost <ensonic@users.sf.net>
18792 * docs/gst/gstreamer-docs.sgml:
18793 * docs/gst/gstreamer-sections.txt:
18794 * docs/gst/tmpl/.cvsignore:
18798 * gst/gstelement.h:
18799 * gst/gstindex.c: (gst_index_class_init):
18801 * gst/gstindexfactory.c: (gst_index_factory_get_type),
18802 (gst_index_factory_class_init), (gst_index_factory_init),
18803 (gst_index_factory_finalize), (gst_index_factory_new),
18804 (gst_index_factory_destroy), (gst_index_factory_find),
18805 (gst_index_factory_create), (gst_index_factory_make):
18806 * gst/gstindexfactory.h:
18807 * gst/gstpluginfeature.c:
18808 * gst/gstpluginfeature.h:
18809 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18810 more docs inlined, splitted gstindex.{c,h}
18812 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
18814 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18817 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
18819 * gst/elements/gstfilesink.c: (gst_file_sink_init):
18820 Set sync to FALSE by default.
18822 2005-09-20 Wim Taymans <wim@fluendo.com>
18824 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18825 (gst_base_sink_init):
18826 Make sync property settable from subclass.
18828 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
18829 (gst_fake_sink_change_state):
18830 Set sync to FALSE by default.
18832 2005-09-20 Wim Taymans <wim@fluendo.com>
18834 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
18835 * tools/gst-launch.c: (main):
18836 The timeout handler should have lower priority than the source
18837 so we don't timeout before popping a message with 0 timeout.
18838 Dump error messages after failed state change.
18840 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
18842 * tools/gst-inspect.c: (print_element_properties_info):
18845 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
18847 * check/gst/gstevent.c:
18848 * gst/elements/gstfakesink.c:
18849 * gst/elements/gstfakesink.h:
18850 remove the sync property from fakesink.
18851 has the side effect of setting sync TRUE
18852 for fakesink, which is a change. Anyone who knows how
18853 to fix this nicely in a GObject-y way, feel free.
18855 2005-09-20 Stefan Kost <ensonic@users.sf.net>
18857 * docs/gst/gstreamer-docs.sgml:
18858 remove probe refsection
18860 2005-09-20 Stefan Kost <ensonic@users.sf.net>
18862 * check/Makefile.am:
18863 disable valgrinding the controller test again
18864 * docs/gst/gstreamer-sections.txt:
18865 update for api-changes
18867 2005-09-20 Wim Taymans <wim@fluendo.com>
18869 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18870 (gst_base_sink_set_property), (gst_base_sink_get_property),
18871 (gst_base_sink_do_sync):
18872 * gst/base/gstbasesink.h:
18873 Added sync property to basesink to disable clock sync.
18875 2005-09-20 Andy Wingo <wingo@pobox.com>
18877 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
18878 eating the caller's refcount.
18880 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
18881 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
18884 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
18885 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
18886 of GLib 2.8 public, so we can know which refcount to check in
18889 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
18890 (gst_object_init): Only set the gst refcount if we're going ahead
18891 with the refcount hack.
18893 2005-09-20 Stefan Kost <ensonic@users.sf.net>
18895 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18896 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
18897 more leaks plumbed, added more debug-logging
18901 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
18903 * gst/gstmessage.c:
18904 remove include of gstmemchunk.h
18906 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
18908 * gst/gstclock.c: (_gst_clock_id_free):
18909 Commit from the Political Party For More Atomic CVS Commits,
18910 so that people don't waste too much of their day fishing
18911 out obvious leaks out of massive commits.
18912 Oh, and fix a pretty damn obvious leak in the memchunk
18915 2005-09-20 Stefan Kost <ensonic@users.sf.net>
18917 * check/Makefile.am:
18918 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
18919 plug mem-leak, re-add to valgrindable tests
18921 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
18924 unbreak the build for those who have chronic arthritis
18925 and typing "make check" is just too taxing on the hands
18927 2005-09-20 Andy Wingo <wingo@pobox.com>
18929 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
18930 really want it out, you should fix plugins at the same time.
18932 2005-09-19 Stefan Kost <ensonic@users.sf.net>
18935 * docs/gst/gstreamer-sections.txt:
18937 added missing symbols to api docs
18938 disable ref-count hack if we have glib >= 2.8
18940 2005-09-19 David Schleef <ds@schleef.org>
18942 * docs/gst/Makefile.am: Ignore a few more internal headers
18943 * docs/gst/gstreamer-docs.sgml: Remove old sections
18944 * docs/gst/gstreamer-sections.txt: Remove old sections
18945 * docs/gst/tmpl/gstobject.sgml: update
18946 * docs/gst/tmpl/gstplugin.sgml: update
18947 * docs/gst/tmpl/gstpluginfeature.sgml: update
18948 * docs/random/ds/0.9-suggested-changes: update.
18949 * gst/Makefile.am: remove memchunk and trashstack, since they're
18951 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
18952 * gst/gst.h: don't include some headers
18953 * gst/gstchildproxy.c: add gstmarshal.h
18954 * gst/gstclock.c: Don't use memchunks
18955 * gst/gstminiobject.c: Add some docs
18956 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
18957 * gst/gstobject.h: same
18958 * gst/gstplugin.c: include gstmacros.h
18959 * gst/gstplugin.h: don't include gstmacros.h, since it's private
18960 * gst/gstquery.c: don't use memchunks
18961 * gst/gstregistry.c: rename gst_registry_deinit()
18962 * gst/gstregistry.h: same
18964 2005-09-19 David Schleef <ds@schleef.org>
18966 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
18967 * docs/libs/gstreamer-libs-sections.txt:
18968 * docs/libs/tmpl/gstgetbits.sgml:
18969 * docs/libs/tmpl/gstputbits.sgml:
18971 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
18973 * win32/gstenumtypes.c:
18974 * win32/gstenumtypes.h:
18977 2005-09-19 Wim Taymans <wim@fluendo.com>
18979 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
18980 Automatically PAUSE and RESUME a pipeline when a flushing seek
18983 2005-09-19 Andy Wingo <wingo@pobox.com>
18985 * gst/gstregistry.h: Spacing fixen.
18987 2005-09-19 Wim Taymans <wim@fluendo.com>
18989 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
18990 Handle state change failure more correctly.
18992 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
18994 * check/Makefile.am:
18995 * check/pipelines/cleanup.c: (run_pipeline):
18996 * check/pipelines/simple_launch_lines.c: (run_pipeline),
18998 enable cleanup again after fixing the leak
19000 some more info on docs
19002 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
19004 * check/Makefile.am:
19005 re-enable tests now that leaks are plugged
19007 * check/gst/gstbin.c:
19008 * check/gst/gstpipeline.c:
19009 add some more tests while fixing leaks
19010 * common/check.mak:
19011 make sure binaries are uptodate when valgrinding/gdbing
19013 * gst/gstelementfactory.c:
19014 remove a ref too many, and add a FIXME for when we get
19015 round to disposing of classes
19017 fix the refcounting when loading a plugin from a file and
19018 the code pretends that the pointer is the same even though
19019 of course it can change
19020 * gst/gstpluginfeature.c:
19021 unref plugins marked cached (a bit confusing as a name)
19022 as the docs state should be done
19023 various doc additions to explain refcounting
19024 * gst/gstregistry.c:
19025 * gst/gstregistryxml.c:
19028 2005-09-19 Wim Taymans <wim@fluendo.com>
19030 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19031 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
19032 (send_messages), (GST_START_TEST), (gstbus_suite):
19033 * check/gst/gstpipeline.c: (GST_START_TEST):
19034 * check/pipelines/cleanup.c: (run_pipeline):
19035 * check/pipelines/simple_launch_lines.c: (run_pipeline),
19037 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
19038 (gst_bus_source_check), (gst_bus_source_dispatch),
19039 (gst_bus_create_watch), (gst_bus_add_watch_full),
19040 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
19042 * tools/gst-launch.c: (event_loop):
19043 * tools/gst-md5sum.c: (event_loop):
19044 GstBusHandler -> GstBusFunc, return value has the same meaning as
19045 any other GSource (FALSE == remove source).
19046 _add_watch() and _add_watch_full() now take a MessageType mask to
19047 only handle specific types of messages.
19048 _poll() returns the GstMessage instead of the message type to avoid
19050 _have_pending() takes a MessageType mask now too.
19051 Added testsuite for multiple bus watches.
19052 Fix testsuites and applications for new bus API.
19054 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
19056 * check/Makefile.am:
19057 mark a bunch of the tests as to fix until we fix them
19059 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
19061 * common/check.mak:
19062 use GST_PLUGIN settings for valgrind tests as well, so we're
19063 valgrinding the correct thing
19064 * gst/gst.c: (init_post):
19067 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
19069 * gst/gst.c: (init_post), (gst_deinit):
19070 * gst/gstelementfactory.c: (gst_element_factory_class_init),
19071 (gst_element_factory_finalize), (gst_element_factory_cleanup):
19072 * gst/gstindex.c: (gst_index_factory_class_init),
19073 (gst_index_factory_finalize):
19074 * gst/gstobject.c: (gst_object_dispose):
19075 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
19076 (gst_plugin_load_file), (gst_plugin_desc_free):
19077 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
19078 (gst_plugin_feature_finalize):
19079 * gst/gstregistry.c: (gst_registry_class_init),
19080 (gst_registry_init), (gst_registry_finalize),
19081 (gst_registry_get_default), (gst_registry_deinit):
19082 * gst/gstregistry.h:
19083 * gst/gstregistryxml.c: (load_feature), (load_plugin):
19084 various cleanups and memleak plugging. make valgrind is happy now.
19086 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
19088 * common/check.mak:
19089 add a check-valgrind target
19091 2005-09-18 David Schleef <ds@schleef.org>
19093 * tools/gst-inspect.c: Revert the GOption code.
19095 2005-09-17 David Schleef <ds@schleef.org>
19097 * check/Makefile.am: Fix environment variables.
19098 * check/gst/gstplugin.c: Fix for API changes.
19099 * tools/gst-inspect.c: Fix for API changes.
19100 * tools/gst-xmlinspect.c: Fix for API changes.
19101 * gst/gstelementfactory.c:
19104 * gst/gstpluginfeature.c:
19105 * gst/gstpluginfeature.h:
19106 * gst/gstregistry.c:
19107 * gst/gstregistry.h:
19108 * gst/gstregistryxml.c:
19109 * gst/gsttypefind.c:
19110 * gst/gsttypefindfactory.c:
19111 * gst/indexers/gstfileindex.c:
19112 * gst/indexers/gstmemindex.c:
19113 * gst/schedulers/Makefile.am:
19114 Change registry to keep track of both plugins and features,
19115 removing the feature tracking from plugins themselves.
19117 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
19119 * check/Makefile.am:
19120 * tools/gst-register.1.in:
19121 remove gst-register
19123 2005-09-15 David Schleef <ds@schleef.org>
19125 * check/gst/gstplugin.c:
19126 * gst/gstelementfactory.c:
19128 * gst/gstpluginfeature.c:
19129 * gst/gstregistry.c:
19130 Getting tired of debugging. Disabled all the unreffing of
19131 plugins and features, which fixes the segfaults, but of
19132 course leaks like crazy. At least playbin works.
19134 2005-09-15 David Schleef <ds@schleef.org>
19136 * check/gst/gstplugin.c: (register_check_elements),
19137 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
19139 * gst/elements/gsttypefindelement.c: Fix refcounting.
19140 * gst/gsttypefind.c:
19141 * gst/gsttypefindfactory.c:
19142 * gst/gsttypefindfactory.h:
19144 2005-09-15 David Schleef <ds@schleef.org>
19146 * gst/gstindex.c: get refcounting correct.
19147 * gst/gstregistry.c: Handle the case where a feature/plugin is
19150 2005-09-15 David Schleef <ds@schleef.org>
19152 * check/Makefile.am:
19153 * check/gst/gstplugin.c: Add test
19154 * gst/gstplugin.c: Fix problems noticed by testsuite
19156 * gst/gstregistry.c:
19157 * gst/gstregistry.h:
19159 2005-09-15 David Schleef <ds@schleef.org>
19161 * gst/gstplugin.c: Implement semi-decent recounting and locking
19162 in plugins and plugin features.
19164 * gst/gstpluginfeature.c:
19165 * gst/gstpluginfeature.h:
19166 * gst/gstregistry.c:
19168 2005-09-15 Michael Smith <msmith@fluendo.com>
19170 * gst/gstregistry.c: (gst_registry_get_feature_list):
19171 Implement this. Makes oggdemux work; decodebin still broken.
19173 2005-09-14 David Schleef <ds@schleef.org>
19175 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
19177 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
19178 * gst/check/Makefile.am:
19179 * libs/gst/controller/Makefile.am:
19180 * libs/gst/dataprotocol/Makefile.am:
19182 2005-09-14 David Schleef <ds@schleef.org>
19184 * configure.ac: Remove getbits library. Nothing uses it, and
19185 it should be in something like liboil if someone did want
19187 * libs/gst/Makefile.am:
19188 * libs/gst/getbits/Makefile.am:
19189 * libs/gst/getbits/gbtest.c:
19190 * libs/gst/getbits/getbits.c:
19191 * libs/gst/getbits/getbits.h:
19192 * libs/gst/getbits/gstgetbits_generic.c:
19193 * libs/gst/getbits/gstgetbits_i386.s:
19194 * libs/gst/getbits/gstgetbits_inl.h:
19196 2005-09-14 David Schleef <ds@schleef.org>
19198 * gst/Makefile.am: Dist glib-compat.h
19200 2005-09-14 David Schleef <ds@schleef.org>
19202 * configure.ac: Remove gst/registries, since it's no longer used.
19203 * gst/registries/Makefile.am:
19204 * gst/registries/gstlibxmlregistry.c:
19205 * gst/registries/gstlibxmlregistry.h:
19206 * gst/registries/gstxmlregistry.c:
19207 * gst/registries/gstxmlregistry.h:
19208 * gst/registries/registrytest.c:
19210 2005-09-14 David Schleef <ds@schleef.org>
19212 * gst/glib-compat.h:
19213 * gst/gstregistryxml.c:
19214 Convergence is near. Seriously.
19216 2005-09-14 David Schleef <ds@schleef.org>
19218 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19219 * gst/glib-compat.h:
19220 Attempt #4 to appease the buildbots.
19222 2005-09-14 David Schleef <ds@schleef.org>
19224 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19227 2005-09-14 David Schleef <ds@schleef.org>
19229 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19232 2005-09-14 David Schleef <ds@schleef.org>
19234 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
19237 2005-09-14 David Schleef <ds@schleef.org>
19239 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
19240 * gst/glib-compat.h: Add some functions that are in newer versions
19241 of glib than we care to require.
19242 * gst/gstregistryxml.c: Use them.
19244 2005-09-14 David Schleef <ds@schleef.org>
19246 * po/POTFILES.in: remove gst-register.c
19248 2005-09-14 David Schleef <ds@schleef.org>
19250 * docs/gst/gstreamer-docs.sgml:
19251 * docs/gst/gstreamer-sections.txt:
19252 * docs/gst/gstreamer.types:
19253 * docs/gst/tmpl/gstelement.sgml:
19254 * docs/gst/tmpl/gstplugin.sgml:
19255 * docs/gst/tmpl/gstpluginfeature.sgml:
19256 Documentation updates for registry changes.
19258 2005-09-14 David Schleef <ds@schleef.org>
19260 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
19261 because we don't require glib-2.8.
19263 2005-09-14 David Schleef <ds@schleef.org>
19265 * gst/gstregistryxml.c: Added. Essentially moved out of the
19266 registries directory.
19268 2005-09-14 David Schleef <ds@schleef.org>
19270 * check/Makefile.am:
19271 * check/generic/states.c:
19275 * gst/gst_private.h:
19276 * gst/gstelementfactory.c:
19281 * gst/gstpluginfeature.c:
19282 * gst/gstpluginfeature.h:
19283 * gst/gstregistry.c:
19284 * gst/gstregistry.h:
19285 * gst/gstregistrypool.c: remove
19286 * gst/gstregistrypool.h: remove
19287 * gst/gsttypefind.c:
19288 * gst/gsttypefindfactory.c:
19290 * tools/Makefile.am:
19291 * tools/gst-compprep.c:
19292 * tools/gst-inspect.c:
19293 * tools/gst-register.c: remove
19294 * tools/gst-xmlinspect.c:
19295 Registry rewrite. Changes registry from being a file created
19296 by a tool into a simple cache file created automatically by
19297 libgstreamer. Removed gst-register (because it's no longer
19298 needed). Remove registry pools, because we only have one
19299 registry implementation (XML). Fix up other subsystems as
19302 2005-09-13 Michael Smith <msmith@fluendo.com>
19304 * gst/gstconfig.h.in:
19305 Don't Use windows linking attributes for MinGW. Fixes #316157
19307 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
19309 * gst/gstutils.c: (set_state_async_thread_func),
19310 (gst_element_set_state_async):
19311 Apparently people think it's better if this function doesn't
19312 try to set the state to whatever state was asked for on the first
19313 call to this function for any object. Seriously.
19315 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
19317 * check/gst/gstpipeline.c: (GST_START_TEST):
19318 * docs/gst/gstreamer-sections.txt:
19319 * gst/gstutils.c: (set_state_async_thread_func),
19320 (gst_element_set_state_async):
19322 add a "gst_element_set_state_async" method that
19323 sets the state and starts a thread to make sure the state
19324 change completes as best as it can
19326 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
19328 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19329 codify design+behaviour in testsuite after discussion
19331 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
19333 * docs/gst/tmpl/gstelement.sgml:
19334 * docs/manual/appendix-quotes.xml:
19336 * gst/gstelement.c: (gst_element_set_state):
19339 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
19341 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19342 (gst_base_transform_prepare_output_buf),
19343 (gst_base_transform_handle_buffer):
19344 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
19345 (gst_capsfilter_prepare_buf):
19346 Remove the requirement for sub-classes to call the parent
19347 implementation of prepare_output_buffer with a wrapper function.
19349 * gst/gsttaglist.h:
19350 * gst/gsttagsetter.h:
19351 Fix #define wrapper
19353 2005-09-11 Stefan Kost <ensonic@users.sf.net>
19355 * docs/gst/gstreamer-sections.txt:
19358 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
19360 * docs/gst/gstreamer-sections.txt:
19361 * docs/gst/tmpl/gstelement.sgml:
19362 * docs/gst/tmpl/gstplugin.sgml:
19363 * gst/gstminiobject.c:
19365 docs now stop throwing warnings
19367 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
19369 * docs/gst/gstreamer-sections.txt:
19370 * docs/gst/gstreamer.types:
19371 * docs/gst/tmpl/gstpad.sgml:
19372 * docs/gst/tmpl/gsttypes.sgml:
19373 * gst/base/gstadapter.h:
19374 * gst/base/gstbasesink.h:
19375 * gst/base/gstbasesrc.h:
19381 * gst/gstelement.h:
19383 * gst/gstmessage.h:
19385 * gst/gststructure.c:
19386 * gst/registries/gstlibxmlregistry.h:
19387 various documentation fixes
19389 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
19391 * docs/gst/gstreamer-sections.txt:
19392 * docs/gst/tmpl/gstvalue.sgml:
19393 rearrange gstvalue section
19394 * gst/gstutils.c: (gst_element_state_get_name):
19396 * gst/gstvalue.c: (_gst_value_initialize):
19400 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
19402 * check/gst-libs/controller.c:
19403 Header include fix.
19404 * gst/base/gstbasetransform.c:
19405 (gst_base_transform_default_prepare_buf),
19406 (gst_base_transform_handle_buffer):
19407 * gst/base/gstbasetransform.h:
19408 Some more basetransform changes and fixes to enable sub-classes
19409 that modify buffer metadata only.
19410 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
19411 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
19412 (gst_capsfilter_prepare_buf):
19413 If the output pad has fixed allowed caps and input buffers
19414 don't have any, set the fixed caps on outgoing buffers.
19416 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
19417 * check/elements/identity.c: (GST_START_TEST):
19418 Make the error a little clearer when the test fails because
19419 identity made a copy of the buffer.
19420 * docs/gst/gstreamer-sections.txt:
19421 New symbols in gstbasetransform.h
19422 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19423 (gst_base_transform_init), (gst_base_transform_transform_size),
19424 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19425 (gst_base_transform_default_prepare_buf),
19426 (gst_base_transform_get_unit_size),
19427 (gst_base_transform_buffer_alloc),
19428 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
19429 (gst_base_transform_change_state),
19430 (gst_base_transform_set_passthrough),
19431 (gst_base_transform_set_in_place),
19432 (gst_base_transform_is_in_place):
19433 * gst/base/gstbasetransform.h:
19434 Change BaseTransform to separate in_place operate from same_caps
19435 output. in_place implies that the element can perform the transform
19436 on incoming buffers in-place, even if the caps on the output are
19438 Sub-class elements can now implement special buffer allocation
19439 methods for outgoing buffers if they wish to.
19440 Big documentation addition.
19441 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
19442 * gst/elements/gstelements.c:
19443 Changes for basetransform modifications.
19444 * gst/elements/Makefile.am:
19445 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
19446 Compile fix. Extra debug output.
19448 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
19450 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
19452 add tests for valid pad naming
19453 * gst/check/gstcheck.c: (gst_check_log_message_func),
19454 (gst_check_log_critical_func):
19456 remove printing of code, it is fragile when the code contains
19457 % and the line number is enough info
19458 * gst/check/gstcheck.h:
19459 * gst/gstpad.c: (gst_pad_template_new):
19462 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
19465 say what CHECK flags we use
19466 * docs/libs/gstreamer-libs.types:
19467 * libs/gst/controller/Makefile.am:
19468 * libs/gst/controller/gst-controller.c:
19469 * libs/gst/controller/gst-controller.h:
19470 * libs/gst/controller/gst-helper.c:
19471 * libs/gst/controller/gst-interpolation.c:
19472 * libs/gst/controller/gstcontroller.c:
19473 * libs/gst/controller/gsthelper.c:
19474 * libs/gst/controller/gstinterpolation.c:
19475 * tools/gst-inspect.c: (print_plugin_info):
19476 we don't use dashes in header names
19478 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
19480 * check/Makefile.am:
19481 * check/gst/.cvsignore:
19482 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
19483 (gst_pipeline_suite), (main):
19484 adding a test for pipelines and state changes
19485 * gst/gstutils.c: (get_state_func):
19487 * gstreamer.spec.in:
19490 2005-09-08 Michael Smith <msmith@fluendo.com>
19492 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
19493 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
19494 (gst_file_src_is_seekable), (gst_file_src_get_size),
19495 (gst_file_src_start):
19496 * gst/elements/gstfilesrc.h:
19497 Various fixes for unseekable, unmmapable, and non-normal files, so
19498 that fallback to read() rather than mmap() works.
19499 * gst/gstevent.c: (gst_event_new_newsegment):
19500 Allow newsegment events with segment_start == segment_end, as will
19501 correctly happen if you use filesrc on a zero-size file, for
19504 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
19506 * gst/gstplugin.c: (gst_plugin_load_file):
19507 Call g_module_close when we don't load the module
19509 * gst/registries/gstlibxmlregistry.c:
19510 (gst_xml_registry_get_property):
19511 Port leak fix from 0.8
19513 2005-09-07 Stefan Kost <ensonic@users.sf.net>
19515 * docs/gst/gstreamer-docs.sgml:
19516 * docs/gst/tmpl/.cvsignore:
19517 * docs/gst/tmpl/gsttrace.sgml:
19518 * docs/gst/tmpl/gsttrashstack.sgml:
19521 * gst/gstelement.h:
19523 * gst/gstmessage.c:
19524 * gst/gstmessage.h:
19527 * gst/gsttaginterface.c:
19528 * gst/gsttaginterface.h:
19529 * gst/gsttaglist.c:
19530 * gst/gsttaglist.h:
19531 * gst/gsttagsetter.c:
19532 * gst/gsttagsetter.h:
19535 * gst/gsttrashstack.c:
19536 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
19537 inlined docs for gsttrace, gsttrashstack
19539 2005-09-07 Stefan Kost <ensonic@users.sf.net>
19542 * gst/elements/gstbufferstore.h:
19543 * gst/elements/gsttypefindelement.c:
19544 * gst/elements/gsttypefindelement.h:
19546 * gst/gsttypefind.c:
19547 * gst/gsttypefind.h:
19548 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
19549 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
19550 (gst_type_find_factory_dispose),
19551 (gst_type_find_factory_unload_thyself),
19552 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
19553 (gst_type_find_factory_get_caps),
19554 (gst_type_find_factory_get_extensions),
19555 (gst_type_find_factory_call_function):
19556 * gst/gsttypefindfactory.h:
19557 * gst/registries/gstlibxmlregistry.c:
19558 * gst/registries/gstxmlregistry.c:
19559 splitted gsttypefind into gsttypefind, gsttypefindfactory
19561 2005-09-07 Andy Wingo <wingo@pobox.com>
19563 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
19564 condition whereby the pad's task function is entered before the
19565 pad_mode variable was set.
19567 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
19569 * gst/gstpad.c: (gst_pad_alloc_buffer):
19570 Catch misbehaving pad_alloc functions that don't
19571 set up caps and do it for them.
19573 2005-09-07 Stefan Kost <ensonic@users.sf.net>
19575 * check/pipelines/simple_launch_lines.c: (run_pipeline):
19576 test for pipe!=NULL
19577 * docs/gst/tmpl/.cvsignore:
19578 * docs/gst/tmpl/gstmemchunk.sgml:
19579 * docs/gst/tmpl/gstparse.sgml:
19580 * docs/gst/tmpl/gsttaglist.sgml:
19581 * docs/gst/tmpl/gsttagsetter.sgml:
19582 * docs/gst/tmpl/gsttypefind.sgml:
19583 * docs/gst/tmpl/gsttypefindfactory.sgml:
19584 * gst/gstmemchunk.c:
19587 * gst/gsttaginterface.c:
19588 * gst/gsttypefind.c:
19589 * gst/gsttypefind.h:
19592 === release 0.9.2 ===
19594 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
19599 releasing 0.9.2, "South"
19601 2005-09-05 Andy Wingo <wingo@pobox.com>
19603 * gst/registries/gstxmlregistry.h:
19604 * gst/registries/gstxmlregistry.c: Um... resurrect...
19606 * gst/registries/gstxmlregistry.h:
19607 * gst/registries/gstxmlregistry.c: and update to newer API.
19608 Incidentally they should be a bit faster now that they don't have
19611 2005-09-05 Andy Wingo <wingo@pobox.com>
19613 * gst/registries/gstxmlregistry.h:
19614 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
19615 replaced by the libxml registry a while back
19617 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
19619 * docs/gst/tmpl/gstplugin.sgml:
19620 * gst/elements/gstelements.c:
19622 * gst/gstplugin.c: (gst_plugin_register_func),
19623 (gst_plugin_desc_copy), (gst_plugin_desc_free),
19624 (gst_plugin_get_source):
19626 * gst/registries/gstlibxmlregistry.c: (load_plugin),
19627 (gst_xml_registry_save_plugin):
19628 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
19629 (gst_xml_registry_save_plugin):
19630 * tools/gst-inspect.c: (print_plugin_info):
19631 add a "source" plugin description field, to represent the source
19632 module this plugin is a part of. By default GST_PLUGIN_DEFINE
19633 will set it to PACKAGE, which is automake's idea of the name of
19634 the source project.
19636 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
19641 * docs/Makefile.am:
19642 * docs/faq/Makefile.am:
19643 * docs/gst/tmpl/gstelement.sgml:
19644 * docs/gst/tmpl/gsttypes.sgml:
19645 * docs/htmlinstall.mak:
19646 * docs/manual/Makefile.am:
19647 * docs/pwg/Makefile.am:
19648 reorganize doc build a little
19649 split out docbook and gtk-doc stuff
19650 have two separate --enable's and enable them through autogen
19651 but disable by default in configure (to be similar to other
19653 * gstreamer.spec.in:
19654 clean up docs install
19672 translation updates
19674 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
19676 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
19679 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
19680 (gst_fake_sink_change_state):
19681 Make state change function thread-safe.
19683 * gst/gstpad.c: (gst_pad_alloc_buffer):
19684 Set offset on generic buffer allocated by fallback.
19686 2005-09-03 Stefan Kost <ensonic@users.sf.net>
19688 * docs/gst/gstreamer-sections.txt:
19689 * docs/gst/tmpl/gstelement.sgml:
19691 * libs/gst/controller/gst-controller.c:
19692 (gst_controlled_property_set_interpolation_mode),
19693 (gst_controlled_property_new),
19694 (gst_controller_find_controlled_property):
19695 run the wingo-magic script against the docs
19697 2005-09-02 Stefan Kost <ensonic@users.sf.net>
19699 * docs/gst/gstreamer-docs.sgml:
19700 * docs/gst/gstreamer-sections.txt:
19701 * docs/gst/tmpl/.cvsignore:
19702 * docs/gst/tmpl/gstelementdetails.sgml:
19703 * docs/gst/tmpl/gstelementfactory.sgml:
19706 * gst/gstelementfactory.c:
19707 * gst/gstelementfactory.h:
19708 merged elementdetails docs into elementfactory docs
19711 2005-09-02 Andy Wingo <wingo@pobox.com>
19713 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
19714 consider this enum an enum and not a flags.
19716 2005-09-02 Stefan Kost <ensonic@users.sf.net>
19718 * docs/gst/gstreamer-docs.sgml:
19719 * docs/gst/tmpl/.cvsignore:
19720 * docs/gst/tmpl/gstghostpad.sgml:
19721 * docs/gst/tmpl/gstiterator.sgml:
19722 * docs/gst/tmpl/gstmacros.sgml:
19723 * docs/gst/tmpl/gstrealpad.sgml:
19724 * docs/gst/tmpl/gstregistry.sgml:
19725 * docs/gst/tmpl/gstregistrypool.sgml:
19726 * docs/gst/tmpl/gststructure.sgml:
19727 * docs/gst/tmpl/gstsystemclock.sgml:
19728 * docs/gst/tmpl/gsttrace.sgml:
19729 * gst/gstghostpad.c:
19731 * gst/gstmemchunk.c:
19732 * gst/gstmemchunk.h:
19734 * gst/gstregistry.c:
19735 * gst/gstregistrypool.c:
19736 * gst/gststructure.c:
19737 * gst/gstsystemclock.c:
19740 2005-09-02 Andy Wingo <wingo@pobox.com>
19742 * gst/gstelement.h (GstState): Renamed from GstElementState,
19743 changed to be a normal enum instead of flags.
19744 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
19745 munged to be GST_STATE_CHANGE_*.
19746 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
19747 work with the new state representation.
19748 (GstStateChange): New enumeration of possible state transitions.
19749 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
19750 (GstElementClass::change_state): Pass the GstStateChange along as
19751 an argument. Helps language bindings, so they don't have to use
19752 tricky lock-needing macros like GST_STATE_CHANGE ().
19754 * scripts/update-states (file): New script. Run it on a file to
19755 update it for state naming and API changes. Updates files in
19758 * All files updated for the new API.
19760 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
19762 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
19763 * gst/gstutils.c: (gst_util_set_value_from_string),
19764 (gst_util_set_object_arg):
19765 fix a bunch of unchecked return values
19766 * tools/gst-complete.c: (main):
19767 * gstreamer.spec.in:
19770 2005-09-01 Wim Taymans <wim@fluendo.com>
19772 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19773 (gst_base_sink_event), (gst_base_sink_do_sync),
19774 (gst_base_sink_handle_event):
19775 * gst/base/gstbasesink.h:
19776 Handle newsegments more correctly.
19781 * gst/gstevent.c: (gst_event_new_newsegment):
19782 A newsegment cannot have a start_time of -1
19784 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
19786 * win32/gstenumtypes.c:
19787 * win32/gstenumtypes.h:
19790 2005-08-31 Stefan Kost <ensonic@users.sf.net>
19792 * libs/gst/controller/gst-controller.c:
19793 (gst_controlled_property_set_interpolation_mode),
19794 (gst_controlled_property_new):
19795 fixed boolean again
19797 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
19799 * docs/faq/gst-uninstalled:
19804 * gst/gstutils.c: (gst_element_link_filtered):
19806 add gst_element_link_filtered
19808 2005-08-31 Stefan Kost <ensonic@users.sf.net>
19810 * docs/gst/gstreamer-docs.sgml:
19811 * docs/gst/gstreamer-sections.txt:
19812 * docs/gst/tmpl/.cvsignore:
19813 * docs/gst/tmpl/gsterror.sgml:
19814 * docs/gst/tmpl/gstfilter.sgml:
19815 * docs/gst/tmpl/gsturihandler.sgml:
19816 * docs/gst/tmpl/gsturitype.sgml:
19817 * docs/gst/tmpl/gstutils.sgml:
19818 * docs/gst/tmpl/gstxml.sgml:
19823 * gst/gsturitype.c:
19826 inlined more docs, fixed double id-ref
19828 2005-08-31 Wim Taymans <wim@fluendo.com>
19830 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19831 (gst_base_transform_handle_buffer):
19832 Passthrough elements don't need the caps as they don't care.
19834 2005-08-31 Wim Taymans <wim@fluendo.com>
19836 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
19837 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
19838 Don't leak refcounts on buffers.
19840 2005-08-31 Wim Taymans <wim@fluendo.com>
19842 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
19843 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19844 (gst_base_transform_chain), (gst_base_transform_change_state):
19845 * gst/base/gstbasetransform.h:
19846 Handle the case where we are not negotiated more gracefully.
19848 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
19850 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
19851 (gst_file_src_map_region):
19852 Set READONLY flag on mmap'ed buffers, otherwise
19853 gst_buffer_make_writable() won't work properly (#314708).
19855 2005-08-31 Wim Taymans <wim@fluendo.com>
19857 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
19858 passthrough elements can even do inplace on non writable
19859 buffers (as they don't touch them).
19861 2005-08-31 Stefan Kost <ensonic@users.sf.net>
19863 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
19864 (gst_test_mono_source_set_property),
19865 (gst_test_mono_source_class_init), (GST_START_TEST),
19866 (gst_controller_suite):
19867 more tests (hehe I have the most)
19869 describe popping messages whenusing mulltiple sources
19870 * libs/gst/controller/gst-controller.c:
19871 (gst_controlled_property_set_interpolation_mode),
19872 (gst_controlled_property_new):
19873 * libs/gst/controller/gst-controller.h:
19874 * libs/gst/controller/gst-interpolation.c:
19875 implement boolean properties
19877 2005-08-31 Wim Taymans <wim@fluendo.com>
19879 * gst/gstminiobject.c: (gst_mini_object_ref):
19880 Cannot assert that the refcount has to be positive
19881 since a disposed object can be resurrected.
19883 2005-08-31 Wim Taymans <wim@fluendo.com>
19885 * gst/gstpad.c: (gst_pad_init):
19886 Revert change, need to first fix badly behaving
19889 2005-08-30 Wim Taymans <wim@fluendo.com>
19891 * check/elements/fakesrc.c: (setup_fakesrc):
19892 * check/elements/identity.c: (setup_identity):
19893 Activate pads before using them.
19895 2005-08-30 Wim Taymans <wim@fluendo.com>
19897 * gst/base/gstadapter.c: (gst_adapter_flush):
19898 Flushing out 0 bytes is ok for this function.
19900 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19901 no newsegment gives a warning and sets the start/stop to
19904 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
19905 (gst_base_transform_set_passthrough):
19908 * gst/gstminiobject.c: (gst_mini_object_ref):
19909 Check refcount here too.
19911 * gst/gstpad.c: (gst_pad_init):
19912 Pads are initially flushing and refusing data.
19914 * gst/gstutils.c: (gst_element_link_pads_filtered):
19915 When adding a capsfilter element make sure it has the
19916 same state as the parent bin.
19918 2005-08-30 Stefan Kost <ensonic@users.sf.net>
19920 * docs/gst/tmpl/.cvsignore:
19921 * docs/gst/tmpl/gstformat.sgml:
19922 * docs/gst/tmpl/gstversion.sgml:
19926 * gst/gstversion.h.in:
19927 more docs and two more inlined
19929 2005-08-30 Wim Taymans <wim@fluendo.com>
19931 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
19932 Don't sync to clock.
19934 2005-08-30 Stefan Kost <ensonic@users.sf.net>
19936 * docs/gst/gstreamer-sections.txt:
19937 ultral33t func10ns deserve to appear in the docs actually
19938 * docs/gst/tmpl/.cvsignore:
19939 * docs/gst/tmpl/gstcompat.sgml:
19940 * docs/gst/tmpl/gstconfig.sgml:
19941 * gst/check/gstcheck.c:
19943 * gst/gstconfig.h.in:
19946 2005-08-30 Stefan Kost <ensonic@users.sf.net>
19948 * docs/gst/tmpl/.cvsignore:
19949 * docs/gst/tmpl/gstquery.sgml:
19950 * docs/gst/tmpl/gstutils.sgml:
19953 inlined and extended docs
19955 2005-08-30 Stefan Kost <ensonic@users.sf.net>
19957 * check/gst-libs/controller.c: (GST_START_TEST),
19958 (gst_controller_suite):
19960 * docs/gst/tmpl/gstutils.sgml:
19961 * docs/libs/gstreamer-libs-sections.txt:
19962 * docs/libs/tmpl/gstdataprotocol.sgml:
19964 * examples/controller/audio-example.c: (main):
19965 controller example works now
19968 * tools/gst-inspect.c: (print_element_properties_info):
19969 show param spec flags
19971 2005-08-29 Andy Wingo <wingo@pobox.com>
19973 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
19975 2005-08-28 Andy Wingo <wingo@pobox.com>
19977 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
19978 as having two arguments instead of just one. Allows superclasses
19979 to access information on subclasses -- see the terrible for() loop
19980 in gtype.c:g_type_create_instance for the reason why. All callers
19983 2005-08-27 Stefan Kost <ensonic@users.sf.net>
19985 * docs/design/part-messages.txt:
19987 * docs/gst/tmpl/.cvsignore:
19988 * docs/gst/tmpl/gstcaps.sgml:
19989 * docs/gst/tmpl/gstclock.sgml:
19995 * gst/gstmessage.c:
19996 added descriptions for bus and message
19997 inline caps and clock docs
19999 2005-08-27 Stefan Kost <ensonic@users.sf.net>
20001 * gst/gstmessage.c:
20002 * gst/gstmessage.h:
20005 2005-08-27 Stefan Kost <ensonic@users.sf.net>
20007 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
20010 2005-08-26 Andy Wingo <wingo@pobox.com>
20012 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
20013 element_set_state's return val.
20014 (test_2_elements): Add test that's been disabled for months.
20016 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
20017 can-activate-pull properties.
20019 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
20020 can-activate-pull properties. Implement is_seekable so fakesrc can
20021 operate in pull mode.
20023 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
20025 (gst_base_sink_activate, gst_base_sink_activate_pull)
20026 (gst_base_sink_activate_push): Make activation mode choosing work.
20028 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
20029 is right. Make pull mode work. Post an eos before pausing in pull
20031 (gst_base_sink_change_state): Pay attention to the core's
20032 change_state() return val.
20034 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
20035 has-getrange properties. Cleanups.
20037 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
20038 has_getrange and replace with can_activate_pull and
20041 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
20042 locking comments. Remove has_loop, has_chain and replace with
20043 can_activate_pull and can_activate_push.
20045 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
20048 * examples/Makefile.am:
20049 * examples/metadata/Makefile.am:
20050 * examples/metadata/read-metadata.c: (message_loop),
20051 (have_pad_handler), (make_pipeline), (print_tag), (main):
20052 Add metadata reading example that loops over a list of filenames,
20053 dumping any tags found.
20055 * gst/gstbus.c: (gst_bus_dispose):
20056 * gst/gstelement.c: (gst_element_dispose):
20057 Release a few potentially-held references in dispose.
20059 2005-08-26 Stefan Kost <ensonic@users.sf.net>
20061 * docs/gst/tmpl/gstminiobject.sgml:
20062 do *not* add tmpl/*.sgml files to CVS!
20064 2005-08-26 Stefan Kost <ensonic@users.sf.net>
20066 * libs/gst/bytestream/.cvsignore:
20067 * libs/gst/bytestream/Makefile.am:
20068 * libs/gst/bytestream/adapter.c:
20069 * libs/gst/bytestream/adapter.h:
20070 * libs/gst/bytestream/bytestream.c:
20071 * libs/gst/bytestream/bytestream.h:
20072 * libs/gst/bytestream/filepad.c:
20073 * libs/gst/bytestream/filepad.h:
20074 removing obsolete files
20076 2005-08-26 Stefan Kost <ensonic@users.sf.net>
20078 * docs/gst/gstreamer-docs.sgml:
20079 * docs/libs/gstreamer-libs-docs.sgml:
20080 disabed additional index entries again, as this makes docs-gen just
20081 slow and they aren't useful yet
20082 * docs/libs/gstreamer-libs-sections.txt:
20083 little -section.txt cleanup for libs
20085 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
20087 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20088 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
20089 fix up some debugging
20090 (gst_base_transform_get_unit_size),
20091 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
20092 (gst_base_transform_handle_buffer):
20093 * gst/base/gstbasetransform.h:
20094 handle and store timed NEWSEGMENT events so that subclasses that
20095 calculate time by counting samples have a segment_start time they
20096 need to add to their timestamps - see audioresample
20098 2005-08-26 Stefan Kost <ensonic@users.sf.net>
20101 removed ';' from the end of macro defs
20102 * docs/gst/gstreamer-docs.sgml:
20103 * docs/gst/gstreamer-sections.txt:
20104 * docs/gst/tmpl/.cvsignore:
20106 * gst/gstelement.c: (gst_element_class_init),
20107 (gst_element_set_state), (activate_pads),
20108 (gst_element_save_thyself):
20109 * gst/gstevent.c: (gst_event_new_newsegment):
20111 * gst/gstiterator.c:
20112 * gst/gstiterator.h:
20115 * gst/gstutils.c: (gst_pad_query_convert):
20117 fixed parameter name mismatches between source, header and docs
20118 added some more docs, resolved the last batch of unused elements in
20119 docs (now someone needs to doc them)
20121 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
20123 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
20124 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
20125 don't walk through the plugins backwards. Where is all this
20126 reversed logic coming from ?
20128 2005-08-25 Wim Taymans <wim@fluendo.com>
20130 * gst/base/gstbasetransform.c: (gst_base_transform_init),
20131 (gst_base_transform_transform_size),
20132 (gst_base_transform_configure_caps),
20133 (gst_base_transform_get_unit_size),
20134 (gst_base_transform_buffer_alloc),
20135 (gst_base_transform_change_state):
20136 * gst/base/gstbasetransform.h:
20137 Cache caps unit_size.
20138 Make sure we cannot negotiate up and downstream at the
20141 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
20143 * gst/gst.c: (init_pre), (init_post):
20144 register the installed plugin path after the env var
20145 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
20146 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
20147 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
20148 directories, so the tests can prefer uninstalled over installed
20150 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
20152 * gst/base/gstbasetransform.h:
20157 2005-08-25 Wim Taymans <wim@fluendo.com>
20159 * gst/gstbin.c: (bin_bus_handler):
20160 Be a bit more conservative about the posted message.
20162 * gst/gstbus.c: (gst_bus_post):
20163 Some cleanups, warn wrong return values.
20165 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
20167 * check/gst/gstbin.c: (GST_START_TEST):
20168 * gst/gstbin.c: (bin_bus_handler):
20169 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20170 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20171 (gst_message_new_warning), (gst_message_new_tag),
20172 (gst_message_new_state_changed), (gst_message_new_segment_start),
20173 (gst_message_new_segment_done), (gst_message_new_custom):
20174 * gst/gstmessage.h:
20175 * tools/gst-launch.c: (event_loop):
20176 * tools/gst-md5sum.c: (event_loop):
20177 Revert unpopular change for GST_MESSAGE_SRC to GObject.
20179 2005-08-25 Wim Taymans <wim@fluendo.com>
20181 * check/generic/states.c: (GST_START_TEST):
20182 Cleanup can be done at the end.
20184 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
20185 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20186 (gst_task_get_state), (gst_task_start), (gst_task_pause):
20187 Oh boy.. Thanks for finding this, Thomas.
20189 2005-08-25 Stefan Kost <ensonic@users.sf.net>
20191 * docs/gst/gstreamer.types:
20192 added missing types
20194 2005-08-25 Stefan Kost <ensonic@users.sf.net>
20196 * docs/gst/gstreamer-docs.sgml:
20197 * docs/gst/gstreamer-sections.txt:
20198 * docs/gst/tmpl/.cvsignore:
20200 * gst/gstiterator.c:
20202 * gst/registries/gstxmlregistry.h:
20203 added missing classes and symbols (123 more to go)
20204 removed removed symbols from section file
20205 fixed many doc-comments
20207 2005-08-24 Wim Taymans <wim@fluendo.com>
20209 * check/generic/states.c: (GST_START_TEST):
20210 Make sure all tasks are stopped.
20212 * check/gst/gstbin.c: (GST_START_TEST):
20213 Unref after usage for proper valgrinding.
20215 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
20216 Really wait for the task to stop before destroying the
20219 * gst/gstqueue.c: (gst_queue_sink_activate_push),
20220 (gst_queue_src_activate_push):
20221 Small cleanups. Don't stop the task when we did not start
20224 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
20225 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20226 (gst_task_get_state), (gst_task_start), (gst_task_pause),
20229 Protect the stream lock with the object lock.
20230 Disallow setting the stream lock when running.
20231 Add cleanup_all to wait for the threadpool to finish.
20232 Remove code to autoallocate a mutex if none was provided.
20233 Add _join() to wait for a task to stop.
20234 Protect the thread pool with a global lock.
20236 2005-08-24 Wim Taymans <wim@fluendo.com>
20238 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20239 (gst_base_sink_get_times), (gst_base_sink_do_sync),
20240 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
20241 * gst/base/gstbasesink.h:
20242 Handle newsegment events correctly.
20243 Drop buffers out of the segment range.
20245 2005-08-22 Andy Wingo <wingo@pobox.com>
20247 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
20248 macro, implements an interface and gstimplementsinterface for a
20251 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
20253 * check/Makefile.am:
20254 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
20255 add a test that does a bunch of state changes on elements
20256 needs some fixing for valgrind
20257 * check/states/sinks.c: (gst_object_suite):
20260 add prototype for gst_caps_is_equal_fixed
20262 * gst/gstregistrypool.c:
20265 2005-08-24 Andy Wingo <wingo@pobox.com>
20267 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
20268 convert a negative value. Doesn't make much sense. Mostly this is
20269 here to force callers to ensure -1 maps to -1.
20271 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
20273 * docs/pwg/advanced-types.xml:
20274 Well done to Michael for catching my deliberate introduction
20275 of this spelling mistake.
20276 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
20277 * gst/gstelement.h:
20278 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
20279 unlink pads before removing the element from the bin.
20281 2005-08-24 Andy Wingo <wingo@pobox.com>
20283 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
20284 the same thing as GST_DEBUG=*:4.
20285 (parse_debug_level, parse_debug_category): New helper parsers.
20287 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
20289 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20290 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
20291 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
20292 (gst_base_transform_buffer_alloc),
20293 (gst_base_transform_handle_buffer):
20294 use gboolean return values and pointers to size so we can use the
20295 full GST_BUFFER_SIZE range (guint) for buffer sizes
20296 use GstPadDirection for transform_caps
20297 * gst/base/gstbasetransform.h:
20298 rename get_size to get_unit_size since that's what it is
20299 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
20300 use GstPadDirection for transform_caps
20301 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20303 cleanup and debugging
20305 2005-08-24 Stefan Kost <ensonic@users.sf.net>
20307 * gst/gstelement.c: (gst_element_class_init),
20308 (gst_element_set_state), (activate_pads),
20309 (gst_element_save_thyself):
20310 * tools/gst-compprep.c: (main):
20311 * tools/gst-inspect.c: (print_element_properties_info):
20312 * tools/gst-xmlinspect.c: (print_element_properties):
20313 Fixed long standing mem-leak
20315 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
20317 * check/gst/gstbin.c: (GST_START_TEST):
20318 * gst/gstbin.c: (bin_bus_handler):
20319 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20320 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20321 (gst_message_new_warning), (gst_message_new_tag),
20322 (gst_message_new_state_changed), (gst_message_new_segment_start),
20323 (gst_message_new_segment_done), (gst_message_new_custom):
20324 * gst/gstmessage.h:
20325 * tools/gst-launch.c: (event_loop):
20326 * tools/gst-md5sum.c: (event_loop):
20327 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
20328 that applications can sensibly post custom messages with references
20329 to their own objects.
20331 2005-08-24 Andy Wingo <wingo@pobox.com>
20333 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
20336 2005-08-24 Wim Taymans <wim@fluendo.com>
20338 * gst/base/gstbasetransform.c: (gst_base_transform_init),
20339 (gst_base_transform_transform_caps),
20340 (gst_base_transform_transform_size),
20341 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20342 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
20343 (gst_base_transform_handle_buffer):
20344 * gst/base/gstbasetransform.h:
20345 Many fixes and new features added by Thomas. Can now also do
20346 transforms with variable sizes and a custom fixate_caps function.
20348 2005-08-24 Wim Taymans <wim@fluendo.com>
20350 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20354 Cast to ClockTime before formatting to time.
20359 2005-08-24 Stefan Kost <ensonic@users.sf.net>
20361 * check/gst-libs/controller.c: (GST_START_TEST),
20362 (gst_controller_suite):
20363 * docs/gst/tmpl/gstcaps.sgml:
20364 * docs/gst/tmpl/gstghostpad.sgml:
20365 * docs/gst/tmpl/gstquery.sgml:
20366 * docs/gst/tmpl/gstutils.sgml:
20367 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
20368 (gst_object_sink_values), (gst_object_get_value_arrays),
20369 (gst_object_get_value_array):
20370 gracefully handle helper method calls to objects that are not beeing
20371 controlled, added test case for that
20373 2005-08-23 Wim Taymans <wim@fluendo.com>
20375 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
20376 (gst_event_new_newsegment), (gst_event_parse_newsegment),
20377 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
20378 (gst_event_parse_qos), (gst_event_new_seek),
20379 (gst_event_parse_seek):
20381 Some more debugging output and doc cleanups.
20383 * gst/gstqueue.c: (gst_queue_handle_sink_event):
20384 Fix possible deadlock.
20386 2005-08-23 Stefan Kost <ensonic@users.sf.net>
20388 * docs/gst/gstreamer-docs.sgml:
20389 * docs/gst/gstreamer-sections.txt:
20390 * docs/gst/gstreamer.types:
20391 * docs/gst/tmpl/.cvsignore:
20394 * gst/gstelement.c:
20396 added 100 symbols from gstreamer-unused.txt to the right sections
20397 fixed more broken comments
20398 added GstBus to docs
20400 2005-08-23 Stefan Kost <ensonic@users.sf.net>
20402 * docs/gst/gstreamer-sections.txt:
20403 * docs/gst/tmpl/.cvsignore:
20404 * docs/gst/tmpl/gstbin.sgml:
20405 * docs/gst/tmpl/gstbuffer.sgml:
20406 * gst/base/gstbasesrc.c:
20407 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
20410 * tools/gst-launch.1.in:
20411 inlined more doc comments, added missing comments and fixed comments
20414 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
20416 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
20420 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
20422 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
20423 * gst/gststructure.h:
20424 add a fixate function for booleans; add a FIXME that these func
20425 names should probably be gst_structure_fixate_*
20427 2005-08-23 Stefan Kost <ensonic@users.sf.net>
20429 * docs/gst/gstreamer-docs.sgml:
20430 * docs/gst/gstreamer-sections.txt:
20432 * gst/gstbin.c: (gst_bin_get_type),
20433 (gst_bin_child_proxy_get_child_by_index),
20434 (gst_bin_child_proxy_get_children_count),
20435 (gst_bin_child_proxy_init):
20436 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20437 (gst_child_proxy_get_child_by_index),
20438 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
20439 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
20440 (gst_child_proxy_get), (gst_child_proxy_set_property),
20441 (gst_child_proxy_set_valist), (gst_child_proxy_set),
20442 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
20443 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
20444 * gst/gstchildproxy.h:
20445 * gst/parse/grammar.y:
20446 * tools/gst-inspect.c: (print_interfaces),
20447 (print_element_properties_info), (print_element_info):
20448 ported gstchildproxy over from 0.8
20449 ported gst-inspect fixes and enhancements over from 0.8
20451 2005-08-22 Wim Taymans <wim@fluendo.com>
20453 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
20454 (gst_base_transform_handle_buffer):
20455 Also call the transform function if we have ANY caps.
20457 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
20460 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
20462 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
20463 Don't pretend to handle seek events if the source is not seekable
20465 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
20467 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20468 Remove extra parameter to debug output
20470 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20471 (gst_base_src_do_seek), (gst_base_src_activate_push):
20472 Fix seek event handling.
20474 * gst/gstpipeline.c: (gst_pipeline_change_state):
20475 * gst/gstqueue.c: (gst_queue_handle_sink_event),
20476 (gst_queue_src_activate_push):
20477 Don't start the src pad task on FLUSH_STOP if the pad
20481 2005-08-22 Wim Taymans <wim@fluendo.com>
20483 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
20484 Added check for gst_static_caps_get() refcounting.
20486 2005-08-22 Wim Taymans <wim@fluendo.com>
20488 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
20489 Make _static_caps_get() refcounting sane.
20491 * gst/gstelement.c: (gst_element_set_state):
20492 Add g_return_val_if_fail() to protect against segfaults.
20494 2005-08-22 Stefan Kost <ensonic@users.sf.net>
20496 * docs/gst/tmpl/gstevent.sgml:
20499 inlined remaining docs, added missing doc comments
20501 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
20503 * check/gst/gstbin.c: (GST_START_TEST):
20504 since we don't know when preroll is done, use refcount range
20506 * gst/check/gstcheck.h:
20507 add macro for checking refcount range
20509 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
20511 * check/Makefile.am:
20512 clean up environment for when registry gets built versus
20513 when actual tests are run; valgrind seems to not report
20514 leaks if GST_PLUGIN_PATH is set to some specific values
20515 * check/gst/gstbin.c: (GST_START_TEST):
20516 add more refcounting checks; maybe this exposes a
20518 * common/check.mak:
20519 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20520 * gst/check/gstcheck.h:
20521 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
20522 (gst_bin_change_state):
20523 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
20524 add/fix debugging/whitespace
20526 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
20528 * check/gst/gstevent.c: (event_probe), (test_event),
20530 Er, don't call gst_bin_watch_for_state_change you idiot.
20532 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
20534 * check/Makefile.am:
20535 Use CHECK_CFLAGS and CHECK_LIBS
20536 * check/gst/gstevent.c: (event_probe), (test_event),
20539 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
20540 (gst_base_src_start), (gst_base_src_stop),
20541 (gst_base_src_activate_push), (gst_base_src_activate_pull),
20542 (gst_base_src_change_state):
20543 Sprinkle gst_base_src_stop liberally around error paths to fix
20544 problems reusing a source after failed state changes.
20545 * gst/base/gsttypefindhelper.c: (helper_find_peek),
20546 (helper_find_suggest), (gst_type_find_helper):
20547 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
20549 * docs/gst/tmpl/gstevent.sgml:
20550 Migrate part of the docs from the SGML file. Wait for ensonic to
20551 tell me how I did it wrong ;)
20552 * tools/gst-typefind.c: (main):
20553 Extra robustness to state changes between files.
20555 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
20557 * check/Makefile.am:
20558 don't valgrind the controller test - it's leaking - Stefan, HELP
20559 * gst/check/gstcheck.c: (gst_check_message_error),
20560 (gst_check_chain_func), (gst_check_setup_element),
20561 (gst_check_teardown_element), (gst_check_setup_src_pad),
20562 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
20563 (gst_check_teardown_sink_pad):
20564 * gst/check/gstcheck.h:
20565 add a bunch of methods to set up elements, and src and sink pads
20566 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
20567 * check/elements/identity.c: (setup_identity), (cleanup_identity),
20570 * gst/gstmessage.c:
20572 whitespace/doc fixes
20574 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
20576 * gst/gstelement.h:
20577 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
20578 be handled by the application and not always printed as well
20580 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
20582 * check/Makefile.am:
20584 * gst/check/gstcheck.c: (gst_check_message_error):
20585 * gst/check/gstcheck.h:
20586 add a fail_unless_equals_int
20587 add fail_unless for error messages
20589 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
20591 * check/Makefile.am:
20593 * common/Makefile.am:
20594 * common/check.mak:
20596 factor out some of the common stuff so we can use it
20598 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
20600 * check/Makefile.am:
20601 * check/gst/gstiterator.c: (GST_START_TEST):
20602 * check/gst/gstsystemclock.c: (GST_START_TEST),
20603 (gst_systemclock_suite):
20604 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
20606 valgrind more tests
20608 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
20610 * check/elements/.cvsignore:
20611 * check/elements/gstfakesrc.c:
20612 rename to name of element
20613 * check/elements/identity.c: (chain_func), (event_func),
20614 (setup_identity), (cleanup_identity), (GST_START_TEST),
20615 (identity_suite), (main):
20616 add a test for identity
20617 * check/Makefile.am:
20618 * pkgconfig/Makefile.am:
20619 * pkgconfig/gstreamer-check.pc.in:
20620 * pkgconfig/gstreamer-check-uninstalled.pc.in:
20624 move the check stuff to a library that gets installed
20625 * check/gst-libs/controller.c: (GST_START_TEST):
20626 * check/gst-libs/gdp.c:
20627 * check/gst/gst.c: (GST_START_TEST):
20628 * check/gst/gstbin.c:
20629 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20630 * check/gst/gstbus.c:
20631 * check/gst/gstcaps.c: (GST_START_TEST):
20632 * check/gst/gstelement.c:
20633 * check/gst/gstghostpad.c:
20634 * check/gst/gstiterator.c:
20635 * check/gst/gstmessage.c:
20636 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
20637 * check/gst/gstobject.c:
20638 * check/gst/gstpad.c: (GST_START_TEST):
20639 * check/gst/gststructure.c: (GST_START_TEST):
20640 * check/gst/gstsystemclock.c: (GST_START_TEST),
20641 (gst_systemclock_suite):
20642 * check/gst/gsttag.c: (gst_tag_suite):
20643 * check/gst/gstvalue.c:
20644 * check/pipelines/cleanup.c:
20645 * check/pipelines/simple_launch_lines.c:
20646 * check/states/sinks.c:
20647 change include statement
20649 * docs/gst/gstreamer-sections.txt:
20650 * docs/gst/tmpl/gstpad.sgml:
20651 document more pad stuff
20652 * gst/gstminiobject.c: (gst_mini_object_ref),
20653 (gst_mini_object_unref):
20656 2005-08-19 Stefan Kost <ensonic@users.sf.net>
20658 * docs/gst/tmpl/gst.sgml:
20660 eliminate another tmpl file, fix spelling in the long-description
20662 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
20664 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20665 (test_event), (timediff), (gstevents_suite):
20666 Should fix build on 64-bit arch's
20668 2005-08-18 Andy Wingo <wingo@pobox.com>
20670 Make sure that when a pipeline goes to PLAYING, that data has
20671 actually hit the sink.
20673 * check/states/sinks.c (test_sink): A sink that doesn't get any
20674 data shouldn't return SUCCESS for going to either PLAYING or
20675 PAUSED. Test also the return values on the way back down.
20677 * gst/gstelement.c (gst_element_set_state): When changing the
20678 state of an element currently changing state asynchronously, go to
20679 lost-state after commiting the pending state. Makes future calls
20680 to get_state continue to return ASYNC.
20682 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
20683 ASYNC when going to PLAYING if we still don't have preroll, as can
20684 happen with live sources.
20686 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
20688 * docs/pwg/advanced-types.xml:
20689 Hack long paragraph into 2 chunks as a workaround for buggy
20690 jadetex version in sid and breezy that loops infinitely and
20693 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
20695 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20696 (test_event), (timediff), (gstevents_suite):
20697 Provide more error margin in clock measurements to allow for
20698 g_get_current_time inaccuracies.
20700 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
20702 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20703 (test_event), (timediff), (gstevents_suite):
20704 Fix error message output so I might be able to tell why the
20705 test works here but fails on the build farm.
20707 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
20709 * check/Makefile.am:
20710 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
20711 (test_event), (timediff), (gstevents_suite), (main):
20714 * docs/design/part-seeking.txt:
20715 Spelling correction
20717 * docs/gst/tmpl/gstevent.sgml:
20718 * docs/gst/tmpl/gstfakesrc.sgml:
20721 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20722 Treat a buffer-without-newsegment the same as a receiving
20723 a newsegment not in time format, and disable syncing to the clock
20726 * gst/gstbus.c: (gst_bus_set_sync_handler):
20727 Assert if anyone tries to replace the existing sync_handler for bus,
20728 as only the owner should be setting it.
20731 Have a fixed set of custom event enums with events identified by
20732 their structure name (as in 0.8), rather than a free-for-all
20733 allowing collisions between enum values from different plugins.
20735 * gst/gstpad.c: (gst_pad_class_init):
20738 * gst/gstqueue.c: (gst_queue_handle_sink_event):
20739 Handle out-of-band downstream events from the sending thread.
20741 2005-08-17 Andy Wingo <wingo@pobox.com>
20743 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
20744 play-timeout==0 to mean no timeout at all. In that case, don't
20745 bother with a get_state or a warning, just return directly, even
20748 * gst/base/gstbasetransform.c: Debug changes.
20751 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
20752 ensure bins post state change messages. A bit of a hack but I can't
20753 think of a way to avoid it.
20755 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
20757 2005-08-16 Andy Wingo <wingo@pobox.com>
20759 * gst/base/gstadapter.h:
20760 * gst/base/gstadapter.c (gst_adapter_take): New function, like
20761 peek() but you own the data. Not terribly efficient atm.
20763 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20765 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
20766 (gst_element_found_tags):
20768 Add two utility functions for tag handling.
20770 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20772 * docs/manual/advanced-dataaccess.xml:
20773 * docs/manual/basics-helloworld.xml:
20774 Fix docs to use _bin_add() before _link(), which fixes the examples
20775 with recent core versions (reported by Madhan Raj M
20776 <raj_madan@rediffmail.com>, #313199).
20778 2005-08-16 Wim Taymans <wim@fluendo.com>
20780 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20781 Added subtract checks.
20783 * docs/design/part-events.txt:
20784 Some more docs about newsegment
20786 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
20789 * gst/gstcaps.c: (gst_caps_to_string):
20790 Add comments, cleanups.
20792 * gst/gstelement.c: (gst_element_save_thyself):
20795 * gst/gstvalue.c: (gst_value_collect_int_range),
20796 (gst_string_unwrap), (gst_value_union_int_int_range),
20797 (gst_value_union_int_range_int_range),
20798 (gst_value_intersect_int_int_range),
20799 (gst_value_intersect_int_range_int_range),
20800 (gst_value_intersect_double_double_range),
20801 (gst_value_intersect_double_range_double_range),
20802 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
20803 (gst_value_subtract_int_range_int),
20804 (gst_value_subtract_double_range_double),
20805 (gst_value_subtract_double_range_double_range),
20806 (gst_value_subtract_from_list), (gst_value_subtract_list),
20807 (gst_value_can_compare), (gst_value_compare_fraction):
20808 Cleanups, add comments, remove unneeded asserts.
20810 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
20812 * tools/gst-launch.c: (event_loop):
20813 don't convert NULL structures to strings
20815 2005-08-15 Stefan Kost <ensonic@users.sf.net>
20817 * docs/gst/gstreamer-sections.txt:
20818 made some defines private
20819 * docs/gst/tmpl/gstconfig.sgml:
20820 * docs/gst/tmpl/gstqueue.sgml:
20821 * docs/gst/tmpl/gsttaglist.sgml:
20822 * docs/gst/tmpl/gsttypes.sgml:
20823 * docs/gst/tmpl/gstutils.sgml:
20824 * docs/pwg/appendix-porting.xml:
20825 * gst/base/gstbasesink.h:
20826 * gst/base/gstbasesrc.c:
20827 * gst/base/gstbasesrc.h:
20828 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
20829 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
20830 * gst/gstelement.c: (gst_element_class_init):
20831 * gst/gstpad.c: (gst_pad_class_init):
20832 * gst/gstqueue.c: (gst_queue_class_init):
20833 * gst/gstxml.c: (gst_xml_class_init):
20834 documented all undocumented signal inline
20835 * libs/gst/controller/gst-controller.h:
20838 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20840 * docs/pwg/appendix-porting.xml:
20841 Document _set_link_function -> _set_setcaps_function.
20843 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
20845 * check/Makefile.am:
20846 add a .check target for running the check
20847 * check/gst-libs/controller.c: (GST_START_TEST):
20849 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
20850 complete checks for gstbuffer; would be nice if I could get the
20851 gcov stuff to work so I can see if I actually completed gstbuffer.c
20852 * check/gstcheck.h:
20853 add ASSERT_BUFFER_REFCOUNT
20855 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
20857 * docs/gst/gstreamer-sections.txt:
20858 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
20860 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
20861 spew out a warning if a tag that is already registered
20862 is re-registered, unless it is re-registered with a
20863 different type (#308438).
20865 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
20867 * docs/pwg/appendix-porting.xml:
20868 * docs/pwg/building-state.xml:
20869 Add some paragraphs about state changes in 0.9 to the PWG
20870 and the porting guide, in particular about the new meaning
20871 of GST_STATE_PAUSED and how to write state change functions
20872 with concurrent access by multiple threads in mind.
20874 2005-08-11 Stefan Kost <ensonic@users.sf.net>
20876 * docs/gst/gstreamer-docs.sgml:
20877 * docs/libs/gstreamer-libs-docs.sgml:
20878 added deprecation and since indexes
20879 * libs/gst/controller/gst-controller.c:
20880 * libs/gst/controller/gst-helper.c:
20884 2005-08-11 Wim Taymans <wim@fluendo.com>
20886 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
20887 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
20888 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
20889 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
20890 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
20891 (gst_ghost_pad_set_target):
20892 Actually implement (re)setting the target on a ghostpad
20893 as described in the docs.
20895 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
20897 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
20898 Check whether GST_DEBUG_NO_COLOR environment variable is
20899 set and disable coloured debug output if that is the case.
20901 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
20903 * gst/base/gsttypefindhelper.c: (helper_find_peek),
20904 (gst_type_find_helper):
20905 The memory returned by gst_type_find_peek() needs to
20906 stay valid until the end of a typefind function, and
20907 typefind functions may keep results from different
20908 offsets around, so we can't just unref the buffer from
20909 the previous _peek(), but have to save all buffers
20910 returned by _peek() until typefinding is done and only
20913 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
20915 * docs/gst/gstreamer-sections.txt:
20917 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
20919 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20921 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
20922 Fix a pretty good memleak.
20924 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
20926 * gst/gstiterator.h:
20927 Fix wrong include and 'make distcheck'.
20929 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20931 * gst/gstbin.c: (bin_bus_handler):
20932 Use gst_element_post_message() instead.
20934 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
20936 * gst/base/gstadapter.h:
20937 * gst/base/gstbasesink.h:
20938 * gst/base/gstbasesrc.h:
20939 * gst/base/gstbasetransform.h:
20940 * gst/base/gstcollectpads.h:
20941 * gst/base/gstpushsrc.h:
20942 * gst/gstiterator.h:
20943 Add padding to our base elements' class and instance structs and
20944 to GstIterator (you will need to rebuild all plugins and apps!)
20946 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20948 * gst/gstbin.c: (bin_bus_handler):
20949 Make default message forwarding from child->bus to bin->bus
20950 threadsafe and make it not emit warnings if the parent has no bus.
20952 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20954 * gst/gstelement.c: (activate_pads):
20955 On paused->ready, set pad->caps to NULL, as is the documented
20956 behaviour in this state change. Fixes playback of series of
20957 media files when visualization is enabled in Totem.
20959 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20961 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20962 Allow NULL as filter-caps (which means "any").
20964 2005-08-05 Stefan Kost <ensonic@users.sf.net>
20966 * docs/libs/gstreamer-libs-sections.txt:
20967 * libs/gst/controller/gst-controller.c:
20968 * libs/gst/controller/gst-controller.h:
20969 * libs/gst/controller/gst-helper.c:
20970 adding more entries to the docs and fix small doc-bugs
20972 2005-08-05 Stefan Kost <ensonic@users.sf.net>
20974 * docs/gst/gstreamer-docs.sgml:
20975 * docs/gst/gstreamer-sections.txt:
20976 * docs/gst/gstreamer.types:
20977 * docs/gst/tmpl/gstbasesink.sgml:
20978 * docs/gst/tmpl/gstbasesrc.sgml:
20979 * docs/gst/tmpl/gstbasetransform.sgml:
20980 * docs/gst/tmpl/gstfakesrc.sgml:
20981 * gst/base/gstcollectpads.c:
20982 * gst/base/gstcollectpads.h:
20983 * libs/gst/controller/gst-controller.c:
20984 * libs/gst/controller/gst-controller.h:
20985 * libs/gst/controller/gst-helper.c:
20986 * libs/gst/controller/gst-interpolation.c:
20987 * libs/gst/controller/lib.c:
20988 added long/short desc for controller docs
20989 added collectpads base class docs
20990 added correct includes to base-class docs
20992 2005-08-05 Stefan Kost <ensonic@users.sf.net>
20994 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
20995 (gst_test_mono_source_set_property),
20996 (gst_test_mono_source_class_init), (GST_START_TEST),
20997 (gst_controller_suite):
20998 * docs/gst/gstreamer-docs.sgml:
20999 * docs/gst/gstreamer-sections.txt:
21000 * docs/gst/gstreamer.types:
21001 * docs/libs/gstreamer-libs-docs.sgml:
21002 * docs/libs/gstreamer-libs-sections.txt:
21003 * gst/base/gstadapter.c:
21004 * libs/gst/controller/gst-controller.c:
21005 (gst_controlled_property_new), (gst_controlled_property_free),
21006 (gst_controller_new_valist),
21007 (gst_controller_remove_properties_valist),
21008 (gst_controller_sink_values), (_gst_controller_finalize):
21009 * libs/gst/controller/gst-controller.h:
21010 * libs/gst/controller/gst-helper.c:
21011 (gst_object_control_properties), (gst_object_uncontrol_properties),
21012 (gst_object_get_controller), (gst_object_set_controller),
21013 (gst_object_sink_values), (gst_object_get_value_arrays),
21014 (gst_object_get_value_array):
21015 more tests (and fixes) for the controller
21016 more docs for the controller
21017 integrated companies docs for the adapter
21019 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
21021 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
21022 (GST_START_TEST), (fakesrc_suite):
21023 add tests for sizetype
21025 2005-08-04 Andy Wingo <wingo@pobox.com>
21027 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
21028 fixes buffer_alloc proxying among other things.
21030 * gst/base/gstbasetransform.c:
21031 * gst/base/gstbasetransform.h:
21032 Revert patch to gstbasetransform from 7-28 removing
21035 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
21036 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
21037 Semantics changed, should return not the size of the output buffer
21038 but the byte size of a buffer with a given caps.
21040 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
21042 (gst_base_transform_configure_caps): Don't set out_size here: (in,
21043 out) are not the pad caps until setcaps finishes.
21044 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
21045 not-in-place case as well. Deal with changing from in-place to
21046 not-in-place within calling pad_alloc_buffer. Still a bit
21047 concerned about the overhead here...
21049 2005-08-03 Andy Wingo <wingo@pobox.com>
21051 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
21052 fixating is an error.
21054 2005-08-04 Edward Hervey <edward@fluendo.com>
21056 * gst/base/gstadapter.h:
21057 Added gst_adapter_get_type() to the header
21059 2005-08-03 Stefan Kost <ensonic@users.sf.net>
21061 * check/Makefile.am:
21062 * check/gst-libs/controller.c:
21063 * libs/gst/controller/gst-controller.c:
21064 (gst_controller_new_valist):
21065 added check test suite for the controller
21066 * gst/base/gstpushsrc.c:
21069 2005-08-03 Stefan Kost <ensonic@users.sf.net>
21071 * docs/gst/Makefile.am:
21072 * docs/gst/gstreamer-docs.sgml:
21073 * docs/gst/gstreamer-sections.txt:
21074 * docs/gst/gstreamer.types:
21075 * docs/gst/tmpl/gstfakesrc.sgml:
21077 * gst/base/gstbasesink.c:
21078 * gst/base/gstbasesink.h:
21079 * gst/base/gstbasesrc.c:
21080 * gst/base/gstbasesrc.h:
21081 * gst/base/gstbasetransform.c:
21082 * gst/base/gstpushsrc.c:
21083 * gst/base/gstpushsrc.h:
21084 add short/long description docs to base classes
21085 add pushsrc to the docs
21086 remove consolidated doc fragments
21088 2005-08-03 Stefan Kost <ensonic@users.sf.net>
21091 * docs/libs/Makefile.am:
21092 * docs/libs/gstreamer-libs-docs.sgml:
21093 * docs/libs/gstreamer-libs-sections.txt:
21094 * docs/libs/gstreamer-libs.types:
21095 * examples/Makefile.am:
21096 * examples/controller/.cvsignore:
21097 * examples/controller/Makefile.am:
21098 * examples/controller/audio-example.c: (main):
21099 * libs/gst/Makefile.am:
21100 * libs/gst/controller/.cvsignore:
21101 * libs/gst/controller/Makefile.am:
21102 * libs/gst/controller/gst-controller.c:
21103 (on_object_controlled_property_changed), (gst_timed_value_compare),
21104 (gst_timed_value_find),
21105 (gst_controlled_property_set_interpolation_mode),
21106 (gst_controlled_property_new), (gst_controlled_property_free),
21107 (gst_controller_find_controlled_property),
21108 (gst_controller_new_valist), (gst_controller_new),
21109 (gst_controller_remove_properties_valist),
21110 (gst_controller_remove_properties), (gst_controller_set),
21111 (gst_controller_set_from_list), (gst_controller_unset),
21112 (gst_controller_get), (gst_controller_get_all),
21113 (gst_controller_sink_values), (gst_controller_get_value_arrays),
21114 (gst_controller_get_value_array),
21115 (gst_controller_set_interpolation_mode),
21116 (_gst_controller_finalize), (_gst_controller_init),
21117 (_gst_controller_class_init), (gst_controller_get_type):
21118 * libs/gst/controller/gst-controller.h:
21119 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
21120 (g_object_uncontrol_properties), (g_object_get_controller),
21121 (g_object_set_controller), (g_object_sink_values),
21122 (g_object_get_value_arrays), (g_object_get_value_array):
21123 * libs/gst/controller/gst-interpolation.c:
21124 (gst_controlled_property_find_timed_value_node),
21125 (interpolate_none_get), (interpolate_trigger_get),
21126 (interpolate_trigger_get_value_array):
21127 * libs/gst/controller/lib.c: (gst_controller_init):
21128 * pkgconfig/Makefile.am:
21129 * pkgconfig/gstreamer-control-uninstalled.pc.in:
21130 * pkgconfig/gstreamer-control.pc.in:
21131 * testsuite/Makefile.am:
21132 * testsuite/controller/.cvsignore:
21133 * testsuite/controller/Makefile.am:
21134 * testsuite/controller/interpolator.c: (main):
21135 added controller code
21136 removed dparam pc files
21138 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
21139 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
21140 (gst_collectpads_stop):
21141 Broadcast the condition when shutting down, to make sure we wake all
21142 threads up. Shut down pads on finalize, for safety.
21144 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
21145 * gst/base/gstbasetransform.c: (gst_base_transform_init),
21146 (gst_base_transform_handle_buffer),
21147 (gst_base_transform_change_state):
21148 Handle PAUSED->READY->PAUSED transition after negotiation
21150 * gst/gstmessage.c: (gst_message_init):
21151 Extra piece of debug for new messages.
21153 2005-08-01 Stefan Kost <ensonic@users.sf.net>
21156 * docs/gst/tmpl/gstbasesrc.sgml:
21157 * docs/gst/tmpl/gstelement.sgml:
21158 * docs/gst/tmpl/gstevent.sgml:
21159 * docs/gst/tmpl/gstfakesrc.sgml:
21160 * docs/gst/tmpl/gstformat.sgml:
21161 * docs/gst/tmpl/gstghostpad.sgml:
21162 * docs/gst/tmpl/gstpad.sgml:
21163 * docs/gst/tmpl/gstquery.sgml:
21164 * docs/gst/tmpl/gststructure.sgml:
21165 * docs/gst/tmpl/gsttaglist.sgml:
21166 * docs/gst/tmpl/gstvalue.sgml:
21167 * docs/libs/gstreamer-libs-docs.sgml:
21168 * docs/libs/gstreamer-libs-sections.txt:
21169 * docs/libs/gstreamer-libs.types:
21170 * libs/gst/Makefile.am:
21171 * libs/gst/control/.cvsignore:
21172 * libs/gst/control/Makefile.am:
21173 * libs/gst/control/control.c:
21174 * libs/gst/control/control.h:
21175 * libs/gst/control/dparam.c:
21176 * libs/gst/control/dparam.h:
21177 * libs/gst/control/dparam_smooth.c:
21178 * libs/gst/control/dparam_smooth.h:
21179 * libs/gst/control/dparamcommon.h:
21180 * libs/gst/control/dparammanager.c:
21181 * libs/gst/control/dparammanager.h:
21182 * libs/gst/control/dplinearinterp.c:
21183 * libs/gst/control/dplinearinterp.h:
21184 * libs/gst/control/unitconvert.c:
21185 * libs/gst/control/unitconvert.h:
21186 * testsuite/Makefile.am:
21187 * testsuite/dynparams/.cvsignore:
21188 * testsuite/dynparams/Makefile.am:
21189 * testsuite/dynparams/dparamstest.c:
21190 * tools/Makefile.am:
21191 * tools/gst-inspect.c: (print_element_info), (main):
21192 * tools/gst-xmlinspect.c: (print_element_info), (main):
21193 deactivate and remove dparams (libgstcontrol)
21195 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
21197 * gst/elements/gsttypefindelement.c:
21198 (gst_type_find_element_have_type), (gst_type_find_element_init),
21199 (stop_typefinding), (gst_type_find_element_handle_event),
21200 (gst_type_find_element_chain), (gst_type_find_element_getrange):
21201 * gst/elements/gsttypefindelement.h:
21202 Set caps on all outgoing buffers, not just the first one.
21204 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
21206 * gst/elements/gsttypefindelement.c:
21207 (gst_type_find_element_have_type),
21208 (gst_type_find_element_check_set_buffer_caps),
21209 (gst_type_find_element_init), (stop_typefinding),
21210 (gst_type_find_element_handle_event),
21211 (gst_type_find_element_chain), (gst_type_find_element_getrange):
21212 * gst/elements/gsttypefindelement.h:
21213 Set caps on first outgoing buffer when we've found the type.
21215 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
21217 * docs/gst/gstreamer-docs.sgml:
21218 * docs/gst/gstreamer-sections.txt:
21219 * docs/gst/tmpl/gstscheduler.sgml:
21220 * docs/gst/tmpl/gstschedulerfactory.sgml:
21221 Remove some old cruft from docs.
21223 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
21226 Fix inline docs for GstPadLinkReturn.
21228 * gst/gststructure.c: (gst_structure_has_name):
21229 * gst/gststructure.h:
21230 * docs/gst/gstreamer-sections.txt:
21231 New API: gst_structure_has_name().
21233 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
21236 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
21237 and _LARGEFILE_SOURCE in config.h as required. Do not
21238 export those flags in our .pc files any longer (#142209).
21240 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
21242 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
21243 (gst_file_sink_do_seek), (gst_file_sink_event),
21244 (gst_file_sink_get_current_offset), (gst_file_sink_render):
21245 Redo seek/tell calls with large file support in mind; add some
21246 debugging messages; add log message that tells us when large
21247 file support is unavailable or not enabled for some reason.
21249 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
21250 Add log message that tells us when large file support
21251 is unavailable or not enabled for some reason.
21253 2005-07-29 Wim Taymans <wim@fluendo.com>
21255 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21256 Added test for removing an element with ghostpad from a bin.
21257 Fixed test as current implementation does the right thing.
21259 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
21260 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
21261 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
21262 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
21263 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
21264 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
21265 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
21266 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
21267 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
21268 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
21269 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
21270 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
21271 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
21272 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
21273 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
21274 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
21275 * gst/gstghostpad.h:
21276 Clean up ghostpads, remove properties for internal stuff.
21279 Prepare for switching targets, not all use cases work yet.
21281 2005-07-29 Wim Taymans <wim@fluendo.com>
21283 * docs/design/part-gstghostpad.txt:
21286 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21287 (gst_bin_remove_func):
21288 Unlinking pads while holding the bin LOCK is not a good
21291 * gst/gstpad.c: (gst_pad_class_init),
21292 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
21293 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
21294 No prob setting template after creating the pad.
21296 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
21298 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
21299 (gst_bus_peek), (gst_bus_source_dispatch),
21300 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
21301 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
21302 gst_bus_poll may be called from other threads. Handle
21303 this nicely by not making poll_data disappear off the
21304 stack once gst_bus_poll returns.
21305 gst_bus_peek now increments the refcount on the returned
21308 2005-07-29 Wim Taymans <wim@fluendo.com>
21310 * docs/design/part-gstghostpad.txt:
21311 Overview of current GhostPad datastructures and use
21312 cases for changing the target.
21314 2005-07-28 Wim Taymans <wim@fluendo.com>
21316 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21317 Added checks for hierarchy consistency whan adding linked
21320 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21321 Added check to test element scheduling without bin/pipeline.
21323 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21324 First add elements to bin, then link.
21326 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
21327 (gst_bin_remove_func):
21328 Unlink pads from elements added/removed from bin to maintain
21329 hierarchy consistency.
21331 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21333 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21334 (gst_base_transform_handle_buffer):
21335 * gst/base/gstbasetransform.h:
21336 Remove broken delay_configure (fixes renegotiation of software
21337 scaling pipelines); remove some leftover printf()s.
21339 2005-07-28 Wim Taymans <wim@fluendo.com>
21341 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21342 Added some more tests for wrong hierarchy
21344 * docs/design/part-overview.txt:
21347 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
21350 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
21351 (gst_element_dispose):
21352 Some more cleanups.
21354 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
21355 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
21356 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21357 (gst_pad_set_caps), (gst_pad_send_event):
21358 Check for correct hierarchy when linking pads. Moving to
21359 strict requirement for ghostpads when linking elements in
21363 Clean ups. Added WRONG_HIERARCHY return value.
21365 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21367 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
21368 Better debug if no transform is possible.
21370 2005-07-27 Wim Taymans <wim@fluendo.com>
21372 * docs/random/wtay/network-transp:
21373 Some old doc I had.
21375 2005-07-27 Wim Taymans <wim@fluendo.com>
21377 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21378 (gst_dp_event_from_packet):
21379 Fix serialization of seek events.
21381 2005-07-27 Wim Taymans <wim@fluendo.com>
21383 * check/gst-libs/gdp.c: (GST_START_TEST):
21384 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21385 Fix compilation and fix event serialization.
21387 2005-07-27 Wim Taymans <wim@fluendo.com>
21390 * docs/design/part-TODO.txt:
21391 * docs/design/part-events.txt:
21394 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21395 (gst_base_sink_event), (gst_base_sink_do_sync),
21396 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21397 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21398 (gst_base_src_do_seek), (gst_base_src_event_handler),
21399 (gst_base_src_loop):
21400 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21401 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21402 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21403 (gst_base_transform_event), (gst_base_transform_handle_buffer),
21404 (gst_base_transform_set_passthrough),
21405 (gst_base_transform_is_passthrough):
21406 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21407 * gst/elements/gstfilesink.c: (gst_file_sink_event):
21413 * gst/gstelement.c: (gst_element_seek):
21414 * gst/gstelement.h:
21415 Update gst_element_seek.
21417 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
21418 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
21419 (gst_event_new_flush_start), (gst_event_new_flush_stop),
21420 (gst_event_new_eos), (gst_event_new_newsegment),
21421 (gst_event_parse_newsegment), (gst_event_new_tag),
21422 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
21423 (gst_event_parse_qos), (gst_event_new_seek),
21424 (gst_event_parse_seek), (gst_event_new_navigation):
21426 Make GstEvent use GstStructure. Add parsing code, make sure the
21427 API is sufficiently generic.
21428 Mark possible directions of events and serialization.
21430 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
21431 (_gst_message_copy), (gst_message_new_segment_start),
21432 (gst_message_new_segment_done), (gst_message_new_custom),
21433 (gst_message_parse_segment_start),
21434 (gst_message_parse_segment_done):
21437 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21438 (gst_pad_set_caps), (gst_pad_send_event):
21439 Update for new events.
21440 Catch events sent in wrong directions.
21442 * gst/gstqueue.c: (gst_queue_link_src),
21443 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21444 (gst_queue_handle_src_query):
21449 Remove event code from this file.
21451 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
21452 (gst_dp_event_from_packet):
21455 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21457 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
21458 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21459 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
21460 Make debugging actually useful.
21462 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21464 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
21465 (gst_pad_fixate_caps):
21466 Implement default fixation once again, so that gst_pad_fixate()
21467 actually does anything at all. This probably needs to be some
21468 sort of a last resort, and use profile-based fixation first, but
21469 since that doesn't exist yet, this is the best we have. Fixes
21470 visualization in Totem.
21472 2005-07-22 Wim Taymans <wim@fluendo.com>
21474 * docs/design/part-events.txt:
21477 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21478 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
21479 (gst_base_sink_activate_pull):
21480 Some more comments.
21482 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
21483 (gst_fake_src_create):
21484 Fix handoff marshall.
21486 * gst/elements/gstidentity.c: (gst_identity_class_init),
21487 (gst_identity_transform_ip):
21488 We're a real inplace element.
21490 * gst/gstbus.c: (gst_bus_post):
21491 Added some comments.
21493 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
21494 * tests/muxing/case1.c: (main):
21495 * tests/sched/dynamic-pipeline.c: (main):
21496 * tests/sched/interrupt1.c: (main):
21497 * tests/sched/interrupt2.c: (main):
21498 * tests/sched/interrupt3.c: (main):
21499 * tests/sched/runxml.c: (main):
21500 * tests/sched/sched-stress.c: (main):
21501 * tests/seeking/seeking1.c: (event_received), (main):
21502 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
21504 * tests/threadstate/threadstate3.c: (main):
21505 * tests/threadstate/threadstate4.c: (main):
21506 * tests/threadstate/threadstate5.c: (main):
21509 2005-07-21 Wim Taymans <wim@fluendo.com>
21511 * docs/design/part-seeking.txt:
21512 Some small additions.
21514 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21515 (gst_base_sink_get_times), (gst_base_sink_do_sync),
21516 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
21517 * gst/base/gstbasesink.h:
21518 discont values are gint64, handle the math correctly.
21520 * gst/base/gstbasesrc.c: (gst_base_src_loop):
21521 Make the basesrc report error if the source pad is not linked.
21523 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21524 (gst_queue_loop), (gst_queue_handle_src_query),
21525 (gst_queue_src_activate_push):
21526 Make queue collect data even if the srcpad is not linked.
21527 Start pushing out data as soon as it is linked.
21529 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
21531 Added gst_flow_get_name() to ease error reporting.
21533 2005-07-20 Wim Taymans <wim@fluendo.com>
21535 * gst/gstmessage.c: (gst_message_new_segment_start),
21536 (gst_message_new_segment_done), (gst_message_parse_segment_start),
21537 (gst_message_parse_segment_done):
21538 * gst/gstmessage.h:
21539 Added a bunch of messages for advanced seeking.
21541 * gst/parse/grammar.y:
21542 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
21543 (gst_dpman_state_changed):
21544 Fix some new-pad -> pad-added signals
21546 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21548 * docs/manual/appendix-porting.xml:
21549 * docs/pwg/appendix-porting.xml:
21550 Document new-pad/state-change signal renames and the FixedList
21553 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21555 * docs/manual/advanced-autoplugging.xml:
21556 * docs/manual/basics-helloworld.xml:
21557 * docs/manual/basics-pads.xml:
21558 * docs/random/ds/0.9-suggested-changes:
21559 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
21560 * gst/gstelement.h:
21564 * gst/gststructure.c: (gst_structure_value_get_generic_type),
21565 (gst_structure_parse_array), (gst_structure_parse_value):
21566 * gst/gstvalue.c: (gst_type_is_fixed),
21567 (gst_value_list_prepend_value), (gst_value_list_append_value),
21568 (gst_value_list_get_size), (gst_value_list_get_value),
21569 (gst_value_transform_array_string), (gst_value_serialize_array),
21570 (gst_value_deserialize_array), (gst_value_intersect_array),
21571 (gst_value_is_fixed), (_gst_value_initialize):
21573 GstElement::new-pad -> pad-added, GstElement::state-change ->
21574 state-changed, GstValueFixedList -> GstValueArray, add format and
21575 flags as their own arguments in gst_element_seek() (should improve
21576 "bindeability"), remove function generators since they don't work
21577 under a whole bunch of compilers (they were deprecated already
21580 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21582 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21583 (_gst_debug_register_funcptr):
21585 Fix illegal cast on some platforms (#309253).
21587 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21589 * gst/gstmessage.c: (gst_message_new_custom):
21590 * gst/gstmessage.h:
21591 Add _new_custom, make _new_application a macro to _new_custom.
21593 2005-07-20 Wim Taymans <wim@fluendo.com>
21595 * gst/base/gstbasesrc.c: (gst_base_src_init),
21596 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21597 * gst/base/gstbasesrc.h:
21598 Add a gboolean to decide when to push out a discont.
21600 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21601 (gst_queue_loop), (gst_queue_handle_src_query),
21602 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
21603 (gst_queue_set_property), (gst_queue_get_property):
21606 * tests/threadstate/threadstate1.c: (main):
21607 Make a thread test compile and run... very silly..
21610 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21612 * docs/manual/appendix-porting.xml:
21613 Mention removal of libgstgconf-0.9.la and existence of gconf
21616 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21618 * docs/pwg/advanced-clock.xml:
21619 * docs/pwg/appendix-porting.xml:
21620 * docs/pwg/intro-preface.xml:
21621 * docs/pwg/other-base.xml:
21622 * docs/pwg/other-manager.xml:
21623 * docs/pwg/other-nton.xml:
21624 * docs/pwg/other-ntoone.xml:
21625 * docs/pwg/other-oneton.xml:
21626 * docs/pwg/pwg.xml:
21627 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
21628 demuxer), remove n-to-n (was never written), fix some code examples
21629 and links and update the porting section to include all this.
21631 2005-07-19 Wim Taymans <wim@fluendo.com>
21633 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
21634 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
21635 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
21636 (gst_queue_src_activate_push), (gst_queue_change_state),
21637 (gst_queue_get_property):
21639 Propagate GstFlowReturn more intelligently upstream and output
21640 an ERROR/EOS when streaming stopped due to fatal error.
21642 2005-07-19 Wim Taymans <wim@fluendo.com>
21644 * tools/gst-launch.c: (check_intr), (event_loop), (main):
21645 Don't block forever for the state change to complete, the
21646 pipeline already did with a sensible timeout.
21648 2005-07-19 Wim Taymans <wim@fluendo.com>
21650 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21651 Make sure we never call the create function is we
21654 2005-07-19 Andy Wingo <wingo@pobox.com>
21656 * gst/parse/parse.l: Attempt to solve bug #172815.
21658 2005-07-19 Wim Taymans <wim@fluendo.com>
21660 * docs/design/part-clocks.txt:
21661 * docs/design/part-events.txt:
21662 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
21663 Small docs updates.
21664 Only update the seeking values when we are not
21667 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
21669 * gst/base/gstbasesrc.c: (gst_base_src_loop):
21670 Oops, ignore the result of gst_pad_push_event here.
21672 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
21674 * gst/base/gstbasesrc.c: (gst_base_src_loop),
21675 (gst_base_src_activate_push):
21676 Send discont event from the loop function, as pads
21677 aren't activated yet in the activate_push handler.
21679 * gst/gstbin.c: (bin_bus_handler):
21680 Don't leak element name.
21682 2005-07-18 Andy Wingo <wingo@pobox.com>
21684 * configure.ac: Use AS_LIBTOOL_TAGS.
21686 2005-07-18 Wim Taymans <wim@fluendo.com>
21688 * docs/gst/gstreamer.types:
21689 Remove deleted types.
21691 2005-07-18 Wim Taymans <wim@fluendo.com>
21693 * check/elements/gstfakesrc.c: (GST_START_TEST):
21696 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
21697 (init_popt_callback):
21699 * gst/gst_private.h:
21700 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
21701 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
21704 * gst/gstconfig.h.in:
21705 * gst/gstelement.c: (gst_element_class_init),
21706 (gst_element_set_base_time), (gst_element_get_base_time),
21707 (iterator_fold_with_resync), (gst_element_change_state),
21708 (gst_element_dispose), (gst_element_get_bus):
21709 * gst/gstelement.h:
21710 * gst/gstelementfactory.h:
21711 * gst/gsterror.c: (_gst_core_errors_init):
21714 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21716 * gst/gstinfo.c: (_gst_debug_init):
21717 * gst/gstmessage.c: (_gst_message_copy):
21718 * gst/gstmessage.h:
21719 * gst/gstminiobject.h:
21722 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21723 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
21726 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
21727 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21728 (gst_pipeline_get_last_stream_time):
21729 * gst/gstpipeline.h:
21730 * gst/gstpluginfeature.h:
21732 * gst/gstscheduler.c:
21733 * gst/gstscheduler.h:
21734 * gst/gststructure.h:
21735 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
21736 (gst_task_finalize), (gst_task_func), (gst_task_create),
21737 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
21738 (gst_task_stop), (gst_task_pause):
21740 * gst/gsttypefind.h:
21742 * gst/registries/gstlibxmlregistry.c: (load_feature),
21743 (gst_xml_registry_load), (gst_xml_registry_save_feature):
21744 * gst/registries/gstxmlregistry.c:
21745 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
21746 * gst/schedulers/threadscheduler.c:
21747 * libs/gst/control/dparammanager.h:
21748 * tools/gst-inspect.c: (print_element_list),
21749 (print_plugin_features), (print_element_features):
21750 * tools/gst-xmlinspect.c: (print_element_list),
21751 (print_plugin_info), (main):
21752 Removed plugable schedulers.
21753 Removed Scheduler/Manager from elements.
21754 Removed gsttypes.h, rearranged includes.
21755 Removed dependency pad<->element, element<>pipeline, and
21756 various others, fix includes.
21757 implement gst_pad_get_parent() with gst_object_get_parent()
21758 Make GstTask sefcontained.
21759 Fix _get_state() on GstBin, it did not return ASYNC with a 0
21761 Fix endless loop in iterator_fold_with_resync.
21764 2005-07-18 Wim Taymans <wim@fluendo.com>
21770 2005-07-18 Wim Taymans <wim@fluendo.com>
21773 No more cothreads.h
21775 2005-07-18 Wim Taymans <wim@fluendo.com>
21779 Let's remove these.
21781 2005-07-18 Wim Taymans <wim@fluendo.com>
21783 * docs/design/part-dynamic.txt:
21784 * docs/design/part-events.txt:
21785 * docs/design/part-seeking.txt:
21786 Some more docs in the works.
21788 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21789 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
21790 (gst_base_transform_setcaps), (gst_base_transform_get_size),
21791 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
21792 (gst_base_transform_handle_buffer),
21793 (gst_base_transform_sink_activate_push),
21794 (gst_base_transform_src_activate_pull),
21795 (gst_base_transform_set_passthrough),
21796 (gst_base_transform_is_passthrough):
21799 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
21802 * gst/gstevent.c: (gst_event_finalize):
21805 * gst/gstutils.c: (gst_element_unlink),
21806 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
21807 (gst_pad_proxy_setcaps):
21809 Add _get_parent_element() to get a pads parent as an element.
21811 2005-07-18 Wim Taymans <wim@fluendo.com>
21813 * check/gst/gstbin.c: (GST_START_TEST):
21816 2005-07-18 Wim Taymans <wim@fluendo.com>
21818 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
21819 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
21820 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
21821 (gst_base_sink_event), (gst_base_sink_do_sync),
21822 (gst_base_sink_chain), (gst_base_sink_loop),
21823 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
21824 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
21826 Fix logic for returning ASYNC when not prerolled.
21828 2005-07-18 Wim Taymans <wim@fluendo.com>
21830 * gst/gstqueue.c: (gst_queue_handle_sink_event):
21831 Fix nasty refcount bug.
21833 2005-07-16 Philippe Khalaf <burger@speedy.org>
21835 * gst/elements/gstfdsrc.c:
21836 * gst/elements/gstfdsrc.h:
21837 * gst/elements/gstelements.c:
21838 * gst/elements/Makefile.am:
21839 Ported fdsrc to 0.9.
21841 2005-07-16 Wim Taymans <wim@fluendo.com>
21843 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21844 (gst_base_sink_do_sync):
21847 2005-07-16 Wim Taymans <wim@fluendo.com>
21849 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21850 (gst_base_sink_event), (gst_base_sink_get_times),
21851 (gst_base_sink_do_sync), (gst_base_sink_change_state):
21852 * gst/base/gstbasesink.h:
21853 Store and use discont values when syncing buffers as described
21856 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21857 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
21858 (gst_base_src_activate_push):
21859 Push discont event when starting.
21861 * gst/elements/gstidentity.c: (gst_identity_transform):
21864 * gst/gstbin.c: (gst_bin_change_state):
21865 Small cleanups in base_time distribution.
21867 * gst/gstelement.c: (gst_element_set_base_time),
21868 (gst_element_get_base_time), (gst_element_change_state):
21869 * gst/gstelement.h:
21870 Added methods for the base_time of the element.
21873 * gst/gstpipeline.c: (gst_pipeline_send_event),
21874 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
21875 (gst_pipeline_get_last_stream_time):
21876 * gst/gstpipeline.h:
21878 Handle seeking as described in design doc, remove stream_time
21880 Cleanups clock and stream_time selection code. Added accessors
21881 for the stream_time.
21884 2005-07-16 Andy Wingo <wingo@pobox.com>
21886 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
21889 2005-07-16 Wim Taymans <wim@fluendo.com>
21891 * check/gst/gstbin.c: (GST_START_TEST):
21892 Make elements silent as the deep_notify refs the
21893 parent, which might make the test fail.
21895 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
21896 Don't hold the lock for too long.
21898 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
21900 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21901 Don't unref the caps we passed to gst_caps_make_writable() after
21902 passing them. gst_caps_make_writable() will do that for us.
21904 2005-07-15 Andy Wingo <wingo@pobox.com>
21906 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
21909 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
21910 own marshalling function for the handoff signal. Properly type the
21911 buffer as a buffer. Fixes some warnings. Should do a more general
21913 (gst_identity_class_init): Plug into the right marshaller.
21915 2005-07-15 Wim Taymans <wim@fluendo.com>
21917 * docs/design/part-TODO.txt:
21918 * docs/design/part-clocks.txt:
21919 * docs/design/part-element-sink.txt:
21920 * docs/design/part-events.txt:
21921 * docs/design/part-gstpipeline.txt:
21922 Updated docs, mostly DISCONT related.
21924 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
21926 * docs/pwg/building-pads.xml:
21927 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
21929 2005-07-15 Andy Wingo <wingo@pobox.com>
21931 * tools/gst-typefind.c: Update, add copyright block.
21933 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
21934 Normalize and truncate caps before fixation.
21937 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
21938 discards all but the first structure from its argument.
21940 2005-07-15 Wim Taymans <wim@fluendo.com>
21942 * gst/base/gstbasetransform.c: (gst_base_transform_init),
21943 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
21944 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21945 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21946 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
21947 (gst_base_transform_chain), (gst_base_transform_change_state),
21948 (gst_base_transform_set_passthrough),
21949 (gst_base_transform_is_passthrough):
21950 * gst/base/gstbasetransform.h:
21951 Make passthrough work using the bufferpools.
21952 Changed API a bit, subclasses have to write into a buffer
21953 provided by the base class.
21954 More debug info in nego functions.
21956 * gst/elements/gstidentity.c: (gst_identity_init),
21957 (gst_identity_transform):
21958 Port to new base class.
21960 2005-07-15 Wim Taymans <wim@fluendo.com>
21962 * gst/gstmessage.c: (gst_message_new_state_changed):
21963 * tools/gst-launch.c: (event_loop), (main):
21964 Totally dump messages in -launch with the -m option.
21965 Fix message name for State messages,
21967 2005-07-14 Wim Taymans <wim@fluendo.com>
21969 * gst/base/gstbasesrc.c: (gst_base_src_loop):
21970 Post error messages on errors.
21972 2005-07-14 Wim Taymans <wim@fluendo.com>
21974 * gst/gstcaps.c: (gst_caps_do_simplify):
21978 Define error for stream stopped.
21980 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
21981 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
21982 Do proper return values.
21984 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
21985 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
21986 (gst_pad_get_range):
21987 Better return values.
21990 Reorganise return values, add macro to check for fatal errors.
21992 * gst/gstqueue.c: (gst_queue_chain):
21993 Return proper GstFlowReturn values,
21995 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
21997 * docs/gst/gstreamer-sections.txt:
21998 * docs/gst/gstreamer.types:
21999 * docs/gst/tmpl/gst.sgml:
22000 * docs/gst/tmpl/gstbasesink.sgml:
22001 * docs/gst/tmpl/gstbasesrc.sgml:
22002 * docs/gst/tmpl/gstbasetransform.sgml:
22003 * docs/gst/tmpl/gstbin.sgml:
22004 * docs/gst/tmpl/gstbuffer.sgml:
22005 * docs/gst/tmpl/gstcaps.sgml:
22006 * docs/gst/tmpl/gstclock.sgml:
22007 * docs/gst/tmpl/gstcompat.sgml:
22008 * docs/gst/tmpl/gstconfig.sgml:
22009 * docs/gst/tmpl/gstelement.sgml:
22010 * docs/gst/tmpl/gstelementdetails.sgml:
22011 * docs/gst/tmpl/gstelementfactory.sgml:
22012 * docs/gst/tmpl/gstenumtypes.sgml:
22013 * docs/gst/tmpl/gsterror.sgml:
22014 * docs/gst/tmpl/gstevent.sgml:
22015 * docs/gst/tmpl/gstfakesink.sgml:
22016 * docs/gst/tmpl/gstfakesrc.sgml:
22017 * docs/gst/tmpl/gstfilesink.sgml:
22018 * docs/gst/tmpl/gstfilesrc.sgml:
22019 * docs/gst/tmpl/gstfilter.sgml:
22020 * docs/gst/tmpl/gstformat.sgml:
22021 * docs/gst/tmpl/gstghostpad.sgml:
22022 * docs/gst/tmpl/gstimplementsinterface.sgml:
22023 * docs/gst/tmpl/gstindex.sgml:
22024 * docs/gst/tmpl/gstindexfactory.sgml:
22025 * docs/gst/tmpl/gstinfo.sgml:
22026 * docs/gst/tmpl/gstiterator.sgml:
22027 * docs/gst/tmpl/gstmacros.sgml:
22028 * docs/gst/tmpl/gstmemchunk.sgml:
22029 * docs/gst/tmpl/gstminiobject.sgml:
22030 * docs/gst/tmpl/gstobject.sgml:
22031 * docs/gst/tmpl/gstpad.sgml:
22032 * docs/gst/tmpl/gstpadtemplate.sgml:
22033 * docs/gst/tmpl/gstparse.sgml:
22034 * docs/gst/tmpl/gstpipeline.sgml:
22035 * docs/gst/tmpl/gstplugin.sgml:
22036 * docs/gst/tmpl/gstpluginfeature.sgml:
22037 * docs/gst/tmpl/gstquery.sgml:
22038 * docs/gst/tmpl/gstqueue.sgml:
22039 * docs/gst/tmpl/gstregistry.sgml:
22040 * docs/gst/tmpl/gstregistrypool.sgml:
22041 * docs/gst/tmpl/gstscheduler.sgml:
22042 * docs/gst/tmpl/gstschedulerfactory.sgml:
22043 * docs/gst/tmpl/gststructure.sgml:
22044 * docs/gst/tmpl/gstsystemclock.sgml:
22045 * docs/gst/tmpl/gsttaglist.sgml:
22046 * docs/gst/tmpl/gsttagsetter.sgml:
22047 * docs/gst/tmpl/gsttrace.sgml:
22048 * docs/gst/tmpl/gsttrashstack.sgml:
22049 * docs/gst/tmpl/gsttypefind.sgml:
22050 * docs/gst/tmpl/gsttypefindfactory.sgml:
22051 * docs/gst/tmpl/gsttypes.sgml:
22052 * docs/gst/tmpl/gsturihandler.sgml:
22053 * docs/gst/tmpl/gsturitype.sgml:
22054 * docs/gst/tmpl/gstutils.sgml:
22055 * docs/gst/tmpl/gstvalue.sgml:
22056 * docs/gst/tmpl/gstversion.sgml:
22057 * docs/gst/tmpl/gstxml.sgml:
22058 * docs/libs/tmpl/gstcontrol.sgml:
22059 * docs/libs/tmpl/gstdataprotocol.sgml:
22060 * docs/libs/tmpl/gstdparam.sgml:
22061 * docs/libs/tmpl/gstdplinint.sgml:
22062 * docs/libs/tmpl/gstdpman.sgml:
22063 * docs/libs/tmpl/gstdpsmooth.sgml:
22064 * docs/libs/tmpl/gstgetbits.sgml:
22065 * docs/libs/tmpl/gstunitconvert.sgml:
22066 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
22067 (gst_push_src_base_init), (gst_push_src_class_init),
22068 (gst_push_src_init), (gst_push_src_create):
22069 * gst/base/gstpushsrc.h:
22070 * gst/elements/gstelements.c:
22071 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
22072 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
22073 (gst_fake_sink_init), (gst_fake_sink_set_property),
22074 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
22075 (gst_fake_sink_event), (gst_fake_sink_preroll),
22076 (gst_fake_sink_render), (gst_fake_sink_change_state):
22077 * gst/elements/gstfakesink.h:
22078 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
22079 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
22080 (gst_fake_src_base_init), (gst_fake_src_class_init),
22081 (gst_fake_src_init), (gst_fake_src_event_handler),
22082 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
22083 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
22084 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
22085 (gst_fake_src_create_buffer), (gst_fake_src_create),
22086 (gst_fake_src_start), (gst_fake_src_stop):
22087 * gst/elements/gstfakesrc.h:
22088 * gst/elements/gstfilesink.c: (_do_init),
22089 (gst_file_sink_base_init), (gst_file_sink_class_init),
22090 (gst_file_sink_init), (gst_file_sink_dispose),
22091 (gst_file_sink_set_location), (gst_file_sink_set_property),
22092 (gst_file_sink_get_property), (gst_file_sink_open_file),
22093 (gst_file_sink_close_file), (gst_file_sink_query),
22094 (gst_file_sink_event), (gst_file_sink_render),
22095 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
22096 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
22097 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
22098 * gst/elements/gstfilesink.h:
22099 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
22100 (gst_file_src_class_init), (gst_file_src_init),
22101 (gst_file_src_finalize), (gst_file_src_set_location),
22102 (gst_file_src_set_property), (gst_file_src_get_property),
22103 (gst_file_src_map_region), (gst_file_src_map_small_region),
22104 (gst_file_src_create_mmap), (gst_file_src_create_read),
22105 (gst_file_src_create), (gst_file_src_is_seekable),
22106 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
22107 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
22108 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
22109 (gst_file_src_uri_handler_init):
22110 * gst/elements/gstfilesrc.h:
22111 more autistic cleanliness in functions/names/defines
22113 2005-07-13 Andy Wingo <wingo@pobox.com>
22115 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
22116 source couldn't negotiate.
22118 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
22122 * gst/gstutils.c (gst_element_link_pads_filtered): New old
22123 function. I am channeling Hades. Put your boots on suckers!!!
22125 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
22127 * testsuite/caps/Makefile.am:
22128 * testsuite/caps/value_compare.c:
22129 * testsuite/caps/value_intersect.c:
22130 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22131 move two testsuite apps over to the check dir
22133 2005-07-12 Wim Taymans <wim@fluendo.com>
22135 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
22136 Added more debug info in the negotiate process.
22138 * gst/gstmessage.h:
22139 Prepare for segment playback.
22141 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
22147 * tools/gst-launch.c: (main):
22148 NULL pipeline on errors.
22150 2005-07-12 Andy Wingo <wingo@pobox.com>
22152 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
22153 not it comes from a malloc region. Make sure our copy gets freed.
22155 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
22157 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22158 * check/gst/gstmessage.c: (GST_START_TEST):
22159 * check/gst/gststructure.c: (GST_START_TEST),
22160 (gst_structure_suite), (main):
22162 * gst/gstelement.c: (gst_element_message_full):
22163 clean up GError and debug string now that they get copied
22164 * gst/gstmessage.c: (gst_message_new_error),
22165 (gst_message_new_warning), (gst_message_parse_error),
22166 (gst_message_parse_warning):
22167 use GST_TYPE_G_ERROR for structure_new, and take copies of
22168 arguments, so that we don't mess up refcounting
22170 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
22172 * check/Makefile.am:
22173 add per-test valgrind targets
22174 * check/gst-libs/gdp.c: (GST_START_TEST),
22175 (gst_data_protocol_suite), (main):
22178 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
22180 * check/Makefile.am:
22181 instate more valgrindable tests
22182 * check/elements/gstfakesrc.c: (chain_func), (event_func),
22183 (GST_START_TEST), (fakesrc_suite):
22184 * check/gst/gstpad.c: (GST_START_TEST):
22185 * check/gst/gststructure.c: (GST_START_TEST):
22187 * docs/gst/tmpl/gstminiobject.sgml:
22188 * gst/gstpad.c: (gst_pad_finalize):
22189 fix the static mutex leak
22191 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
22193 * check/Makefile.am:
22194 add two more tests for valgrinding
22195 * check/gst/gstvalue.c: (GST_START_TEST):
22196 test refcount of deserialized buffer, found a leak
22197 * docs/gst/gstreamer-docs.sgml:
22198 * docs/gst/gstreamer-sections.txt:
22199 * docs/gst/gstreamer.types:
22200 * docs/gst/tmpl/gstminiobject.sgml:
22201 add miniobject to docs
22202 * gst/gstminiobject.c:
22204 * gst/gstvalue.c: (gst_value_deserialize_buffer),
22205 (gst_string_unwrap):
22206 fix a hard-to-find invalid write for one of the tests
22207 fix a leak for deserialized buffers
22209 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22211 * docs/pwg/advanced-events.xml:
22212 * docs/pwg/advanced-request.xml:
22213 * docs/pwg/advanced-scheduling.xml:
22214 * docs/pwg/appendix-porting.xml:
22215 * docs/pwg/building-boiler.xml:
22216 * docs/pwg/intro-preface.xml:
22217 * docs/pwg/other-ntoone.xml:
22218 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
22219 of example code and explanation for pad activation, loop() and
22220 getrange() functions and a bit more. Remove old comments pointing
22222 * examples/pwg/Makefile.am:
22223 Add loop/getrange examples.
22225 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
22228 check for valgrind binary + some fixes
22230 valgrind suppressions for the tests
22231 * check/Makefile.am:
22232 add a valgrind: target that valgrinds the unit tests
22233 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
22234 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22235 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22236 * check/gst/gstghostpad.c:
22238 * check/gst/gstdata.c:
22240 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
22241 (thread_unref), (gst_mini_object_suite), (main):
22243 * gst/gst.c: (gst_deinit):
22245 add a method to clean up.
22246 * gst/gstsystemclock.c: (gst_system_clock_dispose),
22247 (gst_system_clock_obtain):
22248 allow for disposing the system clock.
22249 * tools/gst-launch.c: (main):
22252 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
22254 * docs/gst/tmpl/gstbasesrc.sgml:
22255 * docs/gst/tmpl/gstfakesrc.sgml:
22256 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22257 (gst_base_src_init), (gst_base_src_set_property),
22258 (gst_base_src_get_property), (gst_base_src_get_range),
22259 (gst_base_src_start):
22260 * gst/base/gstbasesrc.h:
22261 add num-buffers property
22262 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22263 (gst_fakesrc_init), (gst_fakesrc_set_property),
22264 (gst_fakesrc_get_property), (gst_fakesrc_create),
22265 (gst_fakesrc_start):
22266 remove num-buffers property
22268 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
22270 * docs/gst/gstreamer-sections.txt:
22271 * docs/gst/tmpl/gstbasesink.sgml:
22272 * docs/gst/tmpl/gstbasesrc.sgml:
22273 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22274 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22275 (gst_base_sink_finalize), (gst_base_sink_set_clock),
22276 (gst_base_sink_set_property), (gst_base_sink_get_property),
22277 (gst_base_sink_handle_object), (gst_base_sink_event),
22278 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
22279 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
22280 (gst_base_sink_loop), (gst_base_sink_deactivate),
22281 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
22282 (gst_base_sink_change_state):
22283 * gst/base/gstbasesink.h:
22284 * gst/base/gstbasesrc.h:
22285 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
22286 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
22287 (gst_filesink_init):
22288 more macro splitting
22290 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
22292 * gst/gstelement.c: (gst_element_get_bus):
22294 * tools/gst-launch.c: (check_intr), (event_loop):
22297 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
22299 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
22302 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
22304 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22305 (gst_base_src_finalize):
22306 add finalize method and clean up properly
22307 * gst/gstpipeline.c: (gst_pipeline_dispose):
22310 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
22312 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
22314 add more things to check
22315 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
22316 * gst/gstelement.c:
22319 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
22321 * check/elements/gstfakesrc.c: (chain_func), (event_func),
22322 (GST_START_TEST), (fakesrc_suite):
22323 * check/gst-libs/gdp.c: (GST_START_TEST):
22324 * check/gst/gst.c: (GST_START_TEST):
22325 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22326 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22327 * check/gst/gstbus.c: (GST_START_TEST):
22328 * check/gst/gstcaps.c: (GST_START_TEST):
22329 * check/gst/gstdata.c: (GST_START_TEST):
22330 * check/gst/gstelement.c: (GST_START_TEST):
22331 * check/gst/gstghostpad.c: (GST_START_TEST):
22332 * check/gst/gstiterator.c: (GST_START_TEST):
22333 * check/gst/gstmessage.c: (GST_START_TEST):
22334 * check/gst/gstobject.c: (GST_START_TEST):
22335 * check/gst/gstpad.c: (GST_START_TEST):
22336 * check/gst/gststructure.c: (GST_START_TEST):
22337 * check/gst/gstsystemclock.c: (GST_START_TEST),
22338 (gst_systemclock_suite):
22339 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22340 * check/gst/gstvalue.c: (GST_START_TEST):
22341 * check/pipelines/cleanup.c: (GST_START_TEST):
22342 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22343 * check/states/sinks.c: (GST_START_TEST):
22344 * check/gstcheck.c: (gst_check_init):
22345 * check/gstcheck.h:
22346 add debugging category
22347 use GST_START_TEST now, so we add a debug line
22349 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
22351 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
22352 add test for state change message on a bin
22353 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
22355 * gst/gstbin.c: (gst_bin_init):
22356 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
22357 * gst/gstelement.c: (gst_element_post_message),
22358 (gst_element_set_state):
22359 * gst/gstelementfactory.c: (gst_element_factory_create):
22360 * gst/gstmessage.c: (gst_message_new):
22361 * gst/gstscheduler.c:
22362 various debugging additions and cleanups
22364 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
22366 * check/Makefile.am:
22367 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
22369 adding tests for elements
22370 * gst/gstelement.c: (gst_element_dispose):
22372 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
22374 * gst/registries/gstlibxmlregistry.c: (load_feature):
22375 plug more leaks. A simple gst_init() now is leakfree, yay.
22377 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
22379 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
22380 (gst_xml_registry_load):
22381 plug another memleak
22383 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
22386 use GST_SET_ERROR_CFLAGS
22387 * docs/faq/cvs.xml:
22388 change to ERROR_CFLAGS
22390 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
22393 make GST_ERROR_CFLAGS overridable and re-enable Werror
22394 * docs/faq/cvs.xml:
22395 add a note about error CFLAGS
22396 * docs/gst/tmpl/gstfakesrc.sgml:
22397 * gst/elements/gstfakesrc.c:
22398 comment out some unused code
22399 * gst/gst.c: (split_and_iterate):
22400 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
22404 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
22406 * common/Makefile.am:
22407 * common/gtk-doc.mak:
22408 * docs/gst/Makefile.am:
22409 factor out gtk-doc.mak
22411 2005-07-07 Wim Taymans <wim@fluendo.com>
22413 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
22414 (gst_thread_scheduler_dispose):
22415 Unlock the STREAM_LOCK completely.
22417 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
22419 * check/Makefile.am:
22420 * check/elements/.cvsignore:
22421 * check/elements/gstfakesrc.c: (chain_func), (event_func),
22422 (START_TEST), (fakesrc_suite), (main):
22423 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22424 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22425 (gst_fakesrc_create), (gst_fakesrc_start):
22426 * gst/elements/gstfakesrc.h:
22427 adding a first element test
22429 2005-07-07 Andy Wingo <wingo@pobox.com>
22431 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
22434 2005-07-07 Wim Taymans <wim@fluendo.com>
22440 2005-07-07 Wim Taymans <wim@fluendo.com>
22442 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22443 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
22444 Allow subclasses to implement their own negotiation.
22446 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
22448 * docs/design/part-gstbin.txt:
22449 * docs/design/part-gstpipeline.txt:
22450 Update design notes to reflect the movement of
22451 responsibility for bus handling from GstPipeline to
22454 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
22457 Remove unnecessary queue2/3/4 examples.
22459 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
22461 * examples/Makefile.am:
22462 * examples/helloworld/helloworld.c: (event_loop), (main):
22463 * examples/queue/queue.c: (event_loop), (main):
22464 * examples/queue2/queue2.c: (main):
22465 Update a couple of the examples to work again.
22467 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22468 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
22469 Spelling corrections and extra debug.
22471 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
22472 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
22473 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
22475 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22476 (gst_pipeline_change_state):
22477 * gst/gstpipeline.h:
22478 Move the bus handler for children to the GstBin, and create a
22479 separate bus for receiving messages from children to the one the
22480 bus sends 'upwards' on.
22482 2005-07-06 Wim Taymans <wim@fluendo.com>
22485 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22486 (gst_base_sink_handle_object), (gst_base_sink_loop),
22487 (gst_base_sink_change_state):
22488 * gst/base/gstbasesink.h:
22489 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22490 (gst_base_src_init), (gst_base_src_setcaps),
22491 (gst_base_src_getcaps), (gst_base_src_loop),
22492 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
22493 (gst_base_src_start), (gst_base_src_change_state):
22494 * gst/base/gstbasesrc.h:
22495 Make basesrc negotiate.
22496 Handle the case where preroll fails in basesink.
22499 2005-07-06 Wim Taymans <wim@fluendo.com>
22501 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
22502 Implement the fixate function.
22503 Clean up acceptcaps.
22505 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22507 * docs/pwg/building-filterfactory.xml:
22508 * docs/pwg/pwg.xml:
22509 Remove never-written filter-factory chapter; I'll add the various
22510 base classes to part 4 ("other element types") later on.
22512 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22514 * docs/pwg/advanced-negotiation.xml:
22515 * docs/pwg/building-boiler.xml:
22516 * docs/pwg/building-pads.xml:
22517 * docs/pwg/pwg.xml:
22518 * examples/pwg/Makefile.am:
22519 Add a chapter on caps negotiation, simplify the original code
22520 samples a bit w.r.t. caps negotiation, add link to the advanced
22521 section. Add a bunch of examples showing different use cases of
22522 different types of caps negotiation. Upstream renegotiation isn't
22523 fully documented yet since nobody knows how that works.
22525 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
22527 * check/gst/gstpad.c:
22528 * check/gstcheck.c:
22529 * gst/gstpad.c: (gst_pad_get_internal_links_default):
22530 if pad has no parent, return NULL as list of internal links
22532 2005-07-05 Andy Wingo <wingo@pobox.com>
22534 * gst/elements/gstfilesrc.c:
22535 * gst/elements/gstfakesrc.c:
22536 * gst/base/gstpushsrc.c:
22537 * gst/base/gstbasesrc.h:
22538 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
22540 2005-07-05 Stefan Kost <ensonic@users.sf.net>
22543 better report generation target (lcov needs a patch)
22545 2005-07-05 Andy Wingo <wingo@pobox.com>
22547 * gst/elements, testsuite: Null if we got it...
22549 2005-07-05 Wim Taymans <wim@fluendo.com>
22552 * libs/gst/dataprotocol/Makefile.am:
22553 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
22554 * libs/gst/dataprotocol/dataprotocol.h:
22555 * pkgconfig/Makefile.am:
22556 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
22557 * pkgconfig/gstreamer-dataprotocol.pc.in:
22558 Ported dataprotol to 0.9.
22559 Added pkgconfig files.
22561 2005-07-05 Andy Wingo <wingo@pobox.com>
22563 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
22564 Default to returning TRUE for the case when tranform_caps returns
22565 a fixed caps, like for identity or volume.
22567 * check/gst/gstbus.c (pound_bus_with_messages):
22568 * check/gst/gstmessage.c (START_TEST):
22569 * check/pipelines/simple_launch_lines.c (got_handoff): Application
22570 message API change.
22572 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
22573 logic weaks here: always run transform_caps, trying passthrough
22574 operation only if the original caps intersects with the transform.
22576 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
22577 source and sink caps.
22579 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
22580 Intersect the peer caps with the pad template before going into
22582 (gst_base_transform_transform_caps): More debugging.
22584 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
22587 2005-07-04 Edward Hervey <edward@fluendo.com>
22591 (gst_pad_add_*_probe): now returns the signal id for better wrapping
22594 2005-07-04 Andy Wingo <wingo@pobox.com>
22596 * check/gst/gstpad.c: Only set explicit caps on pads.
22598 2005-07-01 Andy Wingo <wingo@pobox.com>
22600 * tests/network-clock.scm: Commentary update.
22602 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
22603 Didn't really make sense, not implementable with basetransform,
22605 (gst_identity_transform): Unref inbuf via make_writable. Feeble
22606 attempt at implementing the sync property, needs an unlock method.
22608 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
22609 New func, by default returns the same caps (the identity
22611 (gst_base_transform_getcaps): Uses transform_caps to return
22612 something sensible.
22613 (gst_base_transform_setcaps): Complicated logic to get caps on
22614 both pads, even if they are different, and to call set_caps once
22615 for every time both pads get their caps set.
22616 (gst_base_transform_handle_buffer): Give the ref to the transform
22617 function. Allows in-place modification of the buffer.
22619 * gst/base/gstbasetransform.h (transform_caps): New class method.
22620 Given caps on one side, what can I do on the other.
22621 (set_caps): Take two caps, one for each side of the element.
22624 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
22625 caps in place. This is safe because we can check the mutability of
22626 the caps, and a good idea because fixate functions are just called
22627 as a matter of last resort. (Not actually implemented.)
22628 (gst_pad_set_caps): If the caps we're setting is actually the same
22629 as the existing pad caps, just update the pointer without calling
22630 setcaps. Assert that caps is either NULL or fixed, as per the
22633 * gst/gstghostpad.c: Update for fixate changes.
22635 2005-07-02 Andy Wingo <wingo@pobox.com>
22638 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
22639 two refcounts makes it immutable, which is enough. Doc more.
22641 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
22643 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
22644 Put the mini_object into GValue as a mini_object,
22645 not a gpointer, since that's how we declared
22648 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22650 * examples/pwg/Makefile.am:
22651 Fix buildbot again.
22653 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22655 * docs/pwg/building-testapp.xml:
22657 * examples/pwg/Makefile.am:
22660 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22663 * examples/Makefile.am:
22664 * examples/pwg/Makefile.am:
22665 * examples/pwg/extract.pl:
22666 Enable building the PWG examples.
22667 * docs/pwg/advanced-interfaces.xml:
22668 Add URI interface stub.
22669 * docs/pwg/advanced-types.xml:
22670 * docs/pwg/other-autoplugger.xml:
22671 * docs/pwg/appendix-porting.xml:
22672 * docs/pwg/pwg.xml:
22673 Add porting guide (mostly stubs), remove autoplugging (see ADM).
22674 * docs/pwg/building-boiler.xml:
22675 * docs/pwg/building-chainfn.xml:
22676 * docs/pwg/building-pads.xml:
22677 * docs/pwg/building-props.xml:
22678 * docs/pwg/building-state.xml:
22679 * docs/pwg/building-testapp.xml:
22680 Update the building-*.xml parts for 0.9 changes. All examples
22681 code blocks compile in examples/pwg/*.
22683 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22685 * docs/manual/advanced-autoplugging.xml:
22686 * docs/manual/appendix-checklist.xml:
22687 * docs/manual/appendix-integration.xml:
22688 * docs/manual/highlevel-components.xml:
22689 Fix playbin/decodebin examples, update docs a bit, mention bus
22690 instead of signals in various places, mention kmplayer and
22691 kaffeine since they have a working GStreamer backend in the KDE
22694 2005-06-30 Wim Taymans <wim@fluendo.com>
22697 * docs/design/draft-ghostpads.txt:
22698 * docs/design/draft-push-pull.txt:
22699 * docs/design/draft-query.txt:
22700 * docs/design/part-TODO.txt:
22701 * docs/design/part-query.txt:
22702 Added CHANGES-0.9 doc, updated status of other docs.
22707 2005-06-30 Wim Taymans <wim@fluendo.com>
22709 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
22710 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
22711 (gst_base_sink_change_state):
22712 * gst/base/gstbasesink.h:
22713 Some tweaks, only EOS and a buffer complete a preroll.
22715 2005-06-30 Andy Wingo <wingo@pobox.com>
22717 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
22718 activate_push down to the internal pad as well.
22720 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
22722 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22724 * gst/gsttaginterface.c:
22725 Some documentation fixes (#307394 and #307397).
22727 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
22729 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22731 * gst/gstvalue.c: (gst_value_intersect_list):
22732 Fix memleak (#309125).
22734 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22736 * docs/manual/advanced-dataaccess.xml:
22737 Fix fakesrc example to compile; doesn't work, bug somewhere...?
22738 * docs/manual/basics-pads.xml:
22739 Add reference for filtered caps to above chapter.
22741 2005-06-30 Wim Taymans <wim@fluendo.com>
22743 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
22744 (gst_bin_change_state):
22746 Lame attempt at making the state change function a bit
22749 2005-06-30 Wim Taymans <wim@fluendo.com>
22751 * docs/design/part-clocks.txt:
22752 * docs/design/part-element-sink.txt:
22753 * docs/design/part-events.txt:
22754 * docs/design/part-preroll.txt:
22755 * docs/design/part-states.txt:
22756 Some more tweeks and additions to the docs.
22758 2005-06-30 Wim Taymans <wim@fluendo.com>
22760 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22761 (default_have_data), (gst_pad_class_init), (gst_pad_init),
22762 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22763 (gst_pad_check_pull_range), (gst_pad_get_range),
22764 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
22766 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
22767 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22768 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22769 (gst_pad_remove_buffer_probe):
22770 Removed atomic operations, use existing LOCK.
22771 Move exception handling out of main code path.
22773 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22775 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22776 (silly_return_true_function), (gst_pad_class_init),
22777 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
22778 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
22779 (gst_pad_send_event):
22780 Fix accumulator, add default value by using _emitv() instead
22781 of _emit() for signal emission.
22783 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22785 * docs/manual/advanced-dataaccess.xml:
22786 * examples/manual/Makefile.am:
22788 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
22791 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
22793 * gst/elements/gstfilesink.c: (gst_filesink_render):
22794 Simplify code so that we don't have to handle short
22795 writes and return GST_FLOW_ERROR if an error occured.
22797 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22799 * docs/gst/gstreamer-docs.sgml:
22800 Remove probes more.
22802 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22804 * docs/gst/gstreamer-sections.txt:
22805 * docs/gst/tmpl/gstpad.sgml:
22806 * docs/gst/tmpl/gstprobe.sgml:
22808 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
22809 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
22810 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
22811 (gst_pad_push_event), (gst_pad_send_event):
22813 * gst/gstutils.c: (gst_pad_add_data_probe),
22814 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
22815 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
22816 (gst_pad_remove_buffer_probe):
22818 Remove old probes, add new g-signal-based probes and some utility
22821 2005-06-29 Edward Hervey <edward@fluendo.com>
22823 * gst/gstelementfactory.c:
22826 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
22827 the definition to the header file.
22829 2005-06-29 Andy Wingo <wingo@pobox.com>
22831 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
22832 plugins from the source directory.
22834 2005-06-29 Wim Taymans <wim@fluendo.com>
22836 * docs/gst/tmpl/gstbuffer.sgml:
22837 * docs/gst/tmpl/gstclock.sgml:
22838 Some fixings for blantently wrong text.
22840 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
22842 * check/Makefile.am:
22843 * gst/gst.c: (add_path_func), (init_pre):
22844 * gst/gstregistry.c: (gst_registry_add_path):
22845 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
22846 only scan the GST_PLUGIN_PATH locations, and not add
22849 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
22851 * docs/gst/gstreamer-sections.txt:
22852 * docs/gst/tmpl/gstbasesrc.sgml:
22853 * gst/gstelement.c:
22854 * gst/gstelement.h:
22859 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22861 * docs/manual/advanced-autoplugging.xml:
22862 Fix autoplugging example.
22864 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22866 * docs/manual/advanced-autoplugging.xml:
22867 * docs/manual/mime-world.fig:
22868 Try to get autoplugging working, fix type detection. Fix text
22869 in hello-world image.
22871 2005-06-29 Wim Taymans <wim@fluendo.com>
22873 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22874 (gst_base_sink_change_state):
22878 map SIGNAL and BROADCAST to the right function.
22881 Remove redundant braces.
22883 * gst/gstpad.c: (gst_pad_set_caps):
22884 Don't call setcaps function when reseting caps to NULL.
22886 * gst/gstsystemclock.c: (gst_system_clock_dispose),
22887 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
22888 (gst_system_clock_id_unschedule):
22889 Use BROADCAST as this is what we do.
22891 2005-06-29 Wim Taymans <wim@fluendo.com>
22893 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22894 We are actually prerolling before commiting the state
22897 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22899 * docs/manual/advanced-clocks.xml:
22900 * docs/manual/advanced-interfaces.xml:
22901 * docs/manual/advanced-metadata.xml:
22902 * docs/manual/advanced-position.xml:
22903 * docs/manual/advanced-schedulers.xml:
22904 * docs/manual/advanced-threads.xml:
22905 * docs/manual/appendix-porting.xml:
22906 * docs/manual/basics-bins.xml:
22907 * docs/manual/basics-bus.xml:
22908 * docs/manual/basics-elements.xml:
22909 * docs/manual/basics-helloworld.xml:
22910 * docs/manual/basics-pads.xml:
22911 * docs/manual/highlevel-components.xml:
22912 * docs/manual/manual.xml:
22913 * docs/manual/thread.fig:
22914 Update (until threads/scheduling) Application Development Manual;
22915 remove GstThread, add GstBus, add simple porting checklist, add
22916 documentation for tag writing, clocks, make all examples until this
22917 part compile and run.
22918 * examples/manual/Makefile.am:
22919 Update from changes to Application Development Manual; add bus
22920 example, remove thread example.
22922 2005-06-28 Wim Taymans <wim@fluendo.com>
22924 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
22925 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
22926 (gst_bus_source_dispatch):
22927 Add debugging messages.
22928 Make internal methods static.
22929 Handle the case where the bus is flushed in the handler.
22931 * gst/gstelement.c: (gst_element_get_bus):
22932 Fix refcount in _get_bus();
22934 * gst/gstpipeline.c: (gst_pipeline_change_state),
22935 (gst_pipeline_get_clock_func):
22936 Clock refcounting fixes.
22937 Handle the case where preroll timed out more gracefully.
22939 * gst/gstsystemclock.c: (gst_system_clock_dispose):
22940 Clean up the internal thread in dispose. This is needed
22941 for subclasses that actually get disposed.
22943 * gst/schedulers/threadscheduler.c:
22944 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22945 (gst_thread_scheduler_dispose):
22946 Free thread pool in dispose.
22948 2005-06-28 Andy Wingo <wingo@pobox.com>
22950 * tests/network-clock-utils.scm (debug, print-event): New utils.
22952 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
22953 (*packet-loss*): Unified loss probability.
22954 (network-time): Report out-of-band events.
22956 * tests/plot-data: Add support for out-of-band events. Hack it
22957 into this script instead of passing it down the pipe; should fix
22960 2005-06-28 Wim Taymans <wim@fluendo.com>
22962 * docs/gst/gstreamer.types:
22963 * docs/gst/tmpl/gstbasesrc.sgml:
22964 * docs/gst/tmpl/gstpad.sgml:
22967 2005-06-28 Wim Taymans <wim@fluendo.com>
22969 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22970 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
22971 (gst_proxy_pad_do_fixatecaps):
22972 Correctly proxy the check_pull_range function.
22974 2005-06-28 Andy Wingo <wingo@pobox.com>
22976 * tests/network-clock.scm: Removed need for slib.
22978 2005-06-28 Wim Taymans <wim@fluendo.com>
22980 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
22981 (gst_basesink_preroll_queue_flush):
22982 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
22983 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
22984 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22985 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
22986 (gst_proxy_pad_set_property):
22989 * gst/gstqueue.c: (gst_queue_init):
22990 The deprecated pad loop function is removed now.
22992 2005-06-28 Andy Wingo <wingo@pobox.com>
22994 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
22995 New parameters, simulate network packet loss.
22997 * tests/network-clock-utils.scm: Initialize the RNG.
22999 2005-06-28 Wim Taymans <wim@fluendo.com>
23001 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
23002 (gst_basesink_event), (gst_basesink_deactivate):
23003 Flushing the preroll queue always needs to unlock the waiters.
23005 2005-06-28 Edward Hervey <edward@fluendo.com>
23007 * gst/gstpipeline.c: (gst_pipeline_send_event):
23008 Wheen a seek was successful on a pipeline, set the stream_time to the
23009 seek offset in order to have a synchronized stream_time.
23011 2005-06-28 Wim Taymans <wim@fluendo.com>
23013 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23014 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
23015 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
23016 (gst_proxy_pad_do_fixatecaps):
23017 Call wrapper function instead of just calling the function
23018 pointers. This takes care of any locking and whatmore.
23020 2005-06-28 Wim Taymans <wim@fluendo.com>
23022 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
23023 (gst_pad_pull_range):
23025 CONNECTED -> LINKED.
23027 2005-06-28 Andy Wingo <wingo@pobox.com>
23029 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
23030 source-munging commit!!!
23032 * gst/gstobject.c (gst_object_unref, gst_object_ref)
23033 (gst_object_sink): Take gpointer arguments, not GstObject --
23034 avoids casts. Like GLib.
23036 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
23039 2005-06-27 Andy Wingo <wingo@pobox.com>
23041 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
23044 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
23045 returns a sorted copy of the trace list.
23046 (gst_alloc_trace_print_live): New API, only prints traces with
23047 live objects. Sort the list.
23048 (gst_alloc_trace_print_all): Sort the list.
23049 (gst_alloc_trace_print): Align columns.
23051 * gst/elements/gstttypefindelement.c:
23052 * gst/elements/gsttee.c:
23053 * gst/base/gstbasesrc.c:
23054 * gst/base/gstbasesink.c:
23055 * gst/base/gstbasetransform.c:
23056 * gst/gstqueue.c: Adapt for pad activation changes.
23058 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
23060 (gst_pipeline_dispose): Drop ref on sched.
23062 * gst/gstpad.c (gst_pad_init): Set the default activate func.
23063 (gst_pad_activate_default): Push mode by default.
23064 (pre_activate_switch, post_activate_switch): New stubs, things to
23065 do before and after switching activation modes on pads.
23066 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
23067 the pad's activate function to choose which mode to activate.
23068 Shortcut on deactivation and call the right function directly.
23069 (gst_pad_activate_pull): New API, (de)activates a pad in pull
23071 (gst_pad_activate_push): New API, same for push mode.
23072 (gst_pad_set_activate_function)
23073 (gst_pad_set_activatepull_function)
23074 (gst_pad_set_activatepush_function): Setters for new API.
23076 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
23077 Trace all miniobjects.
23078 (gst_mini_object_make_writable): Unref the arg if we copy, like
23079 gst_caps_make_writable.
23081 * gst/gstmessage.c (_gst_message_initialize): No trace init.
23083 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
23084 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
23085 Adapt for new pad API.
23087 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
23089 * gst/gstelement.h:
23090 * gst/gstelement.c (gst_element_iterate_src_pads)
23091 (gst_element_iterate_sink_pads): New API functions.
23093 * gst/gstelement.c (iterator_fold_with_resync): New utility,
23094 should fold into gstiterator.c in some form.
23095 (gst_element_pads_activate): Simplified via use of fold and
23096 delegation of decisions to gstpad->activate.
23098 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
23101 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
23102 class once in init, like gstmessage. Didn't run into this issue
23103 but it seems correct. Don't initialize a trace, gstminiobject does
23106 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
23107 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
23109 (assert_live_count): New util function, uses alloc traces to check
23112 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
23113 To be modified when unlink drops the internal pad.
23115 2005-06-27 Wim Taymans <wim@fluendo.com>
23117 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
23118 (gst_bin_change_state):
23119 Cleanup the get_state() function a little, make sure it
23120 iterates the same set of elements.
23121 Added stub iterate_state_order().
23123 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
23125 * docs/gst/gstreamer-docs.sgml:
23126 * docs/gst/gstreamer-sections.txt:
23127 * docs/gst/gstreamer.types:
23128 * docs/gst/tmpl/gstbasesink.sgml:
23129 * docs/gst/tmpl/gstbasesrc.sgml:
23130 * docs/gst/tmpl/gstbasetransform.sgml:
23131 * docs/gst/tmpl/gstelement.sgml:
23132 * docs/gst/tmpl/gstiterator.sgml:
23133 * gst/base/gstbasesrc.c:
23134 * gst/base/gstbasesrc.h:
23135 * gst/base/gstbasetransform.h:
23136 * gst/gstelement.c:
23137 * gst/gstiterator.h:
23138 adding basetransform and iterator docs
23140 2005-06-27 Andy Wingo <wingo@pobox.com>
23142 * docs/design/part-activation.txt: Notes on how activation should
23143 work -- not quite implemented yet.
23145 2005-06-25 Wim Taymans <wim@fluendo.com>
23147 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
23148 At least get the chain function correct, needs more
23151 2005-06-25 Wim Taymans <wim@fluendo.com>
23153 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23154 (gst_basesink_handle_object), (gst_basesink_event),
23155 (gst_basesink_do_sync), (gst_basesink_handle_event),
23156 (gst_basesink_change_state):
23158 Right, two problems here: ghostpads don't take locks and
23159 glib _rec_mutex_lock_full() with depth==0 still locks.
23160 Catch illegal locking and g_warn them.
23162 2005-06-25 Wim Taymans <wim@fluendo.com>
23164 * check/states/sinks.c: (START_TEST), (gst_object_suite):
23165 Have to check for completion now...
23167 2005-06-25 Wim Taymans <wim@fluendo.com>
23169 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23170 (gst_basesink_handle_object), (gst_basesink_event),
23171 (gst_basesink_do_sync), (gst_basesink_handle_event),
23172 (gst_basesink_change_state):
23174 Unlock STREAM_LOCK whatever the recursion was.
23176 2005-06-25 Wim Taymans <wim@fluendo.com>
23178 * gst/base/gstbasesink.c: (gst_basesink_set_property),
23179 (gst_basesink_preroll_queue_empty),
23180 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
23181 (gst_basesink_event), (gst_basesink_do_sync),
23182 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
23183 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
23184 (gst_basesink_change_state):
23185 Reworked the base sink, handle event and buffer serialisation
23186 correctly and removed possible deadlock.
23187 Handle EOS correctly.
23189 2005-06-25 Wim Taymans <wim@fluendo.com>
23191 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
23192 (gst_pipeline_change_state):
23193 * tools/gst-launch.c: (check_intr), (event_loop), (main):
23194 Allow elements to post EOS in the state change function.
23195 Fix up -launch, make it exit the poll loop when the
23196 pipeline actually changed state.
23197 Fix up warning parsing in -launch.
23199 2005-06-25 Wim Taymans <wim@fluendo.com>
23201 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
23202 (gst_tee_sink_activate):
23203 Core takes STREAM_LOCK for us now.
23205 2005-06-25 Wim Taymans <wim@fluendo.com>
23207 * gst/gstelement.c: (gst_element_get_state_func),
23208 (gst_element_set_state):
23209 * gst/gstelement.h:
23210 * gst/gstmessage.c: (gst_message_parse_error),
23211 (gst_message_parse_warning):
23212 Keep track of current target state while performing a state
23213 change so that subclasses can do something interesting.
23214 Fix parsing of warning/error messages when GError is NULL.
23216 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
23218 * docs/gst/Makefile.am:
23219 * docs/gst/gstreamer-docs.sgml:
23220 * docs/gst/gstreamer-sections.txt:
23221 * docs/gst/gstreamer.types:
23222 * docs/gst/tmpl/gstbasesink.sgml:
23223 * docs/gst/tmpl/gstbasesrc.sgml:
23224 * docs/gst/tmpl/gstbin.sgml:
23225 * docs/gst/tmpl/gstcompat.sgml:
23226 * docs/gst/tmpl/gstfakesink.sgml:
23227 * docs/gst/tmpl/gstfakesrc.sgml:
23228 * docs/gst/tmpl/gstfilesink.sgml:
23229 * docs/gst/tmpl/gstfilesrc.sgml:
23230 * docs/gst/tmpl/gstindex.sgml:
23231 * docs/manual/appendix-quotes.xml:
23232 * gst/base/gstbasesrc.h:
23233 * gst/elements/gstfakesrc.h:
23234 * gst/gstmessage.h:
23235 start pulling in base classes and elements in our docs
23237 2005-06-24 Stefan Kost <ensonic@users.sf.net>
23239 * docs/gst/Makefile.am:
23240 * docs/libs/Makefile.am:
23241 fixed make distcheck with gtk-doc 1.3
23243 2005-06-23 Wim Taymans <wim@fluendo.com>
23245 * gst/gstelement.c: (gst_element_get_state_func),
23246 (gst_element_set_state), (gst_element_change_state):
23247 When the state did not change, also report NO_PREROLL
23250 2005-06-23 Wim Taymans <wim@fluendo.com>
23252 * gst/gstpad.c: (gst_pad_event_default):
23253 * gst/gstqueue.c: (gst_queue_loop):
23254 No unsafe task pausing please.
23256 2005-06-23 Wim Taymans <wim@fluendo.com>
23258 * gst/schedulers/threadscheduler.c:
23259 (gst_thread_scheduler_task_start),
23260 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
23261 Ref the task before pushing it on the threadpool. This
23262 makes sure that we have a ref when the threadfunction is
23265 2005-06-23 Andy Wingo <wingo@pobox.com>
23267 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
23268 offset is greater than the file's size.
23270 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
23271 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
23272 * gst/gstobject.c (gst_object_class_init): Make the class lock
23273 recursive. Wim won't let me drop deep_notify. Decodebin works
23274 again, whoopdy doo.
23276 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
23277 internal pad, and hacks accordingly. Doesn't do it on the target
23278 pad because we change its caps. Probably catches all cases of
23280 (gst_ghost_pad_set_property): Connect to notify::caps as
23283 * tests/network-clock.scm (plot-simulation): Pipe data to the
23284 elite python skript.
23286 * tests/network-clock-utils.scm (define-parameter): New macro,
23287 defines a parameter that can be set via the command line.
23288 (set-parameter!, parse-parameter-arguments): Command line args
23291 * tests/plot-data: Simple matplotlib-based plotter, takes input on
23294 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
23296 * gst/elements/gsttypefindelement.c:
23297 (gst_type_find_element_handle_event):
23298 Don't restart typefinding on a discont.
23299 * gst/gstelement.c: (gst_element_set_state):
23300 Debug spelling fix.
23301 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
23302 Allow changing mode of an active pad.
23303 Debug output fixes.
23304 * gst/registries/gstlibxmlregistry.c: (load_feature):
23305 Don't cast a static pad template to a normal pad template.
23307 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
23309 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23310 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23311 remove gst_strtoll completely, since it didn't actually do
23312 anything more than what g_ascii_strtoull already does.
23313 check for range errors when deserializing
23314 do a cast for the unsigned cases; but further fixing needs
23315 a decision on what the interpretation of "(int)" and
23316 deserialization should be for values that fall outside the
23317 type's boundaries (ie, refuse, or interpret as casting)
23319 2005-06-23 Wim Taymans <wim@fluendo.com>
23321 * check/Makefile.am:
23322 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
23323 * docs/design/part-live-source.txt:
23324 * docs/design/part-states.txt:
23325 * gst/base/gstbasesrc.c: (gst_basesrc_init),
23326 (gst_basesrc_set_live), (gst_basesrc_is_live),
23327 (gst_basesrc_get_range), (gst_basesrc_activate),
23328 (gst_basesrc_change_state):
23329 * gst/base/gstbasesrc.h:
23330 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23331 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
23332 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
23333 * gst/gstelement.c: (gst_element_get_state_func),
23334 (gst_element_set_state):
23335 * gst/gstelement.h:
23337 * tools/gst-launch.c: (event_loop), (main):
23338 Added support for live sources and other elements that
23340 Updated design docs, added live-source design doc.
23341 Implemented live source functionality in basesrc
23342 Fix error condition in _bin_get_state()
23343 Implement live source handling in -launch.
23344 Added check for live sources.
23345 Fixed case in GstBin where elements were changed state
23349 2005-06-23 Andy Wingo <wingo@pobox.com>
23351 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
23352 borken refcounting.
23354 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
23355 gst_caps_replace takes care of this for us.
23357 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
23358 gst_pad_set_caps on the target, not just its setcaps() function.
23360 * tests/network-clock.scm:
23361 * tests/network-clock-utils.scm: A network clock simulator.
23362 Something of an algorithmic testbed before doing something in C.
23364 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
23366 * check/Makefile.am:
23367 * check/gst/capslist.h:
23368 copy over from 0.8, and add two with bitmasks specified with
23370 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23371 add test to parse everything from capslist.h
23372 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
23374 add test for structure deserialization
23375 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23376 add tests for deserialization of strings to int types
23377 * gst/gststructure.c: (gst_structure_nth_field_name):
23378 * gst/gststructure.h:
23379 add a way to get the name of a field referenced by index
23380 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23381 instead of checking if the resulting long long lies between
23382 min and max, we check if the long long would fit into
23383 a number of bytes for the final type.
23384 This fixes cases where a string represents 2^32 - 1, which
23385 when cast to int would be the (valid) -1, but is bigger than
23388 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
23390 * gst/parse/grammar.y:
23391 add a log line for type deserialization
23393 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
23395 * check/gst/gstvalue.c: (START_TEST):
23396 * gst/gstvalue.c: (gst_value_deserialize):
23397 return long long, not int, so gint64 deserialization actually
23398 works. Is there any flag that makes the compiler check this ?
23401 2005-06-22 Wim Taymans <wim@fluendo.com>
23404 Added convenience macros for setting buffers in GValue.
23406 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
23408 * check/gst/.cvsignore:
23409 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
23410 add a test deserializing int64, and comment part out because
23413 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
23415 * check/Makefile.am:
23416 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
23417 * testsuite/Makefile.am:
23418 * testsuite/caps/Makefile.am:
23419 * testsuite/caps/value_serialize.c:
23420 * testsuite/test_gst_init.c:
23421 move a value_serialize test over
23423 2005-06-20 Wim Taymans <wim@fluendo.com>
23428 * gst/gstvalue.c: (gst_value_compare_buffer),
23429 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
23430 (gst_value_compare_flags), (gst_value_serialize_flags),
23431 (gst_value_deserialize_flags), (_gst_value_initialize):
23432 Fix serialisation of buffers, they are not boxed types anymore
23434 2005-06-20 Wim Taymans <wim@fluendo.com>
23436 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
23437 Testcase to show error in buffer-on-caps serialisation.
23439 2005-06-20 Andy Wingo <wingo@pobox.com>
23441 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
23442 will be adding to later.
23444 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
23445 if its socks fill with rocks.
23446 (gst_system_clock_obtain): Set the name on object construction.
23447 Avoid double-checked locking.
23449 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
23451 * gst/gsturi.c: (gst_element_make_from_uri):
23452 Fix potential endless loop.
23454 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
23456 * check/Makefile.am:
23458 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
23460 move over from testsuite dir and clean up
23463 * testsuite/Makefile.am:
23464 * testsuite/tags/.cvsignore:
23465 * testsuite/tags/Makefile.am:
23466 * testsuite/tags/merge.c:
23467 remove testsuite/tags
23469 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
23471 * docs/gst/gstreamer-sections.txt:
23472 * docs/gst/tmpl/gstenumtypes.sgml:
23473 * win32/gstenumtypes.c:
23474 clean up documentation build a little
23476 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
23478 * check/gstcheck.h:
23479 add macros for checking refcounts on objects and caps
23480 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
23481 add some more unit tests
23482 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23483 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
23484 fix leaked refcounts (I hope :)) so unittest works
23488 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
23490 * configure.ac: back to HEAD
23492 === release 0.9.1 ===
23494 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
23500 2005-06-17 Andy Wingo <wingo@pobox.com>
23502 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
23503 assert; it's always possible that the pad gets deactivated in
23504 between the checks in gstpad.c and the implementation. Rely on
23505 finish_preroll() to return a FLUSHING or similar instead of on the
23508 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
23509 clock and post an EOS message if we come out of finish_preroll in
23512 2005-06-16 David Schleef <ds@schleef.org>
23514 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23515 (gst_capsfilter_set_property): Allow NULL as possible value
23516 for filter_caps property, indicating GST_CAPS_ANY.
23518 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
23520 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
23522 * gst/schedulers/Makefile.am:
23524 * gstreamer.spec.in:
23527 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
23529 * gstreamer.spec.in:
23532 2005-06-08 Andy Wingo <wingo@pobox.com>
23534 * gst/gstutils.c: RPAD fixes all around.
23535 (gst_element_link_pads): Refcounting fixes.
23537 * tools/gst-inspect.c:
23538 * tools/gst-xmlinspect.c:
23540 * gst/base/gsttypefindhelper.c:
23541 * gst/base/gstbasesink.c:
23542 * gst/gstqueue.c: RPAD fixes.
23544 * gst/gstghostpad.h:
23545 * gst/gstghostpad.c: New ghost pad implementation as full proxy
23546 pads. The tricky thing is they provide both source and sink
23547 interfaces, since they proxy the internal pad for the external
23548 pad, and vice versa. Implement with lower-level ProxyPad objects,
23549 with the interior proxy pad as a child of the exterior ghost pad.
23550 Should write a doc on this.
23552 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
23553 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
23556 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
23557 pads are real pads. No ghost pads in this file. Not documenting
23558 the myriad s/RPAD/PAD/ and REALIZE fixes.
23559 (gst_pad_class_init): Add properties for "direction" and
23560 "template". Both are construct-only, so they can't change during
23561 the life of the pad. Fixes properly deriving from GstPad.
23562 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
23563 derived objects, just set properties when creating the objects via
23565 (gst_pad_get_parent): Implement as a function, return NULL if the
23566 parent is not an element.
23567 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
23568 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
23570 * gst/gstobject.c (gst_object_class_init): Make name a construct
23571 property. Don't set it in the object init.
23573 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
23574 with UNKNOWN direction.
23575 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
23576 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
23577 (gst_element_remove_pad): Remove ghost-pad special cases.
23578 (gst_element_pads_activate): Remove rpad cruft.
23580 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
23581 catch the pad's-parent-not-an-element case.
23583 * gst/gst.h: Include gstghostpad.h.
23585 * gst/gst.c (init_post): No more real, ghost pads.
23587 * gst/Makefile.am: Add gstghostpad.[ch].
23589 * check/Makefile.am:
23590 * check/gst/gstbin.c:
23591 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
23592 into a bin creates ghost pads, and that the refcounts are right.
23593 Partly moved from gstbin.c.
23595 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
23597 * check/gst-libs/.cvsignore:
23598 * check/gst/.cvsignore:
23599 * check/pipelines/.cvsignore:
23601 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
23602 (START_TEST), (cleanup_suite), (main):
23603 add some tests related to cleanup after running pipelines
23605 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
23607 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
23608 add a testsuite for GstBuffer
23610 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
23612 * gst/gstminiobject.h:
23613 add defines for accessing the refcount
23615 2005-06-03 Stefan Kost <ensonic@users.sf.net>
23617 * Makefile.am: added support for html unit test coverage reports
23619 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
23621 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23622 Free existing caps if the capsfilter changes. Add a FIXME about
23623 setting those caps on the pads.
23625 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
23626 Before adding a ghost pad to a parent bin, check that there isn't
23627 already one for the element on the bin. Prevents infinite recursion
23628 when using decodebin in parse pipelines. Andy says he'll rewrite the
23629 way this works anyway, so ignore the hack.
23631 2005-06-02 Andy Wingo <wingo@pobox.com>
23633 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
23634 file size, pass it on to the type find helper.
23636 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
23637 segment_start and segment_end properly according to the seek
23638 method. Segment_end is still a bit flaky because offset can be
23639 negative for CUR and END cases, but it takes -1 as an "unset"
23642 2005-06-02 Wim Taymans <wim@fluendo.com>
23644 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
23645 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
23646 (gst_basesink_activate):
23647 * gst/base/gstbasesink.h:
23648 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23649 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23650 (gst_pad_query), (gst_pad_start_task):
23652 * gst/gstqueue.c: (gst_queue_bufferalloc),
23653 (gst_queue_handle_sink_event), (gst_queue_chain):
23654 Bufferalloc: return GstFlowReturn to more accuratly report
23655 why allocation failed.
23657 2005-06-02 Wim Taymans <wim@fluendo.com>
23659 * gst/gstpipeline.c: (gst_pipeline_send_event):
23660 Take snapshot of state without blocking.
23662 2005-06-02 Wim Taymans <wim@fluendo.com>
23664 * docs/design/part-TODO.txt:
23665 * docs/design/part-caps.txt:
23666 * docs/design/part-clocks.txt:
23667 * docs/design/part-negotiation.txt:
23668 * docs/design/part-preroll.txt:
23671 2005-05-30 Wim Taymans <wim@fluendo.com>
23673 * gst/elements/gstidentity.c: (gst_identity_event),
23674 (gst_identity_transform), (gst_identity_get_property):
23675 Protect last_message property as it is accessed from
23678 2005-05-30 Wim Taymans <wim@fluendo.com>
23680 * gst/gstelement.c: (gst_element_init),
23681 (gst_element_pads_activate), (gst_element_change_state):
23682 Slicker pad activation code.
23684 2005-05-30 Wim Taymans <wim@fluendo.com>
23687 * gst/gstelement.h:
23688 * gst/gstelementfactory.h:
23690 Move elementfactory methods to separate .h file.
23692 2005-05-30 Wim Taymans <wim@fluendo.com>
23694 * docs/design/part-overview.txt:
23695 * gst/gstsystemclock.h:
23696 Small typo fixes, doc updates.
23698 2005-05-30 Wim Taymans <wim@fluendo.com>
23700 * gst/gst.c: (gst_init_get_popt_table), (init_post),
23701 (init_popt_callback):
23702 Remove cpu-opt flag.
23704 2005-05-30 Wim Taymans <wim@fluendo.com>
23706 * gst/gstbuffer.c: (gst_subbuffer_finalize),
23707 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
23709 Avoid typechecking in places where not needed.
23710 Added accessor for malloc_data.
23712 2005-05-30 Wim Taymans <wim@fluendo.com>
23714 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
23715 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
23716 (gst_pad_configure_sink), (gst_pad_configure_src),
23717 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
23718 (gst_pad_start_task):
23719 Propagate errors from _set_caps() in configure_src/sink
23720 functions instead of returning TRUE.
23721 FLUSH events can travel up and downstream
23724 2005-05-30 Wim Taymans <wim@fluendo.com>
23726 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23727 (gst_basesink_activate):
23728 Handle EOS in preroll.
23730 2005-05-30 Wim Taymans <wim@fluendo.com>
23732 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23733 (gst_queue_loop), (gst_queue_handle_src_event):
23734 Remove old pieces of code
23735 Flushing the queue in an upstream event is a very bad idea.
23737 2005-05-26 Andy Wingo <wingo@pobox.com>
23739 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
23740 gst_value_set_mini_object so as to add a ref on the object (which
23741 will be removed when the value is unset).
23743 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
23744 arg type in ::handoff.
23746 * gst/gstelement.c (gst_element_change_state): Also deactivate
23747 pads in READY->NULL, just in case the element didn't make it to
23748 PAUSED. Wingo tested, Wim approved.
23750 2005-05-26 Wim Taymans <wim@fluendo.com>
23752 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23753 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
23754 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
23755 A flushing pad cannot be used to alloc_buffer from.
23757 2005-05-26 Wim Taymans <wim@fluendo.com>
23759 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
23760 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
23761 (gst_bus_source_dispatch), (gst_bus_source_finalize),
23762 (gst_bus_create_watch), (gst_bus_add_watch_full):
23764 Implement a real GSource and use g_main_context_wakeup() to
23765 signal new messages instead of the socketpair.
23767 2005-05-25 Wim Taymans <wim@fluendo.com>
23769 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
23770 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
23771 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23772 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23773 (gst_pad_send_event), (gst_pad_start_task):
23774 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
23775 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23776 (gst_queue_sink_activate), (gst_queue_src_activate),
23777 (gst_queue_change_state):
23779 Fix state changes for non sinks. We now change sinks, then elements
23780 with unconnected srcpads, then the rest.
23781 More efficient queue unlocking in flush and state changes.
23782 Set the pad activate mode even if it does not have an activate
23785 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23787 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
23788 Don't go in pull mode for non-seekable sources.
23789 * gst/elements/gsttypefindelement.h:
23790 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
23791 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
23792 (free_entry), (stop_typefinding),
23793 (gst_type_find_element_handle_event), (find_peek),
23794 (gst_type_find_element_chain), (do_pull_typefind),
23795 (gst_type_find_element_change_state):
23796 Allow typefinding (w/o seeking) in push-mode, simplified version
23797 of what was in 0.8.
23798 * gst/gstutils.c: (gst_buffer_join):
23800 gst_buffer_join() from 0.8.
23802 2005-05-25 Wim Taymans <wim@fluendo.com>
23804 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
23805 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
23806 (gst_pad_send_event), (gst_pad_start_task):
23807 Disable attempt at mode switching until it is figured out.
23809 2005-05-25 Wim Taymans <wim@fluendo.com>
23811 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
23812 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
23813 (gst_basesink_finish_preroll), (gst_basesink_chain),
23814 (gst_basesink_loop), (gst_basesink_activate),
23815 (gst_basesink_change_state):
23816 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
23817 (gst_basesrc_get_range), (gst_basesrc_loop),
23818 (gst_basesrc_activate):
23819 * gst/elements/gsttee.c: (gst_tee_sink_activate):
23820 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23821 (gst_real_pad_init), (gst_real_pad_set_property),
23822 (gst_real_pad_get_property), (gst_pad_set_active),
23823 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
23824 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
23825 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
23826 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
23827 (gst_pad_event_default_dispatch), (gst_pad_event_default),
23828 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
23829 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
23830 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
23831 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
23832 (gst_pad_stop_task):
23834 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23835 (gst_queue_loop), (gst_queue_src_activate):
23836 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
23837 (gst_task_get_state):
23839 * gst/schedulers/threadscheduler.c:
23840 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
23841 Implement gst_pad_pause/start/stop_task(), take STREAM lock
23843 Remove ACTIVE pad flag, use FLUSHING everywhere
23844 Added _pad_chain(), _pad_get_range() to call chain/getrange
23846 Add locks around IS_FLUSHING when reading.
23847 Take STREAM lock in chain(), get_range() functions so plugins
23848 don't need to take it anymore.
23852 2005-05-25 Wim Taymans <wim@fluendo.com>
23854 * tools/gst-launch.c: (event_loop):
23855 Unref message after using its contents instead of
23858 2005-05-24 Wim Taymans <wim@fluendo.com>
23860 * docs/design/draft-ghostpads.txt:
23861 * docs/design/draft-push-pull.txt:
23862 * docs/design/draft-query.txt:
23863 * docs/design/part-overview.txt:
23864 Docs updates, added general overview doc.
23866 2005-05-21 David Schleef <ds@schleef.org>
23868 * docs/gst/tmpl/old/GstBin.sgml:
23869 * docs/gst/tmpl/old/GstBuffer.sgml:
23870 * docs/gst/tmpl/old/GstCaps.sgml:
23871 * docs/gst/tmpl/old/GstClock.sgml:
23872 * docs/gst/tmpl/old/GstCompat.sgml:
23873 * docs/gst/tmpl/old/GstData.sgml:
23874 * docs/gst/tmpl/old/GstElement.sgml:
23875 * docs/gst/tmpl/old/GstEvent.sgml:
23876 * docs/gst/tmpl/old/GstIndex.sgml:
23877 * docs/gst/tmpl/old/GstStructure.sgml:
23878 * docs/gst/tmpl/old/GstTag.sgml:
23879 * docs/gst/tmpl/old/cothreads.sgml:
23880 * docs/gst/tmpl/old/cothreads_compat.sgml:
23881 * docs/gst/tmpl/old/gettext.sgml:
23882 * docs/gst/tmpl/old/gobject2gtk.sgml:
23883 * docs/gst/tmpl/old/grammar.tab.sgml:
23884 * docs/gst/tmpl/old/gst-i18n-app.sgml:
23885 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
23886 * docs/gst/tmpl/old/gst_private.sgml:
23887 * docs/gst/tmpl/old/gstaggregator.sgml:
23888 * docs/gst/tmpl/old/gstarch.sgml:
23889 * docs/gst/tmpl/old/gstatomic_impl.sgml:
23890 * docs/gst/tmpl/old/gstbufferstore.sgml:
23891 * docs/gst/tmpl/old/gstdata_private.sgml:
23892 * docs/gst/tmpl/old/gstdisksink.sgml:
23893 * docs/gst/tmpl/old/gstdisksrc.sgml:
23894 * docs/gst/tmpl/old/gstelementfactory.sgml:
23895 * docs/gst/tmpl/old/gstextratypes.sgml:
23896 * docs/gst/tmpl/old/gstfakesink.sgml:
23897 * docs/gst/tmpl/old/gstfakesrc.sgml:
23898 * docs/gst/tmpl/old/gstfdsink.sgml:
23899 * docs/gst/tmpl/old/gstfdsrc.sgml:
23900 * docs/gst/tmpl/old/gstfilesink.sgml:
23901 * docs/gst/tmpl/old/gstfilesrc.sgml:
23902 * docs/gst/tmpl/old/gsthttpsrc.sgml:
23903 * docs/gst/tmpl/old/gstidentity.sgml:
23904 * docs/gst/tmpl/old/gstindexfactory.sgml:
23905 * docs/gst/tmpl/old/gstmarshal.sgml:
23906 * docs/gst/tmpl/old/gstmd5sink.sgml:
23907 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
23908 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
23909 * docs/gst/tmpl/old/gstpadtemplate.sgml:
23910 * docs/gst/tmpl/old/gstpipefilter.sgml:
23911 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
23912 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
23913 * docs/gst/tmpl/old/gstshaper.sgml:
23914 * docs/gst/tmpl/old/gstspider.sgml:
23915 * docs/gst/tmpl/old/gstspideridentity.sgml:
23916 * docs/gst/tmpl/old/gststatistics.sgml:
23917 * docs/gst/tmpl/old/gsttee.sgml:
23918 * docs/gst/tmpl/old/gsttimecache.sgml:
23919 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
23920 * docs/gst/tmpl/old/gstxmlregistry.sgml:
23921 * docs/gst/tmpl/old/gthread-cothreads.sgml:
23922 * docs/gst/tmpl/old/types.sgml:
23923 I didn't intend to add these or check them in.
23925 2005-05-19 David Schleef <ds@schleef.org>
23927 * configure.ac: Use -no-common everywhere. In a sane world, it
23928 would be the default in libtool, because without it, you can't
23929 build DLLs on Windows.
23930 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
23931 * docs/gst/gstreamer-sections.txt:
23932 * docs/gst/tmpl/gstcpu.sgml:
23933 * docs/gst/tmpl/gstdata.sgml:
23934 * docs/gst/tmpl/gstthread.sgml:
23936 2005-05-19 David Schleef <ds@schleef.org>
23938 * gst/gstminiobject.c: (gst_value_set_mini_object),
23939 (gst_value_take_mini_object), (gst_value_get_mini_object):
23940 * gst/gstminiobject.h: Add GValue set/get functions.
23942 2005-05-19 Wim Taymans <wim@fluendo.com>
23944 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
23945 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
23946 (gst_subbuffer_init), (gst_buffer_is_span_fast):
23948 * gst/gstbus.c: (gst_bus_post):
23949 * gst/gstelement.c: (gst_element_get_random_pad):
23950 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
23951 Make subbufer unref the parent in finalize.
23952 some more debugging info.
23955 2005-05-19 Wim Taymans <wim@fluendo.com>
23957 * gst/base/gstbasesink.c: (gst_basesink_class_init),
23958 (gst_basesink_init), (gst_basesink_finalize),
23959 (gst_basesink_activate), (gst_basesink_change_state):
23960 Don't free preroll queue too early.
23962 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23966 Hi, I'm outdated. Please shoot me.
23968 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23970 * gst/gstpipeline.c: (gst_pipeline_send_event):
23971 Do not access variables after they have been deleted.
23973 2005-05-19 Wim Taymans <wim@fluendo.com>
23975 * tools/gst-inspect.c: (print_plugin_features):
23976 A plugin feature does unfortunatly not use the
23979 2005-05-18 Wim Taymans <wim@fluendo.com>
23981 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
23982 Port _span() functions to new subbuffers.
23984 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23986 * gst/gstbin.c: (gst_bin_add_func):
23987 Fix clock settery in bins when adding kids after the clock has
23990 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23992 * gst/elements/gstidentity.c: (gst_identity_class_init):
23993 Workaround until signals support GstMiniObject.
23995 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
23998 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
24000 2005-05-18 Wim Taymans <wim@fluendo.com>
24002 * gst/base/Makefile.am:
24003 * gst/base/gstadapter.c: (gst_adapter_base_init),
24004 (gst_adapter_class_init), (gst_adapter_init),
24005 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
24006 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
24007 (gst_adapter_flush), (gst_adapter_available),
24008 (gst_adapter_available_fast):
24009 * gst/base/gstadapter.h:
24010 Ported and added adapter to the base classes.
24012 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
24015 * gst/gstmessage.c:
24016 Make sure the class is reffed/unreffed once before threads can be
24017 used. Fixes #304551.
24019 2005-05-17 Wim Taymans <wim@fluendo.com>
24021 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
24022 (gst_basesink_chain_unlocked), (gst_basesink_activate):
24023 * gst/gstminiobject.c: (gst_mini_object_get_type),
24024 (gst_mini_object_free):
24025 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
24026 (gst_pad_push), (gst_pad_push_event):
24027 * gst/gstqueue.c: (gst_queue_change_state):
24028 Don't queue buffers in basesink when we are flushing.
24029 Unref buffer when flushing in basesink.
24030 Flush queue when going to READY
24031 Unref buffer when _push() returns an error.
24032 Don't free MiniObject instance when refcount is incremented
24033 in _finalize() so that we can recover objects.
24035 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
24037 * docs/manual/advanced-schedulers.xml:
24038 * docs/manual/appendix-checklist.xml:
24039 * docs/pwg/advanced-clock.xml:
24040 * docs/pwg/advanced-interfaces.xml:
24041 * docs/pwg/advanced-request.xml:
24042 * docs/pwg/advanced-types.xml:
24043 * docs/pwg/intro-preface.xml:
24044 * examples/plugins/example.c: (gst_example_get_type),
24045 (gst_example_class_init), (gst_example_chain),
24046 (gst_example_set_property), (gst_example_get_property),
24047 (gst_example_change_state), (plugin_init):
24048 * examples/plugins/example.h:
24051 2005-05-17 Wim Taymans <wim@fluendo.com>
24053 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
24054 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
24055 * gst/gstqueue.c: (gst_queue_change_state):
24056 Clear queue when going to READY.
24057 Remove IN_SETCAPS flag too.
24059 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
24061 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
24062 Remove implicit cast from gboolean to GstElementStateReturn;
24063 make sure we still return failure in paused => ready case if
24064 the parent class fails to change state and our own stop
24067 2005-05-17 Wim Taymans <wim@fluendo.com>
24069 * tools/gst-launch.c: (event_loop):
24070 Message was unreffed too soon.
24072 2005-05-16 Andy Wingo <wingo@pobox.com>
24074 * gst/gstbin.c (sink_iterator_filter): Err... um...
24076 * check/gst/gstbin.c (test_ghost_pads): New test for the
24077 ghosting-if-elements-not-in-same-bin behavior.
24079 2005-05-16 David Schleef <ds@schleef.org>
24081 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
24082 accessing refcount directly.
24084 2005-05-15 David Schleef <ds@schleef.org>
24086 * check/Makefile.am: remove GstData checks
24087 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
24088 * gst/Makefile.am: add miniobject, remove data
24089 * gst/gst.h: add miniobject, remove data
24090 * gst/gstdata.c: remove
24091 * gst/gstdata.h: remove
24092 * gst/gstdata_private.h: remove
24093 * gst/gsttypes.h: remove GstEvent and GstMessage
24094 * gst/gstelement.c: (gst_element_post_message): fix for API changes
24095 * gst/gstmarshal.list: change BOXED -> OBJECT
24097 Implement GstMiniObject.
24098 * gst/gstminiobject.c:
24099 * gst/gstminiobject.h:
24101 Modify to be subclasses of GstMiniObject.
24102 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
24103 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
24104 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
24105 (gst_subbuffer_get_type), (gst_subbuffer_init),
24106 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
24109 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
24110 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
24111 (_gst_event_copy), (gst_event_new):
24113 * gst/gstmessage.c: (_gst_message_initialize),
24114 (gst_message_get_type), (gst_message_class_init),
24115 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
24116 (gst_message_new), (gst_message_new_error),
24117 (gst_message_new_warning), (gst_message_new_tag),
24118 (gst_message_new_state_changed), (gst_message_new_application):
24119 * gst/gstmessage.h:
24120 * gst/gstprobe.c: (gst_probe_perform),
24121 (gst_probe_dispatcher_dispatch):
24123 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
24124 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
24125 (_gst_query_copy), (gst_query_new):
24127 Update elements for GstData -> GstMiniObject changes
24129 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
24130 (gst_queue_chain), (gst_queue_loop):
24131 * gst/elements/gstbufferstore.c:
24132 (gst_buffer_store_add_buffer_func),
24133 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
24134 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24135 (gst_fakesink_render):
24136 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24137 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
24138 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
24139 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
24140 (gst_filesrc_create_read):
24141 * gst/elements/gstidentity.c: (gst_identity_class_init):
24142 * gst/elements/gsttypefindelement.c:
24143 (gst_type_find_element_src_event), (free_entry_buffers),
24144 (gst_type_find_element_handle_event):
24145 * libs/gst/dataprotocol/dataprotocol.c:
24146 (gst_dp_header_from_buffer):
24147 * libs/gst/dataprotocol/dataprotocol.h:
24148 * libs/gst/dataprotocol/dp-private.h:
24150 2005-05-15 David Schleef <ds@schleef.org>
24152 * gst/elements/gstelements.c: Don't include headers that were
24155 2005-05-15 David Schleef <ds@schleef.org>
24157 * gst/elements/Makefile.am: Remove some elements that don't
24158 need to be in the core (or even exist at all).
24159 * gst/elements/gstaggregator.c:
24160 * gst/elements/gstaggregator.h:
24161 * gst/elements/gstmd5sink.c:
24162 * gst/elements/gstmd5sink.h:
24163 * gst/elements/gstmultifilesrc.c:
24164 * gst/elements/gstmultifilesrc.h:
24165 * gst/elements/gstpipefilter.c:
24166 * gst/elements/gstpipefilter.h:
24167 * gst/elements/gstshaper.c:
24168 * gst/elements/gstshaper.h:
24169 * gst/elements/gststatistics.c:
24170 * gst/elements/gststatistics.h:
24171 * po/POTFILES.in: Remove above files.
24173 2005-05-14 Andy Wingo <wingo@pobox.com>
24175 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
24176 so as to get the refs right.
24177 (sink_iterator_filter): New function, wraps bin_element_is_sink,
24178 unreffing objects that don't pass the filter.
24180 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
24181 gst_element_set_bus.
24182 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
24183 normal cases, this will destroy the bus.
24185 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
24188 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
24191 2005-05-13 Andy Wingo <wingo@pobox.com>
24193 * gst/gstutils.c (gst_element_link_pads): Instead of calling
24194 gst_pad_link, call pad_link_maybe_ghosting,
24195 (pad_link_maybe_ghosting): Links pads, making sure that the
24196 elements being linked are in the same bin.
24197 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
24198 Helpers for pad_link_maybe_ghosting.
24200 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
24203 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
24205 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
24207 * docs/design/part-element-source.txt:
24210 2005-05-12 Wim Taymans <wim@fluendo.com>
24212 * gst/base/gstbasesink.c: (gst_basesink_init),
24213 (gst_basesink_activate):
24214 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
24215 (gst_basesrc_is_seekable):
24216 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
24217 (bin_element_is_sink), (gst_bin_change_state):
24218 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24219 * gst/gstelement.h:
24220 Identify sinks by their flag to avoid overly complicated
24222 Do state changes even for elements not reachable from the
24224 BaseSink is a sink now :)
24225 Some more debugging info in the basesrc.
24228 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24230 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
24231 Implement _query on a bin, similar to _send_event.
24233 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
24235 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
24236 Discont event offset format should be GST_FORMAT_BYTES,
24237 not GST_FORMAT_TIME.
24239 2005-05-12 Wim Taymans <wim@fluendo.com>
24241 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
24242 Same fix as Ronald's but without the signal.
24244 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24246 * gst/gstutils.c: (gst_element_query_position):
24247 No, an element is not a pad.
24249 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24251 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
24252 (gst_bin_get_state):
24253 If a child is removed from a bin while we remove the child from
24254 the bin and while we're retrieving its state, signal this to the
24255 get_state function so we abort the wait (instead of waiting for
24256 a timeout) and can immediately re-iterate over all other elements.
24258 2005-05-12 Wim Taymans <wim@fluendo.com>
24260 * gst/base/Makefile.am:
24261 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
24262 (gst_basesrc_start):
24263 * gst/base/gstbasesrc.h:
24264 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
24265 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
24266 (gst_pushsrc_init), (gst_pushsrc_create):
24267 * gst/base/gstpushsrc.h:
24268 Added is_seekable to BaseSrc
24269 Added simple PushSrc.
24271 2005-05-11 Wim Taymans <wim@fluendo.com>
24273 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
24274 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24275 (gst_element_link_pads), (gst_element_query_position),
24276 (gst_element_query_convert), (intersect_caps_func),
24277 (gst_pad_query_position), (gst_pad_query_convert):
24278 Fix refcounting in utils function.
24279 No point in trying to activate a pad when it's added, it could
24280 be added from the state change function and then we deadlock, the
24281 element has to decide what to do.
24283 2005-05-10 Andy Wingo <wingo@pobox.com>
24285 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
24286 *all* the arguments.
24288 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
24289 stream lock if it's a FLUSH_DONE; normal flushes don't get the
24290 lock (according to the docs -- if this is wrong change the docs).
24292 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
24293 flush messages in the NULL state.
24295 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
24296 message immediately and return.
24297 (gst_bus_set_flushing): New function. If a bus is flushing, it
24298 flushes out any queued messages and immediately unrefs new
24299 messages. This is so when an element goes to NULL, all of the
24300 unhandled messages coming from it can be freed, and their
24301 references to the element dropped. In other words: message source
24302 ref considered harmful :P
24304 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
24305 we're finished with it.
24307 * gst/gstmessage.c (gst_message_new_state_changed):
24309 2005-05-10 Wim Taymans <wim@fluendo.com>
24311 * gst/gstvalue.c: (gst_value_compare_flags),
24312 (gst_value_serialize_flags), (gst_value_deserialize_flags),
24313 (_gst_value_initialize):
24314 Added flags serialize/deserialize/compare code.
24316 2005-05-09 Andy Wingo <wingo@pobox.com>
24318 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
24319 Intersect the peer's caps with our caps.
24321 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24323 * gst/base/gsttypefindhelper.c: (helper_find_peek):
24324 * gst/elements/gsttypefindelement.c: (find_peek):
24325 Handle negative offsets better. Fixes decodebin.
24327 2005-05-09 Wim Taymans <wim@fluendo.com>
24329 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
24330 (gst_base_transform_event):
24331 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
24332 Implement accept_caps.
24333 Fix silly lock/unlock mismatch in base class.
24335 2005-05-09 Wim Taymans <wim@fluendo.com>
24337 * docs/design/draft-push-pull.txt:
24338 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
24339 * gst/elements/gstfilesink.c: (gst_filesink_init),
24340 (gst_filesink_query):
24341 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24342 (gst_type_find_handle_src_query), (find_element_get_length):
24343 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
24344 * gst/gstelement.h:
24345 * gst/gstmessage.c:
24346 * gst/gstmessage.h:
24347 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
24348 (gst_real_pad_get_caps_unlocked),
24349 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
24350 (gst_pad_event_default_dispatch), (gst_pad_event_default),
24351 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
24352 (gst_real_pad_dispose), (gst_real_pad_finalize),
24353 (gst_pad_load_and_link), (gst_pad_save_thyself),
24354 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
24355 (gst_pad_check_pull_range), (gst_pad_pull_range),
24356 (gst_pad_template_get_type), (gst_pad_template_class_init),
24357 (gst_pad_template_init), (gst_pad_template_dispose),
24358 (name_is_valid), (gst_static_pad_template_get),
24359 (gst_pad_template_new), (gst_static_pad_template_get_caps),
24360 (gst_pad_template_get_caps), (gst_pad_set_element_private),
24361 (gst_pad_get_element_private), (gst_pad_start_task),
24362 (gst_pad_pause_task), (gst_pad_stop_task),
24363 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
24364 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
24365 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
24366 (gst_ghost_pad_new):
24368 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
24369 (gst_query_new_position), (gst_query_set_position),
24370 (gst_query_parse_position), (gst_query_new_convert),
24371 (gst_query_set_convert), (gst_query_parse_convert):
24373 * gst/gstqueryutils.c:
24374 * gst/gstqueryutils.h:
24375 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24376 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24377 (gst_queue_handle_src_query):
24378 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24379 (gst_element_query_position), (gst_element_query_convert),
24380 (intersect_caps_func), (gst_pad_query_position),
24381 (gst_pad_query_convert):
24383 * tools/gst-inspect.c: (print_pad_info):
24384 * tools/gst-xmlinspect.c: (print_element_info):
24385 Remove old query functions. Ported old code.
24386 Added position/convert helper functions to gstutils.
24387 Reordered gstpad.c code, grouping relevant things.
24388 Remove gst_message_new(), always need to speficy a specific
24392 2005-05-09 Andy Wingo <wingo@pobox.com>
24394 * gst/gstiterator.h: Add some includes.
24396 * gst/gstqueryutils.h: Include more headers.
24399 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
24400 some uses of gst_pad_query.
24402 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
24403 NULL out parameters.
24404 (gst_query_new_position): New proc, allocates a new position
24407 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
24408 gstqueryutils.c to the build.
24410 * gst/gststructure.c (gst_structure_set_valist): Implement with
24411 the generic G_VALUE_COLLECT.
24413 2005-05-08 Edward Hervey <bilboed@bilboed.com>
24415 * gst/Makefile.am: (gst_headers):
24416 Added gstqueryutils.h to the list of headers to install, that was
24417 a 'nachty' move wingo :)
24419 2005-05-06 Andy Wingo <wingo@pobox.com>
24422 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
24423 GstData, init a memchunk.
24424 (standard_definitions): Add a few query types, deprecate a few.
24425 (gst_query_get_type): New proc.
24426 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
24428 (gst_query_new_application, gst_query_get_structure): New public
24431 * docs/design/draft-query.txt: Removed LINKS from the query types,
24432 because all the rest can be dispatched to other pads -- seemed
24433 ugly to have a query that couldn't be dispatched. internal_links
24434 is fine as a pad method.
24436 * gst/gstpad.h: Add query2 as a pad method, add the new functions
24437 in gstpad.c, but maintain binary compatibility for the moment.
24438 Will fix before 0.9 is out.
24440 * gst/gstqueryutils.c:
24441 * gst/gstqueryutils.h: New files, implement 3 methods for each
24442 query type: parse_query, parse_response, and set. Probably need an
24445 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
24447 * gst/elements/gstfilesink.c (gst_filesink_query2):
24448 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
24449 query_types, and formats methods.
24451 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
24452 (gst_pad_set_query2_function): New functions.
24453 (gst_real_pad_init): Set query2_default as the default query2
24454 function. Basically just dispatches to internally linked pads.
24458 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
24459 without using the atomic operations. Only one thread can possibly
24460 be accessing the data at this point. Changed so as to avoid
24461 gst_atomic operations.
24463 2005-05-06 Wim Taymans <wim@fluendo.com>
24465 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
24466 Also set caps if we use the fallback buffer alloc.
24468 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
24470 * docs/gst/Makefile.am:
24471 * docs/gst/gstreamer-docs.sgml:
24472 * docs/gst/gstreamer-sections.txt:
24473 * docs/gst/tmpl/gstatomic.sgml:
24474 * docs/gst/tmpl/gstmemchunk.sgml:
24475 * testsuite/elements/struct_i386.h:
24476 * win32/GStreamer.vcproj:
24478 Purge GstAtomic stuff from docs and win32 makefiles as well
24480 2005-05-06 Wim Taymans <wim@fluendo.com>
24482 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
24483 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
24484 * gst/gstpad.c: (gst_pad_peer_get_caps):
24485 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
24486 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
24487 (gst_queue_src_activate), (gst_queue_change_state):
24489 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24490 (intersect_caps_func):
24491 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
24492 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
24493 Some fixes for the peer_get_caps() change.
24495 2005-05-06 Wim Taymans <wim@fluendo.com>
24497 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24498 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
24499 (gst_basesink_activate):
24500 Actually do something with error codes returned from the push
24503 2005-05-06 Wim Taymans <wim@fluendo.com>
24505 * docs/design/part-element-sink.txt:
24506 * docs/design/part-element-source.txt:
24507 * gst/base/gstbasesink.c: (gst_basesink_class_init),
24508 (gst_basesink_event), (gst_basesink_activate):
24509 * gst/base/gstbasesink.h:
24510 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
24511 (gst_basesrc_activate):
24512 * gst/base/gstbasesrc.h:
24513 * gst/gstelement.c: (gst_element_pads_activate):
24514 Some more documentation.
24515 Fixed scheduling decision in _pads_activate().
24517 2005-05-05 Andy Wingo <wingo@pobox.com>
24519 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
24522 2005-05-05 Wim Taymans <wim@fluendo.com>
24524 * gst/base/Makefile.am:
24525 * gst/base/gstbasesink.h:
24526 * gst/base/gstbasesrc.c: (gst_basesrc_init),
24527 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
24528 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
24529 (gst_collectpads_class_init), (gst_collectpads_init),
24530 (gst_collectpads_finalize), (gst_collectpads_new),
24531 (gst_collectpads_set_function), (gst_collectpads_add_pad),
24532 (find_pad), (gst_collectpads_remove_pad),
24533 (gst_collectpads_is_active), (gst_collectpads_collect),
24534 (gst_collectpads_collect_range), (gst_collectpads_start),
24535 (gst_collectpads_stop), (gst_collectpads_peek),
24536 (gst_collectpads_pop), (gst_collectpads_available),
24537 (gst_collectpads_read), (gst_collectpads_flush),
24538 (gst_collectpads_chain):
24539 * gst/base/gstcollectpads.h:
24540 * gst/elements/Makefile.am:
24541 * gst/elements/gstelements.c:
24542 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24543 (gst_fakesink_get_times), (gst_fakesink_event),
24544 (gst_fakesink_preroll), (gst_fakesink_render):
24545 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24546 (gst_filesink_init), (gst_filesink_set_location),
24547 (gst_filesink_open_file), (gst_filesink_close_file),
24548 (gst_filesink_pad_query), (gst_filesink_event),
24549 (gst_filesink_render), (gst_filesink_change_state):
24550 * gst/elements/gstfilesink.h:
24551 Added object to help in making collect pad based elements.
24553 Make event function in sink baseclass return gboolean.
24555 2005-05-05 Wim Taymans <wim@fluendo.com>
24557 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
24558 (gst_bin_get_by_name):
24560 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
24561 (gst_clock_finalize):
24562 * gst/gstdata.c: (gst_data_replace):
24564 * gst/gstelement.c: (gst_element_request_pad),
24565 (gst_element_pads_activate):
24566 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
24567 (gst_object_unref):
24568 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24569 (gst_pad_set_checkgetrange_function),
24570 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
24571 (gst_pad_check_pull_range), (gst_pad_pull_range),
24572 (gst_static_pad_template_get_caps), (gst_pad_start_task),
24573 (gst_pad_pause_task), (gst_pad_stop_task):
24574 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
24575 (gst_element_request_pad), (gst_pad_proxy_getcaps):
24576 Fix name lookup in GstBin.
24577 Added _data_replace() function and _buffer_replace()
24578 Use finalize method to clean up clock.
24579 Fix refcounting on request pads.
24580 Fix pad schedule mode error.
24581 Some more object refcounting debug info,
24584 2005-05-04 Andy Wingo <wingo@pobox.com>
24586 * check/Makefile.am:
24587 * docs/gst/tmpl/gstatomic.sgml:
24588 * docs/gst/tmpl/gstplugin.sgml:
24589 * gst/base/gstbasesink.c: (gst_basesink_activate):
24590 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
24591 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
24592 (gst_basesrc_query), (gst_basesrc_set_property),
24593 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
24594 (gst_basesrc_activate):
24595 * gst/base/gstbasesrc.h:
24596 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
24597 (gst_base_transform_src_activate):
24598 * gst/elements/gstelements.c:
24599 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24600 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
24601 * gst/elements/gsttee.c: (gst_tee_sink_activate):
24602 * gst/elements/gsttypefindelement.c: (find_element_get_length),
24603 (gst_type_find_element_checkgetrange),
24604 (gst_type_find_element_activate):
24605 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
24606 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
24607 (gst_caps_load_thyself):
24608 * gst/gstelement.c: (gst_element_pads_activate),
24609 (gst_element_save_thyself), (gst_element_restore_thyself):
24610 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
24611 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
24613 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
24614 (gst_xml_parse_file), (gst_xml_parse_memory),
24615 (gst_xml_get_element), (gst_xml_make_element):
24616 * gst/indexers/gstfileindex.c: (gst_file_index_load),
24617 (_file_index_id_save_xml), (gst_file_index_commit):
24618 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
24619 (read_enum), (load_pad_template), (load_feature), (load_plugin),
24621 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
24622 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
24623 * tools/gst-complete.c: (main):
24624 * tools/gst-compprep.c: (main):
24625 * tools/gst-inspect.c: (print_element_properties_info):
24626 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
24627 * tools/gst-xmlinspect.c: (print_element_properties):
24630 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
24632 * gst/gstplugin.c: (gst_plugin_check_module),
24633 (gst_plugin_check_file), (gst_plugin_load_file):
24634 apply patch from #172526 to make register work on MacOSX
24636 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
24638 * docs/gst/tmpl/gstconfig.sgml:
24639 * gst/gstconfig.h.in:
24640 move documentation for some symbols. Add doc for GST_PTR_FORMAT
24641 * testsuite/debug/printf_extension.c: (main):
24642 Do not use GST_PTR_FORMAT on pointers to types with
24643 sizeof < sizeof(gpointer). Fixes test on 64-bit
24644 * testsuite/elements/property.h:
24645 use correct printf format
24647 2005-05-02 Wim Taymans <wim@fluendo.com>
24649 * docs/design/draft-push-pull.txt:
24650 * docs/design/draft-query.txt:
24651 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
24652 (gst_basesrc_start):
24653 Added draft for new query API.
24654 Added draft for better selecting scheduling methods.
24655 Make basesrc ignore length if the subclass does not support
24658 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
24661 possible fixes for automake-1.5 - _LIBADD is reserved
24663 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
24665 * docs/faq/Makefile.am:
24666 * docs/manual/Makefile.am:
24667 * docs/manuals.mak:
24668 * docs/pwg/Makefile.am:
24670 possible fixes for automake-1.5
24672 2005-04-28 Wim Taymans <wim@fluendo.com>
24674 * gst/base/gstbasesink.c: (gst_basesink_base_init),
24675 (gst_basesink_pad_getcaps), (gst_basesink_init),
24676 (gst_basesink_do_sync):
24677 * gst/gstclock.c: (gst_clock_entry_new):
24678 * gst/gstevent.c: (gst_event_discont_get_value):
24679 * gst/gstpipeline.c: (pipeline_bus_handler),
24680 (gst_pipeline_change_state):
24681 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
24682 Better debugging of clocking info.
24683 Allow NULL values when getting discont values.
24685 2005-04-27 Wim Taymans <wim@fluendo.com>
24687 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
24688 * check/gst/gstpad.c: (gst_pad_suite):
24689 Increase timeout for checks.
24691 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
24693 * check/Makefile.am:
24694 fix the broken rule for cleanup. Apparently this rule is
24695 only needed on FC2, so maybe this warrants further autotool
24698 2005-04-26 Wim Taymans <wim@fluendo.com>
24700 * gst/gsttrashstack.h:
24701 Ooohh. a nasty one! After having a failed pop() from the stack,
24702 it's possible that the stack is empty. In that case, don't
24703 follow the NULL pointer.
24705 2005-04-25 Wim Taymans <wim@fluendo.com>
24707 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24708 (gst_pad_set_checkgetrange_function),
24709 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
24710 (gst_pad_check_pull_range), (gst_pad_pull_range),
24711 (gst_static_pad_template_get_caps), (gst_pad_start_task),
24712 (gst_pad_pause_task), (gst_pad_stop_task):
24713 * gst/gstplugin.c: (gst_plugin_load):
24715 Remove gst_library_load as it does more harm than good with
24716 the new g_module flags.
24717 Revert bogus caps template check in pad linking, pad caps
24718 are important when linking not the template, which is more
24719 general than the current caps.
24721 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24723 * gst/autoplug/.cvsignore:
24724 * gst/autoplug/Makefile.am:
24725 * gst/autoplug/gstsearchfuncs.c:
24726 * gst/autoplug/gstsearchfuncs.h:
24727 * gst/autoplug/gstspider.c:
24728 * gst/autoplug/gstspider.h:
24729 * gst/autoplug/gstspideridentity.c:
24730 * gst/autoplug/gstspideridentity.h:
24731 * gst/autoplug/spidertest.c:
24734 2005-04-25 Wim Taymans <wim@fluendo.com>
24736 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24737 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
24738 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
24739 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
24741 Added stubs for unimplemented functions.
24743 2005-04-24 David Schleef <ds@schleef.org>
24745 * gst/gstpad.h: Disable some unimplemented functions. Wim,
24748 2005-04-24 David Schleef <ds@schleef.org>
24750 Convert everything from GstAtomicInt to g_atomic_int_*, and
24755 * gst/gstatomic_impl.h:
24763 * gst/gstdata_private.h:
24767 * gst/gstmessage.c:
24770 * gst/gststructure.c:
24771 * gst/gststructure.h:
24772 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
24775 2005-04-24 David Schleef <ds@schleef.org>
24777 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
24778 make the regressions tests work. Remove some code that is no
24780 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
24781 Disable warning for pads without templates.
24783 2005-04-24 David Schleef <ds@schleef.org>
24785 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
24786 functions that handle filtered links.
24787 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
24789 * gst/gstutils.c: Fix/remove utility functions that handle
24792 * gst/gstvalue.c: Add serialization/deserialization of caps
24793 * gst/parse/grammar.y: Ignore filtered caps when linking. This
24794 requires fixing so that the filter caps notation creates
24795 a capsfilter element and sets the filter_caps property. I
24796 think everyone probably wants to keep the shorthand notation.
24797 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
24798 * docs/gst/tmpl/gstpad.sgml:
24800 * gst/elements/gstelements.c: Register capsfilter element.
24801 * gst/Makefile.am: fix spacing
24802 * docs/random/ds/0.9-suggested-changes: random
24804 2005-04-23 David Schleef <ds@schleef.org>
24806 * gst/elements/Makefile.am:
24807 * gst/elements/gstcapsfilter.c: New element that acts like an
24808 identity, but filters caps. Will eventually replace filtered
24809 caps in pad linking.
24810 * gst/gstutils.c: (gst_element_create_all_pads): New function
24811 to create all the ALWAYS pads that are registered with an
24812 element class. This functionality should eventually be
24813 merged in with GstElement initialization.
24815 * testsuite/trigger/README: part of trigger test code that should
24816 have been checked in a long time ago.
24818 2005-04-23 David Schleef <ds@schleef.org>
24820 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
24821 needed with new versions of libtool (nobody will confirm this),
24822 and hard to carry around.
24823 * gst/autoplug/Makefile.am:
24824 * gst/base/Makefile.am:
24825 * gst/elements/Makefile.am:
24826 * gst/indexers/Makefile.am:
24827 * gst/schedulers/Makefile.am:
24828 * libs/gst/bytestream/Makefile.am:
24829 * libs/gst/control/Makefile.am:
24830 * libs/gst/dataprotocol/Makefile.am:
24831 * libs/gst/getbits/Makefile.am:
24833 2005-04-21 Wim Taymans <wim@fluendo.com>
24835 * docs/design/draft-push-pull.txt:
24836 * docs/design/part-MT-refcounting.txt:
24837 * docs/design/part-TODO.txt:
24838 * docs/design/part-caps.txt:
24839 * docs/design/part-events.txt:
24840 * docs/design/part-gstbus.txt:
24841 * docs/design/part-gstpipeline.txt:
24842 * docs/design/part-messages.txt:
24843 * docs/design/part-push-pull.txt:
24844 * docs/design/part-query.txt:
24847 2005-04-21 Wim Taymans <wim@fluendo.com>
24849 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
24850 (gst_message_new), (gst_message_new_error),
24851 (gst_message_new_warning), (gst_message_new_tag),
24852 (gst_message_new_state_changed), (gst_message_new_application),
24853 (gst_message_get_structure):
24854 * gst/gstmessage.h:
24855 * gst/gststructure.c: (gst_structure_set_parent_refcount),
24856 (gst_structure_copy_conditional):
24857 Use parent refcount in GstMessage to ensure GstStructure
24859 Cleaned up headers a bit.
24862 2005-04-20 Wim Taymans <wim@fluendo.com>
24864 * gst/base/gstbasesink.c: (gst_basesink_base_init),
24865 (gst_basesink_pad_getcaps), (gst_basesink_init),
24866 (gst_basesink_chain_unlocked):
24867 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
24868 (gst_type_find_helper):
24869 * gst/elements/gsttypefindelement.c:
24870 (gst_type_find_element_have_type), (gst_type_find_element_init),
24871 (stop_typefinding), (gst_type_find_element_handle_event),
24872 (find_suggest), (gst_type_find_element_chain),
24873 (gst_type_find_element_checkgetrange),
24874 (gst_type_find_element_getrange), (do_typefind),
24875 (gst_type_find_element_activate):
24876 * gst/gstbuffer.c: (_gst_buffer_sub_free),
24877 (gst_buffer_default_free), (gst_buffer_default_copy),
24878 (gst_buffer_set_caps):
24879 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
24880 (gst_caps_replace):
24881 * gst/gstmessage.c: (gst_message_new),
24882 (gst_message_new_state_changed):
24883 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
24884 (gst_pad_set_checkgetrange_function),
24885 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
24886 (gst_pad_set_caps), (gst_pad_check_pull_range),
24887 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
24889 * gst/gsttypefind.c: (gst_type_find_register):
24890 Make gst_caps_replace() work like other _replace() functions.
24891 Use _caps_replace() where possible.
24892 Make sure _message_new() initialises its field.
24893 Add gst_static_pad_template_get_caps()
24896 2005-04-18 Andy Wingo <wingo@pobox.com>
24898 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
24899 on the peer, not the pad. I think that was a typo. Pass an extra
24900 arg to see if random access is possible. Activate the pads as
24901 PULL_RANGE if possible.
24903 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
24905 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
24906 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
24909 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24911 * docs/faq/using.xml:
24912 Add note on gstreamer-properties (#154996).
24914 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24916 * docs/random/bbb/optional-properties:
24917 Some analysis on optional properties.
24919 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24921 * docs/gst/tmpl/gstelementfactory.sgml:
24922 * gst/gstelement.h:
24923 * gst/gstelementfactory.c: (gst_element_factory_init),
24924 (gst_element_factory_cleanup), (gst_element_register),
24925 (__gst_element_factory_add_static_pad_template),
24926 (gst_element_factory_get_static_pad_templates),
24927 (gst_element_factory_can_src_caps),
24928 (gst_element_factory_can_sink_caps):
24929 * gst/registries/Makefile.am:
24930 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
24931 (gst_xml_registry_class_init), (gst_xml_registry_init),
24932 (gst_xml_registry_new), (gst_xml_registry_set_property),
24933 (gst_xml_registry_get_property), (get_time), (make_dir),
24934 (gst_xml_registry_get_perms_func),
24935 (plugin_times_older_than_recurse), (plugin_times_older_than),
24936 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
24937 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
24938 (add_to_char_array), (read_string), (read_uint), (read_enum),
24939 (load_pad_template), (load_feature), (load_plugin), (load_paths),
24940 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
24941 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
24942 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
24943 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
24944 (gst_xml_registry_rebuild):
24945 * gst/registries/gstlibxmlregistry.h:
24946 * tools/gst-compprep.c: (main):
24947 * tools/gst-inspect.c: (print_pad_templates_info):
24948 * tools/gst-xmlinspect.c: (print_element_info):
24949 Use libxml2 for registry parsing, use staticpadtemplates in
24950 elementfactories. Makes gst_init() +/- 10x faster.
24952 2005-04-12 Wim Taymans <wim@fluendo.com>
24954 * gst/base/Makefile.am:
24955 * gst/base/gstbasesink.c: (gst_basesink_base_init),
24956 (gst_basesink_pad_getcaps), (gst_basesink_init),
24957 (gst_basesink_event), (gst_basesink_change_state):
24958 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
24959 (gst_basesrc_init), (gst_basesrc_query),
24960 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
24961 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
24962 (gst_basesrc_check_get_range), (gst_basesrc_loop),
24963 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
24964 (gst_basesrc_stop), (gst_basesrc_activate),
24965 (gst_basesrc_change_state):
24966 * gst/base/gsttypefindhelper.c: (helper_find_peek),
24967 (helper_find_suggest), (gst_type_find_helper):
24968 * gst/base/gsttypefindhelper.h:
24969 * gst/elements/Makefile.am:
24970 * gst/elements/gstelements.c:
24971 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24972 (gst_fakesink_get_times), (gst_fakesink_event),
24973 (gst_fakesink_preroll), (gst_fakesink_render):
24974 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24975 (gst_fakesrc_init), (gst_fakesrc_event_handler),
24976 (gst_fakesrc_get_property), (gst_fakesrc_create),
24977 (gst_fakesrc_start), (gst_fakesrc_stop):
24978 * gst/elements/gstfakesrc.h:
24979 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
24980 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
24981 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
24982 (gst_filesrc_create_read), (gst_filesrc_create),
24983 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
24984 (gst_filesrc_start):
24985 * gst/elements/gsttypefindelement.c:
24986 (gst_type_find_element_have_type), (gst_type_find_element_init),
24987 (start_typefinding), (stop_typefinding), (push_buffer_store),
24988 (gst_type_find_element_handle_event),
24989 (gst_type_find_element_chain),
24990 (gst_type_find_element_checkgetrange),
24991 (gst_type_find_element_getrange), (do_typefind),
24992 (gst_type_find_element_activate),
24993 (gst_type_find_element_change_state):
24994 * gst/elements/gsttypefindelement.h:
24995 * gst/gstpipeline.c: (pipeline_bus_handler):
24996 Added typefind helper.
24997 Small preroll fix in the base sink.
24998 Disable typefind code in basesrc.
24999 Crude port of typefindelement.
25003 2005-04-11 Wim Taymans <wim@fluendo.com>
25005 * check/gst/gstbus.c: (gstbus_suite):
25006 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
25007 * check/gstcheck.h:
25008 Fix up the timeout so that the test does not fail.
25010 2005-04-06 Wim Taymans <wim@fluendo.com>
25013 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25014 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
25015 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25016 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25017 (gst_basesrc_check_get_range), (gst_basesrc_loop),
25018 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25019 (gst_basesrc_stop), (gst_basesrc_activate),
25020 (gst_basesrc_change_state), (basesrc_find_peek),
25021 (basesrc_find_suggest), (gst_basesrc_type_find):
25022 * gst/base/gstbasesrc.h:
25023 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
25024 (gst_filesrc_class_init), (gst_filesrc_init),
25025 (gst_filesrc_finalize), (gst_filesrc_set_location),
25026 (gst_filesrc_set_property), (gst_filesrc_get_property),
25027 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25028 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25029 (gst_filesrc_create_read), (gst_filesrc_create),
25030 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
25031 * gst/elements/gstfilesrc.h:
25032 * gst/gstelement.c: (gst_element_get_state_func),
25033 (gst_element_lost_state), (gst_element_pads_activate):
25034 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25035 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
25036 (gst_pad_pull_range):
25038 More work on the generic source base class, implement seeking,
25040 Make filesrc extend the base source class.
25041 Added gst_pad_set_checkgetrange_function to GstPad.
25043 2005-04-06 Andy Wingo <wingo@pobox.com>
25045 * pkgconfig/gstreamer-base.pc.in:
25046 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
25048 * pkgconfig/Makefile.am:
25049 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
25051 2005-04-04 Wim Taymans <wim@fluendo.com>
25053 * gst/base/Makefile.am:
25055 * gst/base/gstbasesink.c: (gst_basesink_base_init),
25056 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25057 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25058 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
25059 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25060 (gst_basesrc_base_init), (gst_basesrc_class_init),
25061 (gst_basesrc_init), (gst_basesrc_get_formats),
25062 (gst_basesrc_get_query_types), (gst_basesrc_query),
25063 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
25064 (gst_basesrc_set_property), (gst_basesrc_get_property),
25065 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
25066 (gst_basesrc_loop), (gst_basesrc_activate),
25067 (gst_basesrc_change_state):
25068 * gst/base/gstbasesrc.h:
25069 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
25070 (gst_fakesrc_class_init), (gst_fakesrc_init),
25071 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
25072 (gst_fakesrc_get_property), (gst_fakesrc_create):
25073 * gst/elements/gstfakesrc.h:
25074 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
25075 (gst_filesrc_open_file), (gst_filesrc_loop),
25076 (gst_filesrc_activate), (filesrc_find_peek),
25077 (gst_filesrc_type_find):
25078 Made base source class, make fakesrc extend it.
25079 Add comments to basesink class.
25080 Some filesrc cleanup.
25082 2005-03-31 David Schleef <ds@schleef.org>
25084 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
25085 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
25086 expected to link against libgstreamer.
25087 * gst/base/Makefile.am: link against libgstreamer
25088 * gst/elements/Makefile.am: same
25090 2005-03-31 Andy Wingo <wingo@pobox.com>
25092 * tests/instantiate/Makefile.am:
25093 * tests/instantiate/caps.c: Add test to test speed of caps copy
25096 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
25097 GMemChunk to be fair.
25099 * gst/gsttrashstack.h: Remove warning about using the fallback
25100 trash stack implementation, it's still faster than malloc.
25102 2005-03-30 Andy Wingo <wingo@pobox.com>
25104 * tests/complexity.c: Add a copyright.
25106 2005-03-31 Wim Taymans <wim@fluendo.com>
25108 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
25109 (gst_base_transform_class_init), (gst_base_transform_init),
25110 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25111 (gst_base_transform_get_property),
25112 (gst_base_transform_sink_activate),
25113 (gst_base_transform_src_activate),
25114 (gst_base_transform_change_state):
25115 * gst/base/gstbasetransform.h:
25116 * gst/elements/gstidentity.c: (gst_identity_class_init),
25117 (gst_identity_event), (gst_identity_check_perfect),
25118 (gst_identity_transform), (gst_identity_start),
25119 (gst_identity_stop):
25120 Added start/stop methods to transform base class so subclasses
25121 don't need to deal with state changes even.
25123 2005-03-31 Wim Taymans <wim@fluendo.com>
25125 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
25126 (gst_event_new_discontinuous), (gst_event_discont_get_value):
25128 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25129 (gst_pad_pull_range):
25130 Added rate to the discont event to prepare for variable speed
25131 and reverse playback.
25133 2005-03-29 David Schleef <ds@schleef.org>
25136 * testsuite/trigger/Makefile.am:
25137 * testsuite/trigger/trigger.c: A little example program to show
25138 how trigger-based elements can work.
25140 2005-03-29 Wim Taymans <wim@fluendo.com>
25142 * gst/base/Makefile.am:
25144 * gst/base/gstbasesink.c: (gst_basesink_get_type),
25145 (gst_basesink_base_init), (gst_basesink_class_init),
25146 (gst_basesink_pad_getcaps), (gst_basesink_init),
25147 (gst_basesink_activate), (gst_basesink_change_state):
25148 * gst/base/gstbasesink.h:
25149 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
25150 (gst_base_transform_base_init), (gst_base_transform_finalize),
25151 (gst_base_transform_class_init), (gst_base_transform_init),
25152 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
25153 (gst_base_transform_event), (gst_base_transform_getrange),
25154 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
25155 (gst_base_transform_set_property),
25156 (gst_base_transform_get_property),
25157 (gst_base_transform_sink_activate),
25158 (gst_base_transform_src_activate),
25159 (gst_base_transform_change_state):
25160 * gst/base/gstbasetransform.h:
25161 * gst/elements/gstidentity.c: (gst_identity_finalize),
25162 (gst_identity_class_init), (gst_identity_init),
25163 (gst_identity_event), (gst_identity_check_perfect),
25164 (gst_identity_transform), (gst_identity_set_property),
25165 (gst_identity_get_property), (gst_identity_change_state):
25166 * gst/elements/gstidentity.h:
25167 * gst/gstelement.c: (gst_element_get_state_func),
25168 (gst_element_lost_state), (gst_element_pads_activate):
25169 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25170 (gst_pad_check_pull_range), (gst_pad_pull_range):
25172 Simplify pad activation.
25173 Added function to check if pull_range can be performed.
25174 Error out when pulling inactive or flushing pads.
25175 Removed const from refcounted types as it does not make sense.
25176 Simplify pad templates in basesink
25177 Added base class for simple 1-to-1 transforms.
25178 Make identity subclass the base transform.
25180 2005-03-29 Andy Wingo <wingo@pobox.com>
25182 * docs/libs/gstreamer-libs-overrides.txt:
25183 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
25184 really don't understand what's going on, but like whatever. I want
25187 * docs/gst/Makefile.am:
25188 * docs/libs/Makefile.am: Dist the overrides files.
25190 * check/Makefile.am (clean-local): Remove .libs directories.
25192 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
25193 elements to EXTRA_DIST, so po/ files are happy.
25195 * po/POTFILES.in: Er, remove it here.
25197 * po/POTFILES: Remove gstspider.c.
25199 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
25201 * docs/libs/gstreamer-libs-docs.sgml:
25202 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
25205 * tests/complexity.c (main): Set the length of the preroll queue
25206 on the sinks to prevent a lockup.
25208 * libs/gst/dataprotocol/Makefile.am:
25209 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
25210 the same as the one in check/gst-libs/gdp.c.
25212 * po/, docs/gst/: Commit automatic changes to docs and po files.
25214 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
25215 the versioned libgstbase.
25217 * check/Makefile.am: Depend on an unversioned gst-register, seems
25218 to make autoconf happier.
25220 * gst/base/Makefile.am: Make libgstbase a versioned lib.
25222 2005-03-28 Wim Taymans <wim@fluendo.com>
25225 * docs/design/part-gstelement.txt:
25226 * docs/design/part-negotiation.txt:
25227 * docs/design/part-preroll.txt:
25228 * docs/design/part-scheduling.txt:
25229 * docs/design/part-states.txt:
25231 * gst/base/Makefile.am:
25233 * gst/base/gstbasesink.c: (gst_basesink_get_template),
25234 (gst_basesink_base_init), (gst_basesink_class_init),
25235 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25236 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25237 (gst_basesink_set_pad_functions),
25238 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
25239 (gst_basesink_set_property), (gst_basesink_get_property),
25240 (gst_base_sink_get_template), (gst_base_sink_get_caps),
25241 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
25242 (gst_basesink_preroll_queue_push),
25243 (gst_basesink_preroll_queue_empty),
25244 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
25245 (gst_basesink_event), (gst_basesink_get_times),
25246 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
25247 (gst_basesink_chain_unlocked), (gst_basesink_chain),
25248 (gst_basesink_loop), (gst_basesink_activate),
25249 (gst_basesink_change_state):
25250 * gst/base/gstbasesink.h:
25251 * gst/elements/Makefile.am:
25252 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
25253 (gst_fakesink_class_init), (gst_fakesink_init),
25254 (gst_fakesink_set_property), (gst_fakesink_get_property),
25255 (gst_fakesink_get_times), (gst_fakesink_event),
25256 (gst_fakesink_preroll), (gst_fakesink_render),
25257 (gst_fakesink_change_state):
25258 * gst/elements/gstfakesink.h:
25259 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25260 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
25261 * gst/gstelement.c: (gst_element_add_pad),
25262 (gst_element_get_state_func), (gst_element_abort_state),
25263 (gst_element_commit_state), (gst_element_lost_state),
25264 (gst_element_set_state), (gst_element_pads_activate):
25265 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
25266 * gst/gstpipeline.c: (gst_pipeline_send_event),
25267 (gst_pipeline_change_state):
25268 Added state change code.
25269 Added/updated docs.
25270 Added sink base class, make fakesink extend the base class.
25271 Small cleanups in GstPipeline.
25273 2005-03-26 David Schleef <ds@schleef.org>
25275 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
25276 is broken and should be implemented in a different library.
25277 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
25278 * gst/gst.h: remove gstcpu.h
25279 * gst/gstcpu.c: remove
25280 * gst/gstcpu.h: remove
25281 * gst/Makefile.am.future: Remove this file. It's ancient.
25283 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25285 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
25286 (gst_bin_send_event):
25287 Add default event/set_manager handlers. The set_manager handler
25288 takes care that the manager is distributed over kids that were
25289 already in the bin before the manager was set. The event handler
25290 is a utility virtual function that sends the event over all sinks,
25291 so that gst_element_send_event (bin, event); has the expected
25293 * gst/gstpad.c: (gst_pad_event_default):
25294 Re-install default event handling for discontinuities, so that
25295 seeking works without requiring hacks in applications or extra
25297 * gst/gstpipeline.c: (gst_pipeline_class_init),
25298 (gst_pipeline_send_event):
25299 Half hack, half utility: set a pipeline to PAUSED for seek events,
25300 since that is the only way we can guarantee a/v sync. Means that
25301 you can do gst_element_seek (pipeline, method, pos); on a pipeline
25302 and it "just works".
25304 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25306 * gst/gstpipeline.c: (gst_pipeline_use_clock):
25307 Lock/unlock mismatch.
25309 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
25311 * docs/faq/gst-uninstalled:
25312 add gst-plugins-base
25313 * docs/gst/Makefile.am:
25314 don't error out until docs are fixed
25315 * docs/gst/gstreamer.types:
25318 2005-03-22 Wim Taymans <wim@fluendo.com>
25320 * check/Makefile.am:
25321 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
25322 * gst/gststructure.c: (gst_structure_set_valist),
25323 (gst_structure_copy_conditional):
25324 Activated more tests.
25325 Added message test.
25326 Added G_TYPE_POINTER to GstStructure.
25329 2005-03-22 Wim Taymans <wim@fluendo.com>
25331 * docs/design/part-TODO.txt:
25332 * docs/design/part-events.txt:
25333 * docs/design/part-gstbin.txt:
25334 * docs/design/part-gstbus.txt:
25335 * docs/design/part-gstpipeline.txt:
25336 * docs/design/part-messages.txt:
25338 * gst/gstmessage.c:
25341 2005-03-21 Wim Taymans <wim@fluendo.com>
25343 * gst/gstbus.c: (gst_bus_post):
25344 Fix copy-and-paste error.
25346 2005-03-21 Wim Taymans <wim@fluendo.com>
25348 * check/Makefile.am:
25350 * gst/elements/Makefile.am:
25351 * gst/elements/gstelements.c:
25352 * gst/elements/gstfakesink.c: (gst_fakesink_init),
25353 (gst_fakesink_event), (gst_fakesink_chain):
25354 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25355 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
25356 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
25357 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
25358 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25359 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
25360 (gst_fakesrc_loop), (gst_fakesrc_activate),
25361 (gst_fakesrc_change_state):
25362 * gst/elements/gstfakesrc.h:
25363 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
25364 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
25365 (gst_filesrc_open_file), (gst_filesrc_loop),
25366 (gst_filesrc_activate), (gst_filesrc_change_state),
25367 (filesrc_find_peek), (filesrc_find_suggest),
25368 (gst_filesrc_type_find):
25369 * gst/elements/gstidentity.c: (gst_identity_finalize),
25370 (gst_identity_class_init), (gst_identity_init),
25371 (gst_identity_proxy_getcaps), (identity_queue_push),
25372 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
25373 (gst_identity_getrange), (gst_identity_chain),
25374 (gst_identity_sink_loop), (gst_identity_src_loop),
25375 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
25376 (gst_identity_set_property), (gst_identity_get_property),
25377 (gst_identity_change_state):
25378 * gst/elements/gstidentity.h:
25379 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
25380 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
25381 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
25382 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
25383 (gst_tee_sink_activate):
25384 * gst/elements/gsttee.h:
25385 * gst/gst.c: (gst_register_core_elements), (init_post):
25387 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
25388 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
25389 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
25390 (gst_bin_change_state):
25392 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
25393 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
25394 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
25395 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
25396 (gst_bus_set_sync_handler), (gst_bus_create_watch),
25397 (bus_watch_callback), (bus_watch_destroy),
25398 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
25399 (poll_timeout), (gst_bus_poll):
25403 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25404 (gst_element_post_message), (gst_element_message_full),
25405 (gst_element_get_state_func), (gst_element_get_state),
25406 (gst_element_abort_state), (gst_element_commit_state),
25407 (gst_element_lost_state), (gst_element_set_state),
25408 (gst_element_pads_activate), (gst_element_change_state),
25409 (gst_element_dispose), (gst_element_set_manager_func),
25410 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
25411 (gst_element_set_manager), (gst_element_get_manager),
25412 (gst_element_set_bus), (gst_element_get_bus),
25413 (gst_element_set_scheduler), (gst_element_get_scheduler):
25414 * gst/gstelement.h:
25415 * gst/gstevent.c: (gst_event_new_segment_seek),
25416 (gst_event_new_flush):
25418 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
25419 (_gst_message_free), (gst_message_get_type), (gst_message_new),
25420 (gst_message_new_eos), (gst_message_new_error),
25421 (gst_message_new_warning), (gst_message_new_tag),
25422 (gst_message_new_state_changed), (gst_message_new_application),
25423 (gst_message_get_structure), (gst_message_parse_tag),
25424 (gst_message_parse_state_changed), (gst_message_parse_error),
25425 (gst_message_parse_warning):
25426 * gst/gstmessage.h:
25427 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
25428 (gst_real_pad_set_property), (gst_pad_set_active),
25429 (gst_pad_is_active), (gst_pad_set_blocked_async),
25430 (gst_pad_set_blocked), (gst_pad_is_blocked),
25431 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
25432 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
25433 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
25434 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
25435 (gst_pad_link_filtered), (gst_pad_relink_filtered),
25436 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
25437 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
25438 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
25439 (gst_pad_set_caps), (gst_pad_configure_sink),
25440 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
25441 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
25442 (gst_real_pad_dispose), (gst_real_pad_finalize),
25443 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
25444 (gst_pad_event_default_dispatch), (gst_pad_event_default),
25445 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
25447 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
25448 (pipeline_bus_handler), (gst_pipeline_change_state),
25449 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
25450 * gst/gstpipeline.h:
25452 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
25453 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
25454 (gst_queue_link_src), (gst_queue_bufferalloc),
25455 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
25456 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
25457 (gst_queue_loop), (gst_queue_handle_src_event),
25458 (gst_queue_handle_src_query), (gst_queue_src_activate),
25459 (gst_queue_change_state):
25461 * gst/gstscheduler.c: (gst_scheduler_init),
25462 (gst_scheduler_dispose), (gst_scheduler_create_task),
25463 (gst_scheduler_factory_create):
25464 * gst/gstscheduler.h:
25465 * gst/gststructure.c: (gst_structure_get_type),
25466 (gst_structure_copy_conditional):
25467 * gst/gststructure.h:
25468 * gst/gsttaginterface.h:
25469 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25470 (gst_task_init), (gst_task_dispose), (gst_task_create),
25471 (gst_task_get_state), (gst_task_start), (gst_task_stop),
25477 * gst/schedulers/Makefile.am:
25478 * gst/schedulers/cothreads_compat.h:
25479 * gst/schedulers/entryscheduler.c:
25480 * gst/schedulers/faircothreads.c:
25481 * gst/schedulers/faircothreads.h:
25482 * gst/schedulers/fairscheduler.c:
25483 * gst/schedulers/gstbasicscheduler.c:
25484 * gst/schedulers/gstoptimalscheduler.c:
25485 * gst/schedulers/gthread-cothreads.h:
25486 * gst/schedulers/threadscheduler.c:
25487 (gst_thread_scheduler_task_get_type),
25488 (gst_thread_scheduler_task_class_init),
25489 (gst_thread_scheduler_task_init),
25490 (gst_thread_scheduler_task_start),
25491 (gst_thread_scheduler_task_stop),
25492 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
25493 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25494 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
25495 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
25497 * libs/gst/Makefile.am:
25498 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
25499 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
25500 (gst_file_pad_parent_set):
25501 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25502 (gst_dp_event_from_packet):
25503 * tests/complexity.c: (main):
25504 * tests/mass_elements.c: (main):
25505 * testsuite/states/locked.c: (message_received), (main):
25506 * testsuite/states/parent.c: (main):
25507 * tools/gst-inspect.c: (print_element_flag_info),
25508 (print_implementation_info), (print_pad_info):
25509 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
25511 * tools/gst-md5sum.c: (event_loop), (main):
25512 * tools/gst-typefind.c: (main):
25513 * tools/gst-xmlinspect.c: (print_element_info):
25515 Added GstBus for mainloop integration.
25516 Added GstMessage for sending notifications on the bus.
25517 Added GstTask as an abstraction for pipeline entry points.
25519 Removed Schedulers.
25520 Simplified GstQueue for multithreaded core.
25521 Made _link threadsafe, removed old capsnego.
25522 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
25523 Added pad blocking functions.
25524 Reworked scheduling functions in GstPad to prepare for
25525 scheduling updates soon.
25526 Moved events out of data stream.
25527 Simplified GstEvent types.
25528 Added return values to push/pull.
25529 Removed clocking from GstElement.
25530 Added prototypes for state change function for next merge.
25531 Removed iterate from bins and state change management.
25532 Fixed some elements, disabled others for now.
25533 Fixed -inspect and -launch.
25534 Added check for GstBus.
25536 2005-03-10 Wim Taymans <wim@fluendo.com>
25538 * docs/design/part-MT-refcounting.txt:
25539 * docs/design/part-clocks.txt:
25540 * docs/design/part-gstelement.txt:
25541 * docs/design/part-gstobject.txt:
25542 * docs/design/part-standards.txt:
25543 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25544 (gst_bin_remove_func), (gst_bin_remove):
25548 * testsuite/clock/clock1.c: (main):
25549 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
25551 * testsuite/dlopen/loadgst.c: (do_test):
25552 * testsuite/refcounting/bin.c: (add_remove_test1),
25553 (add_remove_test2), (main):
25554 * testsuite/refcounting/element.c: (main):
25555 * testsuite/refcounting/element_pad.c: (main):
25556 * testsuite/refcounting/pad.c: (main):
25557 * tools/gst-launch.c: (sigint_handler_sighandler):
25558 * tools/gst-typefind.c: (main):
25560 Added doc about clock.
25561 removed gst_bin_iterate_recurse_up(), marked methods
25563 Fix more testsuites.
25565 2005-03-09 Wim Taymans <wim@fluendo.com>
25567 * gst/gstpad.c: (gst_pad_get_direction),
25568 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
25569 (gst_pad_collect_valist):
25570 * testsuite/bins/interface.c: (main):
25571 * testsuite/caps/audioscale.c: (test_caps):
25572 * testsuite/caps/caps.c: (test1), (test2), (test3):
25573 * testsuite/caps/deserialize.c: (main):
25574 * testsuite/caps/enumcaps.c: (main):
25575 * testsuite/caps/filtercaps.c: (main):
25576 * testsuite/caps/intersect2.c: (main):
25577 * testsuite/caps/random.c: (main):
25578 * testsuite/caps/renegotiate.c: (my_fixate), (main):
25579 * testsuite/caps/sets.c: (check_caps):
25580 * testsuite/caps/simplify.c: (check_caps), (main):
25581 * testsuite/caps/subtract.c: (check_caps):
25582 Fix _pad_get_direction wrt ghostpads.
25583 Fix caps testsuite.
25585 2005-03-09 Wim Taymans <wim@fluendo.com>
25587 * check/Makefile.am:
25588 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
25589 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
25590 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
25591 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
25592 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
25593 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
25594 (gst_bin_remove), (gst_bin_iterate_recurse_up),
25595 (bin_element_is_sink), (gst_bin_iterate_sinks),
25596 (gst_bin_iterate_all_by_interface):
25598 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
25599 (gst_element_change_state), (gst_element_dispose),
25600 (gst_element_finalize), (gst_element_set_loop_function):
25601 * gst/gstelement.h:
25602 * gst/gstiterator.c: (find_custom_fold_func):
25603 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25604 (gst_pad_collectv), (gst_pad_collect_valist),
25605 (gst_pad_template_new):
25606 * gst/gstpipeline.c: (gst_pipeline_class_init),
25607 (gst_pipeline_dispose), (gst_pipeline_set_property),
25608 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
25609 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
25610 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
25612 * gst/schedulers/entryscheduler.c:
25613 * gst/schedulers/gstbasicscheduler.c:
25614 (gst_basic_scheduler_cothreaded_chain),
25615 (gst_basic_scheduler_chain_add_element):
25616 * testsuite/bins/interface.c: (main):
25618 Added GstSystemClock test.
25619 Implemented clock distribution code in GstBin.
25620 Implemented iterate sinks method for future use.
25621 Rearranged gstelement.h
25622 Fix GstIterator comparison bug.
25623 Moved some code to GstPipeline, mostly clocking related.
25625 2005-03-09 Wim Taymans <wim@fluendo.com>
25628 * gst/gst_private.h:
25629 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25630 (gst_bin_remove_func), (gst_bin_remove),
25631 (gst_bin_get_by_name_recurse_up):
25632 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
25633 (gst_clock_id_compare_func), (gst_clock_id_wait),
25634 (gst_clock_id_wait_async), (gst_clock_init),
25635 (gst_clock_adjust_unlocked), (gst_clock_get_time):
25636 * gst/gstelement.h:
25637 * gst/gstinfo.c: (_gst_debug_init):
25639 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
25640 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
25642 Bump version number, we're now 0.9.0
25643 Add future debugging category.
25644 Fix NULL _unref() in _get_by_name_recurse_up
25645 Rearrange gstpad.h.
25648 2005-03-08 Wim Taymans <wim@fluendo.com>
25650 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
25651 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
25652 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
25653 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
25654 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
25655 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
25656 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
25657 * gst/elements/gstidentity.c: (gst_identity_class_init):
25658 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
25659 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
25660 * gst/elements/gstshaper.c: (gst_shaper_class_init):
25661 * gst/elements/gststatistics.c: (gst_statistics_class_init):
25662 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
25664 * gst/gstelement.c: (gst_element_class_init),
25665 (gst_element_base_class_init), (gst_element_init),
25666 (gst_element_get_random_pad), (gst_element_wait_state_change),
25667 (gst_element_change_state), (gst_element_dispose),
25668 (gst_element_finalize), (gst_element_set_loop_function):
25669 * gst/gstelement.h:
25670 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
25671 * gst/gstthread.c: (gst_thread_class_init),
25672 (gst_thread_release_children_locks), (gst_thread_change_state):
25673 * gst/schedulers/gstbasicscheduler.c:
25674 (gst_basic_scheduler_loopfunc_wrapper),
25675 (gst_basic_scheduler_chain_wrapper),
25676 (gst_basic_scheduler_src_wrapper),
25677 (gst_basic_scheduler_remove_element):
25678 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
25679 Remove threadsafe properties. Fix elements because GObject
25680 complains when installing a property before declaring a
25681 set/get_property handler.
25682 Rearrange gstelement.h file, use STATE macros for state locks.
25683 Free mutexes in the finalize method instead of dispose.
25685 2005-03-08 Wim Taymans <wim@fluendo.com>
25687 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
25688 * gst/gstthread.c: (gst_thread_release_children_locks):
25689 Added parentage check.
25690 Fix build og GstThread again.
25692 2005-03-08 Wim Taymans <wim@fluendo.com>
25694 * docs/design/part-MT-refcounting.txt:
25695 * docs/design/part-conventions.txt:
25696 * docs/design/part-gstobject.txt:
25697 * docs/design/part-relations.txt:
25698 * docs/design/part-standards.txt:
25699 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
25700 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
25701 (gst_bin_get_by_name), (gst_bin_get_by_interface),
25702 (gst_bin_iterate_all_by_interface):
25705 * gst/gstelement.c: (gst_element_class_init),
25706 (gst_element_change_state), (gst_element_set_loop_function):
25707 * gst/gstelement.h:
25708 * gst/gstiterator.c:
25709 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
25710 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
25711 (gst_object_dispatch_properties_changed), (gst_object_set_name),
25712 (gst_object_set_parent), (gst_object_unparent),
25713 (gst_object_check_uniqueness):
25715 Docs updates, clean up some headers.
25717 2005-03-07 Wim Taymans <wim@fluendo.com>
25719 * check/.cvsignore:
25720 * check/Makefile.am:
25721 * check/gst-libs/.cvsignore:
25722 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
25723 * check/gst/.cvsignore:
25724 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
25725 (START_TEST), (gstbus_suite), (main):
25726 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
25727 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
25728 (gst_data_suite), (main):
25729 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
25730 (add_fold_func), (gstiterator_suite), (main):
25731 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
25732 (thread_name_object), (thread_name_object_default),
25733 (gst_object_name_compare), (gst_object_suite), (main):
25734 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
25735 (gst_pad_suite), (main):
25736 * check/gstcheck.c: (gst_check_log_message_func),
25737 (gst_check_log_critical_func), (gst_check_init):
25738 * check/gstcheck.h:
25739 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
25740 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
25743 2005-03-07 Wim Taymans <wim@fluendo.com>
25745 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
25746 (gst_list_iterator_next), (gst_list_iterator_resync),
25747 (gst_list_iterator_free), (gst_iterator_new_list),
25748 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
25749 (gst_iterator_free), (gst_iterator_push), (filter_next),
25750 (filter_resync), (filter_uninit), (filter_free),
25751 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
25752 (gst_iterator_foreach), (find_custom_fold_func),
25753 (gst_iterator_find_custom):
25754 * gst/gstiterator.h:
25755 Added missing files.
25757 2005-03-07 Wim Taymans <wim@fluendo.com>
25761 * docs/design/part-MT-refcounting.txt:
25762 * docs/design/part-conventions.txt:
25763 * docs/design/part-gstobject.txt:
25764 * docs/design/part-relations.txt:
25765 * examples/mixer/mixer.c: (main):
25766 * examples/thread/thread.c: (eos), (main):
25768 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
25769 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
25770 (gst_spider_plug_from_srcpad):
25771 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
25772 (gst_spider_identity_change_state),
25773 (gst_spider_identity_sink_loop_type_finding):
25774 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
25775 * gst/elements/gstidentity.c: (gst_identity_init):
25776 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
25777 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
25778 * gst/elements/gsttypefindelement.c: (free_entry):
25781 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
25782 (gst_bin_set_clock_func), (gst_bin_auto_clock),
25783 (gst_bin_set_index), (gst_bin_set_element_sched),
25784 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
25785 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
25786 (gst_bin_iterate_elements), (iterate_child_recurse),
25787 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
25788 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
25789 (compare_interface), (gst_bin_get_by_interface),
25790 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
25792 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
25793 (gst_buffer_default_free), (gst_buffer_default_copy),
25794 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
25795 (gst_buffer_create_sub):
25797 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
25798 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
25799 (gst_caps_unref), (gst_static_caps_get),
25800 (gst_caps_remove_and_get_structure), (gst_caps_append),
25801 (gst_caps_append_structure), (gst_caps_remove_structure),
25802 (gst_caps_copy_nth), (gst_caps_set_simple),
25803 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
25804 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
25805 (gst_caps_structure_intersect_field), (gst_caps_intersect),
25806 (gst_caps_structure_subtract_field), (gst_caps_subtract),
25807 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
25808 (gst_caps_structure_figure_out_union),
25809 (gst_caps_switch_structures), (gst_caps_do_simplify),
25810 (gst_caps_replace), (gst_caps_from_string),
25811 (gst_caps_copy_conditional):
25813 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
25814 (_gst_clock_id_free), (gst_clock_id_unref),
25815 (gst_clock_id_compare_func), (gst_clock_id_wait),
25816 (gst_clock_id_wait_async), (gst_clock_class_init),
25817 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
25818 (gst_clock_get_time), (gst_clock_set_time_adjust),
25819 (gst_clock_set_property), (gst_clock_get_property):
25822 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
25823 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
25825 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
25826 (gst_element_requires_clock), (gst_element_provides_clock),
25827 (gst_element_set_clock), (gst_element_clock_wait),
25828 (gst_element_wait), (gst_element_set_time_delay),
25829 (gst_element_is_indexable), (gst_element_add_pad),
25830 (gst_element_add_ghost_pad), (gst_element_remove_pad),
25831 (pad_compare_name), (gst_element_get_static_pad),
25832 (gst_element_request_pad), (gst_element_get_request_pad),
25833 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
25834 (gst_element_class_get_pad_template_list),
25835 (gst_element_class_get_pad_template), (gst_element_error_func),
25836 (gst_element_get_random_pad), (gst_element_get_event_masks),
25837 (gst_element_send_event), (gst_element_seek),
25838 (gst_element_get_query_types), (gst_element_query),
25839 (gst_element_get_formats), (gst_element_convert),
25840 (gst_element_is_locked_state), (gst_element_set_locked_state),
25841 (gst_element_sync_state_with_parent), (gst_element_change_state),
25842 (gst_element_finalize), (gst_element_yield),
25843 (gst_element_interrupt), (gst_element_set_scheduler),
25844 (gst_element_get_scheduler), (gst_element_set_loop_function):
25845 * gst/gstelement.h:
25847 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
25848 (gst_format_get_by_nick), (gst_format_get_details),
25849 (gst_format_iterate_definitions):
25851 * gst/gstindex.c: (gst_index_gtype_resolver):
25854 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
25855 (gst_mem_chunk_free):
25856 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
25857 (gst_object_ref), (gst_object_unref), (gst_object_sink),
25858 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
25859 (gst_object_dispatch_properties_changed),
25860 (gst_object_set_name_default), (gst_object_set_name),
25861 (gst_object_get_name), (gst_object_set_name_prefix),
25862 (gst_object_get_name_prefix), (gst_object_set_parent),
25863 (gst_object_get_parent), (gst_object_unparent),
25864 (gst_object_check_uniqueness), (gst_object_save_thyself),
25865 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
25866 (gst_object_set_property), (gst_object_get_property),
25867 (gst_object_get_path_string):
25869 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
25870 (gst_real_pad_init), (gst_real_pad_get_property),
25871 (gst_pad_custom_new), (gst_pad_get_direction),
25872 (gst_pad_set_active), (gst_pad_is_active),
25873 (gst_pad_set_event_function), (gst_pad_is_linked),
25874 (gst_pad_link_free), (gst_pad_link_intersect),
25875 (gst_pad_link_fixate), (gst_pad_set_caps),
25876 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
25877 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
25878 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
25879 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
25880 (gst_pad_get_caps), (gst_pad_peer_get_caps),
25881 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
25882 (gst_pad_realize), (gst_pad_get_allowed_caps),
25883 (gst_real_pad_dispose), (gst_real_pad_finalize),
25884 (gst_pad_collectv), (gst_pad_collect_valist),
25885 (gst_pad_template_dispose), (gst_pad_template_new),
25886 (gst_pad_get_internal_links):
25888 * gst/gstpipeline.c: (gst_pipeline_dispose),
25889 (gst_pipeline_change_state):
25890 * gst/gstpipeline.h:
25892 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
25893 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
25894 * gst/gstpluginfeature.h:
25895 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
25896 * gst/gstquery.c: (_gst_query_type_initialize),
25897 (gst_query_type_register), (gst_query_type_get_by_nick),
25898 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
25900 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
25901 * gst/gstscheduler.c: (gst_scheduler_add_element),
25902 (gst_scheduler_factory_create):
25903 * gst/gststructure.c: (gst_structure_set_parent_refcount),
25904 (gst_structure_free), (gst_structure_set_name),
25905 (gst_structure_id_set_value), (gst_structure_set_value),
25906 (gst_structure_set_valist), (gst_structure_remove_field),
25907 (gst_structure_remove_fields),
25908 (gst_structure_remove_fields_valist),
25909 (gst_structure_remove_all_fields), (gst_structure_foreach),
25910 (gst_structure_map_in_place),
25911 (gst_caps_structure_fixate_field_nearest_int),
25912 (gst_caps_structure_fixate_field_nearest_double):
25913 * gst/gststructure.h:
25914 * gst/gstsystemclock.c: (gst_system_clock_class_init),
25915 (gst_system_clock_init), (gst_system_clock_dispose),
25916 (gst_system_clock_async_thread),
25917 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
25918 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
25919 * gst/gstsystemclock.h:
25920 * gst/gsttag.c: (gst_tag_list_add_value_internal),
25921 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
25922 * gst/gsttaginterface.c:
25923 * gst/gstthread.c: (gst_thread_dispose),
25924 (gst_thread_release_children_locks), (gst_thread_change_state),
25925 (gst_thread_main_loop):
25926 * gst/gsttrashstack.h:
25927 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
25929 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25930 (gst_element_request_pad), (gst_element_get_pad_from_template),
25931 (gst_element_request_compatible_pad),
25932 (gst_element_get_compatible_pad_filtered),
25933 (gst_element_get_compatible_pad), (gst_element_state_get_name),
25934 (gst_element_link_pads_filtered), (gst_element_link_filtered),
25935 (gst_element_link_many), (gst_element_link),
25936 (gst_element_link_pads), (gst_element_unlink_pads),
25937 (gst_element_unlink_many), (gst_element_unlink),
25938 (gst_pad_can_link_filtered), (gst_pad_can_link),
25939 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
25940 (gst_object_default_error), (gst_bin_add_many),
25941 (gst_bin_remove_many), (gst_element_populate_std_props),
25942 (gst_element_class_install_std_props), (gst_buffer_merge),
25943 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
25944 (link_fold_func), (gst_pad_proxy_setcaps):
25946 * gst/gstvalue.c: (gst_value_deserialize_string):
25947 * gst/parse/grammar.y:
25948 * gst/schedulers/gstbasicscheduler.c:
25949 (gst_basic_scheduler_cothreaded_chain),
25950 (gst_basic_scheduler_chain_recursive_add),
25951 (gst_basic_scheduler_pad_link):
25952 * gst/schedulers/gstoptimalscheduler.c:
25953 (get_group_schedule_function),
25954 (gst_opt_scheduler_state_transition),
25955 (gst_opt_scheduler_add_element), (element_get_reachables_func):
25956 * libs/gst/bytestream/bytestream.c:
25957 * libs/gst/dataprotocol/dataprotocol.c:
25958 (gst_dp_header_from_buffer):
25961 * tests/threadstate/threadstate2.c: (eos):
25962 * tools/gst-compprep.c: (main):
25963 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
25964 (print_pad_info), (print_children_info):
25965 * tools/gst-launch.c: (idle_func), (main):
25966 * tools/gst-md5sum.c: (idle_func), (main):
25967 * tools/gst-xmlinspect.c: (print_element_info):
25968 First THREADED backport attempt, focusing on adding locks and
25969 making sure the API is threadsafe. Needs more work. More docs
25972 2005-02-24 Andy Wingo <wingo@pobox.com>
25974 * tests/bench-complexity.scm:
25975 * tests/complexity.gnuplot: New files, good for running complexity
25978 * tests/Makefile.am:
25979 * tests/complexity.c: New test, sets up N elements, at each level
25980 teeing into M streams per element. Eeeenteresting.
25982 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
25983 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
25984 running bench-mass_elements.scm.
25986 * tests/bench-mass_elements.scm: New script, runs mass_elements
25987 for various numbers of identities, outputting the results to a
25988 file. Requires guile 1.6. Just for testing.
25990 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
25992 * gst/schedulers/fairscheduler.c:
25993 compile with debug disabled
25995 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
25998 hunting season on 0.9 is now OPEN