1 2006-04-12 Wim Taymans <wim@fluendo.com>
3 * tests/check/gst/gstelement.c: (GST_START_TEST):
4 Don't leak the factory.
6 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9 * win32/common/config.h:
12 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
14 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15 (gst_controller_unset_all):
16 Free allocated GstTimedValues when freeing list nodes.
17 Should fix leaks 'make check-valgrind' complains about.
19 * win32/common/libgstcontroller.def:
20 Add gst_controller_unset_all.
22 2006-04-11 Stefan Kost <ensonic@users.sf.net>
24 * docs/libs/gstreamer-libs-sections.txt:
25 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
26 (gst_controller_unset_all):
27 * libs/gst/controller/gstcontroller.h:
28 API: Added new method _unset_all() and fixed _unset()
30 * tests/check/libs/controller.c: (GST_START_TEST),
31 (gst_controller_suite):
32 Added two testcases for new and fixed method
34 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
36 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
37 MSG_DONTWAIT is not defined on Cygwin, so work
38 around that (fixes #317048).
40 2006-04-11 Wim Taymans <wim@fluendo.com>
42 * gst/gstelementfactory.c: (gst_element_register),
43 (gst_element_factory_create), (gst_element_factory_make):
46 Updated docs (Fixes #131079)
48 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
51 * tests/check/gst/gstelement.c: (GST_START_TEST),
53 Added testcase for elementfactory class field.
55 2006-04-10 Wim Taymans <wim@fluendo.com>
60 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
61 (gst_base_sink_reset_qos):
62 Calculate more accurate rate values.
64 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
67 add a new #ifdef to use __declspec(dllimport) only for
68 other modules and not for gstreamer core
69 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
70 use gst_guint64_to_gdouble for conversion
71 * win32/common/libgstreamer.def:
72 add new exported functions
73 * win32/vs6/gst_inspect.dsp:
74 * win32/vs6/gst_launch.dsp:
75 * win32/vs6/libgstbase.dsp:
76 * win32/vs6/libgstcontroller.dsp:
77 * win32/vs6/libgstcoreelements.dsp:
78 * win32/vs6/libgstdataprotocol.dsp:
79 * win32/vs6/libgstnet.dsp:
82 2006-04-08 Stefan Kost <ensonic@users.sf.net>
84 * gst/gstbuffer.c: (gst_subbuffer_class_init):
85 * gst/gstclock.c: (gst_clock_class_init):
86 * gst/gstelement.c: (gst_element_class_init):
87 * gst/gstindex.c: (gst_index_class_init):
88 * gst/gstindexfactory.c: (gst_index_factory_class_init):
89 * gst/gstobject.c: (gst_object_class_init),
90 (gst_signal_object_class_init):
91 * gst/gstpad.c: (gst_pad_class_init):
92 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
93 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
94 * gst/gstregistry.c: (gst_registry_class_init):
95 * gst/gstsystemclock.c: (gst_system_clock_class_init):
96 * gst/gsttask.c: (gst_task_class_init):
97 * gst/gstxml.c: (gst_xml_class_init):
98 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
99 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
101 * libs/gst/controller/gstcontroller.c:/
102 (_gst_controller_class_init):
103 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
104 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
105 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
106 * tests/old/examples/plugins/example.c: (gst_example_class_init):
107 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
108 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
110 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
112 * gst/gstpad.c: (gst_pad_link):
113 Must set peer pads before calling the link function, otherwise
114 a task started from a link function might get a flow-not-linked
115 result when trying to push because the other thread where the
116 linking happens hasn't had a chance to set the peers yet. This
117 might happen for example when a queue gets linked to a downstream
118 element, as queue starts a streaming task when its source pad
119 gets linked. Happens in real life when playing back flac/musepack
120 files in playbin (#332390).
122 2006-04-08 Stefan Kost <ensonic@users.sf.net>
126 * libs/gst/base/gstadapter.h:
127 * libs/gst/base/gstbasesink.h:
128 * libs/gst/base/gstbasesrc.h:
129 * libs/gst/base/gstbasetransform.h:
130 * libs/gst/base/gstcollectpads.h:
131 * libs/gst/base/gstpushsrc.h:
132 Fix broken GObject macros
134 2006-04-07 Wim Taymans <wim@fluendo.com>
136 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
137 Initialize start and stop times, thanks valgrind.
139 2006-04-07 Wim Taymans <wim@fluendo.com>
141 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
142 Be a bit nicer to badly behaving upstream elements that expect
143 us to deal with non TIME segments and timestamps (such as fakesrc
146 2006-04-07 Wim Taymans <wim@fluendo.com>
149 Small documentation clarification about the signal watch.
151 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
152 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
153 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
154 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
155 (gst_base_sink_get_position_last),
156 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
157 Convert and store timestamps in stream time and running time, the
158 raw timestamps are not usefull, also document this better.
159 Use different window sizes for good and bad QoS observations so
160 we react to badness a little quicker.
161 Keep track of the amount of rendered and dropped buffers.
162 Send QoS timestamps in running time.
164 * libs/gst/base/gstbasetransform.c:
165 (gst_base_transform_sink_eventfunc),
166 (gst_base_transform_handle_buffer):
167 Compare QoS timestamps against running time.
169 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
174 2006-04-06 Michael Smith <msmith@fluendo.com>
176 * gst/gstpad.c: (gst_pad_set_property):
177 Use g_value_get_object() instead of g_value_dup_gst_object(),
178 to avoid double-reffing the pad template (which we then sink,
179 so this worked previously if (and only if) the pad template
182 * gst/gstpadtemplate.c: (gst_pad_template_init),
183 (gst_pad_template_pad_created):
184 Never return floating references to pad templates, create
185 them as initially-sunken.
187 Document an extra function (and make this stop sinking our
188 pad template, since that is now guaranteed to do nothing,
189 since we created it sunken).
194 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
196 * gst/gstinfo.c: (__gst_in_valgrind):
199 * plugins/elements/gsttypefindelement.c:
200 (gst_type_find_element_chain):
201 Don't leak buffer caps.
203 2006-04-06 Michael Smith <msmith@fluendo.com>
205 * gst/parse/grammar.y:
206 Fix a leak in parse-launch for any source-or-sink named element
209 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
210 Unref the pipeline if it exists after we've failed parsing.
212 2006-04-05 Michael Smith <msmith@fluendo.com>
214 * gst/gstpipeline.c: (gst_pipeline_init):
215 When we create a pipeline bus, initially create it in flushing mode.
216 Fixes leaks in at least one test, and makes a new pipeline work the
217 same as one that has gone to READY and then back to NULL.
222 2006-04-05 Michael Smith <msmith@fluendo.com>
224 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
225 Unref a pad we reffed.
226 * tests/check/gst/gstutils.c: (GST_START_TEST):
229 2006-04-05 Michael Smith <msmith@fluendo.com>
231 * gst/gstquery.c: (gst_query_set_formats),
232 (gst_query_set_formatsv):
233 Fix leaking GValues in queries, as shown by valgrind/testsuite.
235 2006-04-05 Michael Smith <msmith@fluendo.com>
237 * tests/check/generic/sinks.c: (GST_START_TEST):
238 Fix a variety of memleaks in sinks check, which are only sometimes
239 shown by running the tests under valgrind (weird?).
241 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
243 * docs/version.entities.in:
244 Fix the substituted entity name after thomas' changes on the
247 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
249 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
252 2006-04-05 Andy Wingo <wingo@pobox.com>
254 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
256 * libs/gst/base/gstbasetransform.c
257 (gst_base_transform_sink_eventfunc): When resetting our segment on
258 FLUSH_STOP, also update the flag saying we haven't seen a
261 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
263 Patch by: Paolo Borelli <pborelli at katamail dot com>
265 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
266 (gst_plugin_check_license):
267 minor clean-ups: G_DEFINE_TYPE already takes care of the
268 parent_class stuff, no need to do it twice. Mark array of
269 license strings as constant. (#337103)
271 2006-04-04 Michael Smith <msmith@fluendo.com>
273 * tools/gst-inspect.c: (print_element_list):
274 Free the right plugin list; fixes a memory leak.
276 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
278 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
280 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
281 Don't error out on empty buffers (#336945).
283 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
285 * docs/libs/gstreamer-libs-sections.txt:
287 * libs/gst/base/gstbasesink.c:
288 * libs/gst/base/gstbasesink.h:
289 * libs/gst/base/gstbasesrc.c:
290 * libs/gst/base/gstbasesrc.h:
291 Documentation updates. Make BaseSink and BaseSrc docs contain the
292 class structure so that people can actually see the prototypes for
293 virtual functions they're supposed to be overriding.
295 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
297 * plugins/elements/gsttypefindelement.c:
298 (gst_type_find_element_chain):
299 More debug info; when skipping typefinding, send cached
302 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
305 use new AS_VERSION and AS_NANO macros
306 * gst/gst-i18n-lib.h:
309 * gst/gstversion.h.in:
310 * win32/common/config.h:
311 * win32/common/config.h.in:
314 2006-03-31 Michael Smith <msmith@fluendo.com>
316 * plugins/elements/gsttypefindelement.c:
317 (gst_type_find_element_chain):
318 Do not typefind content if the buffers already have caps.
319 Neccesary for icydemux (#333657), and the right thing to do anyway.
321 2006-03-30 Wim Taymans <wim@fluendo.com>
323 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
324 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
325 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
326 (gst_base_sink_record_qos_observation),
327 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
328 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
329 (gst_base_sink_change_state):
330 More QoS measurements as described in the design doc.
331 Get rid of ringbuffer with observations, running average is
332 more simple and equally good.
333 Calculates valid proportion now.
334 Added beginning of flood measurement.
336 2006-03-29 Wim Taymans <wim@fluendo.com>
338 * docs/design/part-qos.txt:
340 Small documentation updates and additions.
342 2006-03-29 Wim Taymans <wim@fluendo.com>
344 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
345 (gst_base_src_send_event), (gst_base_src_loop),
346 (gst_base_src_change_state):
347 Perform the EOS logic when we reach the segment stop position.
348 Fix compilation on gcc4.1
350 2006-03-29 Wim Taymans <wim@fluendo.com>
352 Patch by Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
354 * plugins/elements/gstqueue.c: (gst_queue_init),
355 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
356 (gst_queue_set_property):
357 * plugins/elements/gstqueue.h:
358 In queue, when EOS is received, if minimum threshold > max_size -
359 current_level, there is chance that queue blocks forever in conditional item
360 del wait. This is because the queue is not emptied completely due to minimum
362 Here is another approach. Instead of setting cur_levels to max in EOS, just
363 zero all minimum threshold levels. This should make sure that queue gives out
364 all data. When going to READY (stop) state, just reset the original minimum
368 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
370 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
371 (gst_type_find_element_handle_event),
372 (gst_type_find_element_send_cached_events),
373 (gst_type_find_element_change_state):
374 * plugins/elements/gsttypefindelement.h:
375 When typefinding is done in push mode, we should cache
376 events we receive during typefinding instead of just
377 dropping them (e.g. newsegment, custom events from
378 dvdreadsrc etc.) and then send them out once we've
379 determined the type of the stream (and decodebin
380 has had a chance to plug in a decoder/demuxer).
382 2006-03-27 Wim Taymans <wim@fluendo.com>
384 * docs/design/part-qos.txt:
387 2006-03-27 Wim Taymans <wim@fluendo.com>
389 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
391 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
392 (gst_base_src_send_event), (gst_base_src_change_state):
393 Handle element seek correctly when we are streaming.
396 2006-03-24 Michael Smith <msmith@fluendo.com>
398 * docs/faq/gst-uninstalled:
399 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
400 allow you to correctly run intalled applications built against old
401 core, using plugins that require updated core (e.g. running
402 installed totem against a full uninstalled gstreamer stack)
404 2006-03-24 Stefan Kost <ensonic@users.sf.net>
406 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
409 2006-03-24 Wim Taymans <wim@fluendo.com>
411 * docs/gst/gstreamer-sections.txt:
412 Rearrange the order of the methods so that related methods
413 are grouped together in sections.
415 2006-03-24 Stefan Kost <ensonic@users.sf.net>
418 Little clarification in the docs
420 2006-03-24 Stefan Kost <ensonic@users.sf.net>
424 * plugins/elements/gstidentity.c:
425 * plugins/elements/gstqueue.c:
426 * plugins/elements/gsttee.c:
427 * plugins/elements/gsttypefindelement.c:
428 GST_ELEMENT_DETAILS formatting
430 2006-03-24 Wim Taymans <wim@fluendo.com>
432 * libs/gst/base/gstbasesink.h:
433 Only add fields, not insert or we break ABI.
435 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
437 * win32/common/libgstbase.def:
438 * win32/common/libgstreamer.def:
439 Update, add recently added functions.
441 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
443 * docs/gst/gstreamer-sections.txt:
444 * gst/gstutils.c: (gst_pad_query_peer_position),
445 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
447 API: add some new utility functions:
448 - gst_pad_query_peer_position
449 - gst_pad_query_peer_duration
450 - gst_pad_query_peer_convert
452 2006-03-23 Wim Taymans <wim@fluendo.com>
454 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
455 (gst_base_sink_init), (gst_base_sink_finalize),
456 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
457 (gst_base_sink_set_property), (gst_base_sink_get_property),
458 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
459 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
460 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
461 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
462 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
463 (gst_base_sink_preroll_object), (gst_base_sink_event),
464 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
465 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
466 (gst_base_sink_query), (gst_base_sink_change_state):
467 Decouple max-lateness and the fact that QoS messages are generated
468 with a new property (qos).
469 added API: GstBaseSink::async_play()
470 Add vmethod so subclasses can be notified of ASYNC playing
472 Collect timestamp start and stop to report better current
473 position in EOS/PLAYING/PAUSED/READY/NULL.
474 Refactor QoS/frame dropping and other measurements.
478 * libs/gst/base/gstbasesink.h:
479 Added Private struct.
480 API: gst_base_sink_set_qos_enabled
481 API: gst_base_sink_is_qos_enabled
483 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
485 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
486 If compiling against GLib-2.8 or newer, try to read the
487 registry file using GMappedFile first before falling back
488 to fopen() + fread() (#332151).
490 2006-03-22 Wim Taymans <wim@fluendo.com>
492 * gst/gstinfo.c: (gst_debug_set_active),
493 (gst_debug_category_set_threshold):
494 Disable debugging unless explicitly activated.
497 2006-03-22 Wim Taymans <wim@fluendo.com>
499 * gst/gstelement.c: (gst_element_set_locked_state),
500 (gst_element_dispose):
501 Cleanup the error case.
503 * gst/gstobject.c: (gst_object_dispose):
504 print a critical when some object was disposed with
505 a parent, also revive the object since it might
508 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
510 * tools/gst-launch.1.in:
513 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
516 * tests/check/Makefile.am:
517 disable some tests when we don't have a registry
518 * tests/check/gst/gstutils.c: (gst_utils_suite):
519 don't build the part that needs parsing
521 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
524 * tests/examples/Makefile.am:
525 fix --disable-parse build
527 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
529 * tools/gst-feedback.1.in:
530 Fix typo: s/feeback/feedback/ (#133494).
532 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
535 * tools/gst-launch.1.in:
536 Add FILES section and correct entry about GST_REGISTRY_PATH
537 environment variable (#133495; #133494).
539 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
542 * tools/gst-md5sum.1.in:
543 * tools/gst-md5sum.c:
544 Remove gst-md5sum and man page (the md5sink element
545 required was removed ages ago)
547 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
549 * gst/gststructure.c: (gst_structure_id_set_value):
550 Make sure that string fields in structures/taglists
551 contain valid UTF-8 - we don't want to pass rubbish to
552 applications because of a buggy plugin (cp. #334167).
554 2006-03-21 Edward Hervey <edward@fluendo.com>
556 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
557 (gst_bin_handle_message_func):
558 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
559 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
560 (gst_element_set_bus_func):
561 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
562 * gst/gstminiobject.c: (gst_value_set_mini_object),
563 (gst_value_take_mini_object):
564 * gst/gstpad.c: (gst_pad_set_pad_template):
565 * gst/gstpipeline.c: (gst_pipeline_dispose),
566 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
567 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
568 (gst_collect_pads_chain):
569 * libs/gst/net/gstnettimeprovider.c:
570 (gst_net_time_provider_set_property):
571 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
572 It's in fact all issues with gst_*object_replace().
574 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
576 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
578 * pkgconfig/gstreamer-check-uninstalled.pc.in:
579 * pkgconfig/gstreamer-check.pc.in:
580 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
582 2006-03-21 Edward Hervey <edward@fluendo.com>
587 gst_[buffer|event|message]_ref() macros are replaced by a static
588 inline functions because gcc-4.1 will about if the return value
590 * tests/check/gst/gstevent.c: (event_probe):
591 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
593 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
596 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
597 the type' case. (Closes: #335195 for now). In the future, when we
598 depend on GLib 2.10, we could also intern the type name using
599 g_intern_static_string()
601 2006-03-20 Wim Taymans <wim@fluendo.com>
603 * gst/gstbin.c: (gst_bin_handle_message_func),
604 (bin_query_max_init), (bin_query_position_fold),
605 (bin_query_position_done), (gst_bin_query):
606 Position query should also take max of all streams.
608 2006-03-20 Wim Taymans <wim@fluendo.com>
610 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
611 (gst_fake_src_finalize):
612 Fix leaks in fakesrc.
614 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
615 Fix leaks in the testcase.
617 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
620 add win32 specific import decoration(__declspec(dllimport))
621 for all extern GstDebugCategory * variables
622 * win32/common/libgstbase.def:
623 * win32/common/libgstcontroller.def:
624 * win32/common/libgstreamer.def:
625 Add some exports, remove empty lines
626 * win32/common/libgstdataprotocol.def:
627 * win32/common/libgstdataprotocol.dsp:
628 * win32/common/libgstnet.def:
629 * win32/common/libgstnet.dsp:
630 new project files and exportation files added
632 2006-03-19 Wim Taymans <wim@fluendo.com>
634 * tests/check/libs/basesrc.c: (eos_event_counter):
635 Use proper return value for probe.
637 2006-03-17 Wim Taymans <wim@fluendo.com>
639 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
641 Don't leak buffers, caps and pads on negotiation errors.
643 2006-03-16 Stefan Kost <ensonic@users.sf.net>
646 * docs/faq/dependencies.xml:
647 * docs/faq/developing.xml:
649 * docs/faq/general.xml:
650 * docs/faq/getting.xml:
651 * docs/faq/legal.xml:
652 * docs/faq/troubleshooting.xml:
653 * docs/faq/using.xml:
654 Faq review and update.
656 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
658 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
660 Don't pound the cpu to pieces by checking get_caps when accept_caps
661 is called with the same caps as the pad already has.
662 Use GST_DEBUG_OBJECT when outputting caps change information.
664 2006-03-15 Wim Taymans <wim@fluendo.com>
666 * gst/gstclock.c: (gst_clock_class_init):
669 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
674 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
675 (gst_pad_accept_caps), (gst_pad_configure_sink),
676 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
677 Make the default acceptcaps behaviour be to check the requested
678 caps against the gst_pad_get_caps output.
680 Ensure that gst_pad_accept_caps is used to check caps when a pad
681 doesn't have a setcaps function, so that pads automatically refuse
682 caps that they don't allow in their pad template. (Fixes #332986)
684 When a buffer with attached caps is pushed, ensure that the source
685 pad receives those caps even if the element didn't call
686 gst_pad_set_caps first.
688 2006-03-15 Wim Taymans <wim@fluendo.com>
690 * libs/gst/base/gstadapter.c:
693 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
695 * win32/common/libgstbase.def:
696 * win32/common/libgstcontroller.def:
697 * win32/common/libgstreamer.def:
698 Add a whole bunch of missing functions (#334434).
700 2006-03-14 Wim Taymans <wim@fluendo.com>
702 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
703 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
704 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
705 Better debug info when we receive a segment event.
706 Reorganize a bit so we can pass the get_times() results around.
707 Use the segment format when calculating the running time.
708 Don't do QoS is sync is disabled or we have no clock or the
709 element does not want us to sync to the clock.
710 Don't drop buffers if QoS is disabled for now.
712 2006-03-14 Wim Taymans <wim@fluendo.com>
714 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
715 Marked the stats property as unimplemented so people don't get
717 Add debug message when regression goes wrong.
718 Added some more docs.
720 2006-03-14 Wim Taymans <wim@fluendo.com>
722 * gst/gstsegment.c: (gst_segment_to_stream_time):
723 Return correct return type in case of errors.
725 2006-03-14 Wim Taymans <wim@fluendo.com>
727 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
728 Don't segfault on invalid formats.
730 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
732 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
733 Can't use gst_segment_to_running_time() when the segment
734 is not in GST_TIME_FORMAT (like with filesink, for example).
735 Stops flac encoding pipelines from spewing critical warnings
738 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
740 * gst/gstpipeline.c: (gst_pipeline_class_init):
741 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
743 * plugins/elements/gsttypefindelement.c:
744 (gst_type_find_element_handle_event):
745 Don't try to typefind empty streams.
747 2006-03-14 Wim Taymans <wim@fluendo.com>
749 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
750 (gst_base_sink_do_qos):
751 Separate QoS calculation.
752 Only drop buffers when lateness is bigger than the
753 duration of the buffer.
755 2006-03-13 Wim Taymans <wim@fluendo.com>
757 * gst/gstpipeline.c: (gst_pipeline_set_property),
758 (gst_pipeline_get_property), (do_pipeline_seek),
759 (gst_pipeline_change_state), (gst_pipeline_set_delay),
760 (gst_pipeline_get_delay):
761 Don't deadlock when reading properties.
763 2006-03-13 Wim Taymans <wim@fluendo.com>
765 * libs/gst/base/gstbasetransform.c:
766 (gst_base_transform_class_init), (gst_base_transform_init),
767 (gst_base_transform_sink_event),
768 (gst_base_transform_sink_eventfunc),
769 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
770 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
771 (gst_base_transform_set_property),
772 (gst_base_transform_get_property),
773 (gst_base_transform_change_state), (gst_base_transform_update_qos),
774 (gst_base_transform_set_qos_enabled),
775 (gst_base_transform_is_qos_enabled):
776 * libs/gst/base/gstbasetransform.h:
777 Make basetransform virtual method for src events too.
778 Handle QOS in basetransform.
779 API: gst_base_transform_update_qos
780 API: gst_base_transform_set_qos_enabled
781 API: gst_base_transform_is_qos_enabled
783 2006-03-13 Wim Taymans <wim@fluendo.com>
785 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
786 (gst_base_sink_do_sync):
788 Use QOS debug category.
790 2006-03-13 Wim Taymans <wim@fluendo.com>
792 * plugins/elements/gstqueue.c:
793 Very small doc update.
795 2006-03-13 Wim Taymans <wim@fluendo.com>
798 * gst/gstinfo.c: (_gst_debug_init):
799 Added QOS debug category
801 2006-03-13 Wim Taymans <wim@fluendo.com>
803 * docs/gst/gstreamer-sections.txt:
804 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
806 * gst/gstbus.c: (gst_bus_class_init):
809 * gst/gstelement.c: (gst_element_set_locked_state):
811 Documentation updates.
813 * gst/gstpipeline.c: (gst_pipeline_get_type),
814 (gst_pipeline_class_init), (gst_pipeline_init),
815 (gst_pipeline_dispose), (gst_pipeline_set_property),
816 (gst_pipeline_get_property), (do_pipeline_seek),
817 (gst_pipeline_send_event), (gst_pipeline_change_state),
818 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
819 (gst_pipeline_get_delay):
821 Added methods for setting the delay.
822 API: gst_pipeline_set_delay
823 API: gst_pipeline_get_delay
824 Add pipeline debug category
827 Don't reset stream time when seek failed.
829 2006-03-13 Wim Taymans <wim@fluendo.com>
831 * docs/design/draft-klass.txt:
832 * docs/design/part-clocks.txt:
833 * docs/design/part-events.txt:
834 * docs/design/part-gstbin.txt:
835 * docs/design/part-gstpipeline.txt:
836 * docs/design/part-messages.txt:
837 * docs/design/part-negotiation.txt:
838 * docs/design/part-overview.txt:
839 * docs/design/part-preroll.txt:
840 * docs/design/part-seeking.txt:
841 * docs/design/part-states.txt:
842 * docs/design/part-streams.txt:
843 Documentation updates.
845 2006-03-12 Julien MOUTTE <julien@moutte.net>
847 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
848 us to leak strings...
850 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
852 * libs/gst/net/gstnettimeprovider.c:
854 * win32/common/config.h:
857 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
859 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
862 Don't check for libgnomeui (leftover from old examples
863 that aren't built or disted any longer) (#334303).
865 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
867 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
868 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
869 Emit RESOURCE_NO_SPACE_LEFT error here as well when
870 there's no space left on the device.
872 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
875 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
876 to cast the input to GstClockTime before comparing with
877 another GstClockTime value.
879 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
884 === release 0.10.4 ===
886 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
889 releasing 0.10.4, "Light"
891 2006-03-10 Michael Smith <msmith@fluendo.com>
893 * libs/gst/dataprotocol/dataprotocol.c:
894 Fix docs for dataprocotol to not get the return types completely
895 wrong for a few functions.
897 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
899 * docs/gst/gstreamer-sections.txt:
900 * gst/gstpipeline.c: (gst_pipeline_class_init),
901 (gst_pipeline_init), (gst_pipeline_set_property),
902 (gst_pipeline_get_property), (gst_pipeline_change_state),
903 (gst_pipeline_set_auto_flush_bus),
904 (gst_pipeline_get_auto_flush_bus):
906 Add new API: gst_pipeline_set_auto_flush_bus() and
907 gst_pipeline_get_auto_flush_bus() to disable automatic
908 flushing of the pipeline's GstBus when going from READY
909 to NULL state (#332045).
911 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
913 * docs/gst/gstreamer-sections.txt:
914 * gst/gsturi.c: (gst_uri_has_protocol):
916 Add new API: gst_uri_has_protocol() (#333779).
918 2006-03-09 Wim Taymans <wim@fluendo.com>
920 * gst/gstclock.c: (gst_clock_entry_new),
921 (gst_clock_id_compare_func), (gst_clock_id_wait),
922 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
923 (gst_clock_init), (gst_clock_get_internal_time),
924 (gst_clock_set_master), (do_linear_regression),
925 (gst_clock_add_observation), (gst_clock_set_property):
929 Fix a possible segfault when the window-size is made smaller.
930 Calculate jitter before performing the clock wait. Ideally
931 the clock implementation should calculate jitter but we need
932 API breakage for that.
934 * gst/gstsystemclock.c: (gst_system_clock_init):
937 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
940 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
941 (gst_systemclock_suite):
942 Added check to test GST_CLOCK_DIFF.
944 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
946 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
947 (gst_type_find_helper_get_range):
948 If we are provided with the size, we should implement
949 GstTypeFind::get_length, so that typefind functions who
950 want to can actually peek at the middle of a file.
952 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
954 * docs/manual/advanced-dataaccess.xml:
955 Add some very very basic error checking.
957 * docs/pwg/appendix-checklist.xml:
958 Some updates to the list of things to check when writing an element.
960 2006-03-08 Wim Taymans <wim@fluendo.com>
962 * docs/design/part-element-transform.txt:
963 Added some docs about the design of tranform elements.
965 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
966 (gst_base_src_loop), (gst_base_src_change_state):
967 Mark buffers with the DISCONT flag.
969 2006-03-08 Michael Smith <msmith@fluendo.com>
972 * gst/gstregistryxml.c: (gst_registry_save),
973 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
974 (gst_registry_xml_save_pad_template),
975 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
976 (gst_registry_xml_write_cache):
977 Rewrite registry-saving to avoid race conditions and check for
980 2006-03-08 Wim Taymans <wim@fluendo.com>
982 * libs/gst/base/gstbasetransform.c:
983 (gst_base_transform_transform_caps),
984 (gst_base_transform_transform_size),
985 (gst_base_transform_prepare_output_buffer),
986 (gst_base_transform_get_unit_size),
987 (gst_base_transform_buffer_alloc),
988 (gst_base_transform_handle_buffer),
989 (gst_base_transform_change_state):
990 Cleanups, separate normal flow from errors, add sensible
992 Don't try to renegotiate when allocating an output buffer.
993 Also copy DISCONT buffer flag when copying a buffer.
994 Reset the transform after we finish streaming, not during.
996 2006-03-08 Wim Taymans <wim@fluendo.com>
998 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
999 Use last buffer timestamp in qos message.
1001 2006-03-07 Wim Taymans <wim@fluendo.com>
1003 Patch by: Christophe Fergeau
1005 * docs/pwg/advanced-tagging.xml:
1006 * docs/pwg/building-pads.xml:
1009 2006-03-07 Wim Taymans <wim@fluendo.com>
1011 * docs/libs/gstreamer-libs-sections.txt:
1012 Added basesink new methods.
1016 Docs updates. Flesh out the QoS docs.
1018 * libs/gst/base/gstadapter.c:
1019 Small doc clarification about ownership and flushing.
1021 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
1022 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1023 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
1024 (gst_base_sink_get_property), (gst_base_sink_do_sync):
1025 * libs/gst/base/gstbasesink.h:
1027 Added new methods to allow subclass to control max-lateness
1029 Generate very basic QoS events based on last sync observation.
1030 Updated docs, fix typo, added some QoS blurb.
1032 * libs/gst/base/gstbasesrc.c:
1033 Remove obsolete _get_state() calls from docs.
1035 2006-03-07 Wim Taymans <wim@fluendo.com>
1037 * docs/libs/gstreamer-libs-sections.txt:
1038 * libs/gst/base/gstbasetransform.h:
1039 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
1040 Fix docs for GstBaseSrc.
1042 2006-03-07 Wim Taymans <wim@fluendo.com>
1044 * docs/gst/gstreamer-sections.txt:
1047 * libs/gst/base/gstbasetransform.h:
1048 Small documentation fixes.
1050 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
1053 Document thread-unsafety of gst_value_register_foo_func()
1054 when used at the same time as gst_value_foo() (#322628).
1056 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
1058 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
1059 (gst_push_src_check_get_range):
1060 Push sources don't support pull mode by default.
1062 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
1064 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1065 (gst_base_src_init), (gst_base_src_pad_check_get_range),
1066 (gst_base_src_default_check_get_range):
1067 * libs/gst/base/gstbasesrc.h:
1068 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
1069 provide default implementation, and rename
1070 gst_base_src_check_get_range() to
1071 gst_base_src_pad_check_get_range() for clarity.
1073 2006-03-06 Wim Taymans <wim@fluendo.com>
1075 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1076 Make property overridable.
1078 2006-03-06 Wim Taymans <wim@fluendo.com>
1080 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1081 (gst_base_sink_init), (gst_base_sink_set_property),
1082 (gst_base_sink_get_property), (gst_base_sink_do_sync):
1083 * libs/gst/base/gstbasesink.h:
1084 API addition: Make max-lateness a property.
1086 2006-03-06 Wim Taymans <wim@fluendo.com>
1088 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
1089 (gst_base_sink_do_sync), (gst_base_sink_render_object):
1090 Don't ever draw a frame that is >10ms late.
1092 2006-03-06 Michael Smith <msmith@fluendo.com>
1094 * gst/gstmessage.c: (_gst_message_copy):
1095 When copying a message, set the parent_refcount of the enclosed
1096 structure to point at the copy, not the original message.
1098 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
1100 Patch by: Christophe Fergeau
1103 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
1104 usable in c++ code (#333417)
1106 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
1109 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
1111 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
1113 * libs/gst/base/gstbasetransform.c:
1114 (gst_base_transform_transform_caps):
1115 Make sure caps are writable before passing them to
1118 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
1121 Fix some minor docs errors.
1123 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
1125 Patch by: Ross Burton <ross at burtonini dot com>
1127 * gst/gsterror.c: (_gst_resource_errors_init):
1129 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
1131 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
1134 Add a check and output a g_warning when GStreamer is built
1135 against GLib 2.6 but running against 2.8 or higher, and vice
1136 versa. (Closes: #323542)
1138 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
1140 * gst/parse/parse.l:
1141 Commit patch for parse_launch syntax from #331255. Removes
1142 support for quoted strings and mimetypes when writing filtered
1143 caps. See the bug report for more details - I'm pretty sure this
1144 obscure feature is not in use by _anyone_ anywhere.
1146 With this simple change, the size of the gstreamer.so here
1147 drops from 2193KB to 1565KB.
1149 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
1151 * plugins/elements/gsttypefindelement.h:
1152 * plugins/elements/gsttypefindelement.c:
1153 (gst_type_find_element_src_event), (start_typefinding),
1154 (stop_typefinding), (gst_type_find_element_handle_event),
1155 (gst_type_find_element_chain),
1156 (gst_type_find_element_chain_do_typefinding):
1157 Use gst_type_find_helper_for_buffer() for chain-based
1160 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
1162 * plugins/elements/gsttypefindelement.c:
1163 (gst_type_find_element_class_init),
1164 (gst_type_find_element_set_property),
1165 (gst_type_find_element_get_property):
1166 Deprecate "maximum" property (not only was it only taken into
1167 account for typefinding in push-mode anyway, it also was never
1168 actually possible to set it in the first place because the
1169 property was registered with the numeric property ID for the
1170 "minimum" property). Register "maximum" property correctly,
1171 for the sake of future copy'n'pasters. Remove some cruft
1172 from property get/set functions.
1174 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
1176 * plugins/elements/gsttypefindelement.c:
1177 (gst_type_find_element_activate):
1178 Use gst_type_find_helper_get_range() here, so we
1179 can honour the "minimum" property and also emit
1180 the signal with the correct probability of the found caps.
1182 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
1184 * docs/libs/gstreamer-libs-sections.txt:
1185 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
1186 (helper_find_suggest), (gst_type_find_helper_get_range),
1187 (gst_type_find_helper):
1188 * libs/gst/base/gsttypefindhelper.h:
1189 New API: gst_type_find_helper_get_range() (#333042).
1191 2006-03-02 Michael Smith <msmith@fluendo.com>
1193 * gst/gstregistryxml.c: (load_feature):
1194 Asserting on a failure to read part of the registry is Not Cool.
1195 Just log a warning and return NULL (which is already handled)
1197 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
1199 * win32/common/libgstbase.def:
1200 added export of gst_type_find_helper_for_buffer
1201 * win32/common/libgstbase.def:
1202 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
1203 gst_ghost_pad_get_target
1205 2006-02-28 Wim Taymans <wim@fluendo.com>
1207 * docs/design/draft-klass.txt:
1209 Added Connector to mark elements that are only used to
1210 allow pipeline connections.
1211 Moved Debug to extra feature since most of them are
1212 functionally something else.
1214 2006-02-28 Wim Taymans <wim@fluendo.com>
1216 * docs/design/draft-klass.txt:
1217 Some updates and clarifications.
1219 2006-02-28 Wim Taymans <wim@fluendo.com>
1221 * docs/design/draft-klass.txt:
1222 Proposal for klass field values.
1224 * docs/design/part-streams.txt:
1225 Start of a doc describing stream anatomy.
1227 2006-02-28 Wim Taymans <wim@fluendo.com>
1229 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
1230 Help the compiler a bit with type registration.
1231 Use existing forward cod path instead of duplicating it when
1234 * gst/gstbus.c: (gst_bus_get_type):
1235 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
1236 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
1237 * gst/gstclock.c: (gst_clock_get_type):
1238 * gst/gstelement.c: (gst_element_get_type),
1239 * gst/gstelementfactory.c: (gst_element_factory_get_type):
1240 * gst/gstindexfactory.c: (gst_index_factory_get_type):
1241 * gst/gstminiobject.c: (gst_mini_object_get_type):
1242 * gst/gstpad.c: (gst_pad_get_type):
1243 * gst/gstsegment.c: (gst_segment_get_type):
1244 * gst/gststructure.c: (gst_structure_get_type):
1245 * gst/gstsystemclock.c: (gst_system_clock_get_type):
1246 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
1248 Help compiler with type registration.
1250 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1253 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
1255 * plugins/elements/gsttypefindelement.c:
1256 (gst_type_find_element_handle_event):
1257 When we get an EOS event and have not found a type yet
1258 (most likely because we had not yet accumulated
1259 TYPE_FIND_MIN_SIZE of data yet), try to determine the
1260 type given the data we have so far. Fixes typefinding
1261 for very short streams again, most notably quicktime
1262 redirections as used on Apple's trailer site (#331701).
1264 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
1266 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
1267 (gst_type_find_helper):
1268 Try typefinding factories with the highest rank first.
1270 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
1272 * docs/libs/gstreamer-libs-docs.sgml:
1273 * docs/libs/gstreamer-libs-sections.txt:
1274 * libs/gst/base/gsttypefindhelper.c:
1275 Add section for typefind helper and add documentation
1276 for the old and the new function.
1278 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
1280 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
1281 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
1282 (gst_type_find_helper_for_buffer):
1283 * libs/gst/base/gsttypefindhelper.h:
1284 New API: gst_type_find_helper_for_buffer() (#332723).
1286 2006-02-27 Michael Smith <msmith@fluendo.com>
1288 Patch by: Loïc Minier
1292 * docs/slides/Makefile.am:
1293 prevent CVS directories getting disted.
1295 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
1297 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
1298 Use the REFCOUNTING category for caps refcounting.
1300 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
1302 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1303 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
1305 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
1307 * plugins/elements/gsttypefindelement.c:
1308 (gst_type_find_element_activate):
1309 Use gst_pad_check_pull_range() before _activate_pull()
1310 to avoid unnecessary open/close (see #331690).
1312 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
1315 Docs enhancement: make it crystal clear what the
1316 gst_pad_add_*_probe() callbacks should look like.
1318 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
1320 * libs/gst/base/gstbasesrc.c:
1321 Document how applications can stop recording from
1322 live sources (see #330996).
1324 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
1326 * tests/check/Makefile.am:
1327 * tests/check/libs/basesrc.c: (eos_event_counter),
1328 (basesrc_eos_events_pull), (basesrc_eos_events_push),
1329 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
1330 (gst_basesrc_suite), (main):
1331 ... and add some tests for the base source EOS stuff.
1333 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
1335 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
1336 Test case originally showed the problem fixed below,
1337 but was then amended. Add checks back at the place
1338 where they used to be.
1340 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
1342 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1343 (gst_base_src_init), (gst_base_src_loop),
1344 (gst_base_src_activate_push), (gst_base_src_activate_pull),
1345 (gst_base_src_change_state):
1346 * libs/gst/base/gstbasesrc.h:
1347 Don't unconditionally send EOS when going from PAUSED to
1348 READY state, esp. make sure we don't send two EOS events
1349 in some cases (e.g. one when reaching EOS and one when
1350 going from PAUSED to READY). Also, we don't want to send
1351 EOS events when operating in pull mode. However, we do
1352 want to send an EOS event when shutting down a live
1353 source explicitly, for example (fixes #330996).
1355 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
1357 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1358 Update src->read_position after a seek when not using mmap.
1359 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
1361 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
1367 Make things work with --disable-parse as they do with
1368 --disable-load-save - the symbols involved disappear, but the
1369 header is still installed and GST_DISABLE_PARSE is included via
1372 2006-02-20 Julien MOUTTE <julien@moutte.net>
1374 * libs/gst/base/gstbasetransform.c:
1375 (gst_base_transform_change_state): Fix a stupid bug. I was
1376 sure I compiled that.
1378 2006-02-20 Julien MOUTTE <julien@moutte.net>
1380 * gst/gstpad.c: (gst_pad_set_blocked_async):
1381 * gst/gstutils.c: (gst_pad_add_data_probe),
1382 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1383 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1384 (gst_pad_remove_buffer_probe): Make those function act on the
1385 ghostpad target when it's a ghostpad. (Closes #331727)
1387 2006-02-20 Julien MOUTTE <julien@moutte.net>
1389 * libs/gst/base/gstbasetransform.c:
1390 (gst_base_transform_change_state): Make basetransform reusable.
1393 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
1395 * docs/random/release:
1396 Move the current documentation of how to do a release to the top
1399 * gst/gstbin.c: (gst_bin_class_init),
1400 (gst_bin_handle_message_func):
1401 Allow multiple state-recalculation threads. (Closes #328873)
1403 2006-02-19 Julien MOUTTE <julien@moutte.net>
1405 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
1406 * gst/gstpad.c: (gst_pad_set_event_function),
1407 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1408 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
1409 2 strings. You can't use the STR_NULL macro on that.
1411 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
1413 * gst/gstpad.c: (gst_pad_set_event_function),
1414 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1415 (gst_pad_set_getcaps_function)
1416 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
1417 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
1418 So now, we can use --gst-debug-level=5 on Windows
1419 * win32/common/libgstcontroller.def:
1420 Added export of gst_controller_init
1421 * win32/vs6/libgstcontroller.dsp:
1422 Fixed Release post build configuration
1424 2006-02-17 Wim Taymans <wim@fluendo.com>
1426 * tests/check/gst/gstquery.c: (GST_START_TEST):
1427 Added another check.
1429 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
1431 * plugins/elements/gsttypefindelement.c: (find_peek):
1432 We can do peeks at non-zero offsets, as long as they
1433 fall within the buffer we have.
1435 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
1437 * tests/check/Makefile.am:
1438 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
1439 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
1440 (parse_suite), (main):
1441 Add testsuite for parse launch syntax
1443 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
1445 * plugins/elements/gsttypefindelement.c:
1446 (gst_type_find_element_chain):
1447 When typefinding is unsuccessful in the chain function, don't
1448 error out immediately. Only error out with NO_CAPS_FOUND if
1449 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
1450 otherwise simply wait for more data so we can try typefinding
1451 again with more data later. Also, don't attempt to typefind
1452 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
1453 this should improve typefinding from network sources where the
1454 size of the first buffer can be somewhat random.
1456 2006-02-14 Wim Taymans <wim@fluendo.com>
1458 * docs/gst/gstreamer-sections.txt:
1459 * gst/gstpadtemplate.c:
1460 * gst/gstpadtemplate.h:
1461 Fix padtemplate docs, fixes #328805.
1463 2006-02-14 Wim Taymans <wim@fluendo.com>
1465 * tools/gst-launch.c: (main):
1466 NO_PREROLL is not an ERROR so don't send confusing messages
1469 2006-02-14 Wim Taymans <wim@fluendo.com>
1471 Patch by: Torsten Schoenfeld
1473 * gst/gstregistry.c: (gst_registry_get_default),
1474 (_gst_registry_cleanup):
1475 Protect default registry with lock and ref/sink it.
1478 2006-02-14 Wim Taymans <wim@fluendo.com>
1481 * gst/gstquery.c: (gst_query_list_add_format),
1482 (gst_query_set_formatsv), (gst_query_parse_formats_length),
1483 (gst_query_parse_formats_nth):
1484 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1487 2006-02-14 Wim Taymans <wim@fluendo.com>
1489 * docs/gst/gstreamer-sections.txt:
1490 Reworked query docs.
1492 * gst/gstquery.c: (gst_query_new_formats),
1493 (gst_query_list_add_format), (gst_query_set_formats),
1494 (gst_query_set_formatsv), (gst_query_parse_formats_length),
1495 (gst_query_parse_formats_nth):
1497 Flesh out formats query, added some new methods.
1498 Fix part of #324398.
1500 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
1501 Added query creation tests.
1503 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
1505 * gst/gstpad.c: (fixate_value):
1506 Add a default fixation for fraction lists.
1508 2006-02-13 Wim Taymans <wim@fluendo.com>
1510 * gst/gsttask.c: (gst_task_init), (gst_task_func),
1511 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
1514 Detect and warn for obvious deadlocks. fixes #320340
1515 Fix error case where lock was not released.
1517 * tests/check/Makefile.am:
1518 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
1519 (task_func), (gst_element_suite), (main):
1522 2006-02-13 Wim Taymans <wim@fluendo.com>
1524 * docs/gst/gstreamer-sections.txt:
1526 Add new functions to docs.
1528 2006-02-13 Wim Taymans <wim@fluendo.com>
1530 * docs/design/part-TODO.txt:
1531 Updated TODO list, basesrc supports seeking to non-bytes
1534 * docs/design/part-element-sink.txt:
1537 * gst/gstbin.c: (bin_replace_message),
1538 (gst_bin_handle_message_func):
1539 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
1540 * gst/gstevent.c: (gst_event_finalize):
1541 * gst/gstpad.c: (gst_pad_event_default_dispatch),
1542 (gst_pad_send_event):
1543 Use shiny new _TYPE_NAME macros.
1545 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1546 Move debug statement up.
1548 * gst/gstelement.c: (gst_element_set_locked_state):
1551 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
1553 * docs/gst/gstreamer-sections.txt:
1556 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
1557 macros (#330906). Also, document the already existing
1558 GST_QUERY_TYPE macro.
1560 2006-02-13 Wim Taymans <wim@fluendo.com>
1562 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
1563 (event_probe), (GST_START_TEST):
1564 Only events up to the pipeline EOS are counted, there are
1565 some more when going to NULL currently which we don't care
1568 2006-02-13 Wim Taymans <wim@fluendo.com>
1570 * gst/gstpad.c: (gst_pad_send_event):
1571 Correctly check flushing and emit probes. fixes #330125
1573 2006-02-10 Andy Wingo <wingo@pobox.com>
1575 * gst/gstbus.c (gst_bus_class_init): Declare our private data
1577 (gst_bus_init): Cache the location of the private data in the
1579 (gst_bus_enable_sync_message_emission)
1580 (gst_bus_disable_sync_message_emission): Implement new public
1582 (gst_bus_post): Emit the sync-message signal if the user asked for
1585 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
1586 location of the bus-private structure.
1587 (gst_bus_enable_sync_message_emission)
1588 (gst_bus_disable_sync_message_emission): API addition
1590 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
1592 Patch by: Vincent Torri
1594 * docs/pwg/building-boiler.xml:
1595 PWG patch from #326800
1597 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
1601 * docs/design/Makefile.am:
1604 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
1609 === release 0.10.3 ===
1611 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
1614 releasing 0.10.3, "Like a virgin"
1616 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
1619 2nd prerelease of 0.10.3
1620 Bump libtool versioning.
1622 2006-02-07 Andy Wingo <wingo@pobox.com>
1624 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
1625 update last_stop if we're in TIME format and the timestamp is
1628 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
1629 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
1630 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
1631 If we get a new newsegment with a different format, adapt
1634 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
1635 of 0. Not a problem, really.
1637 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
1640 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
1645 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
1648 project files updated to the default vs7 configuration
1649 * win32/common/libgstbase.def:
1650 * win32/common/libgstreamer.def:
1652 removed empty lines,
1653 sorted all exported symbols alphabetically
1654 * win32/common/dirent.c:
1655 * win32/common/dirent.h:
1656 * win32/common/gchar.h:
1657 use windows line end.
1659 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
1661 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1662 Send EOS event when stopping.
1664 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
1667 Tell folks what to do if the plugin-foobar.xml file
1668 hasn't been generated for a newly-added plugin.
1670 2006-02-05 Julien MOUTTE <julien@moutte.net>
1672 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1673 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1674 (gst_collect_pads_start), (gst_collect_pads_stop),
1675 (gst_collect_pads_event): Collectpads now holds a reference
1676 to the GstPad that was added. Indeed we don't want to look
1677 at pads that might just go away with no warning...
1679 2006-02-05 Julien MOUTTE <julien@moutte.net>
1681 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1682 (gst_collect_pads_start), (gst_collect_pads_stop),
1683 (gst_collect_pads_event), (gst_collect_pads_chain):
1684 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
1685 Mark Nauwelaerts's patch on bug #328491.
1687 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
1689 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
1691 Add some simple tests for gst_parse_bin_from_description() and
1692 gst_bin_find_unconnected_pad() (#329069).
1694 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
1696 * tools/gst-launch.c: (event_loop), (main):
1697 Catch errors during preroll (#320084).
1699 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
1701 * plugins/elements/gsttypefindelement.c:
1702 (gst_type_find_element_activate):
1703 Post TYPE_NOT_FOUND error message when typefinding
1704 is unsuccessful in the activate function as well.
1706 2006-02-02 Wim Taymans <wim@fluendo.com>
1708 * docs/design/part-element-sink.txt:
1711 2006-02-02 Wim Taymans <wim@fluendo.com>
1713 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1714 (gst_base_sink_render_object),
1715 (gst_base_sink_queue_object_unlocked):
1716 Only keep track of prerollable items when we are
1718 Before rendering after preroll, always check if we
1720 Added some more debugging.
1722 2006-02-02 Wim Taymans <wim@fluendo.com>
1724 * gst/gstelement.c: (gst_element_continue_state),
1725 (gst_element_set_state_func), (gst_element_change_state):
1726 Fixed #326576, been running this for quite some time with
1727 no regressions at all.
1729 2006-02-02 Wim Taymans <wim@fluendo.com>
1732 Added more suppressions
1734 2006-02-02 Wim Taymans <wim@fluendo.com>
1736 * docs/design/part-element-sink.txt:
1739 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1740 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
1741 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
1742 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1743 (gst_base_sink_do_sync), (gst_base_sink_render_object),
1744 (gst_base_sink_preroll_object),
1745 (gst_base_sink_queue_object_unlocked),
1746 (gst_base_sink_queue_object), (gst_base_sink_event),
1747 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
1748 (gst_base_sink_loop), (gst_base_sink_activate_pull),
1749 (gst_base_sink_get_position), (gst_base_sink_change_state):
1750 * libs/gst/base/gstbasesink.h:
1751 Totally refactored matching the design doc.
1752 Use two segments, one to clip incomming buffers and another to
1754 Handle queueing correctly, bypass the queue when playing.
1755 Make EOS cancelable.
1756 Handle errors correctly when operating in pull based mode.
1758 * tests/check/elements/fakesink.c: (GST_START_TEST),
1760 Added new check for sinks.
1762 2006-02-02 Wim Taymans <wim@fluendo.com>
1764 * gst/gstsegment.c: (gst_segment_clip):
1765 No reason to refuse to clip when start == -1
1767 2006-02-02 Stefan Kost <ensonic@users.sf.net>
1770 * docs/manual/intro-basics.xml:
1771 * docs/manual/intro-preface.xml:
1772 * docs/manual/manual.xml:
1773 * docs/pwg/advanced-dparams.xml:
1774 * docs/pwg/intro-basics.xml:
1775 * docs/pwg/intro-preface.xml:
1777 describe dparams (controller) for plugins
1778 unify docs a little more
1780 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
1782 * docs/gst/gstreamer-sections.txt:
1783 * gst/gstutils.c: (element_find_unconnected_pad),
1784 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
1786 Add new API: gst_parse_bin_from_description() and
1787 gst_bin_find_unconnected_pad() (#329069).
1789 2006-02-01 Stefan Kost <ensonic@users.sf.net>
1791 * docs/manual/README:
1792 uncover a nasty detail of the docs build
1794 2006-01-31 Wim Taymans <wim@fluendo.com>
1796 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
1797 Don't cache duration messages if we're not going to use or
1800 2006-01-31 Stefan Kost <ensonic@users.sf.net>
1802 * docs/manual/advanced-dparams.xml:
1803 * docs/pwg/advanced-dparams.xml:
1807 * libs/gst/controller/lib.c: (gst_controller_init):
1810 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
1812 * gst/gstelement.c: (gst_element_message_full):
1813 also show file/line/func if no additional debug was given
1815 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
1817 * win32/vs7/grammar.vcproj:
1818 activate copy of autogenerated files for Release mode
1820 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
1822 * win32/common/libgstreamer.def:
1823 export gst_value_compare
1825 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
1827 * plugins/elements/Makefile.am:
1828 * plugins/elements/gstelements.c:
1829 * plugins/elements/gstfdsink.c: (_do_init),
1830 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
1831 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
1832 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
1833 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
1834 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
1835 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
1836 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
1837 * plugins/elements/gstfdsink.h:
1838 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
1840 2006-01-30 Stefan Kost <ensonic@users.sf.net>
1842 * docs/manual/advanced-dparams.xml:
1844 * docs/manual/advanced-position.xml:
1845 * docs/manual/basics-init.xml:
1846 * docs/manual/manual.xml:
1847 * docs/manual/titlepage.xml:
1849 * docs/pwg/titlepage.xml:
1850 cleanup xml (more to come)
1851 * libs/gst/controller/gstcontroller.c:
1854 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
1856 * win32/vs6/grammar.dsp:
1857 add autogen of gstmarshal.c,h for Release mode
1859 2006-01-30 Wim Taymans <wim@fluendo.com>
1861 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1862 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
1863 (gst_base_sink_handle_object), (gst_base_sink_event),
1864 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
1865 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1866 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
1867 (gst_base_sink_deactivate), (gst_base_sink_activate),
1868 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1869 (gst_base_sink_query), (gst_base_sink_change_state):
1870 Basesink cleanups, remove some old code.
1871 Handle the case where a subclass can preroll in the render
1872 method (mostly audiosinks).
1874 Remove some locks around variables that are now protected
1875 with the PREROLL_LOCK (clock_id, flushing, ..).
1876 Optimize position query some more, do correct locking.
1877 Remove old code to push queue in state change, this is not
1878 needed anymore since preroll blocks on all prerollable items
1880 Almost implemented as described in design doc.
1882 2006-01-30 Wim Taymans <wim@fluendo.com>
1884 * tests/check/gst/gstbin.c: (GST_START_TEST):
1885 Wait for refcount to settle down before checking.
1887 2006-01-30 Wim Taymans <wim@fluendo.com>
1889 * docs/design/part-element-sink.txt:
1890 Pseudo code overview of desired sink behaviour regarding
1893 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
1894 * win32/vs6/grammar.dsp:
1895 fix some bugs in Release mode for autogenerated files
1897 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
1898 * win32/common/libgstbase.def:
1899 * win32/common/libgstreamer.def:
1900 export some new symbols: gst_base_src_set_format,
1901 gst_iterator_next, gst_structure_set_valist
1903 2006-01-29 Julien MOUTTE <julien@moutte.net>
1905 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1906 Set pad functions unconditionally. Fixes #329105.
1908 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
1910 add vs8 project files created by Sergey Scobich
1912 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
1914 * gst/gstutils.c: (gst_element_unlink_pads):
1915 Don't leak pad references.
1917 * tests/check/elements/fakesink.c: (GST_START_TEST):
1918 * tests/check/generic/sinks.c: (GST_START_TEST):
1919 * tests/check/generic/states.c: (GST_START_TEST):
1920 * tests/check/gst/gstbin.c: (GST_START_TEST):
1921 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1922 * tests/check/gst/gstelement.c: (GST_START_TEST):
1923 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1924 * tests/check/gst/gstiterator.c: (GST_START_TEST):
1925 * tests/check/gst/gstvalue.c: (GST_START_TEST):
1926 Fix a bunch of leaks. Make generic/sinks.c
1927 use a bit less cpu by slowing the buffer rate
1928 between fakesrc and fakesink.
1930 2006-01-27 Stefan Kost <ensonic@users.sf.net>
1932 * gst/gstelement.c: (gst_element_send_event):
1935 * gst/gstiterator.c:
1936 * gst/gstiterator.h:
1937 * gst/gstpad.c: (gst_pad_send_event):
1938 * gst/gststructure.c:
1942 * libs/gst/base/gstadapter.c:
1943 doc fixes, to link to function, just write gst_cool_function(), don't
1946 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
1948 * plugins/elements/gsttee.c: (gst_tee_do_push),
1949 (gst_tee_handle_buffer):
1950 Always prefer an actual return value from a src
1951 pad in place of NOT_LINKED. This means we return
1952 WRONG_STATE when all src pads are WRONG_STATE
1953 instead of NOT_LINKED.
1955 Lock when replacing the last message to prevent
1956 racing with the get_property method.
1960 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
1962 * tests/check/Makefile.am:
1963 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
1965 Add a very simple check that should have caught the memleak I fixed
1966 last night (if not for the slice allocator hiding it)
1968 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
1970 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1971 (gst_bin_remove_func), (gst_bin_handle_message_func),
1972 (bin_query_duration_fold), (bin_query_generic_fold):
1973 Clean up references to the clock provider when disposed or when
1974 handling a clock-lost message from it.
1976 Unref sinks when performing a query via gst_iterator_fold, as the
1977 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
1979 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
1980 (gst_clock_set_master):
1981 Drop our reference to the master clock, if any, when we are disposed.
1983 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
1984 Chain up in dispose.
1986 2006-01-26 Wim Taymans <wim@fluendo.com>
1988 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1991 2006-01-26 Julien MOUTTE <julien@moutte.net>
1993 * plugins/elements/gsttee.c: (gst_tee_do_push),
1994 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
1995 handles pad being NOT_LINKED or in WRONG_STATE.
1997 2006-01-26 Stefan Kost <ensonic@users.sf.net>
2002 2006-01-26 Stefan Kost <ensonic@users.sf.net>
2005 remove obsolete entry
2007 2006-01-26 Stefan Kost <ensonic@users.sf.net>
2009 * docs/gst/gstreamer-sections.txt:
2010 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
2011 (gst_bin_iterate_sources), (gst_bin_send_event):
2013 * gst/gstelement.c: (gst_element_send_event):
2015 * gst/gstpad.c: (gst_pad_send_event):
2016 added code for downstream events, reviewed docs in gstevent.c
2018 2006-01-25 Julien MOUTTE <julien@moutte.net>
2020 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2021 We only query position using the clock in the playing state.
2022 Query peer in the other cases.
2023 * win32/common/config.h: Updates.
2025 2006-01-24 Wim Taymans <wim@fluendo.com>
2027 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2028 A clock entry that is scheduled for the exact time of the
2029 clock is still in time.
2031 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2032 (gst_base_sink_do_sync):
2033 Add some more debug info.
2035 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
2038 Add new vs7 project files and solution.
2040 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
2043 all files removed as they were out-dated.
2045 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
2047 * docs/random/release:
2049 * gst/gstbin.c: (gst_bin_init):
2050 * gst/gstbus.c: (gst_bus_new):
2052 * gst/gstpipeline.c: (gst_pipeline_init):
2053 use gst_bus_new(), improve logging, fix docs
2054 * win32/common/config.h:
2055 update for cvs build
2057 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
2060 up required version of automake to 1.7
2062 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
2064 * win32/common/libgstreamer.def:
2065 export gst_buffer_is_metadata_writable
2067 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
2069 * docs/gst/gstreamer-sections.txt:
2071 Add gst_event_replace() (#327001)
2073 2006-01-20 Wim Taymans <wim@fluendo.com>
2075 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2076 Make it actually compile too..
2078 2006-01-20 Wim Taymans <wim@fluendo.com>
2081 Clarify behaviour of _is_equal() when passing NULL parameters.
2083 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2085 Cleanups. Don't unref NULL caps.
2086 When setting the same caps, protect caps of the pad with
2088 Use full functionality of _is_equal() when comparing caps.
2090 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
2092 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2093 Don't loop infinitely if there are no buffers to present. Partially
2094 fixes #327197, but collectpads is just broken for reusing elements
2095 to do multiple encodes atm.
2097 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
2099 * tools/gst-inspect.c: (print_element_features):
2100 * tools/gst-xmlinspect.c: (main):
2101 URL_HANDLER is not a plugin feature we can search for in
2104 2006-01-19 Edward Hervey <edward@fluendo.com>
2106 * gst/gstelement.c: (gst_element_pads_activate):
2107 When activating, do src pads first, then sink pads.
2108 When de-activating, do sink pads first, then src pads.
2110 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
2112 * docs/gst/gstreamer-sections.txt:
2113 Add gst_index_add_associationv to the docs
2115 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
2120 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
2121 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
2122 Do some refactoring. Doesn't actually change functionality,
2123 but makes landing the DRAIN event easier later.
2125 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
2127 * docs/pwg/advanced-scheduling.xml:
2128 Update from 0.9.x to 0.10 API and make example a bit
2131 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
2133 * docs/gst/gstreamer-sections.txt:
2134 Add gst_buffer_(is|make)_metadata_writable methods.
2136 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
2138 * docs/design/part-sparsestreams.txt:
2139 Update sparse streams doc, hopefully for greater clarity
2141 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
2143 * docs/design/part-events.txt:
2144 Remove mention of FILLER events.
2147 * docs/design/part-sparsestreams.txt:
2148 Write some things about using NEWSEGMENT to keep sparse streams
2151 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
2153 * gst/gstbin.c: (gst_bin_dispose):
2154 Guard gst_object_unref call against a NULL object (dispose
2155 can theoretically be called multiple times).
2157 2006-01-18 Wim Taymans <wim@fluendo.com>
2159 * gst/gstbin.c: (gst_bin_element_set_state):
2160 * gst/gstclock.c: (gst_clock_id_wait):
2161 Added some more debug info.
2163 * libs/gst/base/gstadapter.c:
2166 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2167 (gst_base_sink_do_sync), (gst_base_sink_chain):
2168 Added some comments.
2170 2006-01-18 Wim Taymans <wim@fluendo.com>
2172 * tests/check/Makefile.am:
2173 * tests/check/elements/fakesink.c: (chain_async_buffer),
2174 (chain_async), (chain_async_return), (GST_START_TEST),
2175 (fakesink_suite), (main):
2176 Added fakesink test that checks prerolling and clipping
2179 * tests/check/gst/gstutils.c: (GST_START_TEST):
2180 Make check run faster so that buildbots don't timeout.
2182 2006-01-18 Wim Taymans <wim@fluendo.com>
2184 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2185 (gst_base_sink_do_sync):
2187 When the sink finishes blocking on the preroll buffer, it can
2188 immediatly render it instead of rendering when the next buffer
2191 2006-01-18 Wim Taymans <wim@fluendo.com>
2193 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
2194 (gst_base_sink_get_property), (gst_base_sink_do_sync),
2195 (gst_base_sink_chain):
2197 GST_ELEMENT_CLOCK and sync are protected with LOCK.
2198 Don't store _last_stop if the buffer is dropped.
2200 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
2202 * plugins/elements/gsttypefindelement.c:
2203 (gst_type_find_element_class_init):
2204 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
2205 object method handler that sets the caps on the pad and we want
2206 that to happen before we emit the signal (fixes e.g. feeding a
2207 plain text file to decodebin).
2209 2006-01-18 Christian Schaller <Christian@fluendo.com>
2211 * gst/gstplugin.c: Add MPL and Proprietary as license options
2213 2006-01-18 Andy Wingo <wingo@pobox.com>
2215 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
2216 symbol was exported before, it appears this was just an oversight.
2218 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
2220 * gst/gstindex.c (gst_index_add_associationv): Changed int in
2221 prototype to gint. OK since this prototype was not in the header.
2223 2006-01-17 Andy Wingo <wingo@pobox.com>
2225 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
2226 registry while we remove plugins.
2228 * tools/gst-inspect.c (print_element_info): Don't unref the
2229 factory arg, that should be the responsibility of whatever code
2230 received the ref. Fixes a double-free when called from
2231 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
2232 (main): Unref the factory if we have one.
2233 (print_element_list): No change -- relies on the
2234 plugin_feature_list_free to free the list of features.
2236 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
2238 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2239 (gst_buffer_make_metadata_writable):
2241 * libs/gst/base/gstbasetransform.c:
2242 (gst_base_transform_prepare_output_buf):
2243 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2244 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2245 Replace gst_buffer_(make|is)_metadata_writable patch now
2246 that the release is out.
2248 2006-01-17 Andy Wingo <wingo@pobox.com>
2250 * gst/gstregistry.c: Reflow design comment. Update so as to speak
2251 in the present tense without reference to versions.
2253 * gst/gstregistry.c (gst_registry_add_plugin)
2254 (gst_registry_remove_plugin, gst_registry_remove_feature)
2255 (gst_registry_find_feature, gst_registry_get_feature_list)
2256 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
2257 (gst_registry_lookup, gst_registry_scan_path)
2258 (_gst_registry_remove_cache_plugins)
2259 (gst_registry_get_feature_list_by_plugin): Add argument
2262 === release 0.10.2 ===
2264 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
2267 releasing 0.10.2, "If man is five"
2269 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
2273 * libs/gst/base/gstbasetransform.c:
2274 (gst_base_transform_prepare_output_buf):
2275 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2276 * tests/check/gst/gstbuffer.c: (gst_test_suite):
2277 Back out patch until after the release.
2279 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
2281 * gst/gstminiobject.c:
2282 Spelling fix in docs.
2283 * ChangeLog - remove conflict indicator
2285 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
2287 Reviewed By: Andy Wingo
2289 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
2290 (gst_buffer_make_metadata_writable):
2292 Add gst_buffer_(is|make)_metadata_writable as analogues of
2293 gst_buffer_(is|make)_writable.
2295 * libs/gst/base/gstbasetransform.c:
2296 (gst_base_transform_prepare_output_buf):
2297 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2298 Use name gst_buffer_(is|make)_metadata_writable functions.
2300 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2301 Test gst_buffer_(is|make)_metadata_writable
2305 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
2307 * docs/manual/Makefile.am:
2308 don't do parallel make
2311 * win32/common/config.h.in:
2312 add generations for HOST_CPU and GST_MAJORMINOR
2313 * win32/common/config.h:
2314 commit generated result
2316 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
2318 * docs/manual/appendix-integration.xml:
2319 Update GNOME integration section to use gst_init_get_option_group()
2320 instead of the old popt stuff (#322911). Also, GNOME applications
2321 should now use gconf*sink and gconf*src instead of the old gconf
2324 2006-01-13 Stefan Kost <ensonic@users.sf.net>
2327 * docs/gst/gstreamer-docs.sgml:
2328 * docs/gst/gstreamer-sections.txt:
2329 * docs/libs/gstreamer-libs-sections.txt:
2330 add new API entries to the docs
2331 * libs/gst/controller/Makefile.am:
2332 * libs/gst/controller/gstcontroller.c:
2333 * libs/gst/controller/gstcontroller.h:
2334 * libs/gst/controller/gstcontrollerprivate.h:
2335 * libs/gst/controller/gsthelper.c:
2336 * libs/gst/controller/gstinterpolation.c:
2337 move private structs to private header
2339 gstreamer-0.7 -> gstreamer-0.10
2340 * tests/check/libs/struct_i386.h:
2341 remove private structs
2343 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
2345 * plugins/indexers/Makefile.am:
2346 Fixes as part of #317048
2348 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
2350 * plugins/indexers/Makefile.am:
2351 fix #316086 - compilation when mmap is missing
2353 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
2355 * libs/gst/base/gstbasesink.c:
2356 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
2357 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
2358 * win32/common/config.h:
2359 added some defines GST_MAJORMINOR and HOST_CPU
2360 * win32/common/libgstbase.def:
2361 * win32/common/libgstreamer.def:
2362 added some exported functions.
2364 2006-01-12 Stefan Kost <ensonic@users.sf.net>
2366 * libs/gst/controller/gstcontroller.c:
2367 (gst_controlled_property_set_interpolation_mode),
2368 (gst_controlled_property_new):
2369 * libs/gst/controller/gstcontroller.h:
2370 * libs/gst/controller/gstinterpolation.c:
2371 (interpolate_none_get_string_value_array):
2372 make G_TYPE_STRING controlable
2374 2006-01-12 Stefan Kost <ensonic@users.sf.net>
2377 * tools/gst-feedback.1.in:
2378 * tools/gst-inspect.1.in:
2379 * tools/gst-launch.1.in:
2380 * tools/gst-md5sum.1.in:
2381 * tools/gst-typefind.1.in:
2382 * tools/gst-xmlinspect.1.in:
2383 * tools/gst-xmllaunch.1.in:
2384 cleanup man-pages, remove reference to gst-register, document env-vars
2386 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
2388 * gst/gstbuffer.c: (gst_buffer_span):
2389 gst_buffer_span should copy the timestamp of the first buffer
2390 if they were both originally overlapping subbuffers of the
2391 same parent, using the same logic as the 'slow copy' case.
2393 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
2395 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
2396 Need to awaken ALL the pads when we pop a buffer, otherwise
2397 collectpads only works when there is 2 input streams.
2399 2006-01-11 Stefan Kost <ensonic@users.sf.net>
2401 * docs/random/ensonic/media-device-daemon.txt:
2404 fix doc example, add clarification
2405 * tools/gst-launch.1.in:
2406 add initial info about GST_PLUGIN_PATH, needs more work
2408 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
2410 * docs/manual/basics-bins.xml:
2411 * docs/manual/basics-elements.xml:
2412 * docs/manual/intro-basics.xml:
2413 Some more minor docs additions and updates.
2415 2006-01-11 Wim Taymans <wim@fluendo.com>
2417 * docs/manual/basics-bins.xml:
2418 * docs/manual/basics-elements.xml:
2419 Some small fixes as pointed out by Ser-ver on IRC.
2421 2006-01-10 Edward Hervey <edward@fluendo.com>
2423 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2424 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
2425 the single-segment mode.
2427 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
2429 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2431 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
2432 (gst_base_src_perform_seek), (gst_base_src_send_event),
2433 (gst_base_src_set_property), (gst_base_src_get_property),
2434 (gst_base_src_loop), (gst_base_src_start),
2435 (gst_base_src_activate_push):
2436 * libs/gst/base/gstbasesrc.h:
2437 Name (private) union; makes Sun's Forte compiler happy (#324900).
2439 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
2442 gst-register is gone.
2444 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
2446 * gst/gstvalue.c: (_gst_value_initialize):
2447 make the G_TYPE_DATE instantiation work if debug is disabled
2449 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
2451 * gst/gstmessage.c: (gst_message_parse_tag),
2452 (gst_message_parse_error), (gst_message_parse_warning):
2453 Don't crash when return location for error/warning debug
2454 string is NULL; add fact that return locations can be
2455 NULL to docs where appropriate.
2457 2006-01-05 Wim Taymans <wim@fluendo.com>
2459 * gst/gstplugin.c: (gst_plugin_load_file):
2460 Replace strdup by g_strdup.
2462 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
2464 * docs/pwg/advanced-types.xml:
2467 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
2469 submitted by: Abel Cheung
2473 Added Chinese (traditional) translation
2475 2006-01-04 Wim Taymans <wim@fluendo.com>
2477 * docs/manual/basics-pads.xml:
2478 * docs/plugins/Makefile.am:
2479 * docs/plugins/gstreamer-plugins-docs.sgml:
2480 * docs/plugins/gstreamer-plugins-sections.txt:
2481 * docs/pwg/advanced-clock.xml:
2482 * docs/pwg/advanced-scheduling.xml:
2483 * docs/pwg/advanced-types.xml:
2484 * plugins/elements/gstfdsink.c:
2485 * plugins/elements/gstfdsrc.c:
2486 * plugins/elements/gstfdsrc.h:
2487 * plugins/elements/gstidentity.c: (gst_identity_class_init):
2488 * plugins/elements/gstidentity.h:
2489 * plugins/elements/gstqueue.h:
2490 * plugins/elements/gsttee.c:
2491 * plugins/elements/gsttee.h:
2492 * plugins/elements/gsttypefindelement.c:
2493 (gst_type_find_element_class_init):
2494 * plugins/elements/gsttypefindelement.h:
2495 Small updates to various docs.
2496 Added core plugins to docs.
2498 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
2501 add a suppression for liboil's uninitialized variable
2503 2006-01-02 James Livingston <jrl at ids dot org dot au>
2505 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2508 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
2509 macro, so that gcc doesn't complain if the -Wmissing-prototypes
2510 compiler switch is being used (#325429).
2512 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
2514 * gst/gstbin.c: (gst_bin_query):
2515 Disable duration query caching in bins until it gets
2516 fixed (see #324807).
2518 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
2520 * tools/gst-inspect.c: (print_element_properties_info):
2521 Handle properties of POINTER and BOXED type.
2523 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
2525 * gst/gst.c: (init_post):
2526 Init tags stuff and some other things before loading
2527 any static plugins (there may be other static plugins
2528 than just the GStreamer ones, and they may want to
2529 register their own tags or formats or whatever, and
2530 preferably without segfaulting).
2532 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2533 Print at least a warning in the debug logs if we drop a
2534 query just because we don't know how to adjust the value
2535 in the particular format.
2537 2005-12-24 David Schleef <ds@schleef.org>
2539 * tools/gstreamer-completion:
2540 Replacement for gst-complete written in sh and sed. Only
2541 completes names of features, but that's 90% of what I want
2542 it for. Properties are not available in registry.xml. (Maybe
2545 === release 0.10.1 ===
2547 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
2550 releasing 0.10.1, "Nollaig chridheil"
2552 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
2555 Add missing quote, should be make ERROR_CFLAGS="".
2557 2005-12-20 Wim Taymans <wim@fluendo.com>
2559 * docs/design/part-trickmodes.txt:
2560 More documentation on trickmodes.
2562 2005-12-20 Edward Hervey <edward@fluendo.com>
2564 * gst/gstcaps.c: (gst_static_caps_get_type):
2566 API addition: GST_TYPE_STATIC_CAPS
2567 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
2568 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
2569 * gst/gstpadtemplate.h:
2570 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
2571 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
2574 2005-12-18 Wim Taymans <wim@fluendo.com>
2576 * libs/gst/base/gstadapter.c:
2577 * libs/gst/base/gstadapter.h:
2578 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2579 (gst_base_sink_get_position):
2580 * libs/gst/base/gstbasesink.h:
2581 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2582 (gst_base_src_default_query), (gst_base_src_default_do_seek),
2583 (gst_base_src_do_seek), (gst_base_src_perform_seek),
2584 (gst_base_src_send_event), (gst_base_src_update_length),
2585 (gst_base_src_get_range), (gst_base_src_loop),
2586 (gst_base_src_start):
2587 * libs/gst/base/gstbasesrc.h:
2588 * libs/gst/base/gstbasetransform.h:
2589 * libs/gst/base/gstcollectpads.h:
2590 * libs/gst/base/gstpushsrc.c:
2591 * libs/gst/base/gstpushsrc.h:
2592 * libs/gst/dataprotocol/dataprotocol.c:
2593 * libs/gst/dataprotocol/dataprotocol.h:
2594 * libs/gst/net/gstnetclientclock.h:
2595 * libs/gst/net/gstnettimeprovider.h:
2596 Documentation updates.
2598 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
2600 * docs/manual/basics-helloworld.xml:
2601 Remove superfluous closing bracket in helloworld example.
2603 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
2605 * tools/gst-launch.1.in:
2606 Update gst-launch man page; add a section with useful
2607 environment variables. Fixes #323882.
2609 2005-12-16 Stefan Kost <ensonic@users.sf.net>
2612 * gst/gst_private.h:
2613 change some char* into char[]
2615 2005-12-16 Wim Taymans <wim@fluendo.com>
2617 * gst/gstregistryxml.c: (load_feature):
2619 Don't use g_object_unref on GstObjects so that we avoid
2620 leaks on unsafe glibs.
2622 2005-12-16 Wim Taymans <wim@fluendo.com>
2624 * gst/gstbin.c: (gst_bin_recalc_state):
2627 2005-12-16 Wim Taymans <wim@fluendo.com>
2630 Added make forever target for check.
2632 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
2634 * gst/gst.c: (init_post):
2635 make the registry cache file HOST_CPU-dependent
2637 2005-12-16 Andy Wingo <wingo@pobox.com>
2639 * plugins/elements/gstbufferstore.c
2640 (gst_buffer_store_cleared_func): Pay attention to g_list_append
2643 * tests/check/gst/gstobject.c
2644 (test_fake_object_name_threaded_unique): Pay attention to
2645 g_list_sort return value.
2647 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
2649 * tools/gst-feedback-m.m:
2650 Update for 0.9/0.10 (fixes #323870).
2652 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
2654 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
2655 Fix lcopy for mini objects, the mini object needs to be ref'ed.
2657 * tests/check/gst/gstminiobject.c: (my_foo_init),
2658 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
2659 (test_value_collection), (gst_mini_object_suite):
2660 Add test to ensure refcounts end up as expected when passing
2661 GstMiniObjects through g_object_get() and g_object_set().
2663 2005-12-14 Julien MOUTTE <julien@moutte.net>
2665 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2666 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
2667 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
2668 of collectpads. This version removes a lot of races without
2669 touching API/ABI. Yay !
2671 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
2673 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
2674 Don't allow activation of a srcpad in pull_range if it has no
2676 Change some debug statements to be a little clearer
2678 * plugins/elements/gsttypefindelement.c:
2679 (gst_type_find_handle_src_query):
2680 Check that we have a peer before executing queries thereupon.
2682 * tests/examples/metadata/read-metadata.c: (message_loop):
2683 Use gst_bus_pop instead of gst_bus_poll when we just want it to
2684 immediately return us any available message with 0 timeout.
2686 2005-12-12 Michael Smith <msmith@fluendo.com>
2688 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2689 Don't unref factories after calling them.
2690 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
2691 * plugins/elements/gsttypefindelement.c:
2692 (gst_type_find_element_chain):
2693 Free lists of factories after using them. Fixing typefinding memory
2696 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2698 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2699 (gst_plugin_feature_load):
2700 more meaningful debug output
2702 * tests/Makefile.am:
2703 * tests/old/examples/Makefile.am:
2704 make make distcheck happy again
2706 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
2708 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2709 Catch the special case where we are operating chain-based,
2710 but the downstream peer pad has no chain function. Emit a
2711 custom error message in this case instead of letting the
2712 core generate one implying that this is some sort of core
2713 bug. It's not, it just means that whatever got plugged
2714 into the pipeline downstream when we announced the type
2715 can only operate pull-based, while our source can only
2716 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
2717 Error string has not been marked for translation yet, as
2718 it probably needs some more work first.
2720 (gst_type_find_element_get_best_possibility):
2721 Add helper function to find the best of all available
2722 found possibilities that qualify given the min. threshold.
2724 (gst_type_find_element_handle_event):
2725 Fix the case where we get an EOS while still in TYPEFIND
2726 mode (we want to chose the best of all possible types,
2727 not just the first type that happens to be in our unsorted
2728 list of possible types).
2730 (gst_type_find_element_chain):
2731 Make sure we return GST_FLOW_ERROR when we errored out
2732 in stop_typefinding(); also, don't just find the best of
2733 all found type entries and then use the last examined
2734 type entry, but actually use the best entry.
2736 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
2738 * tests/examples/typefind/typefind.c: (type_found):
2739 * tests/examples/xml/runxml.c: (xml_loaded):
2740 More gcc4 fixes and a mem leak fix.
2742 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2744 * tests/examples/xml/createxml.c: (object_saved):
2747 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2749 * tests/Makefile.am:
2750 enable the examples even more
2752 2005-12-12 Andy Wingo <wingo@pobox.com>
2754 * libs/gst/net/gstnettimeprovider.c
2755 (gst_net_time_provider_class_init, gst_net_time_provider_init)
2756 (gst_net_time_provider_set_property)
2757 (gst_net_time_provider_get_property):
2758 API addition: Export "active" as a GObject property.
2759 (gst_net_time_provider_thread): Only respond to time queries if
2760 the time provider is active.
2762 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
2763 NetTimeProvider, preserving binary compat.
2765 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2767 * tests/examples/controller/audio-example.c: (main):
2768 * tests/examples/launch/Makefile.am:
2769 convert comments again
2771 2005-12-12 Wim Taymans <wim@fluendo.com>
2773 * libs/gst/base/gstpushsrc.c:
2776 2005-12-12 Wim Taymans <wim@fluendo.com>
2778 * docs/libs/gstreamer-libs-sections.txt:
2779 Added new symbol to docs.
2781 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2782 (gst_base_src_init), (gst_base_src_set_format),
2783 (gst_base_src_default_query), (gst_base_src_query),
2784 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
2785 (gst_base_src_perform_seek), (gst_base_src_send_event),
2786 (gst_base_src_default_event), (gst_base_src_event_handler),
2787 (gst_base_src_set_property), (gst_base_src_get_property),
2788 (gst_base_src_wait), (gst_base_src_do_sync),
2789 (gst_base_src_update_length), (gst_base_src_get_range),
2790 (gst_base_src_check_get_range), (gst_base_src_loop),
2791 (gst_base_src_default_negotiate), (gst_base_src_start),
2792 (gst_base_src_activate_push), (gst_base_src_activate_pull),
2793 (gst_base_src_change_state):
2794 * libs/gst/base/gstbasesrc.h:
2795 Implement seeking to other formats than _BYTES.
2796 Implement more seeking methods correctly.
2798 Added query vmethod.
2799 Added do_seek vmethod to make life easier for subclasses
2801 API addition: gst_base_src_set_format()
2803 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2805 * tests/examples/Makefile.am:
2808 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2811 * docs/random/ensonic/media-device-daemon.txt:
2812 * tests/examples/controller/.cvsignore:
2813 * tests/examples/controller/Makefile.am:
2814 * tests/examples/controller/audio-example.c: (main):
2815 * tests/examples/helloworld/.cvsignore:
2816 * tests/examples/helloworld/Makefile.am:
2817 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
2818 * tests/examples/launch/.cvsignore:
2819 * tests/examples/launch/Makefile.am:
2820 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
2821 * tests/examples/metadata/.cvsignore:
2822 * tests/examples/metadata/Makefile.am:
2823 * tests/examples/metadata/read-metadata.c: (message_loop),
2824 (make_pipeline), (print_tag), (main):
2825 * tests/examples/queue/.cvsignore:
2826 * tests/examples/queue/Makefile.am:
2827 * tests/examples/queue/queue.c: (event_loop), (main):
2828 * tests/examples/typefind/.cvsignore:
2829 * tests/examples/typefind/Makefile.am:
2830 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
2832 * tests/examples/xml/.cvsignore:
2833 * tests/examples/xml/Makefile.am:
2834 * tests/examples/xml/createxml.c: (object_saved), (main):
2835 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
2836 * tests/old/examples/Makefile.am:
2837 * tests/old/examples/TODO:
2838 * tests/old/examples/controller/.cvsignore:
2839 * tests/old/examples/controller/Makefile.am:
2840 * tests/old/examples/controller/audio-example.c:
2841 * tests/old/examples/helloworld/.cvsignore:
2842 * tests/old/examples/helloworld/Makefile.am:
2843 * tests/old/examples/helloworld/helloworld.c:
2844 * tests/old/examples/launch/.cvsignore:
2845 * tests/old/examples/launch/Makefile.am:
2846 * tests/old/examples/launch/mp3parselaunch.c:
2847 * tests/old/examples/launch/mp3play:
2848 * tests/old/examples/manual/Makefile.am:
2849 * tests/old/examples/metadata/Makefile.am:
2850 * tests/old/examples/metadata/read-metadata.c:
2851 * tests/old/examples/queue/.cvsignore:
2852 * tests/old/examples/queue/Makefile.am:
2853 * tests/old/examples/queue/queue.c:
2854 * tests/old/examples/typefind/.cvsignore:
2855 * tests/old/examples/typefind/Makefile.am:
2856 * tests/old/examples/typefind/typefind.c:
2857 * tests/old/examples/xml/.cvsignore:
2858 * tests/old/examples/xml/Makefile.am:
2859 * tests/old/examples/xml/createxml.c:
2860 * tests/old/examples/xml/runxml.c:
2861 applied some simple fixing to some examples
2862 re-enabled the working examples
2864 2005-12-12 Wim Taymans <wim@fluendo.com>
2866 * gst/gstsegment.c: (gst_segment_init),
2867 (gst_segment_set_last_stop), (gst_segment_set_seek),
2868 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2869 (gst_segment_to_running_time):
2870 Added more documentation.
2871 Make sure the last_pos value is updated properly.
2872 Make sure to_stream_time and to_running_time don't
2873 operate on wrong values.
2875 * tests/check/gst/gstsegment.c: (GST_START_TEST):
2878 2005-12-12 Michael Smith <msmith@fluendo.com>
2880 * plugins/elements/gsttypefindelement.c: (free_entry),
2881 (gst_type_find_element_chain):
2882 Now that we're not leaking factories, make sure we keep references
2883 to them while we need them.
2885 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
2887 * tests/check/gst/struct_i386.h:
2888 ifdef out the XML structs
2890 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
2892 * gst/gstvalue.c: (gst_value_transform_double_fraction):
2893 floor is not needed, F is always positive; this obviates the
2894 need for adding -lm when building without libxml
2896 2005-12-12 Wim Taymans <wim@fluendo.com>
2898 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2899 Take current playback rate into account when reporting
2902 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
2904 * docs/manual/mime-world.fig:
2905 Let's try this again, this time with a file that is
2906 actually in XFig format.
2908 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
2910 * docs/manual/mime-world.fig:
2911 Add audioconvert element to diagram so that it
2912 matches the text and the code (fixes #319526).
2914 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
2916 * docs/pwg/building-chainfn.xml:
2917 * docs/pwg/building-pads.xml:
2918 * docs/pwg/building-state.xml:
2919 * docs/pwg/other-source.xml:
2920 Update state change stuff for 0.10 (fixes #322969).
2922 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
2924 * docs/manual/advanced-dataaccess.xml:
2925 * docs/manual/appendix-checklist.xml:
2926 * docs/manual/appendix-programs.xml:
2927 * docs/manual/basics-pads.xml:
2928 * docs/manual/highlevel-components.xml:
2929 * docs/manual/manual.xml:
2930 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
2931 add converters in front of pipelines; remove curly
2932 brackets for threads stuff, they no longer exist; use
2933 GST_TYPE_FRACTION for framerates; update some pieces of
2934 code to 0.10, but there's plenty more to do.
2936 * docs/manual/appendix-porting.xml:
2937 Expand on asynchroneous state changes; s/0.9/0.10/;
2938 mention disappearance of gst_init_get_popt_table()
2941 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
2943 * docs/faq/using.xml:
2944 Spider no longer exists, and neither does gst-launch-ext.
2945 Update examples to use decodebin and playbin and put
2946 converters in front of sinks (fixes #323726).
2948 2005-12-09 Michael Smith <msmith@fluendo.com>
2950 * plugins/elements/gsttypefindelement.c: (find_peek),
2951 (gst_type_find_element_chain):
2952 Fix leaking element factories in typefinding.
2953 Fix problem where we forgot about a probable type on non-seekable
2954 files, and thus later mis-typefound it.
2956 2005-12-09 Michael Smith <msmith@fluendo.com>
2958 * common/m4/gst-makecontext.m4:
2959 * common/m4/gst-mcsc.m4:
2961 * win32/common/config.h:
2962 * win32/common/config.h.in:
2963 Remove makecontext stuff; not used in 0.10 and causes problems on
2964 HPUX according to bug #322441
2966 2005-12-07 Wim Taymans <wim@fluendo.com>
2968 * tests/check/Makefile.am:
2969 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
2971 * tests/check/libs/struct_i386.h:
2972 Added ABI check for libs
2974 2005-12-07 Wim Taymans <wim@fluendo.com>
2976 * tests/check/Makefile.am:
2977 And add the struct_i386.h to dist.
2979 2005-12-07 Wim Taymans <wim@fluendo.com>
2981 * tests/check/Makefile.am:
2982 * tests/check/gst/.cvsignore:
2983 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
2985 * tests/check/gst/struct_i386.h:
2986 Added check for ABI compatibility.
2988 2005-12-07 Wim Taymans <wim@fluendo.com>
2990 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2991 (gst_fake_src_get_times), (gst_fake_src_create):
2992 Fix broken sync option, fixes #323259
2994 2005-12-07 Wim Taymans <wim@fluendo.com>
2999 * gst/gstcaps.c: (gst_caps_is_equal):
3000 Don't assert on NULL <--> X. Fixes #323260
3002 * gst/gstminiobject.c: (gst_mini_object_replace):
3003 If we're doing atomic operations, we might just as well use
3004 the proper way to get an atomic pointer.
3006 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3009 2005-12-07 Michael Smith <msmith@fluendo.com>
3011 * gst/parse/grammar.y:
3012 Remove handling of { } for threads.
3014 2005-12-06 David Schleef <ds@schleef.org>
3016 * libs/gst/base/gstbasetransform.c: speling fix.
3018 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
3020 * docs/libs/tmpl/gstdataprotocol.sgml:
3021 * docs/random/omega/testing/gstobject.c:
3025 * gst/gstelementfactory.c:
3028 * gst/gstghostpad.c:
3030 * gst/gstpadtemplate.c:
3031 * gst/gstregistryxml.c:
3033 * gst/gsttagsetter.c:
3034 * gst/gsttypefind.c:
3036 * libs/gst/base/gstbasesrc.c:
3037 * libs/gst/net/gstnetclientclock.c:
3038 * libs/gst/net/gstnettimeprovider.c:
3039 * plugins/elements/gstfakesrc.c:
3040 * plugins/elements/gstfdsrc.c:
3041 * plugins/elements/gstfilesrc.c:
3042 * plugins/elements/gstidentity.c:
3043 * plugins/elements/gstqueue.c:
3044 * plugins/elements/gsttypefindelement.c:
3045 * plugins/indexers/gstfileindex.c:
3046 * plugins/indexers/gstmemindex.c:
3047 * tests/check/gst/gsttag.c:
3048 * tests/old/examples/cutter/cutter.c:
3049 * tests/old/examples/mixer/mixer.c:
3050 * tests/old/examples/xml/runxml.c: (main):
3051 * tests/old/testsuite/caps/normalisation.c:
3052 * tests/old/testsuite/debug/global.c:
3053 * tests/old/testsuite/parse/parse1.c:
3054 * tools/gst-xmlinspect.c:
3055 * win32/common/dirent.c:
3058 === release 0.10.0 ===
3060 2005-12-05 <thomas (at) apestaart (dot) org>
3063 releasing 0.10.0, "Maroilles"
3065 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
3067 submitted by: Funda Wang <fundawang@linux.net.cn>
3071 added Chinese (Traditional) translation
3073 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
3075 * docs/gst/gstreamer-sections.txt:
3076 * docs/libs/tmpl/gstdataprotocol.sgml:
3077 * docs/random/thomasvs/TODO:
3082 2005-12-05 Andy Wingo <wingo@pobox.com>
3084 patch by: Wim Taymans <wim@fluendo.com>
3086 * libs/gst/base/gstbasetransform.c
3087 (gst_base_transform_prepare_output_buf)
3088 (gst_base_transform_buffer_alloc):
3089 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
3090 alloc_buffer_and_set_caps.
3092 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
3093 set_caps on the source pad.
3094 (gst_pad_alloc_buffer_and_set_caps): New function, does what
3095 alloc_buffer used to do. Fixes #322874.
3097 * docs/gst/gstreamer-sections.txt:
3098 * docs/design/part-negotiation.txt:
3099 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
3102 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
3104 patch by: Sebastien Moutte
3107 * win32/common/config.h.in:
3108 * win32/vs6/libgstcontroller.dsp:
3111 2005-12-05 Wim Taymans <wim@fluendo.com>
3113 * gst/gstcaps.c: (gst_caps_is_equal):
3114 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3115 (gst_fake_src_create):
3116 Back out previous code changes, leave doc updates, file bugs
3119 2005-12-05 Wim Taymans <wim@fluendo.com>
3121 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3122 (gst_fake_src_get_times), (gst_fake_src_create):
3123 * plugins/elements/gstfakesrc.h:
3124 Fix broken sync code.
3126 2005-12-05 Wim Taymans <wim@fluendo.com>
3128 * gst/gstcaps.c: (gst_caps_is_equal):
3129 Comparing NULL against !NULL yields different caps, not a
3132 2005-12-05 Wim Taymans <wim@fluendo.com>
3134 * gst/gstpipeline.c:
3135 Fix small typo in docs.
3137 2005-12-05 Andy Wingo <wingo@pobox.com>
3139 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
3141 * gst/gst.c (init_post): remove hard-coded 0.9 location for
3142 registries/plugins with a MAJORMINOR one.
3143 (plugin_desc): Rename library from gstcoreleements to
3144 staticelements. Fixes #323222.
3146 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
3148 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
3149 Change debug category to 'collectpads' from 'collect_pads'
3152 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
3154 patch by: Sebastien Moutte
3156 * libs/gst/controller/gstinterpolation.c:
3157 use convert function for uint64/double
3158 * win32/vs6/libgstcontroller.dsp:
3161 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
3163 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
3164 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
3166 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3167 add tests that seem to show that the guint64/gdouble conversions
3170 2005-12-02 Wim Taymans <wim@fluendo.com>
3172 * gst/gstregistry.c: (gst_registry_add_path):
3173 * gst/gstregistry.h:
3174 * gst/gstregistryxml.c:
3177 2005-12-02 Wim Taymans <wim@fluendo.com>
3179 * gst/gstutils.c: (gst_util_uint64_scale_int64),
3180 (gst_util_uint64_scale_int):
3183 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3186 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
3189 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
3192 * win32/common/config.h:
3193 * win32/vs6/gstreamer.dsw:
3194 * win32/vs6/libgstcoreelements.dsp:
3195 * win32/vs6/libgstelements.dsp:
3196 renamed core elements plugin
3198 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
3200 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
3202 do piece-wise major/minor comparison so 0.9 < 0.10
3203 also allow .exe extensions for tools
3205 2005-12-02 Michael Smith <msmith@fluendo.com>
3208 Escape a % to make gtkdoc happier; bug 322958.
3210 === release 0.9.7 ===
3212 2005-12-01 <thomas (at) apestaart (dot) org>
3215 releasing 0.9.7, "My Dog Has No Nose"
3217 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3219 * common/gst-xmlinspect.py:
3221 * docs/libs/tmpl/gstdataprotocol.sgml:
3222 * docs/random/release:
3241 * win32/common/config.h:
3242 * win32/common/config.h.in:
3243 * win32/vs6/gst_inspect.dsp:
3244 * win32/vs6/gst_launch.dsp:
3245 * win32/vs6/libgstbase.dsp:
3246 * win32/vs6/libgstelements.dsp:
3247 * win32/vs6/libgstreamer.dsp:
3248 * win32/vs7/GStreamer.vcproj:
3249 * win32/vs7/gst-inspect.vcproj:
3250 * win32/vs7/gst-launch.vcproj:
3251 * win32/vs7/libgstbase.vcproj:
3252 bump GST_MAJORMINOR to 0.10
3253 reset libtool version
3255 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3259 Added Bulgarian translation by (Alexander Shopov)
3261 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3263 * tests/check/gst/gstplugin.c:
3266 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3268 * common/gst-xmlinspect.py:
3269 * common/gtk-doc-plugins.mak:
3272 * docs/gst/Makefile.am:
3273 * docs/gst/gstreamer-docs.sgml:
3274 * docs/gst/gstreamer-sections.txt:
3275 * docs/gst/gstreamer.types:
3276 * docs/gst/gstreamer.types.in:
3277 * docs/plugins/Makefile.am:
3278 * docs/plugins/gstreamer-plugins-docs.sgml:
3279 * docs/plugins/gstreamer-plugins-sections.txt:
3280 * docs/plugins/gstreamer-plugins.types:
3281 * docs/plugins/inspect.stamp:
3282 * docs/plugins/inspect/plugin-coreelements.xml:
3283 * docs/plugins/inspect/plugin-coreindexers.xml:
3284 * docs/plugins/scanobj-build.stamp:
3285 * gstreamer.spec.in:
3286 * plugins/elements/Makefile.am:
3287 * plugins/elements/gstelements.c:
3288 * plugins/elements/gstfakesink.c:
3289 * plugins/elements/gstfakesrc.c:
3290 * plugins/elements/gstfilesink.c:
3291 * plugins/elements/gstfilesrc.c:
3292 * plugins/elements/gstqueue.c:
3293 * plugins/indexers/Makefile.am:
3294 * plugins/indexers/gstindexers.c:
3295 document core plugins in a separate document just like all the
3297 rename these plugins to something starting with core
3299 2005-12-01 Andy Wingo <wingo@pobox.com>
3301 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
3302 padding here before, but it missed the commit.
3304 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
3306 * libs/gst/controller/gstinterpolation.c:
3307 whitespace prices have crashed, we should feel free to use some now
3308 use gst_guint64_to_gdouble
3310 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
3312 * libs/gst/controller/gstcontroller.c:
3313 * libs/gst/controller/gsthelper.c:
3314 * libs/gst/controller/gstinterpolation.c:
3315 * libs/gst/controller/lib.c:
3316 wrap config.h include
3318 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
3320 * docs/gst/gstreamer-sections.txt:
3323 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
3325 * plugins/elements/gstelements.c:
3326 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
3327 (gst_fd_sink__class_init), (gst_fd_sink__init),
3328 (gst_fd_sink__chain), (gst_fd_sink__set_property),
3329 (gst_fd_sink__get_property):
3330 * plugins/elements/gstfdsink.h:
3331 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
3332 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
3333 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
3334 (gst_fd_src_unlock), (gst_fd_src_set_property),
3335 (gst_fd_src_get_property), (gst_fd_src_create),
3336 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
3337 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
3338 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
3339 (gst_fd_src_uri_handler_init):
3340 * plugins/elements/gstfdsrc.h:
3341 * plugins/elements/gstqueue.c: (gst_queue_get_type):
3344 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3346 * docs/gst/Makefile.am:
3347 * docs/gst/gstreamer.types.in:
3351 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3357 * gst/gstregistry.h:
3358 * tests/benchmarks/complexity.c:
3359 * tests/benchmarks/mass-elements.c:
3360 * tests/check/Makefile.am:
3361 * tools/Makefile.am:
3362 * tools/gst-inspect.c:
3363 * tools/gst-xmlinspect.c:
3364 various fixes to make
3365 --disable-nls --disable-registry --disable-loadsave
3366 --disable-parse --disable-gst-debug
3367 work and get the core .so down to 360444 bytes after stripping
3369 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3374 * docs/random/thomasvs/TODO:
3375 * tests/Makefile.am:
3379 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3381 * win32/GStreamer.vcproj:
3384 * win32/Makefile.inspect:
3385 * win32/Makefile.launch:
3386 * win32/Makefile.register:
3388 * win32/gst-inspect.vcproj:
3389 * win32/gst-launch.vcproj:
3390 * win32/gst-register.vcproj:
3391 * win32/gstelements.vcproj:
3392 * win32/gstgetbits.def:
3393 * win32/gstgetbits.vcproj:
3394 * win32/gstreamer-dbg.def:
3395 * win32/gstreamer.def:
3396 * win32/libgstbase.def:
3397 * win32/libgstbase.vcproj:
3398 * win32/link_oldruntime.c:
3403 move even more stuff, win32/ is nice and clean now
3405 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3407 * libs/gst/control/.cvsignore:
3412 * win32/gstbytestream.def:
3413 * win32/gstbytestream.vcproj:
3414 * win32/gstconfig.h:
3415 * win32/gstenumtypes.c:
3416 * win32/gstenumtypes.h:
3417 * win32/gstoptimalscheduler.vcproj:
3418 * win32/gstversion.h:
3420 * win32/testsuite/bins.vcproj:
3421 * win32/testsuite/bytestream.vcproj:
3422 * win32/testsuite/caps.vcproj:
3423 * win32/testsuite/cleanup.vcproj:
3424 * win32/testsuite/clock.vcproj:
3425 * win32/testsuite/debug.vcproj:
3426 * win32/testsuite/dlopen.vcproj:
3427 * win32/testsuite/dynparams.vcproj:
3428 * win32/testsuite/elements.vcproj:
3429 * win32/testsuite/ghostpads.vcproj:
3430 * win32/testsuite/indexers.vcproj:
3431 * win32/testsuite/negotiation.vcproj:
3432 * win32/testsuite/parse.vcproj:
3433 * win32/testsuite/plugin.vcproj:
3434 * win32/testsuite/refcounting.vcproj:
3435 * win32/testsuite/schedulers.vcproj:
3436 * win32/testsuite/states.vcproj:
3437 * win32/testsuite/tags.vcproj:
3438 * win32/testsuite/threads.vcproj:
3439 remove old win32 stuff that isn't maintained and should be
3442 2005-11-30 Andy Wingo <wingo@pobox.com>
3444 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
3445 loading the gst.interfaces python module bork.
3447 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
3448 available since GLib 2.2. Fixes #318031.
3450 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3454 * check/Makefile.am:
3455 * check/elements/.cvsignore:
3456 * check/elements/fakesrc.c:
3457 * check/elements/fdsrc.c:
3458 * check/elements/identity.c:
3459 * check/generic/.cvsignore:
3460 * check/generic/states.c:
3461 * check/gst-libs/.cvsignore:
3462 * check/gst-libs/controller.c:
3463 * check/gst-libs/gdp.c:
3464 * check/gst/.cvsignore:
3465 * check/gst/capslist.h:
3467 * check/gst/gstbin.c:
3468 * check/gst/gstbuffer.c:
3469 * check/gst/gstbus.c:
3470 * check/gst/gstcaps.c:
3471 * check/gst/gstelement.c:
3472 * check/gst/gstevent.c:
3473 * check/gst/gstghostpad.c:
3474 * check/gst/gstiterator.c:
3475 * check/gst/gstmessage.c:
3476 * check/gst/gstminiobject.c:
3477 * check/gst/gstobject.c:
3478 * check/gst/gstpad.c:
3479 * check/gst/gstpipeline.c:
3480 * check/gst/gstplugin.c:
3481 * check/gst/gstsegment.c:
3482 * check/gst/gststructure.c:
3483 * check/gst/gstsystemclock.c:
3484 * check/gst/gsttag.c:
3485 * check/gst/gstutils.c:
3486 * check/gst/gstvalue.c:
3487 * check/net/.cvsignore:
3488 * check/net/gstnetclientclock.c:
3489 * check/net/gstnettimeprovider.c:
3490 * check/pipelines/.cvsignore:
3491 * check/pipelines/cleanup.c:
3492 * check/pipelines/simple_launch_lines.c:
3493 * check/pipelines/stress.c:
3494 * check/states/.cvsignore:
3495 * check/states/sinks.c:
3497 * examples/Makefile.am:
3498 * examples/appreader/.cvsignore:
3499 * examples/appreader/Makefile.am:
3500 * examples/appreader/appreader.c:
3501 * examples/controller/.cvsignore:
3502 * examples/controller/Makefile.am:
3503 * examples/controller/audio-example.c:
3504 * examples/cutter/.cvsignore:
3505 * examples/cutter/Makefile.am:
3506 * examples/cutter/cutter.c:
3507 * examples/cutter/cutter.h:
3508 * examples/events/Makefile.am:
3509 * examples/events/seek.c:
3510 * examples/helloworld/.cvsignore:
3511 * examples/helloworld/Makefile.am:
3512 * examples/helloworld/helloworld.c:
3513 * examples/helloworld2/.cvsignore:
3514 * examples/helloworld2/Makefile.am:
3515 * examples/helloworld2/helloworld2.c:
3516 * examples/launch/.cvsignore:
3517 * examples/launch/Makefile.am:
3518 * examples/launch/mp3parselaunch.c:
3519 * examples/launch/mp3play:
3520 * examples/manual/.cvsignore:
3521 * examples/manual/Makefile.am:
3522 * examples/manual/extract.pl:
3523 * examples/metadata/Makefile.am:
3524 * examples/metadata/read-metadata.c:
3525 * examples/mixer/.cvsignore:
3526 * examples/mixer/Makefile.am:
3527 * examples/mixer/mixer.c:
3528 * examples/mixer/mixer.h:
3529 * examples/pingpong/.cvsignore:
3530 * examples/pingpong/Makefile.am:
3531 * examples/pingpong/pingpong.c:
3532 * examples/plugins/.cvsignore:
3533 * examples/plugins/Makefile.am:
3534 * examples/plugins/example.c:
3535 * examples/plugins/example.h:
3536 * examples/pwg/.cvsignore:
3537 * examples/pwg/Makefile.am:
3538 * examples/pwg/extract.pl:
3539 * examples/queue/.cvsignore:
3540 * examples/queue/Makefile.am:
3541 * examples/queue/queue.c:
3542 * examples/queue2/.cvsignore:
3543 * examples/queue2/Makefile.am:
3544 * examples/queue2/queue2.c:
3545 * examples/queue3/.cvsignore:
3546 * examples/queue3/Makefile.am:
3547 * examples/queue3/queue3.c:
3548 * examples/queue4/.cvsignore:
3549 * examples/queue4/Makefile.am:
3550 * examples/queue4/queue4.c:
3551 * examples/retag/.cvsignore:
3552 * examples/retag/Makefile.am:
3553 * examples/retag/retag.c:
3554 * examples/retag/transcode.c:
3555 * examples/thread/.cvsignore:
3556 * examples/thread/Makefile.am:
3557 * examples/thread/thread.c:
3558 * examples/typefind/.cvsignore:
3559 * examples/typefind/Makefile.am:
3560 * examples/typefind/typefind.c:
3561 * examples/xml/.cvsignore:
3562 * examples/xml/Makefile.am:
3563 * examples/xml/createxml.c:
3564 * examples/xml/runxml.c:
3565 * tests/Makefile.am:
3566 * tests/check/Makefile.am:
3567 * testsuite/.cvsignore:
3568 * testsuite/Makefile.am:
3570 * testsuite/caps/.cvsignore:
3571 * testsuite/caps/Makefile.am:
3572 * testsuite/caps/app_fixate.c:
3573 * testsuite/caps/audioscale.c:
3574 * testsuite/caps/caps.c:
3575 * testsuite/caps/caps.h:
3576 * testsuite/caps/caps_strings:
3577 * testsuite/caps/compatibility.c:
3578 * testsuite/caps/deserialize.c:
3579 * testsuite/caps/enumcaps.c:
3580 * testsuite/caps/eratosthenes.c:
3581 * testsuite/caps/filtercaps.c:
3582 * testsuite/caps/fixed.c:
3583 * testsuite/caps/fraction-convert.c:
3584 * testsuite/caps/fraction-multiply-and-zero.c:
3585 * testsuite/caps/intersect2.c:
3586 * testsuite/caps/intersection.c:
3587 * testsuite/caps/normalisation.c:
3588 * testsuite/caps/random.c:
3589 * testsuite/caps/renegotiate.c:
3590 * testsuite/caps/sets.c:
3591 * testsuite/caps/simplify.c:
3592 * testsuite/caps/string-conversions.c:
3593 * testsuite/caps/structure.c:
3594 * testsuite/caps/subtract.c:
3595 * testsuite/caps/union.c:
3596 * testsuite/debug/.cvsignore:
3597 * testsuite/debug/Makefile.am:
3598 * testsuite/debug/category.c:
3599 * testsuite/debug/commandline.c:
3600 * testsuite/debug/global.c:
3601 * testsuite/debug/output.c:
3602 * testsuite/debug/printf_extension.c:
3603 * testsuite/dlopen/.cvsignore:
3604 * testsuite/dlopen/Makefile.am:
3605 * testsuite/dlopen/dlopen_gst.c:
3606 * testsuite/dlopen/loadgst.c:
3607 * testsuite/elements/.cvsignore:
3608 * testsuite/elements/Makefile.am:
3609 * testsuite/elements/gst-inspect-check.in:
3610 * testsuite/elements/struct_i386.h:
3611 * testsuite/elements/struct_size.c:
3612 * testsuite/indexers/.cvsignore:
3613 * testsuite/indexers/Makefile.am:
3614 * testsuite/indexers/cache1.c:
3615 * testsuite/indexers/indexdump.c:
3616 * testsuite/parse/.cvsignore:
3617 * testsuite/parse/Makefile.am:
3618 * testsuite/parse/parse1.c:
3619 * testsuite/parse/parse2.c:
3620 * testsuite/plugin/.cvsignore:
3621 * testsuite/plugin/Makefile.am:
3622 * testsuite/plugin/README:
3623 * testsuite/plugin/dynamic.c:
3624 * testsuite/plugin/linked.c:
3625 * testsuite/plugin/loading.c:
3626 * testsuite/plugin/registry.c:
3627 * testsuite/plugin/static.c:
3628 * testsuite/plugin/static2.c:
3629 * testsuite/plugin/testplugin.c:
3630 * testsuite/plugin/testplugin2.c:
3631 * testsuite/plugin/testplugin2_s.c:
3632 * testsuite/plugin/testplugin_s.c:
3633 * testsuite/refcounting/.cvsignore:
3634 * testsuite/refcounting/Makefile.am:
3635 * testsuite/refcounting/bin.c:
3636 * testsuite/refcounting/element.c:
3637 * testsuite/refcounting/element_pad.c:
3638 * testsuite/refcounting/mainloop.c:
3639 * testsuite/refcounting/mem.c:
3640 * testsuite/refcounting/mem.h:
3641 * testsuite/refcounting/object.c:
3642 * testsuite/refcounting/pad.c:
3643 * testsuite/refcounting/sched.c:
3644 * testsuite/refcounting/thread.c:
3645 * testsuite/states/.cvsignore:
3646 * testsuite/states/Makefile.am:
3647 * testsuite/states/bin.c:
3648 * testsuite/states/locked.c:
3649 * testsuite/states/parent.c:
3650 * testsuite/threads/.cvsignore:
3651 * testsuite/threads/159566.c:
3652 * testsuite/threads/159852.c:
3653 * testsuite/threads/Makefile.am:
3654 * testsuite/threads/queue.c:
3655 * testsuite/threads/signals.c:
3656 * testsuite/threads/staticrec.c:
3657 * testsuite/threads/thread.c:
3658 * testsuite/threads/threadb.c:
3659 * testsuite/threads/threadc.c:
3660 * testsuite/threads/threadd.c:
3661 * testsuite/threads/threade.c:
3662 * testsuite/threads/threadf.c:
3663 * testsuite/threads/threadg.c:
3664 * testsuite/threads/threadh.c:
3665 * testsuite/threads/threadi.c:
3666 move all of these under tests
3668 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3671 * tests/Makefile.am:
3674 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3676 * docs/gst/gstreamer-sections.txt:
3677 * tests/sched/.cvsignore:
3678 * tests/sched/Makefile.am:
3679 * tests/sched/cases/(fs-fs).xml:
3680 * tests/sched/cases/(fs-i-fs).xml:
3681 * tests/sched/cases/(fs-i-i-fs).xml:
3682 * tests/sched/cases/(fs-i-q[i-fs]).xml:
3683 * tests/sched/dynamic-pipeline.c:
3684 * tests/sched/interrupt1.c:
3685 * tests/sched/interrupt2.c:
3686 * tests/sched/interrupt3.c:
3687 * tests/sched/runtestcases:
3688 * tests/sched/runxml.c:
3689 * tests/sched/sched-stress.c:
3690 * tests/sched/sort.c:
3691 * tests/sched/testcases:
3692 * tests/sched/testcases1.tc:
3693 * tests/seeking/.cvsignore:
3694 * tests/seeking/Makefile.am:
3695 * tests/seeking/seeking1.c:
3696 * tests/threadstate/.cvsignore:
3697 * tests/threadstate/Makefile.am:
3698 * tests/threadstate/test1.c:
3699 * tests/threadstate/test2.c:
3700 * tests/threadstate/threadstate1.c:
3701 * tests/threadstate/threadstate2.c:
3702 * tests/threadstate/threadstate3.c:
3703 * tests/threadstate/threadstate4.c:
3704 * tests/threadstate/threadstate5.c:
3705 remove obsolete tests
3707 * tests/bench-complexity.scm:
3708 * tests/bench-mass_elements.scm:
3709 * tests/complexity.c:
3710 * tests/complexity.gnuplot:
3711 * tests/instantiate/.cvsignore:
3712 * tests/instantiate/Makefile.am:
3713 * tests/instantiate/caps.c:
3714 * tests/mass_elements.c:
3715 * tests/network-clock-utils.scm:
3716 * tests/network-clock.scm:
3718 First pass at cleaning up tests/ dir before moving the rest
3719 Combined with CVS surgery
3721 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3724 queue has moved, update
3726 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3728 * docs/gst/gstreamer-sections.txt:
3729 remove double entries from the docs
3730 * gst/gst_private.h:
3731 * gst/gstinfo.c: (_gst_debug_init):
3732 remove the THREAD debug category
3736 * docs/gst/gstreamer.types:
3737 * plugins/elements/gstqueue.c: (gst_queue_get_type),
3738 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
3739 completely move queue and fix up debugging categories
3741 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3743 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3744 make initialization portable, using LL is not
3746 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3748 * win32/common/gstconfig.h:
3751 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3753 * win32/common/libgstreamer.def:
3754 rename symbols; sort base section
3756 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3758 * gst/gstclock.c: (do_linear_regression):
3759 remove crack non-portable handrolled DEBUG macro
3761 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3763 * docs/random/release:
3765 * win32/common/gstenumtypes.c: (register_gst_object_flags),
3766 (gst_object_flags_get_type), (register_gst_bin_flags),
3767 (gst_bin_flags_get_type), (register_gst_buffer_flag),
3768 (gst_buffer_flag_get_type), (register_gst_bus_flags),
3769 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3770 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
3771 (gst_caps_flags_get_type), (register_gst_clock_return),
3772 (gst_clock_return_get_type), (register_gst_clock_entry_type),
3773 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3774 (gst_clock_flags_get_type), (register_gst_state),
3775 (gst_state_get_type), (register_gst_state_change_return),
3776 (gst_state_change_return_get_type), (register_gst_state_change),
3777 (gst_state_change_get_type), (register_gst_element_flags),
3778 (gst_element_flags_get_type), (register_gst_core_error),
3779 (gst_core_error_get_type), (register_gst_library_error),
3780 (gst_library_error_get_type), (register_gst_resource_error),
3781 (gst_resource_error_get_type), (register_gst_stream_error),
3782 (gst_stream_error_get_type), (register_gst_event_type_flags),
3783 (gst_event_type_flags_get_type), (register_gst_event_type),
3784 (gst_event_type_get_type), (register_gst_seek_type),
3785 (gst_seek_type_get_type), (register_gst_seek_flags),
3786 (gst_seek_flags_get_type), (register_gst_format),
3787 (gst_format_get_type), (register_gst_index_certainty),
3788 (gst_index_certainty_get_type), (register_gst_index_entry_type),
3789 (gst_index_entry_type_get_type),
3790 (register_gst_index_lookup_method),
3791 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3792 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3793 (gst_index_resolver_method_get_type), (register_gst_index_flags),
3794 (gst_index_flags_get_type), (register_gst_debug_level),
3795 (gst_debug_level_get_type), (register_gst_debug_color_flags),
3796 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3797 (gst_iterator_result_get_type), (register_gst_iterator_item),
3798 (gst_iterator_item_get_type), (register_gst_message_type),
3799 (gst_message_type_get_type), (register_gst_mini_object_flags),
3800 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3801 (gst_pad_link_return_get_type), (register_gst_flow_return),
3802 (gst_flow_return_get_type), (register_gst_activate_mode),
3803 (gst_activate_mode_get_type), (register_gst_pad_direction),
3804 (gst_pad_direction_get_type), (register_gst_pad_flags),
3805 (gst_pad_flags_get_type), (register_gst_pad_presence),
3806 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3807 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3808 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3809 (gst_plugin_error_get_type), (register_gst_plugin_flags),
3810 (gst_plugin_flags_get_type), (register_gst_rank),
3811 (gst_rank_get_type), (register_gst_query_type),
3812 (gst_query_type_get_type), (register_gst_tag_merge_mode),
3813 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3814 (gst_tag_flag_get_type), (register_gst_task_state),
3815 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3816 (gst_alloc_trace_flags_get_type),
3817 (register_gst_type_find_probability),
3818 (gst_type_find_probability_get_type), (register_gst_uri_type),
3819 (gst_uri_type_get_type), (register_gst_parse_error),
3820 (gst_parse_error_get_type):
3821 * win32/common/gstenumtypes.h:
3822 * win32/common/gstversion.h:
3823 update visual studio generated files
3825 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3827 * win32/vs6/libgstbase.dsp:
3828 * win32/vs6/libgstelements.dsp:
3829 update project files for new locations
3831 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3836 reinstate and update
3841 * docs/random/LICENSE:
3844 2005-11-30 Edward Hervey <edward@fluendo.com>
3846 * gst/gsttypefind.c: (gst_type_find_register):
3847 * gst/gsttypefind.h:
3848 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
3849 (gst_type_find_factory_dispose):
3850 * gst/gsttypefindfactory.h:
3851 Fix memory leak in GstTypeFindFactory.
3853 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3856 * plugins/elements/Makefile.am:
3857 * plugins/elements/gstelements.c:
3858 * plugins/elements/gstqueue.c:
3859 move queue from core to the elements plugin
3861 2005-11-29 Andy Wingo <wingo@pobox.com>
3863 * libs/gst/base/gstbasetransform.h:
3864 * libs/gst/base/gstbasesrc.h:
3865 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
3867 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
3868 of pointers by which to pad very extensible base classes (like the
3869 ones in libs/gst/base).
3871 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3873 * docs/gst/gstreamer-docs.sgml:
3874 * docs/gst/gstreamer-sections.txt:
3875 * docs/libs/gstreamer-libs-docs.sgml:
3876 * docs/libs/gstreamer-libs-sections.txt:
3877 moving documentation from core to lib
3879 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3881 * check/Makefile.am:
3883 * docs/gst/Makefile.am:
3885 * gst/base/.cvsignore:
3886 * gst/base/Makefile.am:
3888 * gst/base/gstadapter.c:
3889 * gst/base/gstadapter.h:
3890 * gst/base/gstbasesink.c:
3891 * gst/base/gstbasesink.h:
3892 * gst/base/gstbasesrc.c:
3893 * gst/base/gstbasesrc.h:
3894 * gst/base/gstbasetransform.c:
3895 * gst/base/gstbasetransform.h:
3896 * gst/base/gstcollectpads.c:
3897 * gst/base/gstcollectpads.h:
3898 * gst/base/gstpushsrc.c:
3899 * gst/base/gstpushsrc.h:
3900 * gst/base/gsttypefindhelper.c:
3901 * gst/base/gsttypefindhelper.h:
3902 * gst/check/Makefile.am:
3903 * gst/check/gstcheck.c:
3904 * gst/check/gstcheck.h:
3905 * gst/net/Makefile.am:
3907 * gst/net/gstnetclientclock.c:
3908 * gst/net/gstnetclientclock.h:
3909 * gst/net/gstnettimepacket.c:
3910 * gst/net/gstnettimepacket.h:
3911 * gst/net/gstnettimeprovider.c:
3912 * gst/net/gstnettimeprovider.h:
3913 * libs/gst/Makefile.am:
3914 * libs/gst/base/Makefile.am:
3915 * libs/gst/base/gstbasetransform.c:
3916 * libs/gst/check/Makefile.am:
3917 * plugins/elements/Makefile.am:
3919 CVS surgery + support to move base, check, and net out of gst
3922 2005-11-29 Andy Wingo <wingo@pobox.com>
3924 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
3926 * gst/gststructure.h (struct _GstStructure): Only one pointer of
3929 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
3931 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
3933 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
3935 * gst/gstobject.h: (struct _GstObject): Only one pointer of
3936 padding; reduces object size by about 30%. We don't expect
3937 anything else to go into gstobject.
3939 * gst/gstminiobject.h (struct _GstMiniObject)
3940 (struct _GstMiniObjectClass): Only one pointer of padding; the
3941 payload is only a pointer and two ints anyway. For the class there
3942 are only two methods as well.
3944 * gst/gstelement.h (struct _GstElementClass): Removed
3945 the state_changed signal callback, it is not used.
3947 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
3949 * docs/gst/gstreamer.types:
3950 fix includes, though they are a little dinky
3952 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3954 * check/Makefile.am:
3955 look in the right place for elements, a lot more chance of
3958 remove indexers and elements subdirs
3959 * plugins/Makefile.am:
3960 make indexers conditional
3962 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3966 * plugins/elements/Makefile.am:
3967 * plugins/elements/gstcapsfilter.c:
3968 * plugins/elements/gstfilesink.c:
3969 * plugins/elements/gstfilesrc.c:
3970 * plugins/elements/gstidentity.c:
3971 * plugins/indexers/Makefile.am:
3972 do CVS surgery and related build fixery to move elements
3973 and indexers in a new gstreamer/plugins directory, out of the
3976 2005-11-29 Andy Wingo <wingo@pobox.com>
3978 * check/Makefile.am:
3979 * pkgconfig/gstreamer-net-uninstalled.pc.in:
3980 * pkgconfig/gstreamer-net.pc.in:
3981 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
3984 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
3986 * tools/Makefile.am:
3987 * tools/gst-complete.1.in:
3988 * tools/gst-complete.c:
3989 * tools/gst-compprep.1.in:
3990 * tools/gst-compprep.c:
3991 removing -compprep and -complete
3993 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
3995 * gst/gstevent.c: (gst_event_new_new_segment),
3996 (gst_event_parse_new_segment):
3998 fix #320529 - clean up new_segment API and structure.
3999 Let's hope everyone was using the methods, and not the structure.
4001 2005-11-29 Edward Hervey <edward@fluendo.com>
4003 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4004 (gst_base_sink_event), (gst_base_sink_do_sync),
4005 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
4006 Properly handle non GST_FORMAT_TIME segment
4007 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4008 Properly handle non GST_FORMAT_TIME segment
4010 This function is valid if the accumulator is 0 and the format
4011 is different from the requested format.
4013 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
4015 * docs/gst/gstreamer-sections.txt:
4016 Add gst_query_new_seeking and gst_query_parse_seeking to the
4019 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
4021 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
4022 Treat a pad alloc with new caps the same as if we were not
4023 negotiated, in order to allow a changing upstream output
4024 to produce a new format of data.
4026 2005-11-29 Edward Hervey <edward@fluendo.com>
4028 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4029 (gst_base_transform_event), (gst_base_transform_eventfunc):
4030 The event virtual method is now properly implemented, with a default
4032 Sub classes should call the parent_class event method. They should
4033 return FALSE if they had a problem handling the given event, or don't
4034 want GstBaseTransform to send that even downstream
4035 * gst/elements/gstidentity.c: (gst_identity_class_init),
4036 (gst_identity_init), (gst_identity_event),
4037 (gst_identity_transform_ip), (gst_identity_set_property),
4038 (gst_identity_get_property):
4039 * gst/elements/gstidentity.h:
4040 Added the single-segment boolean property.
4041 If set to TRUE, it will output a single segment of data, starting from
4042 0, will eat up all incoming newsegment, and modify the timestamp of the
4045 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
4047 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
4048 Don't ref NULL target pad (#322751). Improve docs.
4050 2005-11-29 Michael Smith <msmith@fluendo.com>
4052 * gst/gstregistryxml.c: (load_plugin):
4053 Don't crash if we failed to load a feature from a plugin.
4055 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
4057 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4059 use more check API and less GLib API
4061 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
4064 don't run checks if we don't have check
4066 remove the registry when running make torture
4067 * docs/gst/gstreamer-sections.txt:
4068 remove second multiply
4069 * gst/gstqueue.c: (gst_queue_loop):
4070 fix a compile warning when disabling debug
4072 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
4075 Hey! Let's print the pad name if the pointer != NULL instead
4076 of when it == NULL :-)
4078 2005-11-28 Wim Taymans <wim@fluendo.com>
4080 * check/gst/gstutils.c: (GST_START_TEST):
4081 Updated check, add some scaling accuracy checking code.
4083 * gst/gstutils.c: (gst_util_div128_64),
4084 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
4085 (gst_util_uint64_scale_int):
4086 Fix 6 times faster division code. Optimize for common
4087 1/1 and less common X/1 cases.
4089 2005-11-28 Wim Taymans <wim@fluendo.com>
4091 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4094 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
4095 (do_linear_regression), (gst_clock_add_observation):
4097 Release lock when the clock cannot be slaved.
4098 Catch the case where the regression returned an invalid denominator.
4100 * gst/gstutils.c: (gst_util_div128_64_iterate),
4101 (gst_util_div128_64), (gst_util_uint64_scale_int64),
4102 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4103 Add protentially more performant non-iterative 128/64 divide function
4104 that unfortunatly does not work yet.
4105 Shortcut the trivial 0/X = 0 case.
4106 Remove the warnings on overflow.
4108 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
4110 * gst/gstplugin.c: (gst_plugin_register_func):
4111 everything causing a plugin not to load should be at least a WARNING
4113 2005-11-28 Stefan Kost <ensonic@users.sf.net>
4115 * docs/random/ensonic/dparams.txt:
4116 some TODOs for the next dev cycle
4117 * libs/gst/controller/gstcontroller.c:
4118 (gst_controlled_property_set_interpolation_mode),
4119 (gst_controlled_property_new):
4120 * libs/gst/controller/gstcontroller.h:
4121 use base type to assign acccessor functions
4123 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
4125 * check/Makefile.am:
4126 Oops, that should have been top_srcdir
4128 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
4130 * check/Makefile.am:
4131 * check/elements/fdsrc.c: (GST_START_TEST):
4132 Use a cmdline define to specify the location of a file to use for
4133 testing, to avoid breaking distcheck.
4135 2005-11-28 Andy Wingo <wingo@pobox.com>
4137 * gst/gstpad.c (fixate_value): Use array functions for arrays.
4139 2005-11-28 Edward Hervey <edward@fluendo.com>
4141 * tools/gst-launch.c: (main):
4142 Clarify the output strings, makes it easier to translate.
4145 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
4148 don't try and build net if we don't even have <sys/socket.h>
4150 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
4152 * check/Makefile.am:
4153 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
4154 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
4155 Add tests for fdsrc seekability
4157 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
4158 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
4159 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
4160 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
4161 * gst/elements/gstfdsrc.h:
4162 fdsrc should not be a 'live' source.
4163 Implement seeking on seekable fd's.
4165 * gst/gstquery.c: (gst_query_new_seeking),
4166 (gst_query_parse_seeking):
4168 Implement SEEKING query functions:
4169 *_new_seeking and *_parse_seeking
4171 2005-11-27 Stefan Kost <ensonic@users.sf.net>
4173 * gst/gstelement.c: (gst_element_dispose):
4176 * gst/gstiterator.c:
4177 * gst/gststructure.c:
4180 * libs/gst/controller/gstcontroller.c:
4181 (gst_controlled_property_set_interpolation_mode):
4182 * libs/gst/controller/gstcontroller.h:
4183 * libs/gst/controller/gstinterpolation.c:
4184 (interpolate_none_get_enum_value_array):
4185 support controlling enums
4187 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
4190 Improve documentation for gst_value_union().
4193 Change return value for union, intersect and subtract functions
4194 from gint to gboolean.
4196 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
4198 * gst/gstvalue.c: (gst_value_serialize_any_list),
4199 (gst_value_transform_any_list_string),
4200 (gst_value_deserialize_list), (gst_value_deserialize_array),
4201 (gst_value_set_int_range), (gst_value_deserialize_int_range),
4202 (gst_value_set_double_range), (gst_value_deserialize_double_range),
4203 (gst_value_set_fraction_range_full),
4204 (gst_value_deserialize_fraction_range),
4205 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
4206 (gst_value_deserialize_boolean),
4207 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
4208 (gst_value_serialize_float), (gst_value_deserialize_float),
4209 (gst_string_wrap), (gst_value_deserialize_string),
4210 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
4211 (gst_value_union_int_range_int_range),
4212 (gst_value_intersect_int_range_int_range),
4213 (gst_value_intersect_double_range_double_range),
4214 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
4215 (gst_value_subtract_int_range_int_range),
4216 (gst_value_subtract_double_double_range),
4217 (gst_value_subtract_double_range_double_range),
4218 (gst_value_deserialize_fraction):
4220 Use gint, gdouble and gchar in our API instead of int, double and
4221 char (and make usage in gstvalue.c more consistent).
4223 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
4225 * check/Makefile.am:
4226 * libs/gst/controller/Makefile.am:
4227 * libs/gst/dataprotocol/Makefile.am:
4228 fix up Makefile.am and remove GST_ENABLE_NEW
4230 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
4234 * gst/base/Makefile.am:
4235 * gst/check/Makefile.am:
4236 * gst/elements/Makefile.am:
4237 * gst/net/Makefile.am:
4238 update LDFLAGS use some more
4240 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
4242 * common/m4/gst-doc.m4:
4245 2005-11-26 Edward Hervey <edward@fluendo.com>
4247 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4248 This shouldn't issue a g_warning since it returns NULL if it
4249 couldn't find the plugin, and all functions using this behave
4250 properly on a NULL return. Switching to a GST_WARNING.
4252 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
4254 * gst/gstbin.c: (gst_bin_handle_message_func):
4255 Don't leak clock messages.
4257 2005-11-25 Wim Taymans <wim@fluendo.com>
4259 * gst/gstutils.c: (gst_util_uint64_scale_int64),
4260 (gst_util_uint64_scale_int):
4261 Optimisations, remove unneeded vars.
4263 2005-11-25 Wim Taymans <wim@fluendo.com>
4265 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4266 Added more checks for the high precision uint64 cases.
4268 * gst/gstutils.c: (gst_util_uint64_scale_int64),
4269 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
4270 Implement high precision (guint64 * guint64) / guint64.
4272 2005-11-24 Wim Taymans <wim@fluendo.com>
4274 * gst/base/gstbasesrc.c: (gst_base_src_query):
4275 Fix wrong percentage query.
4277 * gst/gstutils.c: (gst_util_uint64_scale),
4278 (gst_util_uint64_scale_int):
4279 Add some more common cases that can be handled
4280 efficiently to _scale.
4282 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
4284 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
4285 (gst_mini_object_suite):
4286 don't use check calls from threads; check probably isn't
4287 threadsafe and using a lock to make it threadsafe would
4288 defeat the purpose of this check
4289 * gst/check/gstcheck.c:
4290 * gst/check/gstcheck.h:
4291 use GST_DEBUG some more
4293 2005-11-24 Wim Taymans <wim@fluendo.com>
4295 * gst/gstutils.c: (gst_util_uint64_scale),
4296 (gst_util_uint64_scale_int):
4297 Chain trivial case to _scale_int.
4299 2005-11-24 Wim Taymans <wim@fluendo.com>
4301 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4302 Added test for scaling.
4307 * gst/gstutils.c: (gst_util_uint64_scale_int):
4308 Implemented high precision scaling code.
4310 2005-11-24 Stefan Kost <ensonic@users.sf.net>
4313 do not crash on pad==NULL
4315 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
4317 Patch by: Stefan Kost
4319 * common/gtk-doc.mak:
4320 * docs/gst/Makefile.am:
4321 * docs/libs/Makefile.am:
4322 Fix distcheck issues for the libraries docs build
4325 2005-11-24 Michael Smith <msmith@fluendo.com>
4327 * docs/manual/basics-helloworld.xml:
4328 Fix bug #315027: memory leak in example code in docs.
4330 2005-11-24 Michael Smith <msmith@fluendo.com>
4332 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4333 Unlock the PREROLL_LOCK in a failure case.
4335 2005-11-24 Wim Taymans <wim@fluendo.com>
4337 * docs/gst/gstreamer-sections.txt:
4338 * gst/base/gstadapter.h:
4339 * gst/base/gstbasesink.h:
4340 * gst/base/gstbasesrc.h:
4341 * gst/base/gstbasetransform.h:
4342 * gst/base/gstpushsrc.h:
4343 * gst/elements/gstfakesink.h:
4344 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
4345 * gst/elements/gstfakesrc.h:
4346 * gst/elements/gstfilesink.h:
4347 * gst/elements/gstfilesrc.h:
4350 * gst/gstbuffer.c: (_gst_buffer_copy):
4353 * gst/gstchildproxy.c:
4356 * gst/gstelementfactory.c:
4357 * gst/gstelementfactory.h:
4359 * gst/gstghostpad.h:
4361 * gst/gstinterface.h:
4362 * gst/gstminiobject.c:
4363 * gst/gstminiobject.h:
4366 * gst/gstpadtemplate.h:
4367 * gst/gstpipeline.h:
4368 * gst/gstpluginfeature.h:
4373 * gst/gsttagsetter.c:
4374 * gst/gsttagsetter.h:
4377 * gst/gsttypefind.h:
4380 * gst/net/gstnetclientclock.c:
4381 * gst/net/gstnetclientclock.h:
4382 * gst/net/gstnettimepacket.c:
4383 * gst/net/gstnettimeprovider.c:
4384 * gst/net/gstnettimeprovider.h:
4387 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
4389 * configure.ac: back to HEAD
4391 === release 0.9.6 ===
4393 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
4396 releasing 0.9.6, "Always On Time"
4398 2005-11-23 Wim Taymans <wim@fluendo.com>
4400 * docs/gst/gstreamer-sections.txt:
4401 * gst/glib-compat.c:
4402 * gst/gsttagsetter.c:
4404 * gst/net/gstnetclientclock.c:
4405 * gst/net/gstnettimepacket.h:
4408 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
4410 * docs/faq/using.xml:
4411 * docs/libs/tmpl/gstcontrol.sgml:
4412 * docs/manual/advanced-dparams.xml:
4413 * docs/manual/appendix-checklist.xml:
4414 * docs/manual/basics-elements.xml:
4415 * docs/pwg/other-source.xml:
4416 * docs/random/moving-plugins:
4418 * tools/gst-launch.1.in:
4419 remove mentions of sinesrc
4421 2005-11-23 Michael Smith <msmith@fluendo.com>
4423 * docs/gst/gstreamer-sections.txt:
4424 Update for new API and API changes.
4426 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
4428 Documentation typo fix.
4429 * gst/net/gstnettimepacket.c:
4430 Documentation fixes for arguments.
4432 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
4434 * gst/gststructure.c: (gst_structure_get_fraction),
4435 (gst_structure_parse_value),
4436 (gst_structure_fixate_field_nearest_fraction):
4437 * gst/gststructure.h:
4438 * gst/gstutils.c: (gst_util_uint64_scale_int):
4440 * scripts/update-funcnames:
4442 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
4443 Make gst_structure_fixate_field_nearest_fraction take a numerator
4444 and denominator argument instead of a GValue
4445 add gst_structure_get_fraction helper function.
4447 2005-11-23 Wim Taymans <wim@fluendo.com>
4449 * docs/design/part-TODO.txt:
4452 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
4453 * gst/net/gstnetclientclock.h:
4454 Use parent fields for timeout and window_size.
4456 2005-11-23 Andy Wingo <wingo@pobox.com>
4458 * check/net/gstnetclientclock.c (test_functioning): Adjust to
4459 rate_num/rate_denom change.
4461 * gst/net/gstnetclientclock.c
4462 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
4463 OBJECT_LOCK. Don't call add_observation with the lock.
4465 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
4467 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
4469 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
4470 deal with rate as a fraction whose numerator and denominator are
4471 GstClockTime values.
4472 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
4473 master; the other fields are protected by the SLAVE_LOCK.
4474 (do_linear_regression): Note that this must be called with the
4476 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
4477 OBJECT_LOCK. Call set_calibration instead of touching the
4479 (gst_clock_set_property, gst_clock_get_property): Protect
4480 master/slave parameters with the SLAVE_LOCK.
4482 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
4483 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
4484 note that all of the instance variables that add_observation and
4485 the set_master functions use are protected by that lock and not
4487 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
4489 * gst/gstclock.c (gst_clock_add_observation): No longer requires
4490 the caller to take the object lock.
4492 2005-11-23 Wim Taymans <wim@fluendo.com>
4494 * gst/gsterror.c: (_gst_core_errors_init):
4496 Add error for clock stuff.
4498 * gst/gstpipeline.c: (gst_pipeline_change_state),
4499 (gst_pipeline_set_clock):
4500 Post clock error when clock cannot be used in a pipeline.
4502 2005-11-23 Stefan Kost <ensonic@users.sf.net>
4504 * docs/gst/gstreamer-sections.txt:
4505 make two symbols from gstinfo private for the docs
4506 * gst/base/gstcollectpads.h:
4508 fix doc typos, update docs
4510 2005-11-22 Wim Taymans <wim@fluendo.com>
4512 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
4513 (gst_base_sink_wait), (gst_base_sink_do_sync),
4514 (gst_base_sink_handle_event):
4515 * gst/base/gstbasesink.h:
4516 No need to store the clock, the parent element class already
4519 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
4520 Updates for clock_set returning a gboolean
4522 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
4523 (gst_clock_id_wait_async), (gst_clock_class_init),
4524 (gst_clock_init), (gst_clock_finalize),
4525 (gst_clock_get_internal_time), (gst_clock_get_time),
4526 (gst_clock_slave_callback), (gst_clock_set_master),
4527 (gst_clock_get_master), (do_linear_regression),
4528 (gst_clock_add_observation), (gst_clock_set_property),
4529 (gst_clock_get_property):
4531 Implement master/slave. When setting a clock as a slave, a
4532 periodic timeout is scheduled to sample master and slave times.
4533 Then the slave clock is recalibrated to match offset and rate
4534 of the master clock.
4535 Update logging a bit.
4536 Add flag so that a clock can state that is cannot be slaved to
4539 * gst/gstelement.c: (gst_element_set_clock):
4541 The set clock returns a gboolean for when an element cannot
4542 deal with the selected clock in the pipeline.
4544 * gst/gstpipeline.c: (gst_pipeline_change_state),
4545 (gst_pipeline_set_clock):
4546 * gst/gstpipeline.h:
4547 Handle the case where the selected clock cannot be set on
4550 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
4551 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
4552 (gst_net_client_clock_set_property),
4553 (gst_net_client_clock_get_property),
4554 (gst_net_client_clock_observe_times):
4555 * gst/net/gstnetclientclock.h:
4556 Use regression code in GstClock parent, remove duplicated
4559 2005-11-22 Michael Smith <msmith@fluendo.com>
4561 * gst/gstutils.c: (gst_util_clock_time_scale):
4563 * docs/gst/gstreamer-sections.txt:
4564 Rename method to have extra underscore.
4566 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
4568 * gst/elements/Makefile.am:
4569 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
4570 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
4571 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
4572 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
4573 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
4574 * gst/elements/gstfakesrc.h:
4575 * gst/gstqueue.c: (queue_leaky_get_type):
4576 correctly fix GEnumValues so that nick is the short lowercase
4578 * tools/gst-inspect.c: (print_element_properties_info):
4579 also show the nick, since it's useful to use from parse_launch
4583 2005-11-22 Michael Smith <msmith@fluendo.com>
4585 * gst/gstutils.c: (gst_util_clocktime_scale):
4587 * docs/gst/gstreamer-sections.txt:
4588 Add util method for scaling a clocktime by a fraction. Useful
4589 implementation is left as an exercise for the reader.
4591 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
4593 * gst/gstvalue.c: (gst_value_collect_fraction_range):
4594 If needed, allocate storage in the destination value during
4597 2005-11-22 Edward Hervey <edward@fluendo.com>
4599 * docs/gst/gstreamer-sections.txt:
4604 * gst/gstutils.c: (gst_util_set_object_arg):
4605 * tools/gst-compprep.c: (main):
4606 * tools/gst-inspect.c: (print_element_properties_info):
4607 Removed GstURI, closes bug #321061
4609 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
4611 * check/gst/gststructure.c: (GST_START_TEST):
4612 * gst/gststructure.c: (gst_structure_parse_value):
4613 Oops, broke automatic string type parsing.
4614 Add a test to catch it in future.
4616 2005-11-22 Andy Wingo <wingo@pobox.com>
4618 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
4619 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
4620 Actually rename the function implementations. Grr.
4622 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
4624 * check/gst/capslist.h:
4626 * check/gst/gststructure.c: (GST_START_TEST),
4627 (gst_structure_suite):
4628 Test automatic value type detection in gst_structure_from_string.
4629 * gst/gststructure.c: (gst_structure_parse_value):
4630 Add fraction as a type we try and guess automatically in
4631 caps/structure strings.
4633 2005-11-22 Andy Wingo <wingo@pobox.com>
4635 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
4637 * gst/gsttagsetter.h:
4638 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
4639 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
4640 (gst_tag_setter_add_tag_valist)
4641 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
4642 _add_values, _add_valist, and _add_valist_values. Since this is an
4643 interface the function suffixes should be more explicit so
4644 language binding don't end up with element.add_valist ->
4645 gst_tag_setter_add_valist, for example. Fixes #322069.
4647 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
4649 * check/gst/gstcaps.c: (GST_START_TEST):
4650 Extend caps string tests to check that a caps to string
4651 conversion is reversible and produces the same caps.
4653 * gst/gststructure.c: (gst_structure_value_get_generic_type):
4654 Output "fraction" as the generic type fraction range, so caps
4655 serialisation and deserialisation works.
4656 * check/gst/capslist.h:
4657 * gst/gstvalue.c: (gst_value_deserialize_fraction):
4658 Support 'MIN' and 'MAX' for deserialising fractions.
4660 2005-11-22 Andy Wingo <wingo@pobox.com>
4662 * gst/gstevent.h (gst_event_new_new_segment)
4663 (gst_event_parse_new_segment, gst_event_new_buffer_size)
4664 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
4665 Renamed from *_newsegment, *_buffersize, *_notarget.
4667 * scripts/update-funcnames: New script, performs the changes
4670 2005-11-22 Wim Taymans <wim@fluendo.com>
4672 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4673 Make sure the GstFlowReturn is returned.
4675 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
4676 (gst_bus_add_signal_watch):
4678 add gst_bus_add_signal_watch_full.
4680 * gst/gstplugin.c: (gst_plugin_load_file):
4681 Small style cleanup.
4683 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
4685 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
4686 Block the fakesrc srcpad when we send an event, to avoid
4687 contention on the stream_lock causing random test failures.
4689 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
4691 * check/gst/gstvalue.c: (GST_START_TEST):
4692 * gst/gstvalue.c: (gst_value_fraction_subtract):
4695 2005-11-22 Stefan Kost <ensonic@users.sf.net>
4698 include "gstchildproxy.h"
4699 * gst/gstchildproxy.h:
4700 * libs/gst/controller/gstcontroller.h:
4701 use G_GNUC_NULL_TERMINATED
4703 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
4705 * check/gst/capslist.h:
4706 * check/gst/gstcaps.c: (GST_START_TEST):
4707 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4708 * gst/gststructure.c: (gst_structure_parse_range),
4709 (gst_structure_fixate_field_nearest_fraction):
4710 * gst/gststructure.h:
4711 * gst/gstvalue.c: (gst_value_init_fraction_range),
4712 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
4713 (gst_value_collect_fraction_range),
4714 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
4715 (gst_value_set_fraction_range_full),
4716 (gst_value_get_fraction_range_min),
4717 (gst_value_get_fraction_range_max),
4718 (gst_value_serialize_fraction_range),
4719 (gst_value_transform_fraction_range_string),
4720 (gst_value_compare_fraction_range),
4721 (gst_value_deserialize_fraction_range),
4722 (gst_value_intersect_fraction_fraction_range),
4723 (gst_value_intersect_fraction_range_fraction_range),
4724 (gst_value_subtract_fraction_fraction_range),
4725 (gst_value_subtract_fraction_range_fraction),
4726 (gst_value_subtract_fraction_range_fraction_range),
4727 (gst_value_collect_fraction), (gst_value_fraction_multiply),
4728 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
4729 (gst_value_transform_string_fraction), (_gst_value_initialize):
4731 Implement fraction ranges and extend GstFraction to support
4732 arithmetic subtraction, as well as deserialization from integer
4733 strings such as "100"
4734 Add a testsuite as for int and double range set operations
4736 2005-11-21 Andy Wingo <wingo@pobox.com>
4740 * gst/gststructure.h: Add glib-compat.h.
4742 2005-11-21 Wim Taymans <wim@fluendo.com>
4744 * gst/gstbin.c: (gst_bin_change_state_func):
4747 2005-11-21 Wim Taymans <wim@fluendo.com>
4750 And add a nice define too.
4752 2005-11-21 Wim Taymans <wim@fluendo.com>
4754 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
4755 (gst_segment_new), (gst_segment_free), (gst_segment_init),
4756 (gst_segment_set_duration), (gst_segment_set_last_stop),
4757 (gst_segment_set_seek), (gst_segment_set_newsegment),
4758 (gst_segment_to_stream_time), (gst_segment_to_running_time),
4761 Make binding friendly.
4763 2005-11-21 Andy Wingo <wingo@pobox.com>
4765 * gst/gsttagsetter.h:
4767 * gst/gststructure.h:
4769 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
4772 * gst/gsterror.c (_gst_core_errors_init):
4773 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
4776 * gst/Makefile.am (gst_headers): Add glib-compat.h.
4777 (noinst_HEADERS): noinst the -private.
4779 2005-11-21 Michael Smith <msmith@fluendo.com>
4782 * gst/gstregistry.h:
4783 Remove unimplemented declarations for which we can see no sensible
4786 2005-11-21 Andy Wingo <wingo@pobox.com>
4788 * gst/gst.h: Include glib-compat.h.
4790 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
4792 * gst/glib-compat.c: Include the public and the private header.
4794 * gst/glib-compat-private.h: Copied here from glib-compat.h.
4798 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
4800 * check/gst/gstevent.c (create_custom_events): Check that
4801 FLUSH_STOP is serialized.
4803 * check/elements/identity.c (event_func):
4804 * check/elements/fakesrc.c (event_func): No stream lock, the core
4807 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
4808 stream lock taking, yay.
4810 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
4811 ensure that core takes the stream lock.
4813 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
4816 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
4817 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
4818 it already. For the flush start we do take it though so we get the
4819 right preroll state change messages.
4821 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
4822 the stream lock here, the core does it for us.
4824 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
4825 GST_STREAM_GET_LOCK.
4826 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
4827 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
4828 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
4829 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
4830 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
4831 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
4833 * gst/gstpad.c: Update for stream lock name change.
4835 * gst/base/gstbasesink.c: Update for preroll lock name change.
4837 2005-11-21 Wim Taymans <wim@fluendo.com>
4839 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
4840 (gst_clock_get_master):
4842 * gst/gstsystemclock.c: (gst_system_clock_init):
4843 Convert Clock flags to object flags.
4844 Added methods to manage master/slave clocks.
4846 2005-11-21 Wim Taymans <wim@fluendo.com>
4848 * check/gst/gstsegment.c: (GST_START_TEST):
4849 * docs/design/part-TODO.txt:
4850 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4851 (gst_base_sink_event), (gst_base_sink_do_sync),
4852 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4853 (gst_base_sink_query), (gst_base_sink_change_state):
4854 * gst/base/gstbasesink.h:
4855 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4856 (gst_base_src_default_newsegment),
4857 (gst_base_src_configure_segment), (gst_base_src_do_seek),
4858 (gst_base_src_get_range), (gst_base_src_loop),
4859 (gst_base_src_change_state):
4860 * gst/base/gstbasesrc.h:
4861 * gst/base/gstbasetransform.c:
4862 (gst_base_transform_prepare_output_buf),
4863 (gst_base_transform_event), (gst_base_transform_change_state):
4864 * gst/base/gstbasetransform.h:
4865 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4866 (gst_collect_pads_event):
4867 * gst/base/gstcollectpads.h:
4868 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
4869 (gst_fake_src_create):
4870 * gst/elements/gstfakesrc.h:
4871 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4872 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4873 (gst_segment_set_last_stop), (gst_segment_set_seek),
4874 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4875 (gst_segment_to_running_time), (gst_segment_clip):
4877 More segment updates, replace code in plugins with segment
4880 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
4882 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
4883 Don't ignore sscanf results
4885 2005-11-21 Andy Wingo <wingo@pobox.com>
4887 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
4890 * *.c: Ran scripts/update-macros. Oh yes.
4892 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
4893 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
4896 * scripts/update-macros: New script. Run it on your files to
4897 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
4900 2005-11-21 Stefan Kost <ensonic@users.sf.net>
4902 * docs/gst/Makefile.am:
4903 * docs/gst/gstreamer-docs.sgml:
4904 * docs/gst/gstreamer-sections.txt:
4905 * docs/gst/gstreamer.types:
4907 more docs fixes, add new api to the docs
4909 2005-11-21 Andy Wingo <wingo@pobox.com>
4911 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
4912 state_broadcast call.
4914 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
4916 2005-11-21 Julien MOUTTE <julien@moutte.net>
4918 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
4919 function calls for arrays.
4921 2005-11-21 Stefan Kost <ensonic@users.sf.net>
4923 * docs/random/ensonic/media-device-daemon.txt:
4924 wild idea, can this be done?
4925 * docs/gst/gstreamer-sections.txt:
4930 * gst/gstpluginfeature.c:
4934 doc fixes and additions
4936 2005-11-21 Andy Wingo <wingo@pobox.com>
4938 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
4939 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
4940 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
4941 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
4942 private to the basesrc implementation.
4944 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
4945 behalf of event function if necessary. It should no longer be
4946 necessary to take the stream lock in pad's event functions. Fixes
4949 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
4950 * docs/gst/gstreamer-sections.txt:
4951 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
4952 (gst_structure_fixate_field_nearest_double),
4953 (gst_structure_fixate_field_boolean):
4954 * gst/gststructure.h:
4955 * win32/common/libgstreamer.def:
4956 * win32/gstreamer.def:
4958 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
4961 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
4963 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
4964 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
4965 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
4966 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
4967 (gst_fdsrc_uri_handler_init):
4968 * gst/elements/gstfdsrc.h:
4969 Port fd:// URI handler from 0.8 to fdsrc
4971 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
4973 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
4974 (gst_value_serialize_fourcc):
4976 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
4977 consistent with our other format defines (#320324).
4979 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
4981 * gst/gstvalue.c: (gst_value_is_fixed):
4982 Revert previous commit. Value lists are by definition
4983 not fixed, as they are a list of possible values.
4985 2005-11-21 Andy Wingo <wingo@pobox.com>
4987 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
4988 during the stable series if we need it. Fixes #319178.
4990 * gst/gstevent.c (gst_event_new_filler): Removed.
4992 * check/gst/gstevent.c: Update comment about filler events.
4994 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
4996 * gst/gstvalue.c: (gst_value_is_fixed):
4997 Should handle both value arrays and value lists.
4999 2005-11-21 Andy Wingo <wingo@pobox.com>
5001 patch by: Alessandro Dessina <alessandro nnva org>
5003 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
5004 functions to access arrays. Fixes #321962.
5006 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
5008 * docs/gst/gstreamer.types:
5009 gst_collectpads_get_type => gst_collect_pads_get_type.
5011 * gst/base/gstbasetransform.c:
5012 Remove unused SIGNAL_HANDOFF enum.
5014 2005-11-21 Andy Wingo <wingo@pobox.com>
5016 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
5017 the event type (upstream, downstream, serialized). Renamed
5018 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
5019 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
5020 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
5022 * gst/gstevent.c: Update for new CUSTOM event names.
5024 * check/gst/gstevent.c: Update check for new CUSTOM event names.
5027 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
5030 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
5032 * docs/gst/gstreamer-sections.txt:
5033 * win32/common/libgstbase.def:
5034 * win32/libgstbase.def:
5035 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
5036 (gst_collect_pads_class_init), (gst_collect_pads_init),
5037 (gst_collect_pads_finalize), (gst_collect_pads_new),
5038 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
5039 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
5040 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
5041 (gst_collect_pads_start), (gst_collect_pads_stop),
5042 (gst_collect_pads_peek), (gst_collect_pads_pop),
5043 (gst_collect_pads_available), (gst_collect_pads_read),
5044 (gst_collect_pads_flush), (gst_collect_pads_event),
5045 (gst_collect_pads_chain):
5046 * gst/base/gstcollectpads.h:
5047 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
5048 unimplemented functions as unimplemented. Add padding to
5049 GstCollectData. (#320766, #320423)
5051 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
5054 Improve docs for DURATION message (usage of duration parameter)
5057 2005-11-20 Wim Taymans <wim@fluendo.com>
5059 * check/Makefile.am:
5060 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
5064 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
5065 (gst_segment_set_seek), (gst_segment_set_newsegment),
5066 (gst_segment_to_stream_time), (gst_segment_to_running_time),
5069 Added segment helper structure and methods. Not fully implemented
5071 Added segment check.
5073 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
5075 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5076 Add a deserialisation test for fractions
5077 * examples/metadata/read-metadata.c: (message_loop),
5078 (make_pipeline), (main):
5079 Fix up metadata reading sample.
5080 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5082 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5083 Don't try and fixate empty caps
5084 * gst/gst_private.h:
5085 Wrap in G_BEGIN_DECLS/G_END_DECLS
5086 * gst/gstvalue.c: (gst_value_collect_fraction),
5087 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
5088 (gst_value_transform_string_fraction),
5089 (gst_value_compare_fraction):
5090 Add some extra guards to ensure that we don't end up
5091 with an invalid denominator of 0 in a gstfraction and
5092 that fractions always get reduced.
5094 2005-11-20 Wim Taymans <wim@fluendo.com>
5096 * docs/gst/gstreamer-sections.txt:
5107 2005-11-20 Wim Taymans <wim@fluendo.com>
5109 * docs/design/part-TODO.txt:
5111 Make a proper enum of the flag.
5113 2005-11-19 Wim Taymans <wim@fluendo.com>
5115 * docs/design/part-TODO.txt:
5116 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
5117 (gst_format_to_quark), (gst_format_register):
5119 * gst/gstquery.c: (_gst_query_initialize),
5120 (gst_query_type_get_name), (gst_query_type_to_quark),
5121 (gst_query_type_register):
5123 Add type to quark and type to string conversions.
5125 2005-11-19 Andy Wingo <wingo@pobox.com>
5127 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
5130 2005-11-19 Wim Taymans <wim@fluendo.com>
5132 * docs/design/part-TODO.txt:
5133 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5134 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
5135 (gst_bin_handle_message_func):
5137 Make message handling overridable.
5139 2005-11-19 Andy Wingo <wingo@pobox.com>
5141 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
5144 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
5146 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
5147 is a GstClockTime. Fixes #321710.
5149 * gst/gstclock.h (GstClock): Remove offset property. Add
5150 internal_calibration and external_calibration. Fix padding. Pad
5151 also by GstClockTime so we don't run into problems.
5153 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
5154 (gst_clock_get_rate_offset): Remove.
5155 (gst_clock_set_time_adjust): Remove. Fixes #321712.
5158 * gst/gstutils.c (g_static_rec_cond_wait)
5159 (g_static_rec_cond_timed_wait): Removed, no longer needed.
5161 * gst/gstbin.c: Remove terrible continue_state prototype.
5163 * gst/gstelement.h (gst_element_continue_state): Make public.
5166 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
5167 by continue_state. Fixes #319389.
5169 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
5170 Really fixes #168438. However I don't see anywhere where the
5171 filter function is called... stupid GStreamer...
5173 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
5174 don't have a dispose function, so it won't get called when the
5175 object is unreffed, but oh well!
5177 * gst/gstindex.c (gst_index_set_filter_full): New API function,
5178 allows a destroy function to be set so user_data can be freed.
5180 (gst_index_set_filter): Call gst_index_set_filter_full.
5182 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
5184 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
5185 string should produce an error, given the lack of a way to
5186 represent NULL strings. Fixes #165650.
5189 * gst/gstvalue.c (gst_value_array_append_value)
5190 (gst_value_array_prepend_value, gst_value_array_get_size)
5191 (gst_value_array_get_value): New API, copied from
5192 gst_value_list_*, only operates on arrays.
5193 (gst_value_list_append_value, gst_value_list_prepend_value)
5194 (gst_value_list_concat, gst_value_list_get_size)
5195 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
5197 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
5198 init_list, because it works on both.
5199 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
5200 (gst_value_copy_list_or_array): Renamed from copy_list.
5201 (gst_value_free_list_or_array): Renamed from free_list.
5202 (gst_value_collect_list_or_array): Renamed from collect_list.
5203 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
5204 (gst_value_list_or_array_peek_pointer): Renamed from
5206 (_gst_value_array_value_table, _gst_value_list_value_table):
5207 Update value table functions.
5208 (gst_value_compare_list_or_array): Renamed from compare_list.
5210 * gsttaglist.h: Whoops, foreach function returns void. Also fix
5214 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
5215 GstTagList*. Fixes #143472.
5217 * gst/gststructure.h: Clarify what the foreach/map functions can
5218 or can't do to their arguments.
5220 2005-11-18 Wim Taymans <wim@fluendo.com>
5222 * gst/gstclock.c: (gst_clock_set_calibration),
5223 (gst_clock_get_calibration):
5225 Calibration can be set with internal time equal to current
5228 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
5234 2005-11-18 Andy Wingo <wingo@pobox.com>
5237 * pkgconfig/gstreamer-net.pc.in:
5238 * pkgconfig/gstreamer-net-uninstalled.pc.in:
5239 * pkgconfig/Makefile.am: Add net pkgconfig files.
5241 2005-11-18 Stefan Kost <ensonic@users.sf.net>
5244 * gst/gstghostpad.c:
5250 2005-11-18 Andy Wingo <wingo@pobox.com>
5252 * gst/net/gstnetclientclock.c: Turn off debugging.
5254 * check/net/gstnetclientclock.c (test_functioning): Assert that the
5255 times connverge somewhat. Can't make a real test.
5257 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
5258 integer arithmetic. Return the minimum of the domain, which can be
5259 set as "internal" for gst_clock_set_calibration.
5260 (gst_net_client_clock_observe_times): Call _set_calibration.
5261 (gst_net_client_clock_new): Call _set_calibration instead of
5264 * check/net/gstnetclientclock.c (test_functioning): Use the right
5268 * gst/gstclock.c (gst_clock_get_calibration)
5269 (gst_clock_set_calibration): New functions, obsolete the ones I
5270 added yesterday. Doh. Precision issues mean we have to extrapolate
5271 from a point in the more recent past than 1970.
5272 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
5274 (gst_clock_adjust_unlocked): Use the right calibration data.
5276 2005-11-18 Edward Hervey <edward@fluendo.com>
5278 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5279 Also reset the ->current_* values in READY->PAUSED
5281 2005-11-18 Andy Wingo <wingo@pobox.com>
5283 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
5284 Whoops, check the right fd. Also add some debugging.
5285 (gst_net_client_clock_observe_times): Adjust for int64 offset.
5286 (do_linear_regression): Add a crapload of debugging. Subtract off
5287 the minimum values from the input series to discard unneeded bits.
5288 Use only int arithmetic. There is still double arithmetic when
5289 calculating the intercept that needs fixing. Return boolean to
5290 indicate success; FALSE would mean the domain or range is too
5291 great. Still needs fixes.
5293 2005-11-18 Wim Taymans <wim@fluendo.com>
5295 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5296 For the current position in stream time, we need to subtract
5299 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5300 Release lock before calling the callback function of async
5303 2005-11-18 Andy Wingo <wingo@pobox.com>
5305 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
5306 Port goes all the way to MAXUINT16.
5308 * gst/net/gstnettimeprovider.c: Make the port range the same as
5309 for the kernel: 0 assigns, otherwise ports are less than
5312 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
5315 * check/net/gstnetclientclock.c (test_functioning): Add the start
5318 2005-11-18 Wim Taymans <wim@fluendo.com>
5320 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5321 (gst_bin_remove_func), (bin_bus_handler):
5323 Removing a clock provider from a bin, triggers a clock lost message
5324 so that a new clock will be selected.
5325 Adding a clock to a bin triggers a clock provider message.
5326 Make sure we reselect a clock when we received a clock lost message.
5327 Keep a reference to the element that provided the clock.
5329 2005-11-18 Andy Wingo <wingo@pobox.com>
5331 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
5332 the clock initially so it produces values around the base time.
5333 (gst_net_client_clock_class_init): Typo fix.
5334 (gst_net_client_clock_thread): Add note on when the socket gets
5337 2005-11-17 Wim Taymans <wim@fluendo.com>
5339 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
5340 Free remote and local time arrays.
5342 2005-11-17 Wim Taymans <wim@fluendo.com>
5344 * gst/net/gstnetclientclock.c: (do_linear_regression),
5345 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
5346 Fix compilation, uninitialized vars and a forgotten continue.
5348 2005-11-17 Andy Wingo <wingo@pobox.com>
5350 * check/Makefile.am (check_PROGRAMS):
5351 * check/net/gstnetclientclock.c: Add a most minimal test for the
5352 net client clock. More to come later.
5355 * gst/net/Makefile.am: Add netclientclock.
5357 * gst/net/gstnetclientclock.h:
5358 * gst/net/gstnetclientclock.c: New files, implement an untested
5359 GstClock that takes its time from a network time provider.
5360 Implements the algorithm in network-clock.scm.
5362 * tests/network-clock.scm (*window-size*): Rename from
5364 * tests/network-clock.scm (network-time):
5365 * tests/network-clock-utils.scm (q-push): Update callers.
5367 2005-11-17 Wim Taymans <wim@fluendo.com>
5369 * gst/gstbin.c: (gst_bin_provide_clock_func),
5370 (gst_bin_sort_iterator_new):
5371 And unref the child too..
5373 2005-11-17 Wim Taymans <wim@fluendo.com>
5375 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5376 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
5377 Refactor the sort iterator so it can be used while holding the
5379 Make clock selection select a clock closest to the source.
5381 2005-11-17 Michael Smith <msmith@fluendo.com>
5383 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
5384 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
5386 Anonymous structs are a gcc (and some other compilers) extension, so
5387 don't use them. Since this is only for ABI-compatibility, and our
5388 API/ABI freeze is over in a few days, this whole thing will only
5389 last a few days, so don't bother trying to think up a meaningful
5390 name for the struct.
5392 2005-11-17 Andy Wingo <wingo@pobox.com>
5394 * gst/gstclock.h (GstClock): Add rate and offset properties,
5395 preserving ABI stability. Add rate/offset accessors. Will file bug
5396 for the freeze break.
5398 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
5399 and offset, trying to keep precision and avoiding
5401 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
5402 functions. Make gst_clock_set_time_adjust obsolete.
5403 (gst_clock_set_time_adjust): Note that this function is obsolete.
5406 * gst/base/gstbasetransform.h: Make the ABI-stability hack
5407 greppable by using GST_PADDING-1+1.
5409 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
5411 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5413 * gst/gstmessage.c: (gst_message_parse_clock_lost):
5414 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
5416 * gst/gstpadtemplate.h:
5417 * gst/gstpluginfeature.h:
5418 Don't use c++ style comments in headers (#321638).
5420 2005-11-16 Andy Wingo <wingo@pobox.com>
5422 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
5425 * check/net/gstnettimeprovider.c: Check to see that the time
5426 provider actually provides times. Works, yo!
5428 2005-11-16 Wim Taymans <wim@fluendo.com>
5430 * check/Makefile.am:
5433 * check/elements/fakesrc.c: (GST_START_TEST):
5434 Set element to NULL before disposing it.
5436 2005-11-16 Andy Wingo <wingo@pobox.com>
5438 * gst/net/Makefile.am:
5440 * gst/net/gstnettimeprovider.c:
5441 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
5442 provider, include it from gstnet.h, and add it to the build.
5444 * gst/net/gstnettimepacket.h:
5445 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
5446 sending and receiving.
5448 2005-11-16 Wim Taymans <wim@fluendo.com>
5450 * check/Makefile.am:
5451 Enable valgrind check.
5453 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
5454 (gst_fake_src_alloc_buffer):
5457 2005-11-16 Wim Taymans <wim@fluendo.com>
5459 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
5460 Call parent finalize too.
5462 2005-11-16 Wim Taymans <wim@fluendo.com>
5464 * check/Makefile.am:
5465 Enable valgrind check that should work fine now.
5467 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5468 * gst/gstqueue.c: (gst_queue_init):
5469 Fix memleaks in pad allocation.
5471 2005-11-16 Andy Wingo <wingo@pobox.com>
5473 * gst/net/Makefile.am:
5474 * gst/net/gstnet.h: New part of core to hold network elements and
5475 objects. Put in core because it exposes API that applications want
5476 to use. The library is named libgstnet-tempname right now because
5477 of the existing libgstnet in gst-plugins-base. Solution is
5478 probably to rename the one in plugins-base; will file a bug for
5481 * gst/net/gstnettimeprovider.c:
5482 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
5483 get_time call over the network.
5486 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
5488 * check/Makefile.am:
5489 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
5490 get additions shortly.
5492 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
5494 * gst/gstpad.c: (gst_pad_new_from_static_template):
5496 add gst_pad_new_from_static_template functions
5497 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
5498 (gst_check_setup_sink_pad):
5499 * gst/elements/gsttee.c: (gst_tee_init):
5502 2005-11-16 Wim Taymans <wim@fluendo.com>
5504 * gst/gstpad.c: (gst_pad_pause_task):
5505 Removed warning, it's not really an error either.
5507 2005-11-16 Wim Taymans <wim@fluendo.com>
5509 * gst/base/gstbasetransform.c:
5510 (gst_base_transform_prepare_output_buf),
5511 (gst_base_transform_event):
5512 Check if the caps are NULL, this can happen if the element
5513 is shutting down and the pad caps are set to NULL.
5515 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
5517 * gst/elements/gsttee.c: (gst_tee_init):
5518 fix pad template leak in tee
5520 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
5522 * gst/glib-compat.c: (g_value_dup_gst_object):
5523 * gst/glib-compat.h:
5524 * gst/gstpad.c: (gst_pad_set_property):
5525 use gst_object_ref when setting the pad template; this will
5526 trigger the pad template leaks on GLib 2.6 and the slaves
5528 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
5530 * gst/glib-compat.c: (gst_flags_get_first_value):
5531 * gst/glib-compat.h:
5532 * gst/gstregistryxml.c:
5533 remove functions copied from GLib 2.6
5535 2005-11-16 Michael Smith <msmith@fluendo.com>
5538 Don't link against VALGRIND_LIBS. That was always the wrong thing to
5539 do, but only breaks with newer valgrind versions. We're not a
5540 valgrind tool, we have no link-time dependencies on libcoregrind.
5542 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
5544 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5549 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
5551 * gst/base/gstbasesrc.c: (gst_base_src_init):
5552 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5553 * gst/gstqueue.c: (gst_queue_init):
5554 * gst/gstregistryxml.c: (load_feature):
5555 Revert all these unrefs, they don't even pass make check !
5557 2005-11-15 Johan Dahlin <johan@gnome.org>
5559 * gst/base/gstbasesrc.c: (gst_base_src_init):
5560 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5561 * gst/gstqueue.c: (gst_queue_init):
5562 Free pad templates, fixes a couple of leaks.
5564 2005-11-15 Daniel Fischer <dan at f3c dot com>
5566 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5568 * gst/gstpad.c: (gst_pad_get_property):
5569 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
5570 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
5573 2005-11-15 Wim Taymans <wim@fluendo.com>
5578 2005-11-15 Andy Wingo <wingo@pobox.com>
5580 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
5582 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
5583 using GST_CLOCK_TIME_NONE to disable base time management.
5584 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
5585 time if it was NONE before.
5586 (gst_pipeline_change_state): Only munge the base time if
5587 stream_time != GST_CLOCK_TIME_NONE.
5589 * check/gst/gstpipeline.c (test_base_time): Punt around the
5590 problem of the probe not being called, because that's not the
5591 issue I'm looking at. Add a check that setting stream_time to NONE
5592 disables base time management.
5594 2005-11-15 Wim Taymans <wim@fluendo.com>
5596 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5597 segment_stop == -1 at startup.
5599 * gst/base/gstbasetransform.c: (gst_base_transform_event),
5600 (gst_base_transform_change_state):
5601 Init segment values at start.
5603 2005-11-15 Wim Taymans <wim@fluendo.com>
5605 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5606 0 segment values are 0 in any format.
5608 * gst/base/gstbasetransform.c: (gst_base_transform_event):
5609 * gst/base/gstbasetransform.h:
5610 Parse newsegment correctly in basetransform
5612 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5613 Sync to clock using updated segment values.
5615 2005-11-15 Andy Wingo <wingo@pobox.com>
5617 * check/gst/gstpipeline.c (test_base_time): Add check that the
5618 base time and stream time are reset correctly.
5620 2005-11-15 Wim Taymans <wim@fluendo.com>
5622 * docs/design/part-TODO.txt:
5623 Some more TODO items.
5625 2005-11-15 Andy Wingo <wingo@pobox.com>
5627 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
5628 error if the user selected "no clock" as the clocking method.
5630 * check/gst/gstpipeline.c (test_base_time): New test for buffer
5631 timestamps with live capture.
5633 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
5634 is 0 but we are a live source, timestamp the buffers using the
5637 2005-11-14 Stefan Kost <ensonic@users.sf.net>
5639 * docs/gst/gstreamer-sections.txt:
5641 * gst/gstghostpad.c:
5646 2005-11-14 Wim Taymans <wim@fluendo.com>
5649 add suppressions from Wim's Debian machine
5651 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
5654 add suppressions from Andy's AMD64 Ubuntu machine
5656 2005-11-14 Andy Wingo <wingo@pobox.com>
5658 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
5659 STATE_LOCK not necessary. Fixes #311489.
5661 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
5664 * gst/gstindex.c (gst_index_add_object): Note in the docs that
5665 this function is not implemented.
5667 2005-11-14 Julien MOUTTE <julien@moutte.net>
5669 * gst/base/gstbasetransform.c:
5670 (gst_base_transform_prepare_output_buf):
5671 Ref the source pad caps while we need them.
5674 2005-11-11 Wim Taymans <wim@fluendo.com>
5676 * docs/gst/gstreamer-sections.txt:
5677 Added some docs for GstCollectData.
5679 * gst/base/gstadapter.c:
5680 Some small code example fix.
5682 * gst/base/gstcollectpads.c:
5683 * gst/base/gstcollectpads.h:
5686 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
5688 * configure.ac: back to HEAD
5690 === release 0.9.5 ===
5692 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
5695 releasing 0.9.5, "Bike Lunch Day"
5697 2005-11-11 Wim Taymans <wim@fluendo.com>
5699 * gst/gstbuffer.c: (_gst_buffer_copy):
5702 * gst/gstcaps.c: (gst_caps_is_equal):
5704 Make _is_equal fast in the trivial cases.
5706 * gst/gstminiobject.c:
5707 * gst/gstminiobject.h:
5708 More docs. Spifify .h file.
5713 2005-11-11 Wim Taymans <wim@fluendo.com>
5715 * gst/base/gstbasetransform.c:
5716 (gst_base_transform_prepare_output_buf),
5717 (gst_base_transform_handle_buffer):
5719 If we're processing a buffer and need to allocate an output
5720 buffer, we cannot accept a format change. If we did get a
5721 format change, we have to alloc a buffer ourselves of the
5724 2005-11-11 Wim Taymans <wim@fluendo.com>
5726 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
5727 While checking the flag for reentrancy in the gstcaps function
5728 is nice to detect recursive invocations, it also makes it
5729 impossible to call getcaps from multiple threads, which must be
5730 possible. So, checking for recursive calls has to go.
5732 2005-11-11 Michael Smith <msmith@fluendo.com>
5734 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5735 Don't sync on buffers that fall partially outside our current
5736 segment. Prevents an assertion failure/abort playing some files.
5738 2005-11-10 Andy Wingo <wingo@pobox.com>
5740 * check/gst/gstbin.c (test_message_state_changed_children): Style
5743 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
5744 gst_bus_poll with the signal watch. Ensures that poll and a signal
5745 watch see the same messages.
5747 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
5748 a poll and a watch at the same time get the same messages.
5750 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
5752 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
5753 * gst/gstcaps.c: (gst_caps_intersect):
5754 Don't call gst_caps_do_simplify - it doesn't respect order of caps
5755 and it's not needed.
5757 2005-11-10 Wim Taymans <wim@fluendo.com>
5759 * docs/design/part-TODO.txt:
5762 2005-11-10 Wim Taymans <wim@fluendo.com>
5764 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5765 * gst/base/gstbasesrc.c: (gst_base_src_wait),
5766 (gst_base_src_do_sync), (gst_base_src_get_range):
5767 Implement clock sync in base class.
5769 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
5771 patch by: Tim-Philipp Müller <tim at centricular dot net>
5773 * gst/gststructure.c: (gst_structure_parse_field),
5774 (gst_structure_from_string):
5775 Forward-port a 0.8 patch to handle escaped spaces in structure string,
5776 so that gst_parse_launch() can deal with spaces in filtered link
5777 caps (fixes #164479)
5778 * check/gst/capslist.h:
5779 * check/gst/gststructure.c: (GST_START_TEST):
5780 add unit tests for this change
5782 2005-11-10 Wim Taymans <wim@fluendo.com>
5784 * docs/gst/gstreamer-sections.txt:
5787 Fix docs, move some STATE macros to private.
5789 2005-11-10 Wim Taymans <wim@fluendo.com>
5791 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5792 Added check for bug #317341
5796 Some more spiffifying.
5798 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
5799 Call peer linkfunction if we are a source pad. Totally fixes
5803 Update docs, source pads should call the peer linkfunction
5804 so they can atomically perform the pad link.
5806 2005-11-09 Wim Taymans <wim@fluendo.com>
5810 Uber-spiffy-spiffify some more.
5812 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
5814 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
5815 * gst/elements/gstfilesink.c: (gst_file_sink_init):
5816 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5817 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
5818 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
5819 * gst/gstpad.c: (gst_pad_init):
5820 Use GST_DEBUG_FUNCPTR() more extensively.
5822 2005-11-09 Wim Taymans <wim@fluendo.com>
5824 * gst/gstobject.c: (gst_object_class_init):
5826 Documentation fixes.
5828 2005-11-09 Edward Hervey <edward@fluendo.com>
5830 * gst/gsttypefindfactory.c:
5833 2005-11-09 Edward Hervey <edward@fluendo.com>
5835 * gst/base/gsttypefindhelper.c:
5836 * gst/gsttypefind.c:
5837 * gst/gsttypefind.h:
5840 2005-11-09 Wim Taymans <wim@fluendo.com>
5842 * gst/gstiterator.c:
5849 2005-11-09 Wim Taymans <wim@fluendo.com>
5855 2005-11-09 Wim Taymans <wim@fluendo.com>
5857 * docs/gst/gstreamer-sections.txt:
5858 Moved the message async delivery private lock and cond
5859 to the private section.
5865 2005-11-09 Edward Hervey <edward@fluendo.com>
5867 * docs/gst/gstreamer-sections.txt:
5870 Document GstURIHandler
5872 2005-11-09 Wim Taymans <wim@fluendo.com>
5874 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
5875 (gst_iterator_find_custom):
5876 * gst/gstiterator.h:
5879 2005-11-09 Wim Taymans <wim@fluendo.com>
5882 Document another field.
5884 * gst/gststructure.c:
5885 * gst/gststructure.h:
5888 2005-11-09 Wim Taymans <wim@fluendo.com>
5893 2005-11-09 Wim Taymans <wim@fluendo.com>
5895 * docs/gst/gstreamer-sections.txt:
5896 Added some new macros.
5903 2005-11-09 Wim Taymans <wim@fluendo.com>
5905 * docs/design/part-TODO.txt:
5906 Some more items for the TODO
5912 2005-11-09 Andy Wingo <wingo@pobox.com>
5914 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
5915 to work on something else now tho...
5917 * gst/base/gstadapter.c: More adapter docs.
5919 * gst/elements/gstfilesink.c (gst_file_sink_start)
5920 (gst_file_sink_stop): New functions, replace the state change
5922 (gst_file_sink_class_init): Hook up the start and stop functions.
5923 (gst_file_sink_base_init): Don't set the state change handler any
5924 more. It was a bit ugly too, being set from here...
5925 (gst_file_sink_get_property, gst_file_sink_set_property):
5927 (gst_file_sink_set_location): More robust check that doesn't call
5930 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
5932 * gst/base/gstbasetransform.c: (gst_base_transform_event):
5933 Hold STREAM_LOCK while pushing newsegment or tag events as well.
5935 2005-11-08 Wim Taymans <wim@fluendo.com>
5937 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5938 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5939 (gst_base_sink_chain), (gst_base_sink_change_state):
5940 * gst/base/gstbasesink.h:
5941 * gst/base/gstbasesrc.h:
5944 Avoid excessive typechecking in macros.
5946 * gst/gstminiobject.c: (gst_mini_object_get_type),
5947 (gst_mini_object_init), (gst_mini_object_new),
5948 (gst_mini_object_free):
5949 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5950 (gst_object_finalize):
5951 Remove cruft code, optimize alloc_trace.
5953 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
5955 * docs/faq/gst-uninstalled:
5956 fix up PS1 for systems that try to reset it
5958 2005-11-07 Wim Taymans <wim@fluendo.com>
5960 * gst/base/gstbasesrc.c: (gst_base_src_init),
5961 (gst_base_src_get_range):
5962 Set the segment_end to -1 initially. Fixed typefind.
5964 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
5966 * gst/base/gstadapter.c:
5967 Debug category should be 'adapter', not 'GstAdapter'.
5969 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
5970 (gst_collectpads_class_init), (gst_collectpads_init),
5971 (gst_collectpads_peek), (gst_collectpads_pop),
5972 (gst_collectpads_event), (gst_collectpads_chain):
5973 Add debug category and some debugging output. Use boilerplate
5974 macros. Remove some extraneous words from docs.
5976 2005-11-05 Andy Wingo <wingo@pobox.com>
5978 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
5981 2005-11-04 Stefan Kost <ensonic@users.sf.net>
5983 * docs/gst/gstreamer-sections.txt:
5986 * gst/gstminiobject.h:
5991 2005-11-04 Wim Taymans <wim@fluendo.com>
5993 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5994 Small update to stop at the configured segment_end
5997 2005-11-04 Stefan Kost <ensonic@users.sf.net>
5999 * gst/gstregistry.c:
6000 * gst/gstregistry.h:
6003 2005-11-04 Edward Hervey <edward@fluendo.com>
6005 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6006 Check if we are doing a segment seek and have arrived at the
6007 end of that segment.
6009 2005-11-04 Wim Taymans <wim@fluendo.com>
6011 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
6012 Don't leak a mutex unlock in case of an error.
6017 2005-11-04 Wim Taymans <wim@fluendo.com>
6019 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
6021 Get the context to wake up only once.
6023 2005-11-03 Wim Taymans <wim@fluendo.com>
6025 * check/states/sinks.c: (GST_START_TEST):
6026 Uncomment fixed check.
6028 * docs/design/part-TODO.txt:
6031 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6032 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6033 (gst_base_sink_get_position):
6034 If we are going to PLAYING, post the right pending state
6035 when we post the intermediate paused message.
6037 * gst/gstelement.c: (gst_element_continue_state),
6038 (gst_element_set_state_func), (gst_element_change_state):
6039 Don't post state changes that were between the same state
6042 2005-11-03 Stefan Kost <ensonic@users.sf.net>
6044 * docs/gst/gstreamer-sections.txt:
6047 * gst/gstminiobject.h:
6050 more docs and doc style fixes
6052 2005-11-03 Stefan Kost <ensonic@users.sf.net>
6054 * docs/gst/gstreamer-sections.txt:
6056 * gst/gstminiobject.c:
6059 2005-11-03 Andy Wingo <wingo@pobox.com>
6061 * check/states/sinks.c (test_livesrc_sink): Add checks that the
6062 state-changed messages actually have the right order and the right
6065 2005-11-03 Wim Taymans <wim@fluendo.com>
6067 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6068 Added some more checks. Specifically the case where NO_PREROLL
6069 elements are in the pipeline.
6071 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6072 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
6073 (gst_base_sink_get_position):
6074 Post READY->PAUSED state change messages too.
6075 Fix bug where VOID was posted as pending state...
6077 * gst/gstbin.c: (gst_bin_recalc_state):
6078 use _element_continue_state() to continue the state change.
6080 * gst/gstelement.c: (gst_element_continue_state),
6081 (gst_element_commit_state), (gst_element_set_state_func),
6082 (gst_element_change_state), (gst_element_change_state_func):
6083 Lots of state change cleanups, assign the STATE_RETURN in
6084 a new continue_state() function that also propagates the
6085 last return value from a state change to the app.
6086 Update some debug statements with proper category.
6088 2005-11-03 Wim Taymans <wim@fluendo.com>
6090 * docs/design/part-events.txt:
6091 * docs/design/part-gstpipeline.txt:
6092 * docs/design/part-messages.txt:
6093 * docs/design/part-overview.txt:
6094 * docs/design/part-seeking.txt:
6095 * docs/design/part-states.txt:
6096 * docs/design/part-trickmodes.txt:
6097 * docs/manual/advanced-position.xml:
6101 People think !! is ugly, this looks better.
6103 * gst/gstpad.c: (gst_pad_set_blocked_async):
6104 Remove !! since it's fixed elsewhere now.
6106 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
6108 * gst/gstminiobject.h:
6110 Add !! to _FLAG_IS_SET macros to make the result boolean.
6112 2005-11-03 Edward Hervey <edward@fluendo.com>
6114 * gst/gstpad.c: (gst_pad_set_blocked_async):
6115 comparing a flag and a gboolean rarely returns coherent results...
6116 Added two characters (!!) to make that work correctly.
6118 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
6120 * gst/gstbus.c: (gst_bus_class_init):
6123 * gst/gstqueue.c: (gst_queue_loop):
6124 Don't assume a miniobject that isn't a buffer is an
6125 event (it could be that there is a refcounting
6126 problem somewhere and the pointer is stale and
6127 refers to an already destroyed miniobject).
6129 2005-11-03 Julien MOUTTE <julien@moutte.net>
6131 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
6133 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
6135 * docs/manual/advanced-position.xml:
6136 Update seek example and explanations to current 0.9 API.
6138 * gst/elements/gsttypefindelement.c:
6139 (gst_type_find_element_activate):
6140 Remove FIXME comment now that the found caps
6143 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
6145 * gst/gstregistryxml.c: (load_feature):
6146 Add another GST_STR_NULL instance
6148 2005-11-02 Edward Hervey <edward@fluendo.com>
6150 * gst/gstpad.c: (handle_pad_block):
6151 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
6153 2005-11-02 Wim Taymans <wim@fluendo.com>
6158 * gst/gstelement.c: (gst_element_commit_state):
6159 Remove unused value.
6161 * gst/gstiterator.c:
6162 Mention that the returned element is reffed in the docs.
6164 2005-11-02 Wim Taymans <wim@fluendo.com>
6166 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
6167 (gst_pad_push), (gst_pad_push_event):
6168 Unlock blocked pads when they are flushed.
6170 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
6173 * docs/gst/gstreamer-sections.txt:
6176 * gst/gstregistry.c: (gst_registry_scan_path_level):
6177 fix for a nasty little missed situation where an installed plug-in
6178 which was in the cache did not get overridden by an uninstalled one
6179 which was earlier in the plugin path because the newly created plugin
6180 for the uninstalled one (not in the registry) didn't get its
6181 ->registered set to TRUE
6183 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
6185 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
6186 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
6187 (gst_collectpads_is_active), (gst_collectpads_collect),
6188 (gst_collectpads_collect_range), (gst_collectpads_start),
6189 (gst_collectpads_stop), (gst_collectpads_peek),
6190 (gst_collectpads_pop), (gst_collectpads_available),
6191 (gst_collectpads_read), (gst_collectpads_flush):
6192 Guard public API with assertions.
6195 Fix docs for gst_pad_set_link_function().
6197 2005-11-02 Johan Dahlin <johan@gnome.org>
6199 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
6200 Unref found_caps after we used it.
6202 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
6204 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
6205 Don't try to ref NULL.
6207 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
6209 * win32/common/config.h.in:
6210 provide a GST_FUNCTION that just gives a string for now
6212 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
6214 * win32/common/gstenumtypes.c: (register_gst_object_flags),
6215 (gst_object_flags_get_type), (register_gst_bin_flags),
6216 (gst_bin_flags_get_type), (register_gst_buffer_flag),
6217 (gst_buffer_flag_get_type), (register_gst_bus_flags),
6218 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6219 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
6220 (gst_clock_return_get_type), (register_gst_clock_entry_type),
6221 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6222 (gst_clock_flags_get_type), (register_gst_state),
6223 (gst_state_get_type), (register_gst_state_change_return),
6224 (gst_state_change_return_get_type), (register_gst_state_change),
6225 (gst_state_change_get_type), (register_gst_element_flags),
6226 (gst_element_flags_get_type), (register_gst_core_error),
6227 (gst_core_error_get_type), (register_gst_library_error),
6228 (gst_library_error_get_type), (register_gst_resource_error),
6229 (gst_resource_error_get_type), (register_gst_stream_error),
6230 (gst_stream_error_get_type), (register_gst_event_type),
6231 (gst_event_type_get_type), (register_gst_seek_type),
6232 (gst_seek_type_get_type), (register_gst_seek_flags),
6233 (gst_seek_flags_get_type), (register_gst_format),
6234 (gst_format_get_type), (register_gst_index_certainty),
6235 (gst_index_certainty_get_type), (register_gst_index_entry_type),
6236 (gst_index_entry_type_get_type),
6237 (register_gst_index_lookup_method),
6238 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6239 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6240 (gst_index_resolver_method_get_type), (register_gst_index_flags),
6241 (gst_index_flags_get_type), (register_gst_debug_level),
6242 (gst_debug_level_get_type), (register_gst_debug_color_flags),
6243 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6244 (gst_iterator_result_get_type), (register_gst_iterator_item),
6245 (gst_iterator_item_get_type), (register_gst_message_type),
6246 (gst_message_type_get_type), (register_gst_mini_object_flags),
6247 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6248 (gst_pad_link_return_get_type), (register_gst_flow_return),
6249 (gst_flow_return_get_type), (register_gst_activate_mode),
6250 (gst_activate_mode_get_type), (register_gst_pad_direction),
6251 (gst_pad_direction_get_type), (register_gst_pad_flags),
6252 (gst_pad_flags_get_type), (register_gst_pad_presence),
6253 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6254 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6255 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6256 (gst_plugin_error_get_type), (register_gst_plugin_flags),
6257 (gst_plugin_flags_get_type), (register_gst_rank),
6258 (gst_rank_get_type), (register_gst_query_type),
6259 (gst_query_type_get_type), (register_gst_tag_merge_mode),
6260 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6261 (gst_tag_flag_get_type), (register_gst_task_state),
6262 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6263 (gst_alloc_trace_flags_get_type),
6264 (register_gst_type_find_probability),
6265 (gst_type_find_probability_get_type), (register_gst_uri_type),
6266 (gst_uri_type_get_type), (register_gst_parse_error),
6267 (gst_parse_error_get_type):
6268 * win32/common/gstversion.h:
6271 2005-11-01 Luca Ognibene <luogni@tin.it>
6274 fix docs. popt is dead, long live GOption.
6276 2005-10-31 Wim Taymans <wim@fluendo.com>
6281 2005-10-31 Andy Wingo <wingo@pobox.com>
6285 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
6287 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
6288 need to serialize property notifications on GLib 2.8. GLib 2.6 has
6289 the possibility of deadlocks here if code calling notify() or
6290 set() has a lock that can be taken in another notify handler (ABBA
6291 with class lock and e.g. python GIL state lock).
6293 2005-10-28 Julien MOUTTE <julien@moutte.net>
6295 * gst/gstbus.c: Doc updates.
6297 2005-10-28 Wim Taymans <wim@fluendo.com>
6299 * docs/design/part-TODO.txt:
6300 * gst/gstiterator.c:
6301 * gst/gstsystemclock.c:
6302 * gst/gstsystemclock.h:
6305 2005-10-28 Edward Hervey <edward@fluendo.com>
6307 * docs/gst/gstreamer-docs.sgml:
6308 * docs/gst/gstreamer-sections.txt:
6309 the GstURIType documentation page is private, it only defines GstURIType
6310 which should be defined in the GstURIHandler page
6312 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
6314 * gst/gstbin.c: (gst_bin_class_init):
6317 Documentation updates.
6319 2005-10-28 Wim Taymans <wim@fluendo.com>
6321 * docs/gst/gstreamer-sections.txt:
6324 Documented the clocks.
6326 2005-10-28 Stefan Kost <ensonic@users.sf.net>
6328 * docs/gst/gstreamer-sections.txt:
6329 move some macros to private sections
6330 * gst/gstminiobject.c:
6331 * gst/gstminiobject.h:
6332 add descriptions provided by ds and some more
6334 mark macro as to be removed
6336 2005-10-28 Wim Taymans <wim@fluendo.com>
6338 * docs/design/part-TODO.txt:
6339 Add an item to TODO.
6341 * gst/gstiterator.c: (gst_iterator_fold),
6342 (gst_iterator_find_custom):
6343 * gst/gstiterator.h:
6346 2005-10-28 Wim Taymans <wim@fluendo.com>
6348 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6349 (gst_base_transform_init):
6352 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
6353 An EOS event marks the queue as completely filled.
6355 2005-10-27 Wim Taymans <wim@fluendo.com>
6357 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6358 (gst_base_sink_do_sync), (gst_base_sink_get_position):
6359 Some more debugging.
6361 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
6362 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
6363 (gst_base_transform_event), (gst_base_transform_getrange),
6364 (gst_base_transform_chain):
6365 * gst/base/gstbasetransform.h:
6367 Protect transform and concurrent buffer alloc with a new lock.
6368 Try not to break ABI/API.
6370 2005-10-27 Wim Taymans <wim@fluendo.com>
6372 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6373 (gst_base_src_init), (gst_base_src_query),
6374 (gst_base_src_default_newsegment),
6375 (gst_base_src_configure_segment), (gst_base_src_do_seek),
6376 (gst_base_src_send_event), (gst_base_src_event_handler),
6377 (gst_base_src_pad_get_range), (gst_base_src_loop),
6378 (gst_base_src_unlock), (gst_base_src_default_negotiate),
6379 (gst_base_src_start), (gst_base_src_deactivate),
6380 (gst_base_src_activate_push), (gst_base_src_change_state):
6381 Move some stuff around and cleanup things.
6383 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
6385 * gst/base/gstbasesrc.c: (gst_base_src_query):
6386 Add missing break statements.
6388 2005-10-27 Wim Taymans <wim@fluendo.com>
6390 * check/gst/gstbin.c: (GST_START_TEST):
6391 An extra refcount is taken in basesrc.
6393 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6394 (gst_base_src_get_range), (gst_base_src_pad_get_range),
6395 (gst_base_src_loop):
6396 Small cleanups, check for flushing after being unlocked from the
6397 LIVE_LOCK. take refcounts correctly (not yet everywhere).
6398 Don't send out EOS when going to READY.
6400 2005-10-27 Wim Taymans <wim@fluendo.com>
6402 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6403 (gst_base_sink_get_position):
6406 * gst/gstbin.c: (message_check), (bin_replace_message),
6407 (bin_remove_messages), (is_eos), (gst_bin_add_func),
6408 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6409 (bin_query_duration_init), (bin_query_duration_fold),
6410 (bin_query_duration_done), (bin_query_generic_fold),
6412 * tools/gst-launch.c: (main):
6415 2005-10-26 Stefan Kost <ensonic@users.sf.net>
6417 * examples/controller/audio-example.c: (main):
6418 * examples/queue/queue.c: (event_loop):
6419 * gst/base/gstbasetransform.h:
6420 * gst/gstelement.c: (gst_element_send_event):
6422 * gst/gstpad.c: (gst_pad_send_event):
6425 changing log priority in error situations
6427 2005-10-25 Wim Taymans <wim@fluendo.com>
6429 * gst/gstbin.c: (message_check), (bin_replace_message),
6430 (bin_remove_messages), (is_eos), (gst_bin_add_func),
6431 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6432 (bin_query_duration_init), (bin_query_duration_fold),
6433 (bin_query_duration_done), (bin_query_generic_fold),
6435 Some doc and debug updates.
6436 Cache previously requested query DURATION for speed. invalidate
6437 cached duration if element posts a DURATION message.
6439 2005-10-25 Wim Taymans <wim@fluendo.com>
6441 * docs/design/part-TODO.txt:
6444 * gst/gstbin.c: (message_check), (bin_replace_message),
6445 (bin_remove_messages), (is_eos), (gst_bin_add_func),
6446 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
6447 (bin_query_duration_init), (bin_query_duration_fold),
6448 (bin_query_duration_done), (bin_query_generic_fold),
6450 Handle SEGMENT_START/DONE messages correctly.
6451 More evolved query algorithm that handles duration queries
6454 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
6455 (gst_element_get_state_func), (gst_element_abort_state),
6456 (gst_element_commit_state), (gst_element_lost_state):
6457 Some more debugging.
6462 2005-10-25 Wim Taymans <wim@fluendo.com>
6464 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6465 Don't use invalid stream_time.
6467 * gst/gstevent.c: (gst_event_new_newsegment):
6468 stream_time in newsegment cannot be undefined.
6470 2005-10-24 Wim Taymans <wim@fluendo.com>
6475 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6477 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
6479 2005-10-24 Stefan Kost <ensonic@users.sf.net>
6481 * docs/libs/tmpl/gstdparam.sgml:
6482 * docs/libs/tmpl/gstdplinint.sgml:
6483 * docs/libs/tmpl/gstdpman.sgml:
6484 * docs/libs/tmpl/gstdpsmooth.sgml:
6485 * docs/libs/tmpl/gstunitconvert.sgml:
6488 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
6493 === release 0.9.4 ===
6495 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
6498 releasing 0.9.4, "Tyrannosaurus Rex"
6500 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
6502 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6503 (gst_file_sink_get_current_offset):
6504 Use fseeko() and ftello() if available. When falling back on
6505 lseek() to get the current offset, fflush() first to make sure
6506 everything is up-to-date and we get the right offset.
6508 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
6510 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6511 * gst/base/gstbasesrc.c: (gst_base_src_loop):
6512 * gst/gsterror.c: (_gst_stream_errors_init):
6514 * gst/gstqueue.c: (gst_queue_loop):
6516 remove prematurely added error category and clean up the instances
6518 2005-10-21 Wim Taymans <wim@fluendo.com>
6520 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6521 (gst_base_sink_get_position), (gst_base_sink_query),
6522 (gst_base_sink_change_state):
6523 Simply set the right flag when going to playing, that's all
6524 we need to do instead of calling a function inside the object
6525 lock (that could take the lock as well and deadlock)
6527 2005-10-21 Wim Taymans <wim@fluendo.com>
6529 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
6530 (gst_base_src_loop):
6531 Don't warn, the peer element knows what to do best when
6532 the seek failed, it might try something else.
6534 2005-10-21 Wim Taymans <wim@fluendo.com>
6536 * gst/base/gstbasesrc.c: (gst_base_src_init),
6537 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
6540 2005-10-21 Wim Taymans <wim@fluendo.com>
6542 * docs/design/part-segments.txt:
6545 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6546 Correctly set caps, even on the subbufer.
6548 2005-10-21 Wim Taymans <wim@fluendo.com>
6550 * docs/gst/gstreamer-docs.sgml:
6551 * docs/gst/gstreamer-sections.txt:
6558 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
6562 And 2% more doc coverage.
6564 2005-10-21 Andy Wingo <wingo@pobox.com>
6566 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
6569 2005-10-20 Wim Taymans <wim@fluendo.com>
6571 * gst/gsterror.c: (gst_error_get_message):
6574 * gst/gststructure.c:
6579 2005-10-20 Wim Taymans <wim@fluendo.com>
6584 Another 1% more coverage.
6586 2005-10-20 Wim Taymans <wim@fluendo.com>
6588 * docs/gst/gstreamer-sections.txt:
6589 * gst/gstelement.c: (gst_element_get_state_func),
6590 (gst_element_abort_state), (gst_element_commit_state),
6591 (gst_element_lost_state):
6593 * gst/gstquery.c: (gst_query_set_position),
6594 (gst_query_parse_position), (gst_query_set_duration),
6595 (gst_query_parse_duration), (gst_query_new_convert):
6597 Yay! 1% more docs coverage.
6599 2005-10-20 Wim Taymans <wim@fluendo.com>
6602 * gst/gstquery.c: (gst_query_set_position),
6603 (gst_query_parse_position), (gst_query_set_duration),
6604 (gst_query_parse_duration), (gst_query_new_convert):
6606 * gst/gstutils.c: (gst_element_query_convert):
6608 Docs and consistency fixes.
6610 2005-10-20 Wim Taymans <wim@fluendo.com>
6616 2005-10-20 Wim Taymans <wim@fluendo.com>
6618 * gst/gstbin.c: (message_check), (bin_replace_message),
6619 (bin_remove_messages), (is_eos), (gst_bin_add_func),
6620 (update_degree), (gst_bin_sort_iterator_next),
6621 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
6622 Reworked the message handling a bit, cache the messages instead of
6623 only the senders. alows us to do more in the future.
6625 2005-10-20 Wim Taymans <wim@fluendo.com>
6627 * docs/design/part-TODO.txt:
6630 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6631 (gst_base_sink_query):
6632 Don't use clock time to report position when in EOS.
6634 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
6636 * tools/gst-inspect.c: (print_interfaces),
6637 (print_element_properties_info), (print_element_info):
6638 Fix interface output with gst-inspect -a; don't print
6639 newlines after double/float properties.
6641 2005-10-20 Wim Taymans <wim@fluendo.com>
6643 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6644 (gst_base_sink_query):
6645 Speed up current position calculation.
6647 * gst/base/gstbasesrc.c: (gst_base_src_query),
6648 (gst_base_src_default_newsegment):
6649 Correctly set stream position in newsegment.
6651 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
6652 (update_degree), (gst_bin_sort_iterator_next),
6653 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
6654 * gst/gstmessage.c: (gst_message_new_custom):
6655 Clean up debugging info
6657 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6658 (gst_queue_loop), (gst_queue_handle_src_query):
6661 2005-10-19 Wim Taymans <wim@fluendo.com>
6663 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6664 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6665 Fix query handling again.
6667 2005-10-19 Wim Taymans <wim@fluendo.com>
6669 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6670 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6671 * gst/base/gstbasesrc.c: (gst_base_src_query):
6672 * gst/elements/gstfilesink.c: (gst_file_sink_query):
6673 * gst/elements/gsttypefindelement.c:
6674 (gst_type_find_handle_src_query), (find_element_get_length),
6675 (gst_type_find_element_activate):
6678 * gst/gstquery.c: (gst_query_new_position),
6679 (gst_query_set_position), (gst_query_parse_position),
6680 (gst_query_new_duration), (gst_query_set_duration),
6681 (gst_query_parse_duration), (gst_query_set_segment),
6682 (gst_query_parse_segment):
6684 Bundling query position/duration is not a good idea since duration
6685 does not change much and we don't want to recalculate it for every
6686 position query, so they are separated again..
6687 Base value in segment query is not needed.
6689 * gst/gstqueue.c: (gst_queue_handle_src_query):
6690 * gst/gstutils.c: (gst_element_query_position),
6691 (gst_element_query_duration), (gst_pad_query_position),
6692 (gst_pad_query_duration):
6694 Updates for query API change.
6695 Added some docs here and there.
6697 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
6699 * check/gst/gstbin.c: (GST_START_TEST):
6700 * check/gst/gstghostpad.c: (GST_START_TEST):
6701 * check/pipelines/cleanup.c: (GST_START_TEST):
6702 wait on thread to die so we can check refcount correctly
6704 2005-10-18 Wim Taymans <wim@fluendo.com>
6706 * check/pipelines/stress.c: (GST_START_TEST):
6707 Make check a little more time consuming.
6709 2005-10-18 Wim Taymans <wim@fluendo.com>
6711 * check/Makefile.am:
6712 * check/pipelines/stress.c: (GST_START_TEST),
6713 (simple_launch_lines_suite), (main):
6714 Small state change torture test.
6716 * docs/design/part-states.txt:
6717 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6718 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
6719 (gst_base_sink_change_state):
6720 Never take state lock from streaming thread, clean up ugly
6721 hacks. Unfortunatly core does not yet support nice ways to
6724 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
6726 Start state recalc if a STATE_DIRTY message is posted, but only
6727 on the toplevel bin.
6729 * gst/gstelement.c: (gst_element_sync_state_with_parent),
6730 (gst_element_get_state_func), (gst_element_abort_state),
6731 (gst_element_commit_state), (gst_element_lost_state),
6732 (gst_element_set_state_func), (gst_element_change_state):
6734 State variables are now protected with the LOCK, the state
6735 lock is only used to serialize _set_state().
6737 2005-10-18 Wim Taymans <wim@fluendo.com>
6739 * check/gst/gstbin.c: (GST_START_TEST):
6740 * check/gst/gstmessage.c: (GST_START_TEST):
6741 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6742 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
6744 * gst/gstelement.c: (gst_element_abort_state),
6745 (gst_element_commit_state), (gst_element_lost_state):
6746 * gst/gstmessage.c: (gst_message_new_state_changed),
6747 (gst_message_new_state_dirty), (gst_message_new_segment_start),
6748 (gst_message_new_segment_done), (gst_message_new_duration),
6749 (gst_message_parse_state_changed),
6750 (gst_message_parse_segment_start),
6751 (gst_message_parse_segment_done), (gst_message_parse_duration):
6753 * tools/gst-launch.c: (event_loop):
6754 Seriously, this is better than a previous commit as we only need
6755 to notify the fact that an element changed state in a streaming
6756 thread, marking the state of the parents dirty, hence the
6757 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
6760 2005-10-18 Wim Taymans <wim@fluendo.com>
6762 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6763 (gst_bin_recalc_func):
6764 * gst/gstelement.c: (gst_element_set_clock),
6765 (gst_element_abort_state), (gst_element_lost_state):
6766 Cleanups, prepare for state change fixes.
6768 2005-10-18 Wim Taymans <wim@fluendo.com>
6771 * gst/gstelement.c: (gst_element_class_init),
6772 (gst_element_set_state), (gst_element_set_state_func):
6774 Pending ABI changes.
6775 GThreadPool in GstBinClass to monitor async state changes.
6776 state_cookie in GstElement to detect concurrent gst/set state.
6777 set_state is now virtual too in case a very complicated element
6778 has to be constructed.
6780 2005-10-18 Wim Taymans <wim@fluendo.com>
6782 * check/gst/gstbin.c: (GST_START_TEST):
6783 * check/gst/gstmessage.c: (GST_START_TEST):
6784 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6785 * gst/gstbin.c: (bin_bus_handler):
6786 * gst/gstelement.c: (gst_element_commit_state),
6787 (gst_element_lost_state):
6788 * gst/gstmessage.c: (gst_message_new_state_changed),
6789 (gst_message_new_segment_start), (gst_message_new_segment_done),
6790 (gst_message_new_duration), (gst_message_parse_state_changed),
6791 (gst_message_parse_segment_start),
6792 (gst_message_parse_segment_done), (gst_message_parse_duration):
6794 * tools/gst-launch.c: (event_loop):
6795 Make messages future proof.
6796 state-change gets a flag if it was a message comming from the
6798 segment-start/stop can also be specified in other formats.
6799 A message to notify an app that a pipeline changed playback
6801 Also fix a GstMessage leak in -launch
6803 2005-10-18 Andy Wingo <wingo@pobox.com>
6805 * gst/gstelement.c (gst_element_dispose): More helpful message.
6807 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
6809 reviewed by: <delete if not using a buddy>
6811 * common/gtk-doc.mak:
6813 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
6815 * gst/gstregistry.c: (gst_registry_scan_path_level):
6816 unref a plug-in we get that was already initialized
6818 2005-10-18 Stefan Kost <ensonic@users.sf.net>
6820 * docs/gst/gstreamer-sections.txt:
6821 * docs/libs/gstreamer-libs-sections.txt:
6826 2005-10-17 Andy Wingo <wingo@pobox.com>
6828 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
6831 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
6833 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
6835 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
6836 (gst_element_get_state_func): Better debug message.
6837 (gst_element_commit_state): s/INFO/DEBUG/.
6838 (gst_element_lost_state, gst_element_change_state):
6840 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
6841 (gst_message_new_custom): s/INFO/LOG/.
6843 2005-10-17 Michael Smith <msmith@fluendo.com>
6845 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6846 Check if end time is valid using end time, not start time.
6848 2005-10-17 Stefan Kost <ensonic@users.sf.net>
6850 * check/gst-libs/controller.c: (GST_START_TEST),
6851 (gst_controller_suite):
6852 * libs/gst/controller/gstcontroller.c:
6853 (gst_controlled_property_set_interpolation_mode):
6854 * libs/gst/controller/gstcontroller.h:
6855 * libs/gst/controller/gstinterpolation.c:
6856 * testsuite/controller/.cvsignore:
6857 * testsuite/controller/Makefile.am:
6858 * testsuite/controller/interpolator.c:
6859 merge controller testsuites
6861 remove mem-chunk from docs
6863 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
6865 * gst/gstmemchunk.c:
6866 * gst/gstmemchunk.h:
6867 * gst/gsttrashstack.c:
6868 * gst/gsttrashstack.h:
6869 out. get out. you're fired. to the Attic !
6871 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
6873 * gst/gstcaps.c: (gst_caps_intersect):
6874 fix signedness issues in a (hopefully) correct way
6875 * gst/gstelement.c: (gst_element_pads_activate):
6877 * gst/gstobject.c: (gst_object_set_parent):
6880 2005-10-17 Julien MOUTTE <julien@moutte.net>
6882 * gst/gstvalue.h: Fix prototypes.
6884 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6886 * docs/gst/gstreamer-sections.txt:
6887 * gst/gst.c: (gst_version_string):
6889 * gst/gstversion.h.in:
6890 * win32/common/libgstreamer.def:
6891 add gst_version_string ()
6893 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6897 * gst/gst.c: (init_post):
6898 * win32/common/config.h.in:
6900 * gst/gstcaps.c: (gst_caps_intersect):
6901 use gint64, the range could be bigger than a guint
6903 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6906 document potential problem in 2038
6908 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6910 * gst/gstcaps.c: (gst_caps_intersect):
6911 Fix guint j diving under 0
6913 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6916 * win32/common/config.h:
6917 * win32/common/config.h.in:
6918 check for process.h, declares getpid() on Windows
6920 include process.h if we have it
6921 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
6922 * gst/gstmemchunk.h:
6923 fix signedness issues
6924 * win32/common/libgstreamer.def:
6927 2005-10-16 Julien MOUTTE <julien@moutte.net>
6929 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
6930 fix. Because of unsigned ints, caps intersection was going nuts and
6931 trying to access structures with G_MAXUINT index. That fixes
6932 videotestsrc ! ffmpegcolorspace ! fakesink
6933 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
6936 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6939 use the gettext macro
6940 * gst/elements/gstelements.c:
6942 * gst/indexers/gstindexers.c:
6943 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
6944 * win32/common/config.h:
6946 * win32/common/config.h.in:
6947 add the template to generate config.h
6948 * win32/common/gstenumtypes.c:
6949 * win32/common/gstversion.h:
6952 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6954 * gst/gst.c: (gst_version):
6955 * gst/gstversion.h.in:
6958 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
6961 Oops, add missing closing bracket.
6963 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6966 use common m4's for argument checking
6968 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
6970 * docs/gst/gstreamer-sections.txt:
6972 Add GST_EVENT_TYPE_NAME() macro.
6974 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6977 * gst/gstpluginfeature.c:
6979 privatize more symbols
6981 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6984 add srcdir, builddir includes to GST_ALL_CFLAGS, since
6985 everything that uses GStreamer API should have the includes
6987 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6989 * docs/gst/gstreamer-sections.txt:
6990 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6992 give each value a _get_type, removes the DATA exports
6994 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6998 remove _gst_registry_auto_load, not used anymore
6999 * gst/gstbin.c: (gst_bin_get_type):
7001 * gst/gstelement.c: (gst_element_get_type):
7003 * gst/gstobject.c: (gst_object_get_type):
7005 * gst/gstpad.c: (gst_pad_get_type):
7007 make _get_type functions similar, fixes data export from library
7009 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
7012 correctly make conditionals
7013 * gst/elements/Makefile.am:
7014 * gst/elements/gstelements.c:
7015 fix typo causing fdsrc not to build
7017 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
7019 * testsuite/Makefile.am:
7020 * testsuite/bytestream/.cvsignore:
7021 * testsuite/bytestream/Makefile.am:
7022 * testsuite/bytestream/filepadsink.c:
7023 * testsuite/bytestream/gstbstest.c:
7024 * testsuite/bytestream/test1.c:
7025 * testsuite/bytestream/testfile1:
7026 * testsuite/caps/normalisation.c:
7027 * testsuite/caps/random.c: (main):
7028 * testsuite/cleanup/.cvsignore:
7029 * testsuite/cleanup/Makefile.am:
7030 * testsuite/cleanup/cleanup1.c:
7031 * testsuite/cleanup/cleanup2.c:
7032 * testsuite/cleanup/cleanup3.c:
7033 * testsuite/cleanup/cleanup4.c:
7034 * testsuite/cleanup/cleanup5.c:
7035 * testsuite/controller/interpolator.c:
7036 * testsuite/debug/printf_extension.c: (main):
7037 * testsuite/elements/tee.c:
7038 * testsuite/negotiation/.cvsignore:
7039 * testsuite/negotiation/Makefile.am:
7040 * testsuite/negotiation/pad_link.c:
7041 * testsuite/pad/Makefile.am:
7042 * testsuite/pad/chainnopull.c:
7043 * testsuite/pad/getnopush.c:
7044 * testsuite/pad/link.c:
7045 * testsuite/refcounting/sched.c: (create_pipeline):
7046 * testsuite/registry/Makefile.am:
7047 * testsuite/registry/gst-print-formats.c:
7048 * testsuite/schedulers/.cvsignore:
7049 * testsuite/schedulers/142183-2.c:
7050 * testsuite/schedulers/142183.c:
7051 * testsuite/schedulers/143777-2.c:
7052 * testsuite/schedulers/143777.c:
7053 * testsuite/schedulers/147713.c:
7054 * testsuite/schedulers/147819.c:
7055 * testsuite/schedulers/147894-2.c:
7056 * testsuite/schedulers/147894.c:
7057 * testsuite/schedulers/Makefile.am:
7058 * testsuite/schedulers/group_link.c:
7059 * testsuite/schedulers/queue_link.c:
7060 * testsuite/schedulers/relink.c:
7061 * testsuite/schedulers/unlink.c:
7062 * testsuite/schedulers/unref.c:
7063 * testsuite/schedulers/useless_iteration.c:
7064 * testsuite/states/bin.c:
7065 clean out/remove some stuff from the testsuite directories
7067 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
7070 check for some headers
7071 * gst/elements/Makefile.am:
7072 * gst/elements/gstelements.c:
7073 don't compile fdsrc without sys/socket.h
7074 * gst/indexers/Makefile.am:
7075 * gst/indexers/gstindexers.c: (plugin_init):
7076 don't compile fileindex without mmap
7078 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
7085 * check/Makefile.am:
7086 * docs/gst/Makefile.am:
7087 * examples/helloworld/Makefile.am:
7089 * gst/base/Makefile.am:
7090 * gst/check/Makefile.am:
7091 * gst/elements/Makefile.am:
7092 * gst/indexers/Makefile.am:
7093 * gst/parse/Makefile.am:
7094 * libs/gst/controller/Makefile.am:
7095 * libs/gst/dataprotocol/Makefile.am:
7096 * examples/helloworld/helloworld.c: (event_loop):
7097 compile fixes, though it's not being compiled currently
7099 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
7101 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
7102 Add some simple tests for the new taglist date API.
7104 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
7106 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
7107 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
7108 Beautify 'last-message' output: print 'none' for buffer timestamps
7109 and durations if none is set; improve alignment with next messages.
7111 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
7113 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
7114 * gst/gstpluginfeature.h:
7115 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
7116 * gst/gstregistry.h:
7117 * docs/gst/gstreamer-sections.txt:
7118 Add new API to check plugin feature version requirements.
7120 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
7121 Some basic tests for the above.
7123 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
7125 * gst/gststructure.c: (gst_structure_to_string):
7126 guard against NULL printf - happens when for example
7127 a message structure with GstClock gets serialized
7129 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
7131 * gst/base/gstcollectpads.c: (gst_collectpads_event):
7132 Fix presumable copy'n'pasto.
7134 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
7136 * gst/elements/gstfakesrc.h:
7137 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
7138 * gst/elements/gsttypefindelement.c:
7140 * gst/elements/gstfilesink.c: (gst_file_sink_render):
7141 I wonder if this could actually write +2GB files before
7143 2005-10-13 Andy Wingo <wingo@pobox.com>
7145 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
7146 Fix Timmeke Waymans bug.
7147 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
7148 string of the proper length to gst_caps_from_string. There's a
7149 potential for, before this fix, that this could cause someone
7150 connecting over the network to cause a segfault if the payload is
7153 2005-10-13 Stefan Kost <ensonic@users.sf.net>
7155 * docs/design/draft-push-pull.txt:
7156 * docs/design/part-overview.txt:
7157 * docs/random/TODO-pre-0.9:
7158 * docs/random/old/ChangeLog.gstreamer:
7159 * gst/base/gstpushsrc.c:
7163 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
7165 * gst/glib-compat.c: (gst_flags_get_first_value):
7166 * gst/glib-compat.h:
7167 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
7168 (gst_value_compare_double), (gst_value_serialize_flags):
7169 GLib 2.6 g_flags_get_first_value has a bug that triggers an
7172 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
7174 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7175 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7177 * tools/gst-launch.c: (event_loop):
7178 print out clock nicely
7180 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
7182 * docs/gst/gstreamer-sections.txt:
7184 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
7185 (gst_tag_list_get_date_index):
7186 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
7187 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
7189 2005-10-13 Julien MOUTTE <julien@moutte.net>
7191 * gst/base/gstcollectpads.c: (gst_collectpads_event),
7192 (gst_collectpads_chain):
7193 * gst/base/gstcollectpads.h: Handle newsegment and store informations
7196 2005-10-13 Stefan Kost <ensonic@users.sf.net>
7198 * docs/gst/gstreamer-sections.txt:
7201 * tools/gst-inspect.c: (main):
7202 * tools/gst-launch.c: (main):
7203 * tools/gst-run.c: (main):
7204 * tools/gst-xmlinspect.c: (main):
7205 fix GOption context leaks
7208 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
7212 * win32/common/config.h:
7214 * win32/vs6/grammar.dsp:
7215 * win32/vs6/libgstelements.dsp:
7216 * win32/vs6/libgstreamer.dsp:
7219 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
7221 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7222 * gst/base/gstbasesrc.c: (gst_base_src_query):
7223 fix more guint64<->gdouble conversions
7225 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
7228 add win32-update target
7229 * win32/common/gstconfig.h:
7230 * win32/common/gstenumtypes.c:
7231 * win32/common/gstenumtypes.h:
7232 * win32/common/gstversion.h:
7233 add files that visual studio can't generate
7235 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
7238 add a win32-update target
7241 2005-10-12 Wim Taymans <wim@fluendo.com>
7243 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7244 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
7245 * gst/gstelement.c: (gst_element_commit_state),
7246 (gst_element_set_state):
7247 Protect flags with proper lock.
7248 unref provided cached clock in dispose.
7250 2005-10-12 Stefan Kost <ensonic@users.sf.net>
7253 * gst/gstminiobject.h:
7255 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
7256 removed unused flags from miniobject
7259 2005-10-12 Wim Taymans <wim@fluendo.com>
7261 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7262 (gst_file_sink_event), (gst_file_sink_render):
7263 Flush before seeking.
7265 2005-10-12 Andy Wingo <wingo@pobox.com>
7267 * gst/gst.c (gst_init_check): Ignore unknown options, as has
7268 always been the case.
7270 2005-10-12 Stefan Kost <ensonic@users.sf.net>
7272 * check/gst/gstbin.c: (GST_START_TEST):
7273 * docs/gst/gstreamer-sections.txt:
7274 * gst/base/gstbasesink.c: (gst_base_sink_init):
7275 * gst/base/gstbasesrc.c: (gst_base_src_init),
7276 (gst_base_src_get_range), (gst_base_src_check_get_range),
7277 (gst_base_src_start), (gst_base_src_stop):
7278 * gst/base/gstbasesrc.h:
7279 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
7280 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7281 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
7285 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
7287 * gst/gstelement.c: (gst_element_is_locked_state),
7288 (gst_element_set_locked_state), (gst_element_commit_state),
7289 (gst_element_set_state):
7291 * gst/gstindex.c: (gst_index_init):
7293 * gst/gstminiobject.h:
7294 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
7295 (gst_object_set_parent):
7297 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
7298 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
7300 * gst/gstpadtemplate.h:
7301 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
7302 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7303 * gst/gstpipeline.h:
7304 * gst/indexers/gstfileindex.c: (gst_file_index_load),
7305 (gst_file_index_commit):
7306 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
7307 * testsuite/pad/link.c: (gst_test_src_init),
7308 (gst_test_filter_init), (gst_test_sink_init):
7309 * testsuite/states/locked.c: (main):
7310 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
7311 moved bitshift from macro to enum definition
7313 2005-10-12 Wim Taymans <wim@fluendo.com>
7315 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
7316 * gst/elements/gstfilesink.c: (gst_file_sink_event),
7317 (gst_file_sink_render):
7318 Some more debugging info.
7320 2005-10-12 Wim Taymans <wim@fluendo.com>
7322 * docs/design/part-states.txt:
7323 * tools/gst-launch.c: (main):
7325 Revert non-intentional change.
7327 2005-10-12 Wim Taymans <wim@fluendo.com>
7329 * check/gst/gstbin.c: (GST_START_TEST):
7330 * check/gst/gstelement.c: (GST_START_TEST):
7331 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
7332 * check/gst/gstghostpad.c: (GST_START_TEST):
7333 * check/gst/gstpipeline.c: (GST_START_TEST):
7334 * check/pipelines/simple_launch_lines.c: (run_pipeline):
7335 * check/states/sinks.c: (GST_START_TEST):
7336 * gst/elements/gsttypefindelement.c: (stop_typefinding):
7337 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7338 (gst_bin_remove_func), (gst_bin_get_state_func),
7339 (gst_bin_recalc_state), (gst_bin_change_state_func),
7341 * gst/gstelement.c: (gst_element_get_state_func),
7342 (gst_element_get_state), (gst_element_abort_state),
7343 (gst_element_commit_state), (gst_element_set_state),
7344 (gst_element_change_state), (gst_element_change_state_func):
7346 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
7347 (gst_pipeline_provide_clock_func):
7348 * gst/gstutils.c: (gst_element_link_pads_filtered):
7349 * tools/gst-launch.c: (main):
7350 * tools/gst-typefind.c: (main):
7351 Use GstClockTime in _get_state() instead of GTimeVal.
7352 Remove old code in gstutils.c
7354 2005-10-12 Andy Wingo <wingo@pobox.com>
7356 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
7359 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
7360 there is no task. Shouldn't affect any code, as nothing in our
7361 plugins checks this return value.
7362 (gst_pad_stop_task): Also take the stream lock if the pad has no
7365 2005-10-12 Wim Taymans <wim@fluendo.com>
7367 * gst/gstpad.c: (pre_activate), (post_activate),
7368 (gst_pad_activate_pull), (gst_pad_activate_push):
7369 Cleanup activation code. Reset old state if
7372 2005-10-12 Wim Taymans <wim@fluendo.com>
7374 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7375 (gst_base_sink_change_state):
7376 No need to prerol after receiving EOS.
7378 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
7379 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
7380 * gst/elements/gstidentity.c: (gst_identity_event):
7381 Print events more verbosely.
7383 2005-10-12 Wim Taymans <wim@fluendo.com>
7385 * check/Makefile.am:
7386 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7387 * check/states/sinks2.c:
7388 Moved sinks2 testcode in sinks check.
7390 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7391 (gst_bin_remove_func), (gst_bin_recalc_state),
7392 (gst_bin_change_state_func), (bin_bus_handler):
7393 Fix potential race condition when _get_state() iterated over an
7394 ASYNC element right before it posted a state completion.
7397 Do proper cast here.
7399 * gst/gstevent.c: (gst_event_new_newsegment),
7400 (gst_event_parse_newsegment):
7401 A playback rate of 0.0 is not allowed.
7403 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
7405 * win32/common/config.h:
7406 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7407 (_trewinddir), (_ttelldir), (_tseekdir):
7408 * win32/common/dirent.h:
7409 * win32/common/gtchar.h:
7410 * win32/common/libgstbase.def:
7411 * win32/common/libgstreamer.def:
7412 * win32/vs6/grammar.dsp:
7413 * win32/vs6/gst_inspect.dsp:
7414 * win32/vs6/gst_launch.dsp:
7415 * win32/vs6/gstreamer.dsw:
7416 * win32/vs6/libgstbase.dsp:
7417 * win32/vs6/libgstelements.dsp:
7418 * win32/vs6/libgstreamer.dsp:
7419 Visual Studio 6 project files, and a new common directory.
7422 2005-10-11 Wim Taymans <wim@fluendo.com>
7424 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7425 (gst_base_sink_do_sync), (gst_base_sink_query),
7426 (gst_base_sink_change_state):
7427 * gst/base/gstbasesink.h:
7428 Correctly parse newsegment info.
7430 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
7432 * gst/gst.c: (init_post):
7433 split plugin paths correctly
7435 2005-10-11 Wim Taymans <wim@fluendo.com>
7437 * check/gst/gstevent.c: (GST_START_TEST):
7438 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7439 (gst_base_sink_change_state):
7440 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
7441 * gst/base/gstbasetransform.c: (gst_base_transform_event):
7442 * gst/elements/gstfilesink.c: (gst_file_sink_event):
7443 * gst/gstevent.c: (gst_event_new_newsegment),
7444 (gst_event_parse_newsegment):
7446 Added extra flag to newsegment for future API freeze.
7447 Updated check and base elements.
7449 2005-10-11 Julien MOUTTE <julien@moutte.net>
7451 * gst/base/gstcollectpads.c: (gst_collectpads_init),
7452 (gst_collectpads_add_pad), (gst_collectpads_pop),
7453 (gst_collectpads_event), (gst_collectpads_chain):
7454 * gst/base/gstcollectpads.h: Handle EOS correctly.
7456 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
7458 * tools/gst-launch.c: (main):
7459 more null protecting
7461 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
7463 * gst/gst-i18n-lib.h:
7464 check for ENABLE_NLS, not GETTEXT_PACKAGE
7465 * gst/gstregistry.c: (gst_registry_add_plugin),
7466 (gst_registry_scan_path_level),
7467 (_gst_registry_remove_cache_plugins):
7468 protect possibly NULL strings
7469 * gst/parse/types.h:
7470 config.h already included before
7471 * tools/gst-inspect.c: (main):
7472 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
7473 check for ENABLE_NLS, not GETTEXT_PACKAGE
7474 * tools/gst-launch.c: (main):
7475 check for ENABLE_NLS, not GETTEXT_PACKAGE
7477 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
7480 if we don't have glib, fail before testing 2.8
7481 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
7482 fix a leak, should fix plugins-base testsuite
7484 2005-10-11 Andy Wingo <wingo@pobox.com>
7486 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
7487 take the mode we're going to as an arg. Go head and set the mode
7488 and flushing flags now, so that if the activate function starts a
7489 thread all the flags will be in the right state.
7490 (post_activate): Renamed also. Just handle making sure streaming
7491 finishes for the deactivation case, and setting the deactivated
7493 (gst_pad_set_active): Complain loudly if deactivation fails.
7494 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
7495 (gst_pad_activate_push): Adapt to pre/post_activate changes,
7496 remove the terrible hack.
7498 2005-10-11 Wim Taymans <wim@fluendo.com>
7500 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7501 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
7502 (gst_bin_recalc_state), (gst_bin_change_state_func),
7503 (gst_bin_dispose), (bin_bus_handler):
7505 Prepare to make current EOS message queue more generic.
7508 * gst/gstevent.c: (gst_event_new_newsegment),
7509 (gst_event_parse_newsegment):
7511 Rename base to stream_time.
7516 2005-10-11 Wim Taymans <wim@fluendo.com>
7518 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
7519 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
7520 (gst_bin_change_state_func), (bin_bus_handler):
7522 Work on proper clock selection.
7524 2005-10-11 Edward Hervey <edward@fluendo.com>
7526 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
7527 * libs/gst/controller/gstcontroller.h:
7528 Added GList* version of _remove_properties() in order to be able to wrap
7531 2005-10-11 Wim Taymans <wim@fluendo.com>
7533 * docs/design/part-states.txt:
7536 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
7537 (gst_bin_change_state_func), (bin_bus_handler):
7538 Doc updates. Don't distribute the same clock over and over again.
7544 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
7545 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
7546 (gst_pad_send_event):
7548 Make probe emission threadsafe again.
7549 Register quarks and move _get_name() from utils.
7552 * gst/gstpipeline.c: (gst_pipeline_class_init),
7553 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7554 Only redistribute the clock of it changed.
7556 * gst/gstsystemclock.h:
7561 Moved the _flow_get_name() to GstPad.
7563 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
7565 * check/gst-libs/gdp.c: (GST_START_TEST):
7566 * check/gst/gstcaps.c: (GST_START_TEST):
7567 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
7568 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
7569 (gst_dp_packet_from_caps):
7570 fix more valgrind warnings before turning up the heat
7572 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
7574 * gst/parse/grammar.y:
7575 some cleanup before the hacking
7577 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
7579 * gst/base/gstbasesrc.c: (gst_base_src_query):
7581 * gst/gstutils.c: (gst_guint64_to_gdouble),
7582 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
7584 externalize, basesrc uses it
7585 obviously the implementation needs testing
7587 2005-10-10 Wim Taymans <wim@fluendo.com>
7589 * tests/sched/Makefile.am:
7590 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
7591 (make_pipeline3), (make_pipeline4), (print_elem), (main):
7593 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
7595 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
7596 apparently converting from guint64 to double is not implemented
7599 2005-10-10 Wim Taymans <wim@fluendo.com>
7601 * check/Makefile.am:
7602 * check/generic/states.c: (GST_START_TEST):
7603 * check/gst/gstbin.c: (GST_START_TEST):
7604 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7605 * check/states/sinks.c: (GST_START_TEST):
7606 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
7608 Check fixes, use API as stated in design docs, remove hacks.
7610 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7611 (gst_base_sink_change_state):
7612 Catch stopping our task while we're shutting down.
7614 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7615 (gst_bin_remove_func), (gst_bin_get_state_func),
7616 (gst_bin_recalc_state), (gst_bin_change_state_func),
7619 * gst/gstelement.c: (gst_element_init),
7620 (gst_element_get_state_func), (gst_element_abort_state),
7621 (gst_element_commit_state), (gst_element_lost_state),
7622 (gst_element_set_state), (gst_element_change_state),
7623 (gst_element_change_state_func):
7625 New state change algorithm (see #318116)
7627 * gst/gstpipeline.c: (gst_pipeline_class_init),
7628 (gst_pipeline_init), (gst_pipeline_set_property),
7629 (gst_pipeline_get_property), (do_pipeline_seek),
7630 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7631 * gst/gstpipeline.h:
7632 Remove crude state change hacks.
7637 * tools/gst-launch.c: (main):
7638 Fixes for state change. Needs some more work to fully use the
7641 2005-10-10 Andy Wingo <wingo@pobox.com>
7643 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
7645 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
7646 this flag, but it's not even in GLib 2.6. Odd. Hack around the
7649 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
7651 * gst/gstiterator.c: (gst_iterator_new):
7652 Fix my previous commit: GTypes passed to gst_iterator_new()
7653 can be fundamental types.
7655 2005-10-10 Wim Taymans <wim@fluendo.com>
7657 * gst/gstelement.c: (gst_element_iterate_pad_list),
7658 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
7659 (gst_element_iterate_sink_pads):
7660 Use src/sink pads lists for the respective iterators instead
7663 2005-10-10 Andy Wingo <wingo@pobox.com>
7665 Merged in popt removal + GOption addition patch from Ronald, bug
7668 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
7669 GstElement macros around, remove popt-related symbols, add goption
7672 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
7674 * docs/gst/Makefile.am:
7675 * docs/libs/Makefile.am: No POPT_CFLAGS.
7677 * examples/manual/Makefile.am:
7678 * docs/manual/basics-init.xml: Doc updates with an example.
7680 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7681 (gst_init), (parse_one_option), (parse_goption_arg):
7682 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
7683 bit of hand merging and debugging to get the GOption stuff working
7686 * tests/Makefile.am:
7687 * tools/Makefile.am:
7688 * tools/gst-inspect.c: (main):
7689 * tools/gst-launch.c: (main):
7690 * tools/gst-run.c: (main):
7691 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
7693 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
7695 * gst/gstiterator.c: (gst_iterator_new):
7696 Add assertions to make sure passed GType is likely to really
7697 be a GType (as the compiler won't catch it if the size and
7698 GType arguments get mixed up, see #318447).
7700 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
7702 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7704 * gst/gstbin.c: (gst_bin_iterate_sorted):
7705 Pass GType and size arguments to gst_iterator_new() in the right
7706 order (maybe we should make _new() take the GType as first argument
7707 just like _new_list()?) (#318447).
7710 2005-10-10 Wim Taymans <wim@fluendo.com>
7712 * gst/gstelement.c: (gst_element_finalize):
7713 And free the GStaticRecMutex too
7715 2005-10-10 Andy Wingo <wingo@pobox.com>
7717 * gst/gstelement.c (gst_element_init, gst_element_finalize):
7718 Allocate and free the mutex properly.
7720 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
7722 (GstElement): The state_lock is now recursive. Rebuild your
7723 plugins, suckers. Old macros adapted.
7725 * docs/gst/gstreamer-sections.txt: Doc updates.
7728 * gst/gstutils.c (g_static_rec_cond_timed_wait)
7729 (g_static_rec_cond_wait): Ported from state changes patch, while
7730 we wait on bug #317802 to be solved in a well-distributed GLib.
7732 * gst/gstelement.c (gst_element_change_state_func): Renamed from
7733 gst_element_change_state, variable name changes.
7734 (gst_element_change_state): Split out of gst_element_set_state in
7735 preparation for the state change merge. Doesn't pay attention to
7736 the 'transition' argument.
7737 (gst_element_set_state): Updates, hopefully purely cosmetic.
7738 (gst_element_sync_state_with_parent): MT-safety. Ported from the
7740 (gst_element_get_state_func): Renamed from get_state, cosmetic
7743 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
7745 * gst/elements/gstelements.c:
7746 * win32/GStreamer.vcproj:
7748 * win32/dirent.c: (_tseekdir):
7749 * win32/gst-inspect.vcproj:
7750 * win32/gst-launch.vcproj:
7751 * win32/gstconfig.h:
7752 * win32/gstelements.vcproj:
7753 * win32/gstenumtypes.c: (gst_object_flags_get_type):
7754 * win32/gstreamer.def:
7756 updates for the win32 build (patch from Sebastien Moutte)
7758 2005-10-10 Andy Wingo <wingo@pobox.com>
7760 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
7761 gst_bin_get_state, cleaned up (but no logic changes).
7762 (bin_element_is_sink): Comment updates.
7763 (sink_iterator_filter): Remove needless cast.
7764 (gst_bin_iterate_sinks): Doc update.
7765 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
7766 cleaned up (but no logic changes).
7768 * check/states/sinks.c (test_src_sink): Cleanups from the state
7770 (test_livesrc_sink): Sync on the state.
7772 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
7773 the state change patch.
7775 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
7778 * check/gst/gstbin.c: Merge in some style fixes and additional
7779 checks from Wim's state change patch.
7781 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
7783 * gst/base/gsttypefindhelper.c: (helper_find_peek),
7784 (gst_type_find_helper):
7785 Check whether we have the requested data already in our list of
7786 cached buffers before pulling a new buffer; also make the buffer
7787 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
7789 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
7794 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7795 don't use long long, it's not portable. Replacing with
7796 gint64 seems to work; let's hope no skeletons fall out of the closet.
7798 2005-10-10 Andy Wingo <wingo@pobox.com>
7800 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
7802 2005-10-09 Stefan Kost <ensonic@users.sf.net>
7804 * docs/gst/gstreamer-sections.txt:
7809 * gst/gstmessage.c: (gst_message_parse_state_changed):
7812 more docs, fix compilation
7814 2005-10-09 Philippe Khalaf <burger@speedy.org>
7816 Fixed a few forgotten variables on previous commit
7818 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
7820 * gst/base/gsttypefindhelper.c: (helper_find_peek):
7821 Fix evil typefind crasher: getrange() might return a short
7822 buffer at the end of a file, but gst_type_find_peek() must
7823 either return the full data as requested or NULL, but
7824 never a short buffer.
7826 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
7828 * gst/gstmessage.c: (gst_message_new_state_changed),
7829 (gst_message_parse_state_changed):
7831 don't use "new", it's a C++ keyword
7833 2005-10-08 Wim Taymans <wim@fluendo.com>
7835 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
7836 * gst/gstelement.c: (gst_element_post_message):
7837 * gst/gstpipeline.c: (gst_pipeline_change_state):
7838 Small docs and debug updates.
7840 2005-10-08 Stefan Kost <ensonic@users.sf.net>
7842 * docs/gst/gstreamer-sections.txt:
7843 * gst/gstelementfactory.c:
7848 2005-10-08 Wim Taymans <wim@fluendo.com>
7850 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
7851 (gst_bin_dispose), (bin_bus_handler):
7852 Fix typos, add comments.
7853 Clear EOS list when going to PAUSED from any direction and do it
7854 in a threadsafe way.
7855 Get base time in a threadsafe way too.
7856 Fix confusing debug in the change_state function.
7857 Various other small cleanups.
7859 * gst/gstelement.c: (gst_element_post_message):
7860 Fix very verbose bus posting code.
7862 * gst/gstpipeline.c: (gst_pipeline_class_init),
7863 (gst_pipeline_set_property), (gst_pipeline_get_property),
7864 (gst_pipeline_change_state):
7865 Small ARG_ -> PROP_ cleanup
7867 2005-10-08 Wim Taymans <wim@fluendo.com>
7869 * gst/gstbin.c: (is_eos), (bin_bus_handler):
7870 Do a less CPU demanding EOS check because we can.
7872 2005-10-08 Wim Taymans <wim@fluendo.com>
7874 * libs/gst/dataprotocol/dataprotocol.c:
7875 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7876 (gst_dp_packet_from_event):
7877 * libs/gst/dataprotocol/dataprotocol.h:
7878 * libs/gst/dataprotocol/dp-private.h:
7879 It's about time we bump the version number.
7880 Since event types don't fit in the guint8 anymore describing
7881 the payload type, make payload type 16 bits wide.
7883 2005-10-08 Wim Taymans <wim@fluendo.com>
7885 * docs/design/part-TODO.txt:
7886 * docs/design/part-clocks.txt:
7887 * docs/design/part-events.txt:
7888 * docs/design/part-gstbin.txt:
7889 * docs/design/part-gstelement.txt:
7890 * docs/design/part-gstpipeline.txt:
7891 * docs/design/part-live-source.txt:
7892 * docs/design/part-messages.txt:
7893 * docs/design/part-overview.txt:
7894 * docs/design/part-states.txt:
7897 2005-10-08 Wim Taymans <wim@fluendo.com>
7901 Fix event quark registration.
7902 Add some space between events so we can insert them in the
7905 2005-10-08 Wim Taymans <wim@fluendo.com>
7907 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7908 (gst_base_sink_handle_buffer):
7915 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
7916 (gst_queue_set_property), (gst_queue_get_property):
7918 Remove old unused properties.
7920 2005-10-08 Stefan Kost <ensonic@users.sf.net>
7921 * docs/gst/gstreamer-sections.txt:
7924 * gst/gstminiobject.c:
7925 * gst/gstminiobject.h:
7929 lots of new docs and doc fixes
7931 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
7933 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
7935 * gst/gstregistry.c: (gst_registry_lookup_locked),
7936 (gst_registry_scan_path_level):
7937 * gst/gstregistryxml.c: (load_plugin):
7938 Only ever load one plugin for a given plugin basename.
7939 This ensures correct overriding of GST_PLUGIN_PATH over
7940 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
7941 system installed plugins.
7943 2005-10-08 Wim Taymans <wim@fluendo.com>
7945 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7946 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
7947 Prepare for doing QOS.
7949 2005-10-08 Wim Taymans <wim@fluendo.com>
7951 * check/gst/gstbin.c: (GST_START_TEST):
7952 * check/pipelines/cleanup.c: (GST_START_TEST):
7953 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7954 Allow new clock message too.
7956 2005-10-08 Wim Taymans <wim@fluendo.com>
7958 * gst/gstmessage.c: (gst_message_new_error),
7959 (gst_message_new_warning), (gst_message_new_tag),
7960 (gst_message_new_state_changed), (gst_message_new_clock_provide),
7961 (gst_message_new_clock_lost), (gst_message_new_new_clock),
7962 (gst_message_new_segment_start), (gst_message_new_segment_done),
7963 (gst_message_parse_state_changed),
7964 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
7965 (gst_message_parse_new_clock):
7967 Also carry the clock in question.
7969 2005-10-08 Wim Taymans <wim@fluendo.com>
7971 * gst/gstmessage.c: (gst_message_new_custom),
7972 (gst_message_new_eos), (gst_message_new_error),
7973 (gst_message_new_warning), (gst_message_new_tag),
7974 (gst_message_new_state_changed), (gst_message_new_clock_provide),
7975 (gst_message_new_new_clock), (gst_message_new_segment_start),
7976 (gst_message_new_segment_done), (gst_message_parse_state_changed),
7977 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
7980 Added clock related messages.
7982 * gst/gstpipeline.c: (gst_pipeline_change_state):
7983 Post message when the clock changed.
7985 * tools/gst-launch.c: (event_loop):
7988 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
7990 * tools/gst-inspect.c: (print_element_properties_info):
7991 Can't pass NULL strings to g_print() on windows.
7993 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
7996 * docs/gst/Makefile.am:
7997 * docs/gst/gstreamer-docs.sgml:
7998 * docs/gst/running.xml:
7999 * docs/version.entities.in:
8000 add a chapter on running GStreamer.
8001 document GST_DEBUG and GST_PLUGIN* env vars
8003 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
8008 remove PLUGINS_BUILDDIR stuff
8009 * gst/gst.c: (init_post):
8010 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
8012 remove, it was condescending and not needed
8014 2005-10-08 Wim Taymans <wim@fluendo.com>
8016 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
8017 (gst_base_sink_handle_object), (gst_base_sink_event),
8018 (gst_base_sink_wait), (gst_base_sink_handle_event),
8019 (gst_base_sink_change_state):
8020 * gst/base/gstbasesink.h:
8021 Repost EOS message while going to PLAYING if still EOS.
8022 Make sure that when receiving a FLUSH_START we don't attempt
8023 to sync on the clock anymore.
8025 2005-10-08 Wim Taymans <wim@fluendo.com>
8027 * tools/gst-launch.c: (event_loop):
8028 Better message printout.
8030 2005-10-08 Wim Taymans <wim@fluendo.com>
8032 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
8033 (gst_bin_child_proxy_get_children_count):
8034 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8035 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
8036 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
8037 (gst_child_proxy_set_valist):
8038 * gst/parse/grammar.y:
8039 Make ChildProxy threadsafe and fix mem leaks.
8041 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
8043 * gst/gst.c: (init_post):
8044 debug the GST_PLUGIN_ env vars
8046 2005-10-08 Wim Taymans <wim@fluendo.com>
8048 * check/gst/gstbin.c: (GST_START_TEST):
8049 * check/gst/gstmessage.c: (GST_START_TEST):
8050 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8051 * gst/gstelement.c: (gst_element_commit_state),
8052 (gst_element_lost_state):
8053 * gst/gstmessage.c: (gst_message_new_state_changed),
8054 (gst_message_parse_state_changed):
8056 * tools/gst-launch.c: (event_loop):
8057 Added extra field to STATE_CHANGE message with the pending
8058 state, which will be different from the new state soon.
8060 2005-10-08 Wim Taymans <wim@fluendo.com>
8062 * gst/gstbus.c: (gst_bus_pop):
8064 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8065 Small cleanups and doc updates.
8067 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
8069 * gst/gst.c: (init_pre):
8070 * gst/gstbin.c: (gst_bin_add_func):
8071 log distributing clocks and base time
8072 * gst/gstregistry.c: (gst_registry_add_plugin),
8073 (gst_registry_scan_path_level), (gst_registry_scan_path):
8074 clean up the debugging output a little
8075 * gst/gstutils.c: (gst_element_state_get_name):
8076 warn about a memleak (I've actually seen this be used, though
8077 it was probably a bug)
8079 2005-10-07 Wim Taymans <wim@fluendo.com>
8081 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8082 (gst_base_src_init), (gst_base_src_default_newsegment),
8083 (gst_base_src_newsegment), (gst_base_src_do_seek),
8084 (gst_base_src_loop), (gst_base_src_start):
8085 * gst/base/gstbasesrc.h:
8086 Make the newsegment event customizable by subclasses.
8088 2005-10-07 Wim Taymans <wim@fluendo.com>
8090 * gst/gstevent.c: (gst_event_new_buffersize),
8091 (gst_event_parse_buffersize):
8093 New event for future idea.
8095 2005-10-07 Andy Wingo <wingo@pobox.com>
8097 * gst/gstelement.c (gst_element_post_message): Doc update.
8099 * docs/gst/gstreamer-sections.txt: Update.
8101 * gst/gstmessage.c (gst_message_new_application): Made into a
8102 function like honest API calls.
8103 (gst_message_new_element): New message type.
8105 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
8107 * check/elements/fakesrc.c (test_no_preroll): New check, checks
8108 that setting a live fakesrc to PAUSED returns NO_PREROLL both
8111 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
8112 NO_PREROLL from gst_element_change_state to fall through.
8114 2005-10-07 Wim Taymans <wim@fluendo.com>
8116 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
8117 (gst_ghost_pad_do_activate_push):
8118 Activating a ghostpad with no internal pad in push mode
8121 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
8124 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
8125 Fixes compilation on Windows.
8127 2005-10-07 Michael Smith <msmith@fluendo.com>
8129 * tools/gst-inspect.c:
8130 Print out feature and plugin count at the end when printing out
8133 2005-10-04 Michael Smith <msmith@fluendo.com>
8135 * gst/gsterror.c: (_gst_stream_errors_init):
8136 Add another error string used in a few existing plugins.
8139 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8140 * tools/gst-inspect.c: (print_element_info):
8141 When a feature disappears from a plugin (and the feature exists in
8142 the cached registry file), things went horribly wrong. This isn't a
8143 complete fix, we should actually be removing the 'missing' features
8144 from the features list when we load the actual plugin. That's not
8147 2005-10-04 Johan Dahlin <johan@gnome.org>
8149 * check/gst/gstiterator.c: (GST_START_TEST):
8150 * gst/gstbin.c: (gst_bin_iterate_elements),
8151 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
8152 * gst/gstelement.c: (gst_element_iterate_pads):
8153 * gst/gstformat.c: (gst_format_iterate_definitions):
8154 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8155 (gst_iterator_new_list), (gst_iterator_filter):
8156 * gst/gstiterator.h:
8157 * gst/gstquery.c: (gst_query_type_iterate_definitions):
8158 Add a GType to GstIterator, update callsites and tests.
8160 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
8162 * gst/gstpad.c: (gst_pad_event_default_dispatch):
8163 give events a chance to be handled by event probes when the pad
8166 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
8168 * gst/gstevent.c: (gst_event_type_get_name),
8169 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
8171 add string representations for event types
8173 2005-10-06 Wim Taymans <wim@fluendo.com>
8175 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
8176 Don't use NULL pointers.
8178 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
8180 * gst/gst_private.h:
8184 * gst/gstpluginfeature.c:
8185 widen the debug category in output to fit the biggest one we have
8186 add a bus category and use it
8187 play with the colors
8188 fix up some categories
8190 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
8192 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
8193 add push activation of sink ghost pads.
8194 Andye, please verify
8196 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
8198 * gst/gstutils.c: (gst_element_link_pads):
8199 fix a bug in the case where neither element has a pad
8200 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8201 add a test for that case
8203 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
8205 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
8206 emit have-data before checking for peers. This allows
8207 for probe handlers to connect elements. This helps autopluggers.
8208 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
8210 add six checks, linked/unlinked with no/true/false probe
8212 2005-10-04 Wim Taymans <wim@fluendo.com>
8214 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
8215 (gst_fake_sink_event), (gst_fake_sink_preroll),
8216 (gst_fake_sink_render), (gst_fake_sink_change_state):
8217 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
8218 (gst_fake_src_get_property), (gst_fake_src_create),
8219 (gst_fake_src_stop):
8220 * gst/elements/gstidentity.c: (gst_identity_stop):
8221 Protect last_message with lock.
8223 2005-10-04 Edward Hervey <edward@fluendo.com>
8226 Added precision in the comments for GST_FORMAT_DEFAULT
8228 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
8230 * tools/gst-launch.c: (main):
8231 Don't try to run erroneous pipelines.
8233 2005-10-04 Julien MOUTTE <julien@moutte.net>
8235 * gst/gstbus.c: We don't need this header.
8237 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
8242 === release 0.9.3 ===
8244 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
8248 Releasing 0.9.3, "Unregistered"
8250 2005-10-03 Andy Wingo <wingo@pobox.com>
8252 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
8253 whereby calling a pad's activatepush() function can start a thread
8254 that starts to push or pull before the pad gets the FLUSHING flag
8255 unset. Hack around it by holding the stream lock until the flag is
8256 set. Need to replace this with a proper solution. Together with
8257 the ghost pad fixes, this fixes mp3 playing/tagreading.
8259 * docs/design/part-gstghostpad.txt: Add a note about activation of
8260 proxy pads outside of ghost pads.
8262 * gst/gstghostpad.c: Implement the ghost pad activation design.
8264 2005-10-02 Andy Wingo <wingo@pobox.com>
8266 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
8267 It is volatile, after all.
8269 * docs/design/part-gstghostpad.txt: Flesh out activation with
8272 * gst/base/gstbasesrc.c (gst_base_src_init): Use
8275 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
8278 Fix (unused) AM_CONDITIONAL tests.
8280 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
8282 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8284 * gst/gstutils.c: (gst_pad_query_convert):
8285 Add assertion that makes sure src_val is >=0, just like
8286 gst_query_new_convert() has. (#315895)
8288 2005-09-30 Edward Hervey <edward@fluendo.com>
8290 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
8291 Let's not iterate pads we're not interested in, it avoids getting
8292 sky-high refcounts on sinkpad.
8294 2005-09-30 Wim Taymans <wim@fluendo.com>
8296 * gst/gstelement.c: (gst_element_set_state),
8297 (gst_element_change_state):
8298 Small tweak, element in ASYNC remains ASYNC.
8300 2005-09-30 Wim Taymans <wim@fluendo.com>
8302 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
8303 Only error is an error.
8305 * gst/gstbin.c: (gst_bin_change_state):
8308 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
8309 Also call pad_block in pad alloc.
8311 * gst/gstutils.c: (gst_flow_get_name):
8314 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
8316 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8317 (gst_base_src_get_range):
8318 Fix documentation typos. Add some more debug info.
8320 2005-09-29 David Schleef <ds@schleef.org>
8322 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
8323 more end-user friendly.
8324 * tools/gst-inspect.c: (main): Check if command-line argument is
8325 a file and attempt to load that file as a plugin.
8327 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
8329 * check/gst/gstbin.c:
8330 * check/states/sinks.c:
8331 fix tests for the new warning
8332 * check/gst/gstpipeline.c:
8333 add a test for pipeline and bus interaction
8335 elements should be NULL if they get disposed; add a warning if not
8337 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
8340 for 2.6 refcounting, make debug log more correct by printing
8341 the actual refcounts at the time of swap (Wim)
8343 2005-09-29 Andy Wingo <wingo@pobox.com>
8345 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
8346 removes signal watches previously added via
8347 gst_bus_add_signal_watch.
8348 (gst_bus_add_signal_watch): Don't return the source id, just store
8349 it on the bus if there wasn't an id already.
8351 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
8352 add_signal_watch and remove_signal_watch.
8354 2005-09-29 Edward Hervey <edward@fluendo.com>
8356 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
8357 Better if we actually iterate the list :)
8359 2005-09-29 Wim Taymans <wim@fluendo.com>
8361 * check/gst/gstbin.c: (GST_START_TEST):
8362 Change for new bus API.
8364 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8365 (send_messages), (GST_START_TEST), (gstbus_suite):
8366 Change for new bus signal API.
8368 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
8369 (gst_bus_source_prepare), (gst_bus_source_check),
8370 (gst_bus_create_watch), (gst_bus_add_watch_full),
8371 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
8372 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
8374 Remove support for multiple GSources operating on different
8375 message types as it is too complex and unneeded when using
8377 Added support for receiving signals from the bus.
8379 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
8381 * docs/libs/tmpl/gstdataprotocol.sgml:
8382 * docs/manual/advanced-dataaccess.xml:
8383 * gst/elements/gstcapsfilter.c:
8385 rename filter-caps to caps property
8387 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
8389 * gst/gstvalue.c: (gst_value_deserialize_fraction):
8390 More robust fraction string parsing.
8392 * docs/pwg/appendix-porting.xml:
8393 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
8395 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
8397 * gst/gstcaps.c: (gst_caps_do_simplify):
8398 Thou shalt not free a structure and then continue using it
8399 in the next loop iteration.
8401 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
8403 Add test case for caps simplification.
8405 2005-09-29 Wim Taymans <wim@fluendo.com>
8407 * check/gst/gstbin.c: (GST_START_TEST):
8410 2005-09-29 Wim Taymans <wim@fluendo.com>
8412 * check/gst/gstbin.c: (GST_START_TEST):
8415 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8416 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8417 (find_element), (gst_bin_sort_iterator_next),
8418 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8419 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8420 (gst_bin_change_state), (gst_bin_dispose):
8421 A bin does not have a bus, it gets the bus from the parent.
8423 * gst/gstelement.c: (gst_element_requires_clock),
8424 (gst_element_provides_clock), (gst_element_is_indexable),
8425 (gst_element_is_locked_state), (gst_element_change_state),
8426 (gst_element_set_bus_func):
8429 * gst/gstpipeline.c: (gst_pipeline_class_init),
8430 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
8431 The pipeline provides a bus.
8433 2005-09-28 Johan Dahlin <johan@gnome.org>
8435 * gst/gstmessage.c (gst_message_parse_state_changed): Use
8436 gst_structure_get_enum instead of gst_structure_get_int
8438 * gst/gststructure.c (gst_structure_get_enum): Impl.
8440 * gst/gststructure.h (gst_structure_get_enum): Add
8442 * docs/gst/gstreamer-sections.txt: Ditto
8444 * gst/gstmessage.c (gst_message_new_state_changed): Use
8445 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
8446 which does introspection.
8447 Reviewed by Christian Schaller
8449 2005-09-28 Stefan Kost <ensonic@users.sf.net>
8451 * gst/gstinfo.c: (gst_debug_log_default):
8452 don't do dummy g_strdup()s
8453 * libs/gst/controller/gstcontroller.c:
8454 (on_object_controlled_property_changed),
8455 (gst_controlled_property_new), (gst_controller_new_valist),
8456 (gst_controller_new_list),
8457 (gst_controller_remove_properties_valist), (gst_controller_set),
8458 (gst_controller_get), (gst_controller_sync_values),
8459 (gst_controller_get_value_array), (_gst_controller_class_init),
8460 (gst_controller_get_type):
8461 * libs/gst/controller/gstcontroller.h:
8462 * libs/gst/controller/gstinterpolation.c:
8463 (gst_controlled_property_find_timed_value_node):
8464 convert // to /**/ comments
8466 2005-09-28 Wim Taymans <wim@fluendo.com>
8468 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
8469 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
8470 (gst_bus_sync_signal_handler):
8472 Added async-message and sync-message signals to the bus.
8473 Added helper BusFunc to emit signals for all posted messages.
8475 * gst/gstmessage.c: (gst_message_type_get_name),
8476 (gst_message_type_to_quark), (gst_message_get_type):
8478 Register quarks for message names.
8480 2005-09-28 Stefan Kost <ensonic@users.sf.net>
8482 * docs/libs/gstreamer-libs-sections.txt:
8483 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8484 (gst_controller_new_list):
8485 * libs/gst/controller/gstcontroller.h:
8486 added another constructor for language bindings
8488 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
8490 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8494 * gst/gstinfo.c: (_gst_debug_init):
8495 slightly more readable color for refcount debugging
8497 2005-09-28 Wim Taymans <wim@fluendo.com>
8499 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8500 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
8501 (find_element), (gst_bin_sort_iterator_next),
8502 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8503 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8504 (gst_bin_change_state), (gst_bin_dispose):
8505 Small doc fixes. get_clock -> provide_clock.
8507 * gst/gstelement.c: (gst_element_class_init),
8508 (gst_element_provides_clock), (gst_element_provide_clock),
8509 (gst_element_get_clock), (gst_element_commit_state),
8510 (gst_element_lost_state):
8512 Make get/set_clock() symetric. Add provide_clock vmethod since
8513 that is actually what this function does.
8515 * gst/gstpipeline.c: (gst_pipeline_class_init),
8516 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
8517 (gst_pipeline_get_clock):
8518 get_clock -> provide_clock.
8520 2005-09-28 Andy Wingo <wingo@pobox.com>
8522 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
8523 lieu of real docs...
8525 * gst/elements/gstfdsrc.c: Cleaned up a bit.
8527 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
8529 * gst/elements/gstcapsfilter.c:
8530 * gst/elements/gstfakesink.c:
8531 * gst/elements/gstfakesrc.c:
8532 * gst/elements/gstfdsink.c:
8533 * gst/elements/gstfdsrc.c:
8534 * gst/elements/gstfilesink.c:
8535 * gst/elements/gstfilesrc.c:
8536 * gst/elements/gstidentity.c:
8537 * gst/elements/gsttee.c:
8538 * gst/elements/gsttypefindelement.c:
8539 Make element details static.
8541 2005-09-28 Wim Taymans <wim@fluendo.com>
8543 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8544 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8545 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8546 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8547 (gst_bin_change_state), (gst_bin_dispose):
8548 Some documentation updates.
8549 Clean up dispose handlers.
8551 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
8552 * gst/gstpad.c: (gst_pad_dispose):
8553 Clean up dispose handler.
8555 * gst/gstpipeline.c: (gst_pipeline_change_state):
8556 Removed spurious UNLOCK.
8558 2005-09-27 Stefan Kost <ensonic@users.sf.net>
8560 * docs/gst/gstreamer-sections.txt:
8561 * gst/base/gstbasesrc.h:
8566 * gst/gstpipeline.c:
8567 * gst/gstpipeline.h:
8570 added two new functions to the docs
8571 documents all undocumented GstXXXFlags
8572 completed some incomplete docs
8574 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
8576 * gst/gstbin.c: (gst_bin_dispose):
8577 * gst/gstelement.c: (gst_element_dispose):
8578 remove now useless and leaky resurrection code in dispose
8579 * gst/base/gstbasesrc.c: (gst_base_src_init):
8580 * gst/gstelementfactory.c: (gst_element_factory_create):
8581 * gst/gstobject.c: (gst_object_set_parent):
8584 2005-09-27 Wim Taymans <wim@fluendo.com>
8586 * docs/design/part-TODO.txt:
8589 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8590 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8591 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8592 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8593 (gst_bin_change_state):
8595 Remove element variable, we keep element info in the iterator now.
8597 2005-09-27 Andy Wingo <wingo@pobox.com>
8599 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
8602 2005-09-27 Wim Taymans <wim@fluendo.com>
8604 * check/gst/gstbin.c: (GST_START_TEST):
8605 Enable check that works now.
8607 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
8608 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
8609 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
8610 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
8611 (gst_bin_change_state):
8613 Redid the state change algorithm using a topological sort algo.
8614 Handles all cases correctly.
8615 Exposed iterator for state change order.
8618 Temp storage for state changes. Need to get rid of this soon.
8620 2005-09-27 Wim Taymans <wim@fluendo.com>
8622 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
8623 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
8624 (link_fold_func), (gst_pad_proxy_setcaps):
8625 Leak fixes, the fold functions need to unref the passed object and
8626 _get_parent_*() returns ref to parent.
8628 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
8630 * check/gst/gstbuffer.c: (test_make_writable):
8631 Plug leak in test case and fix 'make check-valgrind'
8633 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
8635 * gst/gstbuffer.c: (gst_subbuffer_init):
8636 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
8637 works correctly in all circumstances (we could have just copied
8638 the parent buffer's readonly flag, but conceptually it seems
8639 cleaner to mark all subbuffers as read-only). (based on patch
8640 by Alessandro Decina, #314710).
8642 * check/gst/gstbuffer.c: (create_read_only_buffer),
8643 (test_make_writable), (test_subbuffer_make_writable),
8645 Add some tests for gst_buffer_make_writable().
8647 2005-09-27 Wim Taymans <wim@fluendo.com>
8649 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
8650 use gst_object_has_ancestor().
8652 * gst/gstobject.c: (gst_object_has_ancestor):
8654 gst_object_has_ancestor() copied from gstbin.c as it is a
8657 * tests/instantiate/create.c: (create_all_elements):
8658 * tests/lat.c: (handoff_src), (handoff_sink):
8659 * tests/sched/runxml.c: (main):
8660 * tests/seeking/seeking1.c: (main):
8661 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8663 Fix compilation of some tests.
8665 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
8668 Remove comment. GST_TYPE_G_ERROR is here to stay,
8669 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
8672 2005-09-26 Wim Taymans <wim@fluendo.com>
8674 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8675 Added check that shows error in state change order.
8677 2005-09-26 Wim Taymans <wim@fluendo.com>
8679 * gst/gstbin.c: (gst_bin_change_state):
8680 Make state change function use 3 queues again, we were
8681 adding elements in the wrong order.
8683 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
8686 * gst/gstpad.c: (gst_pad_dispose):
8687 Added some debug info first.
8689 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
8691 * docs/design/draft-push-pull.txt:
8692 * docs/design/part-events.txt:
8693 * docs/design/part-overview.txt:
8694 * docs/design/part-scheduling.txt:
8695 Replace all _pull_region() with _pull_range()
8697 2005-09-26 Andy Wingo <wingo@pobox.com>
8699 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
8701 * check/gst-libs/controller.c: Update for controller api change.
8704 * tests/Makefile.am:
8705 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
8706 over by GLib bug 118439.
8708 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
8709 routines to a function.
8711 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
8713 * libs/gst/controller/gsthelper.c:
8714 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
8715 (gst_object_sync_values): Renamed from sink_values. Ugh.
8717 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
8719 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
8720 Renamed from controller_key, as it is exported.
8722 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
8724 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
8729 * gst/gstpadtemplate.h:
8732 * gst/gstqueryutils.c:
8733 * gst/gstqueryutils.h:
8734 remove queryutils headers after moving the two used functions
8735 to gstquery. also fixes build problem for gstsiddec
8737 2005-09-26 Michael Smith <msmith@fluendo.com>
8739 * tools/gst-launch.1.in:
8740 Correct documentation in manpage of debug syntax
8742 2005-09-26 Wim Taymans <wim@fluendo.com>
8744 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8745 (gst_base_src_is_seekable), (gst_base_src_change_state):
8746 Some more debugging info.
8748 2005-09-25 Stefan Kost <ensonic@users.sf.net>
8750 * docs/gst/gstreamer-sections.txt:
8751 * gst/base/gstbasetransform.h:
8755 2005-09-25 Stefan Kost <ensonic@users.sf.net>
8757 * docs/gst/.cvsignore:
8758 * docs/gst/tmpl/.cvsignore:
8759 * docs/gst/tmpl/gstpipeline.sgml:
8760 * docs/gst/tmpl/gstplugin.sgml:
8761 * gst/gstpipeline.c:
8764 inlined the last two docs files
8765 removed the tmpl directory from cvs (no more conflicts here!)
8767 2005-09-25 Stefan Kost <ensonic@users.sf.net>
8769 * docs/gst/gstreamer-sections.txt:
8770 * docs/gst/tmpl/.cvsignore:
8771 * docs/gst/tmpl/gstpad.sgml:
8772 * docs/gst/tmpl/gstpadtemplate.sgml:
8774 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
8775 (gst_pad_finalize), (gst_pad_set_pad_template):
8777 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8778 (gst_pad_template_class_init), (gst_pad_template_init),
8779 (gst_pad_template_dispose), (name_is_valid),
8780 (gst_static_pad_template_get), (gst_pad_template_new),
8781 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
8782 (gst_pad_template_pad_created):
8783 * gst/gstpadtemplate.h:
8784 inlined two more docs
8785 factored gstpadtemplate out of gstpad
8787 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
8789 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8790 (test_children_state_change_order_semi_sink):
8791 Fix test case: we can't rely on a fixed state change order when
8792 going from READY => PAUSED because the sink might commit its
8793 new state first when the first buffer created by the source
8794 reaches the sink before the source has finished its change state.
8795 (Test case still fails at times, see #316856, comment 5 onwards)
8797 2005-09-24 Wim Taymans <wim@fluendo.com>
8799 * docs/design/part-events.txt:
8800 * docs/design/part-gstbus.txt:
8801 * docs/design/part-gstpipeline.txt:
8802 * docs/design/part-messages.txt:
8803 * docs/design/part-overview.txt:
8804 * docs/design/part-segments.txt:
8811 * gst/gstiterator.c:
8812 Various documentation updates.
8814 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
8817 Well, that's embarassing. Luckily we weren't using
8818 GST_CLOCK_DIFF anywhere.
8820 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
8822 * common/gtk-doc.mak:
8823 don't fail on building XML, FC4 slave shows a bunch of doc
8824 missing bits that I don't get
8826 * gst/gstpipeline.c:
8827 * gst/gststructure.c:
8830 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
8832 * docs/design/part-gstbin.txt:
8833 * docs/design/part-gstbus.txt:
8835 Add blurb about how the bus goes into flushing mode and
8836 drops all messages when its bin goes from READY into NULL
8839 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
8841 * docs/gst/gstreamer-sections.txt:
8842 * gst/gststructure.c: (gst_structure_get_clock_time):
8843 * gst/gststructure.h:
8844 add a method to get a GstClockTime out of a structure
8846 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
8848 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8849 (test_children_state_change_order_semi_sink), (gst_bin_suite):
8850 Added test to check state change order in bins (can still be made
8851 to fail here under heavy disk load; bails out with 'Push on pad
8852 fakesink:sink0, but it was not activated in push mode').
8854 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
8855 Fix state change order when there is only a semi sink (#316856)
8857 * gst/gstbus.c: (gst_bus_class_init):
8858 Use _class_peek_parent(), not _class_ref(); fix docs to say
8859 'default main context' instead of 'mainloop' where that is
8862 * gst/gstelement.c: (gst_element_commit_state),
8863 (gst_element_set_state):
8864 Fix typos in debug messages
8866 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
8869 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
8870 * gst/gstpluginfeature.c:
8873 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8874 change an assert into an error until it gets fixed properly
8876 2005-09-23 Stefan Kost <ensonic@users.sf.net>
8878 * docs/gst/gstreamer-sections.txt:
8879 * docs/gst/tmpl/.cvsignore:
8880 * docs/gst/tmpl/gstelement.sgml:
8881 * docs/gst/tmpl/gstinfo.sgml:
8882 * docs/gst/tmpl/gstobject.sgml:
8887 * gst/gstobject.c: (gst_object_class_init):
8889 inlined 3 more biiiig doc files and added some missing docs on the fly
8891 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
8893 * check/gst/.cvsignore:
8894 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
8895 * gst/gstregistryxml.c: (load_plugin),
8896 (gst_registry_xml_save_plugin):
8897 put back source in registry. add checks for find_plugin.
8898 * testsuite/states/bin.c: (assert_state), (empty_bin),
8899 (test_adding_one_element), (main):
8900 * testsuite/states/locked.c: (main):
8901 some compile/run fixes
8903 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
8905 * check/gst/gstvalue.c: (GST_START_TEST):
8906 fix leaks in the test itself
8908 2005-09-22 Wim Taymans <wim@fluendo.com>
8910 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8911 (gst_base_sink_send_event), (gst_base_sink_peer_query),
8912 (gst_base_sink_query):
8913 Prepare for more accurate position reporting and query
8916 * gst/gstelement.c: (gst_element_send_event),
8917 (gst_element_set_state):
8920 2005-09-22 Wim Taymans <wim@fluendo.com>
8922 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
8923 (gst_query_parse_segment):
8926 Add segment query for future use.
8928 2005-09-22 Wim Taymans <wim@fluendo.com>
8930 * gst/gstbin.c: (gst_bin_add_func):
8931 Some more debug info.
8933 * gst/gstelement.c: (gst_element_send_event):
8937 Don't know how flags got broken.
8942 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
8944 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
8945 Add simplistic test suite for GST_TYPE_DATE serialisation and
8948 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
8950 * docs/gst/gstreamer-sections.txt:
8951 * gst/gststructure.c: (gst_structure_set_valist),
8952 (gst_structure_get_date):
8953 * gst/gststructure.h:
8954 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
8955 (gst_date_copy), (gst_value_compare_date),
8956 (gst_value_serialize_date), (gst_value_deserialize_date),
8957 (gst_value_transform_date_string),
8958 (gst_value_transform_string_date), (_gst_value_initialize):
8960 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
8961 bunch of utility functions along with a hack that checks that
8962 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
8963 is required. Part of the grand scheme in #170777.
8965 2005-09-22 Andy Wingo <wingo@pobox.com>
8967 * gst/gstconfig.h.in: Psych out gtk-doc.
8969 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
8971 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
8973 * tools/gst-inspect.c (print_element_list): Plug some
8974 inconsequential leaks.
8976 * gst/gstregistry.c (gst_registry_get_default): Doc.
8978 * check/gst/gstplugin.c:
8979 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
8980 * gst/gstelementfactory.c (gst_element_factory_create):
8981 * gst/gstindexfactory.c (gst_index_factory_create): Update for
8984 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
8985 (gst_plugin_feature_load): Doc, don't eat refs.
8987 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
8988 (gst_plugin_list_free): Doc.
8989 (gst_plugin_load_file): Doc updates.
8991 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
8992 accessors returning refcounted objects, return a ref.
8994 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
8995 accessor for caps. IDEMPOTENCE. Oh yes.
8997 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
8999 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9001 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9002 (_gst_debug_register_funcptr):
9003 Add mutex to serialise access to the hash table with
9004 the function pointer => function name string mapping;
9005 make that hash table static scope (#316809).
9007 * gst/registries/.cvsignore:
9008 Remove left-over file.
9010 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
9012 * docs/pwg/appendix-porting.xml:
9013 And something about newsegment events and caps-on-buffers to
9014 the porting guide (feel free to improve).
9016 2005-09-21 Andy Wingo <wingo@pobox.com>
9018 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
9019 data and event probes on the same pad.
9020 (test_buffer_probe_once): Test that removing probes from within
9021 the probe functions works.
9023 2005-09-21 Andy Wingo <wingo@pobox.com>
9025 * check/gst/gstutils.c: New file.
9026 (test_buffer_probe_n_times): A simple buffer probe test. More to
9029 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
9030 have-data::buffer, not have-data.
9031 (gst_pad_add_event_probe): Likewise for have-data::event.
9032 (gst_pad_add_data_probe): More docs. The part about 'resolving the
9033 peer' isn't quite right yet though.
9034 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
9035 (gst_pad_remove_data_probe): Change to take the guint handler_id
9036 as their arg, not the function+data, which is more glib-like.
9038 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
9039 the signal emission to indicate if the data is a buffer or an
9041 (gst_pad_get_type): Initialize buffer and event quarks.
9042 (gst_pad_class_init): have-data is now a detailed signal, yes it
9045 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
9047 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9048 * gst/gstutils.c: (gst_util_set_value_from_string),
9049 (gst_util_set_object_arg):
9050 Don't put functional code in g_return_if_fail() or
9051 g_return_val_if_fail() statements, otherwise things will
9052 break when G_DISABLE_CHECKS is defined during compilation.
9054 2005-09-21 Stefan Kost <ensonic@users.sf.net>
9056 * docs/gst/tmpl/.cvsignore:
9057 * docs/gst/tmpl/gstvalue.sgml:
9060 inlied another one and added some obvious docs
9062 2005-09-21 Wim Taymans <wim@fluendo.com>
9064 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9065 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
9066 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
9067 (gst_fdsrc_get_property), (gst_fdsrc_create):
9068 * gst/elements/gstfdsrc.h:
9069 Properly implement fdsrc. Removed signal and timeout,
9070 better implemented somewhere else.
9072 2005-09-21 Stefan Kost <ensonic@users.sf.net>
9074 * docs/gst/tmpl/.cvsignore:
9075 * docs/gst/tmpl/gstimplementsinterface.sgml:
9076 * gst/gstinterface.c:
9079 2005-09-21 Stefan Kost <ensonic@users.sf.net>
9081 * docs/gst/gstreamer-sections.txt:
9082 * docs/gst/tmpl/.cvsignore:
9083 * docs/gst/tmpl/gstenumtypes.sgml:
9084 remove obsolete doc file
9086 2005-09-21 David Schleef <ds@schleef.org>
9088 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
9089 little beer, fix a little leak.
9091 2005-09-21 Stefan Kost <ensonic@users.sf.net>
9093 * docs/gst/gstreamer-docs.sgml:
9094 * docs/gst/gstreamer-sections.txt:
9095 * docs/gst/tmpl/.cvsignore:
9100 * gst/gstindex.c: (gst_index_class_init):
9102 * gst/gstindexfactory.c: (gst_index_factory_get_type),
9103 (gst_index_factory_class_init), (gst_index_factory_init),
9104 (gst_index_factory_finalize), (gst_index_factory_new),
9105 (gst_index_factory_destroy), (gst_index_factory_find),
9106 (gst_index_factory_create), (gst_index_factory_make):
9107 * gst/gstindexfactory.h:
9108 * gst/gstpluginfeature.c:
9109 * gst/gstpluginfeature.h:
9110 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9111 more docs inlined, splitted gstindex.{c,h}
9113 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
9115 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9118 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
9120 * gst/elements/gstfilesink.c: (gst_file_sink_init):
9121 Set sync to FALSE by default.
9123 2005-09-20 Wim Taymans <wim@fluendo.com>
9125 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9126 (gst_base_sink_init):
9127 Make sync property settable from subclass.
9129 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9130 (gst_fake_sink_change_state):
9131 Set sync to FALSE by default.
9133 2005-09-20 Wim Taymans <wim@fluendo.com>
9135 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
9136 * tools/gst-launch.c: (main):
9137 The timeout handler should have lower priority than the source
9138 so we don't timeout before popping a message with 0 timeout.
9139 Dump error messages after failed state change.
9141 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
9143 * tools/gst-inspect.c: (print_element_properties_info):
9146 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
9148 * check/gst/gstevent.c:
9149 * gst/elements/gstfakesink.c:
9150 * gst/elements/gstfakesink.h:
9151 remove the sync property from fakesink.
9152 has the side effect of setting sync TRUE
9153 for fakesink, which is a change. Anyone who knows how
9154 to fix this nicely in a GObject-y way, feel free.
9156 2005-09-20 Stefan Kost <ensonic@users.sf.net>
9158 * docs/gst/gstreamer-docs.sgml:
9159 remove probe refsection
9161 2005-09-20 Stefan Kost <ensonic@users.sf.net>
9163 * check/Makefile.am:
9164 disable valgrinding the controller test again
9165 * docs/gst/gstreamer-sections.txt:
9166 update for api-changes
9168 2005-09-20 Wim Taymans <wim@fluendo.com>
9170 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9171 (gst_base_sink_set_property), (gst_base_sink_get_property),
9172 (gst_base_sink_do_sync):
9173 * gst/base/gstbasesink.h:
9174 Added sync property to basesink to disable clock sync.
9176 2005-09-20 Andy Wingo <wingo@pobox.com>
9178 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
9179 eating the caller's refcount.
9181 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
9182 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
9185 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
9186 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
9187 of GLib 2.8 public, so we can know which refcount to check in
9190 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
9191 (gst_object_init): Only set the gst refcount if we're going ahead
9192 with the refcount hack.
9194 2005-09-20 Stefan Kost <ensonic@users.sf.net>
9196 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9197 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
9198 more leaks plumbed, added more debug-logging
9202 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
9205 remove include of gstmemchunk.h
9207 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
9209 * gst/gstclock.c: (_gst_clock_id_free):
9210 Commit from the Political Party For More Atomic CVS Commits,
9211 so that people don't waste too much of their day fishing
9212 out obvious leaks out of massive commits.
9213 Oh, and fix a pretty damn obvious leak in the memchunk
9216 2005-09-20 Stefan Kost <ensonic@users.sf.net>
9218 * check/Makefile.am:
9219 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
9220 plug mem-leak, re-add to valgrindable tests
9222 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
9225 unbreak the build for those who have chronic arthritis
9226 and typing "make check" is just too taxing on the hands
9228 2005-09-20 Andy Wingo <wingo@pobox.com>
9230 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
9231 really want it out, you should fix plugins at the same time.
9233 2005-09-19 Stefan Kost <ensonic@users.sf.net>
9236 * docs/gst/gstreamer-sections.txt:
9238 added missing symbols to api docs
9239 disable ref-count hack if we have glib >= 2.8
9241 2005-09-19 David Schleef <ds@schleef.org>
9243 * docs/gst/Makefile.am: Ignore a few more internal headers
9244 * docs/gst/gstreamer-docs.sgml: Remove old sections
9245 * docs/gst/gstreamer-sections.txt: Remove old sections
9246 * docs/gst/tmpl/gstobject.sgml: update
9247 * docs/gst/tmpl/gstplugin.sgml: update
9248 * docs/gst/tmpl/gstpluginfeature.sgml: update
9249 * docs/random/ds/0.9-suggested-changes: update.
9250 * gst/Makefile.am: remove memchunk and trashstack, since they're
9252 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
9253 * gst/gst.h: don't include some headers
9254 * gst/gstchildproxy.c: add gstmarshal.h
9255 * gst/gstclock.c: Don't use memchunks
9256 * gst/gstminiobject.c: Add some docs
9257 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
9258 * gst/gstobject.h: same
9259 * gst/gstplugin.c: include gstmacros.h
9260 * gst/gstplugin.h: don't include gstmacros.h, since it's private
9261 * gst/gstquery.c: don't use memchunks
9262 * gst/gstregistry.c: rename gst_registry_deinit()
9263 * gst/gstregistry.h: same
9265 2005-09-19 David Schleef <ds@schleef.org>
9267 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
9268 * docs/libs/gstreamer-libs-sections.txt:
9269 * docs/libs/tmpl/gstgetbits.sgml:
9270 * docs/libs/tmpl/gstputbits.sgml:
9272 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
9274 * win32/gstenumtypes.c:
9275 * win32/gstenumtypes.h:
9278 2005-09-19 Wim Taymans <wim@fluendo.com>
9280 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
9281 Automatically PAUSE and RESUME a pipeline when a flushing seek
9284 2005-09-19 Andy Wingo <wingo@pobox.com>
9286 * gst/gstregistry.h: Spacing fixen.
9288 2005-09-19 Wim Taymans <wim@fluendo.com>
9290 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
9291 Handle state change failure more correctly.
9293 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
9295 * check/Makefile.am:
9296 * check/pipelines/cleanup.c: (run_pipeline):
9297 * check/pipelines/simple_launch_lines.c: (run_pipeline),
9299 enable cleanup again after fixing the leak
9301 some more info on docs
9303 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
9305 * check/Makefile.am:
9306 re-enable tests now that leaks are plugged
9308 * check/gst/gstbin.c:
9309 * check/gst/gstpipeline.c:
9310 add some more tests while fixing leaks
9312 make sure binaries are uptodate when valgrinding/gdbing
9314 * gst/gstelementfactory.c:
9315 remove a ref too many, and add a FIXME for when we get
9316 round to disposing of classes
9318 fix the refcounting when loading a plugin from a file and
9319 the code pretends that the pointer is the same even though
9320 of course it can change
9321 * gst/gstpluginfeature.c:
9322 unref plugins marked cached (a bit confusing as a name)
9323 as the docs state should be done
9324 various doc additions to explain refcounting
9325 * gst/gstregistry.c:
9326 * gst/gstregistryxml.c:
9329 2005-09-19 Wim Taymans <wim@fluendo.com>
9331 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9332 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9333 (send_messages), (GST_START_TEST), (gstbus_suite):
9334 * check/gst/gstpipeline.c: (GST_START_TEST):
9335 * check/pipelines/cleanup.c: (run_pipeline):
9336 * check/pipelines/simple_launch_lines.c: (run_pipeline),
9338 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
9339 (gst_bus_source_check), (gst_bus_source_dispatch),
9340 (gst_bus_create_watch), (gst_bus_add_watch_full),
9341 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
9343 * tools/gst-launch.c: (event_loop):
9344 * tools/gst-md5sum.c: (event_loop):
9345 GstBusHandler -> GstBusFunc, return value has the same meaning as
9346 any other GSource (FALSE == remove source).
9347 _add_watch() and _add_watch_full() now take a MessageType mask to
9348 only handle specific types of messages.
9349 _poll() returns the GstMessage instead of the message type to avoid
9351 _have_pending() takes a MessageType mask now too.
9352 Added testsuite for multiple bus watches.
9353 Fix testsuites and applications for new bus API.
9355 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
9357 * check/Makefile.am:
9358 mark a bunch of the tests as to fix until we fix them
9360 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
9363 use GST_PLUGIN settings for valgrind tests as well, so we're
9364 valgrinding the correct thing
9365 * gst/gst.c: (init_post):
9368 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
9370 * gst/gst.c: (init_post), (gst_deinit):
9371 * gst/gstelementfactory.c: (gst_element_factory_class_init),
9372 (gst_element_factory_finalize), (gst_element_factory_cleanup):
9373 * gst/gstindex.c: (gst_index_factory_class_init),
9374 (gst_index_factory_finalize):
9375 * gst/gstobject.c: (gst_object_dispose):
9376 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
9377 (gst_plugin_load_file), (gst_plugin_desc_free):
9378 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
9379 (gst_plugin_feature_finalize):
9380 * gst/gstregistry.c: (gst_registry_class_init),
9381 (gst_registry_init), (gst_registry_finalize),
9382 (gst_registry_get_default), (gst_registry_deinit):
9383 * gst/gstregistry.h:
9384 * gst/gstregistryxml.c: (load_feature), (load_plugin):
9385 various cleanups and memleak plugging. make valgrind is happy now.
9387 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
9390 add a check-valgrind target
9392 2005-09-18 David Schleef <ds@schleef.org>
9394 * tools/gst-inspect.c: Revert the GOption code.
9396 2005-09-17 David Schleef <ds@schleef.org>
9398 * check/Makefile.am: Fix environment variables.
9399 * check/gst/gstplugin.c: Fix for API changes.
9400 * tools/gst-inspect.c: Fix for API changes.
9401 * tools/gst-xmlinspect.c: Fix for API changes.
9402 * gst/gstelementfactory.c:
9405 * gst/gstpluginfeature.c:
9406 * gst/gstpluginfeature.h:
9407 * gst/gstregistry.c:
9408 * gst/gstregistry.h:
9409 * gst/gstregistryxml.c:
9410 * gst/gsttypefind.c:
9411 * gst/gsttypefindfactory.c:
9412 * gst/indexers/gstfileindex.c:
9413 * gst/indexers/gstmemindex.c:
9414 * gst/schedulers/Makefile.am:
9415 Change registry to keep track of both plugins and features,
9416 removing the feature tracking from plugins themselves.
9418 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
9420 * check/Makefile.am:
9421 * tools/gst-register.1.in:
9424 2005-09-15 David Schleef <ds@schleef.org>
9426 * check/gst/gstplugin.c:
9427 * gst/gstelementfactory.c:
9429 * gst/gstpluginfeature.c:
9430 * gst/gstregistry.c:
9431 Getting tired of debugging. Disabled all the unreffing of
9432 plugins and features, which fixes the segfaults, but of
9433 course leaks like crazy. At least playbin works.
9435 2005-09-15 David Schleef <ds@schleef.org>
9437 * check/gst/gstplugin.c: (register_check_elements),
9438 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
9440 * gst/elements/gsttypefindelement.c: Fix refcounting.
9441 * gst/gsttypefind.c:
9442 * gst/gsttypefindfactory.c:
9443 * gst/gsttypefindfactory.h:
9445 2005-09-15 David Schleef <ds@schleef.org>
9447 * gst/gstindex.c: get refcounting correct.
9448 * gst/gstregistry.c: Handle the case where a feature/plugin is
9451 2005-09-15 David Schleef <ds@schleef.org>
9453 * check/Makefile.am:
9454 * check/gst/gstplugin.c: Add test
9455 * gst/gstplugin.c: Fix problems noticed by testsuite
9457 * gst/gstregistry.c:
9458 * gst/gstregistry.h:
9460 2005-09-15 David Schleef <ds@schleef.org>
9462 * gst/gstplugin.c: Implement semi-decent recounting and locking
9463 in plugins and plugin features.
9465 * gst/gstpluginfeature.c:
9466 * gst/gstpluginfeature.h:
9467 * gst/gstregistry.c:
9469 2005-09-15 Michael Smith <msmith@fluendo.com>
9471 * gst/gstregistry.c: (gst_registry_get_feature_list):
9472 Implement this. Makes oggdemux work; decodebin still broken.
9474 2005-09-14 David Schleef <ds@schleef.org>
9476 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
9478 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
9479 * gst/check/Makefile.am:
9480 * libs/gst/controller/Makefile.am:
9481 * libs/gst/dataprotocol/Makefile.am:
9483 2005-09-14 David Schleef <ds@schleef.org>
9485 * configure.ac: Remove getbits library. Nothing uses it, and
9486 it should be in something like liboil if someone did want
9488 * libs/gst/Makefile.am:
9489 * libs/gst/getbits/Makefile.am:
9490 * libs/gst/getbits/gbtest.c:
9491 * libs/gst/getbits/getbits.c:
9492 * libs/gst/getbits/getbits.h:
9493 * libs/gst/getbits/gstgetbits_generic.c:
9494 * libs/gst/getbits/gstgetbits_i386.s:
9495 * libs/gst/getbits/gstgetbits_inl.h:
9497 2005-09-14 David Schleef <ds@schleef.org>
9499 * gst/Makefile.am: Dist glib-compat.h
9501 2005-09-14 David Schleef <ds@schleef.org>
9503 * configure.ac: Remove gst/registries, since it's no longer used.
9504 * gst/registries/Makefile.am:
9505 * gst/registries/gstlibxmlregistry.c:
9506 * gst/registries/gstlibxmlregistry.h:
9507 * gst/registries/gstxmlregistry.c:
9508 * gst/registries/gstxmlregistry.h:
9509 * gst/registries/registrytest.c:
9511 2005-09-14 David Schleef <ds@schleef.org>
9513 * gst/glib-compat.h:
9514 * gst/gstregistryxml.c:
9515 Convergence is near. Seriously.
9517 2005-09-14 David Schleef <ds@schleef.org>
9519 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9520 * gst/glib-compat.h:
9521 Attempt #4 to appease the buildbots.
9523 2005-09-14 David Schleef <ds@schleef.org>
9525 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9528 2005-09-14 David Schleef <ds@schleef.org>
9530 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9533 2005-09-14 David Schleef <ds@schleef.org>
9535 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
9538 2005-09-14 David Schleef <ds@schleef.org>
9540 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
9541 * gst/glib-compat.h: Add some functions that are in newer versions
9542 of glib than we care to require.
9543 * gst/gstregistryxml.c: Use them.
9545 2005-09-14 David Schleef <ds@schleef.org>
9547 * po/POTFILES.in: remove gst-register.c
9549 2005-09-14 David Schleef <ds@schleef.org>
9551 * docs/gst/gstreamer-docs.sgml:
9552 * docs/gst/gstreamer-sections.txt:
9553 * docs/gst/gstreamer.types:
9554 * docs/gst/tmpl/gstelement.sgml:
9555 * docs/gst/tmpl/gstplugin.sgml:
9556 * docs/gst/tmpl/gstpluginfeature.sgml:
9557 Documentation updates for registry changes.
9559 2005-09-14 David Schleef <ds@schleef.org>
9561 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
9562 because we don't require glib-2.8.
9564 2005-09-14 David Schleef <ds@schleef.org>
9566 * gst/gstregistryxml.c: Added. Essentially moved out of the
9567 registries directory.
9569 2005-09-14 David Schleef <ds@schleef.org>
9571 * check/Makefile.am:
9572 * check/generic/states.c:
9576 * gst/gst_private.h:
9577 * gst/gstelementfactory.c:
9582 * gst/gstpluginfeature.c:
9583 * gst/gstpluginfeature.h:
9584 * gst/gstregistry.c:
9585 * gst/gstregistry.h:
9586 * gst/gstregistrypool.c: remove
9587 * gst/gstregistrypool.h: remove
9588 * gst/gsttypefind.c:
9589 * gst/gsttypefindfactory.c:
9591 * tools/Makefile.am:
9592 * tools/gst-compprep.c:
9593 * tools/gst-inspect.c:
9594 * tools/gst-register.c: remove
9595 * tools/gst-xmlinspect.c:
9596 Registry rewrite. Changes registry from being a file created
9597 by a tool into a simple cache file created automatically by
9598 libgstreamer. Removed gst-register (because it's no longer
9599 needed). Remove registry pools, because we only have one
9600 registry implementation (XML). Fix up other subsystems as
9603 2005-09-13 Michael Smith <msmith@fluendo.com>
9605 * gst/gstconfig.h.in:
9606 Don't Use windows linking attributes for MinGW. Fixes #316157
9608 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
9610 * gst/gstutils.c: (set_state_async_thread_func),
9611 (gst_element_set_state_async):
9612 Apparently people think it's better if this function doesn't
9613 try to set the state to whatever state was asked for on the first
9614 call to this function for any object. Seriously.
9616 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
9618 * check/gst/gstpipeline.c: (GST_START_TEST):
9619 * docs/gst/gstreamer-sections.txt:
9620 * gst/gstutils.c: (set_state_async_thread_func),
9621 (gst_element_set_state_async):
9623 add a "gst_element_set_state_async" method that
9624 sets the state and starts a thread to make sure the state
9625 change completes as best as it can
9627 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
9629 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9630 codify design+behaviour in testsuite after discussion
9632 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
9634 * docs/gst/tmpl/gstelement.sgml:
9635 * docs/manual/appendix-quotes.xml:
9637 * gst/gstelement.c: (gst_element_set_state):
9640 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
9642 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9643 (gst_base_transform_prepare_output_buf),
9644 (gst_base_transform_handle_buffer):
9645 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
9646 (gst_capsfilter_prepare_buf):
9647 Remove the requirement for sub-classes to call the parent
9648 implementation of prepare_output_buffer with a wrapper function.
9651 * gst/gsttagsetter.h:
9654 2005-09-11 Stefan Kost <ensonic@users.sf.net>
9656 * docs/gst/gstreamer-sections.txt:
9659 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
9661 * docs/gst/gstreamer-sections.txt:
9662 * docs/gst/tmpl/gstelement.sgml:
9663 * docs/gst/tmpl/gstplugin.sgml:
9664 * gst/gstminiobject.c:
9666 docs now stop throwing warnings
9668 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
9670 * docs/gst/gstreamer-sections.txt:
9671 * docs/gst/gstreamer.types:
9672 * docs/gst/tmpl/gstpad.sgml:
9673 * docs/gst/tmpl/gsttypes.sgml:
9674 * gst/base/gstadapter.h:
9675 * gst/base/gstbasesink.h:
9676 * gst/base/gstbasesrc.h:
9686 * gst/gststructure.c:
9687 * gst/registries/gstlibxmlregistry.h:
9688 various documentation fixes
9690 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
9692 * docs/gst/gstreamer-sections.txt:
9693 * docs/gst/tmpl/gstvalue.sgml:
9694 rearrange gstvalue section
9695 * gst/gstutils.c: (gst_element_state_get_name):
9697 * gst/gstvalue.c: (_gst_value_initialize):
9701 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
9703 * check/gst-libs/controller.c:
9705 * gst/base/gstbasetransform.c:
9706 (gst_base_transform_default_prepare_buf),
9707 (gst_base_transform_handle_buffer):
9708 * gst/base/gstbasetransform.h:
9709 Some more basetransform changes and fixes to enable sub-classes
9710 that modify buffer metadata only.
9711 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9712 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
9713 (gst_capsfilter_prepare_buf):
9714 If the output pad has fixed allowed caps and input buffers
9715 don't have any, set the fixed caps on outgoing buffers.
9717 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
9718 * check/elements/identity.c: (GST_START_TEST):
9719 Make the error a little clearer when the test fails because
9720 identity made a copy of the buffer.
9721 * docs/gst/gstreamer-sections.txt:
9722 New symbols in gstbasetransform.h
9723 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9724 (gst_base_transform_init), (gst_base_transform_transform_size),
9725 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9726 (gst_base_transform_default_prepare_buf),
9727 (gst_base_transform_get_unit_size),
9728 (gst_base_transform_buffer_alloc),
9729 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9730 (gst_base_transform_change_state),
9731 (gst_base_transform_set_passthrough),
9732 (gst_base_transform_set_in_place),
9733 (gst_base_transform_is_in_place):
9734 * gst/base/gstbasetransform.h:
9735 Change BaseTransform to separate in_place operate from same_caps
9736 output. in_place implies that the element can perform the transform
9737 on incoming buffers in-place, even if the caps on the output are
9739 Sub-class elements can now implement special buffer allocation
9740 methods for outgoing buffers if they wish to.
9741 Big documentation addition.
9742 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
9743 * gst/elements/gstelements.c:
9744 Changes for basetransform modifications.
9745 * gst/elements/Makefile.am:
9746 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
9747 Compile fix. Extra debug output.
9749 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
9751 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
9753 add tests for valid pad naming
9754 * gst/check/gstcheck.c: (gst_check_log_message_func),
9755 (gst_check_log_critical_func):
9757 remove printing of code, it is fragile when the code contains
9758 % and the line number is enough info
9759 * gst/check/gstcheck.h:
9760 * gst/gstpad.c: (gst_pad_template_new):
9763 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
9766 say what CHECK flags we use
9767 * docs/libs/gstreamer-libs.types:
9768 * libs/gst/controller/Makefile.am:
9769 * libs/gst/controller/gst-controller.c:
9770 * libs/gst/controller/gst-controller.h:
9771 * libs/gst/controller/gst-helper.c:
9772 * libs/gst/controller/gst-interpolation.c:
9773 * libs/gst/controller/gstcontroller.c:
9774 * libs/gst/controller/gsthelper.c:
9775 * libs/gst/controller/gstinterpolation.c:
9776 * tools/gst-inspect.c: (print_plugin_info):
9777 we don't use dashes in header names
9779 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
9781 * check/Makefile.am:
9782 * check/gst/.cvsignore:
9783 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
9784 (gst_pipeline_suite), (main):
9785 adding a test for pipelines and state changes
9786 * gst/gstutils.c: (get_state_func):
9788 * gstreamer.spec.in:
9791 2005-09-08 Michael Smith <msmith@fluendo.com>
9793 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
9794 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
9795 (gst_file_src_is_seekable), (gst_file_src_get_size),
9796 (gst_file_src_start):
9797 * gst/elements/gstfilesrc.h:
9798 Various fixes for unseekable, unmmapable, and non-normal files, so
9799 that fallback to read() rather than mmap() works.
9800 * gst/gstevent.c: (gst_event_new_newsegment):
9801 Allow newsegment events with segment_start == segment_end, as will
9802 correctly happen if you use filesrc on a zero-size file, for
9805 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
9807 * gst/gstplugin.c: (gst_plugin_load_file):
9808 Call g_module_close when we don't load the module
9810 * gst/registries/gstlibxmlregistry.c:
9811 (gst_xml_registry_get_property):
9812 Port leak fix from 0.8
9814 2005-09-07 Stefan Kost <ensonic@users.sf.net>
9816 * docs/gst/gstreamer-docs.sgml:
9817 * docs/gst/tmpl/.cvsignore:
9818 * docs/gst/tmpl/gsttrace.sgml:
9819 * docs/gst/tmpl/gsttrashstack.sgml:
9828 * gst/gsttaginterface.c:
9829 * gst/gsttaginterface.h:
9832 * gst/gsttagsetter.c:
9833 * gst/gsttagsetter.h:
9836 * gst/gsttrashstack.c:
9837 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
9838 inlined docs for gsttrace, gsttrashstack
9840 2005-09-07 Stefan Kost <ensonic@users.sf.net>
9843 * gst/elements/gstbufferstore.h:
9844 * gst/elements/gsttypefindelement.c:
9845 * gst/elements/gsttypefindelement.h:
9847 * gst/gsttypefind.c:
9848 * gst/gsttypefind.h:
9849 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
9850 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
9851 (gst_type_find_factory_dispose),
9852 (gst_type_find_factory_unload_thyself),
9853 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
9854 (gst_type_find_factory_get_caps),
9855 (gst_type_find_factory_get_extensions),
9856 (gst_type_find_factory_call_function):
9857 * gst/gsttypefindfactory.h:
9858 * gst/registries/gstlibxmlregistry.c:
9859 * gst/registries/gstxmlregistry.c:
9860 splitted gsttypefind into gsttypefind, gsttypefindfactory
9862 2005-09-07 Andy Wingo <wingo@pobox.com>
9864 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
9865 condition whereby the pad's task function is entered before the
9866 pad_mode variable was set.
9868 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
9870 * gst/gstpad.c: (gst_pad_alloc_buffer):
9871 Catch misbehaving pad_alloc functions that don't
9872 set up caps and do it for them.
9874 2005-09-07 Stefan Kost <ensonic@users.sf.net>
9876 * check/pipelines/simple_launch_lines.c: (run_pipeline):
9878 * docs/gst/tmpl/.cvsignore:
9879 * docs/gst/tmpl/gstmemchunk.sgml:
9880 * docs/gst/tmpl/gstparse.sgml:
9881 * docs/gst/tmpl/gsttaglist.sgml:
9882 * docs/gst/tmpl/gsttagsetter.sgml:
9883 * docs/gst/tmpl/gsttypefind.sgml:
9884 * docs/gst/tmpl/gsttypefindfactory.sgml:
9885 * gst/gstmemchunk.c:
9888 * gst/gsttaginterface.c:
9889 * gst/gsttypefind.c:
9890 * gst/gsttypefind.h:
9893 === release 0.9.2 ===
9895 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
9900 releasing 0.9.2, "South"
9902 2005-09-05 Andy Wingo <wingo@pobox.com>
9904 * gst/registries/gstxmlregistry.h:
9905 * gst/registries/gstxmlregistry.c: Um... resurrect...
9907 * gst/registries/gstxmlregistry.h:
9908 * gst/registries/gstxmlregistry.c: and update to newer API.
9909 Incidentally they should be a bit faster now that they don't have
9912 2005-09-05 Andy Wingo <wingo@pobox.com>
9914 * gst/registries/gstxmlregistry.h:
9915 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
9916 replaced by the libxml registry a while back
9918 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
9920 * docs/gst/tmpl/gstplugin.sgml:
9921 * gst/elements/gstelements.c:
9923 * gst/gstplugin.c: (gst_plugin_register_func),
9924 (gst_plugin_desc_copy), (gst_plugin_desc_free),
9925 (gst_plugin_get_source):
9927 * gst/registries/gstlibxmlregistry.c: (load_plugin),
9928 (gst_xml_registry_save_plugin):
9929 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
9930 (gst_xml_registry_save_plugin):
9931 * tools/gst-inspect.c: (print_plugin_info):
9932 add a "source" plugin description field, to represent the source
9933 module this plugin is a part of. By default GST_PLUGIN_DEFINE
9934 will set it to PACKAGE, which is automake's idea of the name of
9937 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
9943 * docs/faq/Makefile.am:
9944 * docs/gst/tmpl/gstelement.sgml:
9945 * docs/gst/tmpl/gsttypes.sgml:
9946 * docs/htmlinstall.mak:
9947 * docs/manual/Makefile.am:
9948 * docs/pwg/Makefile.am:
9949 reorganize doc build a little
9950 split out docbook and gtk-doc stuff
9951 have two separate --enable's and enable them through autogen
9952 but disable by default in configure (to be similar to other
9954 * gstreamer.spec.in:
9955 clean up docs install
9975 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
9977 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
9980 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9981 (gst_fake_sink_change_state):
9982 Make state change function thread-safe.
9984 * gst/gstpad.c: (gst_pad_alloc_buffer):
9985 Set offset on generic buffer allocated by fallback.
9987 2005-09-03 Stefan Kost <ensonic@users.sf.net>
9989 * docs/gst/gstreamer-sections.txt:
9990 * docs/gst/tmpl/gstelement.sgml:
9992 * libs/gst/controller/gst-controller.c:
9993 (gst_controlled_property_set_interpolation_mode),
9994 (gst_controlled_property_new),
9995 (gst_controller_find_controlled_property):
9996 run the wingo-magic script against the docs
9998 2005-09-02 Stefan Kost <ensonic@users.sf.net>
10000 * docs/gst/gstreamer-docs.sgml:
10001 * docs/gst/gstreamer-sections.txt:
10002 * docs/gst/tmpl/.cvsignore:
10003 * docs/gst/tmpl/gstelementdetails.sgml:
10004 * docs/gst/tmpl/gstelementfactory.sgml:
10007 * gst/gstelementfactory.c:
10008 * gst/gstelementfactory.h:
10009 merged elementdetails docs into elementfactory docs
10012 2005-09-02 Andy Wingo <wingo@pobox.com>
10014 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
10015 consider this enum an enum and not a flags.
10017 2005-09-02 Stefan Kost <ensonic@users.sf.net>
10019 * docs/gst/gstreamer-docs.sgml:
10020 * docs/gst/tmpl/.cvsignore:
10021 * docs/gst/tmpl/gstghostpad.sgml:
10022 * docs/gst/tmpl/gstiterator.sgml:
10023 * docs/gst/tmpl/gstmacros.sgml:
10024 * docs/gst/tmpl/gstrealpad.sgml:
10025 * docs/gst/tmpl/gstregistry.sgml:
10026 * docs/gst/tmpl/gstregistrypool.sgml:
10027 * docs/gst/tmpl/gststructure.sgml:
10028 * docs/gst/tmpl/gstsystemclock.sgml:
10029 * docs/gst/tmpl/gsttrace.sgml:
10030 * gst/gstghostpad.c:
10032 * gst/gstmemchunk.c:
10033 * gst/gstmemchunk.h:
10035 * gst/gstregistry.c:
10036 * gst/gstregistrypool.c:
10037 * gst/gststructure.c:
10038 * gst/gstsystemclock.c:
10041 2005-09-02 Andy Wingo <wingo@pobox.com>
10043 * gst/gstelement.h (GstState): Renamed from GstElementState,
10044 changed to be a normal enum instead of flags.
10045 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
10046 munged to be GST_STATE_CHANGE_*.
10047 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
10048 work with the new state representation.
10049 (GstStateChange): New enumeration of possible state transitions.
10050 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
10051 (GstElementClass::change_state): Pass the GstStateChange along as
10052 an argument. Helps language bindings, so they don't have to use
10053 tricky lock-needing macros like GST_STATE_CHANGE ().
10055 * scripts/update-states (file): New script. Run it on a file to
10056 update it for state naming and API changes. Updates files in
10059 * All files updated for the new API.
10061 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
10063 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
10064 * gst/gstutils.c: (gst_util_set_value_from_string),
10065 (gst_util_set_object_arg):
10066 fix a bunch of unchecked return values
10067 * tools/gst-complete.c: (main):
10068 * gstreamer.spec.in:
10071 2005-09-01 Wim Taymans <wim@fluendo.com>
10073 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10074 (gst_base_sink_event), (gst_base_sink_do_sync),
10075 (gst_base_sink_handle_event):
10076 * gst/base/gstbasesink.h:
10077 Handle newsegments more correctly.
10082 * gst/gstevent.c: (gst_event_new_newsegment):
10083 A newsegment cannot have a start_time of -1
10085 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
10087 * win32/gstenumtypes.c:
10088 * win32/gstenumtypes.h:
10091 2005-08-31 Stefan Kost <ensonic@users.sf.net>
10093 * libs/gst/controller/gst-controller.c:
10094 (gst_controlled_property_set_interpolation_mode),
10095 (gst_controlled_property_new):
10096 fixed boolean again
10098 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
10100 * docs/faq/gst-uninstalled:
10105 * gst/gstutils.c: (gst_element_link_filtered):
10107 add gst_element_link_filtered
10109 2005-08-31 Stefan Kost <ensonic@users.sf.net>
10111 * docs/gst/gstreamer-docs.sgml:
10112 * docs/gst/gstreamer-sections.txt:
10113 * docs/gst/tmpl/.cvsignore:
10114 * docs/gst/tmpl/gsterror.sgml:
10115 * docs/gst/tmpl/gstfilter.sgml:
10116 * docs/gst/tmpl/gsturihandler.sgml:
10117 * docs/gst/tmpl/gsturitype.sgml:
10118 * docs/gst/tmpl/gstutils.sgml:
10119 * docs/gst/tmpl/gstxml.sgml:
10124 * gst/gsturitype.c:
10127 inlined more docs, fixed double id-ref
10129 2005-08-31 Wim Taymans <wim@fluendo.com>
10131 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10132 (gst_base_transform_handle_buffer):
10133 Passthrough elements don't need the caps as they don't care.
10135 2005-08-31 Wim Taymans <wim@fluendo.com>
10137 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10138 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
10139 Don't leak refcounts on buffers.
10141 2005-08-31 Wim Taymans <wim@fluendo.com>
10143 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
10144 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10145 (gst_base_transform_chain), (gst_base_transform_change_state):
10146 * gst/base/gstbasetransform.h:
10147 Handle the case where we are not negotiated more gracefully.
10149 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
10151 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
10152 (gst_file_src_map_region):
10153 Set READONLY flag on mmap'ed buffers, otherwise
10154 gst_buffer_make_writable() won't work properly (#314708).
10156 2005-08-31 Wim Taymans <wim@fluendo.com>
10158 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
10159 passthrough elements can even do inplace on non writable
10160 buffers (as they don't touch them).
10162 2005-08-31 Stefan Kost <ensonic@users.sf.net>
10164 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10165 (gst_test_mono_source_set_property),
10166 (gst_test_mono_source_class_init), (GST_START_TEST),
10167 (gst_controller_suite):
10168 more tests (hehe I have the most)
10170 describe popping messages whenusing mulltiple sources
10171 * libs/gst/controller/gst-controller.c:
10172 (gst_controlled_property_set_interpolation_mode),
10173 (gst_controlled_property_new):
10174 * libs/gst/controller/gst-controller.h:
10175 * libs/gst/controller/gst-interpolation.c:
10176 implement boolean properties
10178 2005-08-31 Wim Taymans <wim@fluendo.com>
10180 * gst/gstminiobject.c: (gst_mini_object_ref):
10181 Cannot assert that the refcount has to be positive
10182 since a disposed object can be resurrected.
10184 2005-08-31 Wim Taymans <wim@fluendo.com>
10186 * gst/gstpad.c: (gst_pad_init):
10187 Revert change, need to first fix badly behaving
10190 2005-08-30 Wim Taymans <wim@fluendo.com>
10192 * check/elements/fakesrc.c: (setup_fakesrc):
10193 * check/elements/identity.c: (setup_identity):
10194 Activate pads before using them.
10196 2005-08-30 Wim Taymans <wim@fluendo.com>
10198 * gst/base/gstadapter.c: (gst_adapter_flush):
10199 Flushing out 0 bytes is ok for this function.
10201 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10202 no newsegment gives a warning and sets the start/stop to
10205 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
10206 (gst_base_transform_set_passthrough):
10209 * gst/gstminiobject.c: (gst_mini_object_ref):
10210 Check refcount here too.
10212 * gst/gstpad.c: (gst_pad_init):
10213 Pads are initially flushing and refusing data.
10215 * gst/gstutils.c: (gst_element_link_pads_filtered):
10216 When adding a capsfilter element make sure it has the
10217 same state as the parent bin.
10219 2005-08-30 Stefan Kost <ensonic@users.sf.net>
10221 * docs/gst/tmpl/.cvsignore:
10222 * docs/gst/tmpl/gstformat.sgml:
10223 * docs/gst/tmpl/gstversion.sgml:
10227 * gst/gstversion.h.in:
10228 more docs and two more inlined
10230 2005-08-30 Wim Taymans <wim@fluendo.com>
10232 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
10233 Don't sync to clock.
10235 2005-08-30 Stefan Kost <ensonic@users.sf.net>
10237 * docs/gst/gstreamer-sections.txt:
10238 ultral33t func10ns deserve to appear in the docs actually
10239 * docs/gst/tmpl/.cvsignore:
10240 * docs/gst/tmpl/gstcompat.sgml:
10241 * docs/gst/tmpl/gstconfig.sgml:
10242 * gst/check/gstcheck.c:
10244 * gst/gstconfig.h.in:
10247 2005-08-30 Stefan Kost <ensonic@users.sf.net>
10249 * docs/gst/tmpl/.cvsignore:
10250 * docs/gst/tmpl/gstquery.sgml:
10251 * docs/gst/tmpl/gstutils.sgml:
10254 inlined and extended docs
10256 2005-08-30 Stefan Kost <ensonic@users.sf.net>
10258 * check/gst-libs/controller.c: (GST_START_TEST),
10259 (gst_controller_suite):
10261 * docs/gst/tmpl/gstutils.sgml:
10262 * docs/libs/gstreamer-libs-sections.txt:
10263 * docs/libs/tmpl/gstdataprotocol.sgml:
10265 * examples/controller/audio-example.c: (main):
10266 controller example works now
10269 * tools/gst-inspect.c: (print_element_properties_info):
10270 show param spec flags
10272 2005-08-29 Andy Wingo <wingo@pobox.com>
10274 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
10276 2005-08-28 Andy Wingo <wingo@pobox.com>
10278 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
10279 as having two arguments instead of just one. Allows superclasses
10280 to access information on subclasses -- see the terrible for() loop
10281 in gtype.c:g_type_create_instance for the reason why. All callers
10284 2005-08-27 Stefan Kost <ensonic@users.sf.net>
10286 * docs/design/part-messages.txt:
10288 * docs/gst/tmpl/.cvsignore:
10289 * docs/gst/tmpl/gstcaps.sgml:
10290 * docs/gst/tmpl/gstclock.sgml:
10296 * gst/gstmessage.c:
10297 added descriptions for bus and message
10298 inline caps and clock docs
10300 2005-08-27 Stefan Kost <ensonic@users.sf.net>
10302 * gst/gstmessage.c:
10303 * gst/gstmessage.h:
10306 2005-08-27 Stefan Kost <ensonic@users.sf.net>
10308 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10311 2005-08-26 Andy Wingo <wingo@pobox.com>
10313 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
10314 element_set_state's return val.
10315 (test_2_elements): Add test that's been disabled for months.
10317 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
10318 can-activate-pull properties.
10320 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
10321 can-activate-pull properties. Implement is_seekable so fakesrc can
10322 operate in pull mode.
10324 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
10326 (gst_base_sink_activate, gst_base_sink_activate_pull)
10327 (gst_base_sink_activate_push): Make activation mode choosing work.
10329 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
10330 is right. Make pull mode work. Post an eos before pausing in pull
10332 (gst_base_sink_change_state): Pay attention to the core's
10333 change_state() return val.
10335 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
10336 has-getrange properties. Cleanups.
10338 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
10339 has_getrange and replace with can_activate_pull and
10342 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
10343 locking comments. Remove has_loop, has_chain and replace with
10344 can_activate_pull and can_activate_push.
10346 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
10349 * examples/Makefile.am:
10350 * examples/metadata/Makefile.am:
10351 * examples/metadata/read-metadata.c: (message_loop),
10352 (have_pad_handler), (make_pipeline), (print_tag), (main):
10353 Add metadata reading example that loops over a list of filenames,
10354 dumping any tags found.
10356 * gst/gstbus.c: (gst_bus_dispose):
10357 * gst/gstelement.c: (gst_element_dispose):
10358 Release a few potentially-held references in dispose.
10360 2005-08-26 Stefan Kost <ensonic@users.sf.net>
10362 * docs/gst/tmpl/gstminiobject.sgml:
10363 do *not* add tmpl/*.sgml files to CVS!
10365 2005-08-26 Stefan Kost <ensonic@users.sf.net>
10367 * libs/gst/bytestream/.cvsignore:
10368 * libs/gst/bytestream/Makefile.am:
10369 * libs/gst/bytestream/adapter.c:
10370 * libs/gst/bytestream/adapter.h:
10371 * libs/gst/bytestream/bytestream.c:
10372 * libs/gst/bytestream/bytestream.h:
10373 * libs/gst/bytestream/filepad.c:
10374 * libs/gst/bytestream/filepad.h:
10375 removing obsolete files
10377 2005-08-26 Stefan Kost <ensonic@users.sf.net>
10379 * docs/gst/gstreamer-docs.sgml:
10380 * docs/libs/gstreamer-libs-docs.sgml:
10381 disabed additional index entries again, as this makes docs-gen just
10382 slow and they aren't useful yet
10383 * docs/libs/gstreamer-libs-sections.txt:
10384 little -section.txt cleanup for libs
10386 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
10388 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10389 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
10390 fix up some debugging
10391 (gst_base_transform_get_unit_size),
10392 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10393 (gst_base_transform_handle_buffer):
10394 * gst/base/gstbasetransform.h:
10395 handle and store timed NEWSEGMENT events so that subclasses that
10396 calculate time by counting samples have a segment_start time they
10397 need to add to their timestamps - see audioresample
10399 2005-08-26 Stefan Kost <ensonic@users.sf.net>
10402 removed ';' from the end of macro defs
10403 * docs/gst/gstreamer-docs.sgml:
10404 * docs/gst/gstreamer-sections.txt:
10405 * docs/gst/tmpl/.cvsignore:
10407 * gst/gstelement.c: (gst_element_class_init),
10408 (gst_element_set_state), (activate_pads),
10409 (gst_element_save_thyself):
10410 * gst/gstevent.c: (gst_event_new_newsegment):
10412 * gst/gstiterator.c:
10413 * gst/gstiterator.h:
10416 * gst/gstutils.c: (gst_pad_query_convert):
10418 fixed parameter name mismatches between source, header and docs
10419 added some more docs, resolved the last batch of unused elements in
10420 docs (now someone needs to doc them)
10422 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
10424 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
10425 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
10426 don't walk through the plugins backwards. Where is all this
10427 reversed logic coming from ?
10429 2005-08-25 Wim Taymans <wim@fluendo.com>
10431 * gst/base/gstbasetransform.c: (gst_base_transform_init),
10432 (gst_base_transform_transform_size),
10433 (gst_base_transform_configure_caps),
10434 (gst_base_transform_get_unit_size),
10435 (gst_base_transform_buffer_alloc),
10436 (gst_base_transform_change_state):
10437 * gst/base/gstbasetransform.h:
10438 Cache caps unit_size.
10439 Make sure we cannot negotiate up and downstream at the
10442 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
10444 * gst/gst.c: (init_pre), (init_post):
10445 register the installed plugin path after the env var
10446 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
10447 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
10448 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
10449 directories, so the tests can prefer uninstalled over installed
10451 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
10453 * gst/base/gstbasetransform.h:
10458 2005-08-25 Wim Taymans <wim@fluendo.com>
10460 * gst/gstbin.c: (bin_bus_handler):
10461 Be a bit more conservative about the posted message.
10463 * gst/gstbus.c: (gst_bus_post):
10464 Some cleanups, warn wrong return values.
10466 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
10468 * check/gst/gstbin.c: (GST_START_TEST):
10469 * gst/gstbin.c: (bin_bus_handler):
10470 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10471 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10472 (gst_message_new_warning), (gst_message_new_tag),
10473 (gst_message_new_state_changed), (gst_message_new_segment_start),
10474 (gst_message_new_segment_done), (gst_message_new_custom):
10475 * gst/gstmessage.h:
10476 * tools/gst-launch.c: (event_loop):
10477 * tools/gst-md5sum.c: (event_loop):
10478 Revert unpopular change for GST_MESSAGE_SRC to GObject.
10480 2005-08-25 Wim Taymans <wim@fluendo.com>
10482 * check/generic/states.c: (GST_START_TEST):
10483 Cleanup can be done at the end.
10485 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
10486 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10487 (gst_task_get_state), (gst_task_start), (gst_task_pause):
10488 Oh boy.. Thanks for finding this, Thomas.
10490 2005-08-25 Stefan Kost <ensonic@users.sf.net>
10492 * docs/gst/gstreamer.types:
10493 added missing types
10495 2005-08-25 Stefan Kost <ensonic@users.sf.net>
10497 * docs/gst/gstreamer-docs.sgml:
10498 * docs/gst/gstreamer-sections.txt:
10499 * docs/gst/tmpl/.cvsignore:
10501 * gst/gstiterator.c:
10503 * gst/registries/gstxmlregistry.h:
10504 added missing classes and symbols (123 more to go)
10505 removed removed symbols from section file
10506 fixed many doc-comments
10508 2005-08-24 Wim Taymans <wim@fluendo.com>
10510 * check/generic/states.c: (GST_START_TEST):
10511 Make sure all tasks are stopped.
10513 * check/gst/gstbin.c: (GST_START_TEST):
10514 Unref after usage for proper valgrinding.
10516 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
10517 Really wait for the task to stop before destroying the
10520 * gst/gstqueue.c: (gst_queue_sink_activate_push),
10521 (gst_queue_src_activate_push):
10522 Small cleanups. Don't stop the task when we did not start
10525 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
10526 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
10527 (gst_task_get_state), (gst_task_start), (gst_task_pause),
10530 Protect the stream lock with the object lock.
10531 Disallow setting the stream lock when running.
10532 Add cleanup_all to wait for the threadpool to finish.
10533 Remove code to autoallocate a mutex if none was provided.
10534 Add _join() to wait for a task to stop.
10535 Protect the thread pool with a global lock.
10537 2005-08-24 Wim Taymans <wim@fluendo.com>
10539 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10540 (gst_base_sink_get_times), (gst_base_sink_do_sync),
10541 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
10542 * gst/base/gstbasesink.h:
10543 Handle newsegment events correctly.
10544 Drop buffers out of the segment range.
10546 2005-08-22 Andy Wingo <wingo@pobox.com>
10548 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
10549 macro, implements an interface and gstimplementsinterface for a
10552 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
10554 * check/Makefile.am:
10555 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
10556 add a test that does a bunch of state changes on elements
10557 needs some fixing for valgrind
10558 * check/states/sinks.c: (gst_object_suite):
10561 add prototype for gst_caps_is_equal_fixed
10563 * gst/gstregistrypool.c:
10566 2005-08-24 Andy Wingo <wingo@pobox.com>
10568 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
10569 convert a negative value. Doesn't make much sense. Mostly this is
10570 here to force callers to ensure -1 maps to -1.
10572 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
10574 * docs/pwg/advanced-types.xml:
10575 Well done to Michael for catching my deliberate introduction
10576 of this spelling mistake.
10577 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
10578 * gst/gstelement.h:
10579 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
10580 unlink pads before removing the element from the bin.
10582 2005-08-24 Andy Wingo <wingo@pobox.com>
10584 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
10585 the same thing as GST_DEBUG=*:4.
10586 (parse_debug_level, parse_debug_category): New helper parsers.
10588 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
10590 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10591 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
10592 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
10593 (gst_base_transform_buffer_alloc),
10594 (gst_base_transform_handle_buffer):
10595 use gboolean return values and pointers to size so we can use the
10596 full GST_BUFFER_SIZE range (guint) for buffer sizes
10597 use GstPadDirection for transform_caps
10598 * gst/base/gstbasetransform.h:
10599 rename get_size to get_unit_size since that's what it is
10600 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
10601 use GstPadDirection for transform_caps
10602 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10604 cleanup and debugging
10606 2005-08-24 Stefan Kost <ensonic@users.sf.net>
10608 * gst/gstelement.c: (gst_element_class_init),
10609 (gst_element_set_state), (activate_pads),
10610 (gst_element_save_thyself):
10611 * tools/gst-compprep.c: (main):
10612 * tools/gst-inspect.c: (print_element_properties_info):
10613 * tools/gst-xmlinspect.c: (print_element_properties):
10614 Fixed long standing mem-leak
10616 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
10618 * check/gst/gstbin.c: (GST_START_TEST):
10619 * gst/gstbin.c: (bin_bus_handler):
10620 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
10621 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
10622 (gst_message_new_warning), (gst_message_new_tag),
10623 (gst_message_new_state_changed), (gst_message_new_segment_start),
10624 (gst_message_new_segment_done), (gst_message_new_custom):
10625 * gst/gstmessage.h:
10626 * tools/gst-launch.c: (event_loop):
10627 * tools/gst-md5sum.c: (event_loop):
10628 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
10629 that applications can sensibly post custom messages with references
10630 to their own objects.
10632 2005-08-24 Andy Wingo <wingo@pobox.com>
10634 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
10637 2005-08-24 Wim Taymans <wim@fluendo.com>
10639 * gst/base/gstbasetransform.c: (gst_base_transform_init),
10640 (gst_base_transform_transform_caps),
10641 (gst_base_transform_transform_size),
10642 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10643 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10644 (gst_base_transform_handle_buffer):
10645 * gst/base/gstbasetransform.h:
10646 Many fixes and new features added by Thomas. Can now also do
10647 transforms with variable sizes and a custom fixate_caps function.
10649 2005-08-24 Wim Taymans <wim@fluendo.com>
10651 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10655 Cast to ClockTime before formatting to time.
10660 2005-08-24 Stefan Kost <ensonic@users.sf.net>
10662 * check/gst-libs/controller.c: (GST_START_TEST),
10663 (gst_controller_suite):
10664 * docs/gst/tmpl/gstcaps.sgml:
10665 * docs/gst/tmpl/gstghostpad.sgml:
10666 * docs/gst/tmpl/gstquery.sgml:
10667 * docs/gst/tmpl/gstutils.sgml:
10668 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
10669 (gst_object_sink_values), (gst_object_get_value_arrays),
10670 (gst_object_get_value_array):
10671 gracefully handle helper method calls to objects that are not beeing
10672 controlled, added test case for that
10674 2005-08-23 Wim Taymans <wim@fluendo.com>
10676 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
10677 (gst_event_new_newsegment), (gst_event_parse_newsegment),
10678 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
10679 (gst_event_parse_qos), (gst_event_new_seek),
10680 (gst_event_parse_seek):
10682 Some more debugging output and doc cleanups.
10684 * gst/gstqueue.c: (gst_queue_handle_sink_event):
10685 Fix possible deadlock.
10687 2005-08-23 Stefan Kost <ensonic@users.sf.net>
10689 * docs/gst/gstreamer-docs.sgml:
10690 * docs/gst/gstreamer-sections.txt:
10691 * docs/gst/gstreamer.types:
10692 * docs/gst/tmpl/.cvsignore:
10695 * gst/gstelement.c:
10697 added 100 symbols from gstreamer-unused.txt to the right sections
10698 fixed more broken comments
10699 added GstBus to docs
10701 2005-08-23 Stefan Kost <ensonic@users.sf.net>
10703 * docs/gst/gstreamer-sections.txt:
10704 * docs/gst/tmpl/.cvsignore:
10705 * docs/gst/tmpl/gstbin.sgml:
10706 * docs/gst/tmpl/gstbuffer.sgml:
10707 * gst/base/gstbasesrc.c:
10708 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
10711 * tools/gst-launch.1.in:
10712 inlined more doc comments, added missing comments and fixed comments
10715 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
10717 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10721 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
10723 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
10724 * gst/gststructure.h:
10725 add a fixate function for booleans; add a FIXME that these func
10726 names should probably be gst_structure_fixate_*
10728 2005-08-23 Stefan Kost <ensonic@users.sf.net>
10730 * docs/gst/gstreamer-docs.sgml:
10731 * docs/gst/gstreamer-sections.txt:
10733 * gst/gstbin.c: (gst_bin_get_type),
10734 (gst_bin_child_proxy_get_child_by_index),
10735 (gst_bin_child_proxy_get_children_count),
10736 (gst_bin_child_proxy_init):
10737 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10738 (gst_child_proxy_get_child_by_index),
10739 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
10740 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
10741 (gst_child_proxy_get), (gst_child_proxy_set_property),
10742 (gst_child_proxy_set_valist), (gst_child_proxy_set),
10743 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
10744 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
10745 * gst/gstchildproxy.h:
10746 * gst/parse/grammar.y:
10747 * tools/gst-inspect.c: (print_interfaces),
10748 (print_element_properties_info), (print_element_info):
10749 ported gstchildproxy over from 0.8
10750 ported gst-inspect fixes and enhancements over from 0.8
10752 2005-08-22 Wim Taymans <wim@fluendo.com>
10754 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10755 (gst_base_transform_handle_buffer):
10756 Also call the transform function if we have ANY caps.
10758 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
10761 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
10763 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
10764 Don't pretend to handle seek events if the source is not seekable
10766 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
10768 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10769 Remove extra parameter to debug output
10771 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10772 (gst_base_src_do_seek), (gst_base_src_activate_push):
10773 Fix seek event handling.
10775 * gst/gstpipeline.c: (gst_pipeline_change_state):
10776 * gst/gstqueue.c: (gst_queue_handle_sink_event),
10777 (gst_queue_src_activate_push):
10778 Don't start the src pad task on FLUSH_STOP if the pad
10782 2005-08-22 Wim Taymans <wim@fluendo.com>
10784 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10785 Added check for gst_static_caps_get() refcounting.
10787 2005-08-22 Wim Taymans <wim@fluendo.com>
10789 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
10790 Make _static_caps_get() refcounting sane.
10792 * gst/gstelement.c: (gst_element_set_state):
10793 Add g_return_val_if_fail() to protect against segfaults.
10795 2005-08-22 Stefan Kost <ensonic@users.sf.net>
10797 * docs/gst/tmpl/gstevent.sgml:
10800 inlined remaining docs, added missing doc comments
10802 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
10804 * check/gst/gstbin.c: (GST_START_TEST):
10805 since we don't know when preroll is done, use refcount range
10807 * gst/check/gstcheck.h:
10808 add macro for checking refcount range
10810 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
10812 * check/Makefile.am:
10813 clean up environment for when registry gets built versus
10814 when actual tests are run; valgrind seems to not report
10815 leaks if GST_PLUGIN_PATH is set to some specific values
10816 * check/gst/gstbin.c: (GST_START_TEST):
10817 add more refcounting checks; maybe this exposes a
10819 * common/check.mak:
10820 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10821 * gst/check/gstcheck.h:
10822 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
10823 (gst_bin_change_state):
10824 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
10825 add/fix debugging/whitespace
10827 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
10829 * check/gst/gstevent.c: (event_probe), (test_event),
10831 Er, don't call gst_bin_watch_for_state_change you idiot.
10833 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
10835 * check/Makefile.am:
10836 Use CHECK_CFLAGS and CHECK_LIBS
10837 * check/gst/gstevent.c: (event_probe), (test_event),
10840 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10841 (gst_base_src_start), (gst_base_src_stop),
10842 (gst_base_src_activate_push), (gst_base_src_activate_pull),
10843 (gst_base_src_change_state):
10844 Sprinkle gst_base_src_stop liberally around error paths to fix
10845 problems reusing a source after failed state changes.
10846 * gst/base/gsttypefindhelper.c: (helper_find_peek),
10847 (helper_find_suggest), (gst_type_find_helper):
10848 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
10850 * docs/gst/tmpl/gstevent.sgml:
10851 Migrate part of the docs from the SGML file. Wait for ensonic to
10852 tell me how I did it wrong ;)
10853 * tools/gst-typefind.c: (main):
10854 Extra robustness to state changes between files.
10856 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
10858 * check/Makefile.am:
10859 don't valgrind the controller test - it's leaking - Stefan, HELP
10860 * gst/check/gstcheck.c: (gst_check_message_error),
10861 (gst_check_chain_func), (gst_check_setup_element),
10862 (gst_check_teardown_element), (gst_check_setup_src_pad),
10863 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10864 (gst_check_teardown_sink_pad):
10865 * gst/check/gstcheck.h:
10866 add a bunch of methods to set up elements, and src and sink pads
10867 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
10868 * check/elements/identity.c: (setup_identity), (cleanup_identity),
10871 * gst/gstmessage.c:
10873 whitespace/doc fixes
10875 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
10877 * gst/gstelement.h:
10878 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
10879 be handled by the application and not always printed as well
10881 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
10883 * check/Makefile.am:
10885 * gst/check/gstcheck.c: (gst_check_message_error):
10886 * gst/check/gstcheck.h:
10887 add a fail_unless_equals_int
10888 add fail_unless for error messages
10890 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
10892 * check/Makefile.am:
10894 * common/Makefile.am:
10895 * common/check.mak:
10897 factor out some of the common stuff so we can use it
10899 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
10901 * check/Makefile.am:
10902 * check/gst/gstiterator.c: (GST_START_TEST):
10903 * check/gst/gstsystemclock.c: (GST_START_TEST),
10904 (gst_systemclock_suite):
10905 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10907 valgrind more tests
10909 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
10911 * check/elements/.cvsignore:
10912 * check/elements/gstfakesrc.c:
10913 rename to name of element
10914 * check/elements/identity.c: (chain_func), (event_func),
10915 (setup_identity), (cleanup_identity), (GST_START_TEST),
10916 (identity_suite), (main):
10917 add a test for identity
10918 * check/Makefile.am:
10919 * pkgconfig/Makefile.am:
10920 * pkgconfig/gstreamer-check.pc.in:
10921 * pkgconfig/gstreamer-check-uninstalled.pc.in:
10925 move the check stuff to a library that gets installed
10926 * check/gst-libs/controller.c: (GST_START_TEST):
10927 * check/gst-libs/gdp.c:
10928 * check/gst/gst.c: (GST_START_TEST):
10929 * check/gst/gstbin.c:
10930 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10931 * check/gst/gstbus.c:
10932 * check/gst/gstcaps.c: (GST_START_TEST):
10933 * check/gst/gstelement.c:
10934 * check/gst/gstghostpad.c:
10935 * check/gst/gstiterator.c:
10936 * check/gst/gstmessage.c:
10937 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
10938 * check/gst/gstobject.c:
10939 * check/gst/gstpad.c: (GST_START_TEST):
10940 * check/gst/gststructure.c: (GST_START_TEST):
10941 * check/gst/gstsystemclock.c: (GST_START_TEST),
10942 (gst_systemclock_suite):
10943 * check/gst/gsttag.c: (gst_tag_suite):
10944 * check/gst/gstvalue.c:
10945 * check/pipelines/cleanup.c:
10946 * check/pipelines/simple_launch_lines.c:
10947 * check/states/sinks.c:
10948 change include statement
10950 * docs/gst/gstreamer-sections.txt:
10951 * docs/gst/tmpl/gstpad.sgml:
10952 document more pad stuff
10953 * gst/gstminiobject.c: (gst_mini_object_ref),
10954 (gst_mini_object_unref):
10957 2005-08-19 Stefan Kost <ensonic@users.sf.net>
10959 * docs/gst/tmpl/gst.sgml:
10961 eliminate another tmpl file, fix spelling in the long-description
10963 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
10965 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10966 (test_event), (timediff), (gstevents_suite):
10967 Should fix build on 64-bit arch's
10969 2005-08-18 Andy Wingo <wingo@pobox.com>
10971 Make sure that when a pipeline goes to PLAYING, that data has
10972 actually hit the sink.
10974 * check/states/sinks.c (test_sink): A sink that doesn't get any
10975 data shouldn't return SUCCESS for going to either PLAYING or
10976 PAUSED. Test also the return values on the way back down.
10978 * gst/gstelement.c (gst_element_set_state): When changing the
10979 state of an element currently changing state asynchronously, go to
10980 lost-state after commiting the pending state. Makes future calls
10981 to get_state continue to return ASYNC.
10983 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
10984 ASYNC when going to PLAYING if we still don't have preroll, as can
10985 happen with live sources.
10987 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
10989 * docs/pwg/advanced-types.xml:
10990 Hack long paragraph into 2 chunks as a workaround for buggy
10991 jadetex version in sid and breezy that loops infinitely and
10994 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
10996 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10997 (test_event), (timediff), (gstevents_suite):
10998 Provide more error margin in clock measurements to allow for
10999 g_get_current_time inaccuracies.
11001 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
11003 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11004 (test_event), (timediff), (gstevents_suite):
11005 Fix error message output so I might be able to tell why the
11006 test works here but fails on the build farm.
11008 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
11010 * check/Makefile.am:
11011 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
11012 (test_event), (timediff), (gstevents_suite), (main):
11015 * docs/design/part-seeking.txt:
11016 Spelling correction
11018 * docs/gst/tmpl/gstevent.sgml:
11019 * docs/gst/tmpl/gstfakesrc.sgml:
11022 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11023 Treat a buffer-without-newsegment the same as a receiving
11024 a newsegment not in time format, and disable syncing to the clock
11027 * gst/gstbus.c: (gst_bus_set_sync_handler):
11028 Assert if anyone tries to replace the existing sync_handler for bus,
11029 as only the owner should be setting it.
11032 Have a fixed set of custom event enums with events identified by
11033 their structure name (as in 0.8), rather than a free-for-all
11034 allowing collisions between enum values from different plugins.
11036 * gst/gstpad.c: (gst_pad_class_init):
11039 * gst/gstqueue.c: (gst_queue_handle_sink_event):
11040 Handle out-of-band downstream events from the sending thread.
11042 2005-08-17 Andy Wingo <wingo@pobox.com>
11044 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
11045 play-timeout==0 to mean no timeout at all. In that case, don't
11046 bother with a get_state or a warning, just return directly, even
11049 * gst/base/gstbasetransform.c: Debug changes.
11052 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
11053 ensure bins post state change messages. A bit of a hack but I can't
11054 think of a way to avoid it.
11056 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
11058 2005-08-16 Andy Wingo <wingo@pobox.com>
11060 * gst/base/gstadapter.h:
11061 * gst/base/gstadapter.c (gst_adapter_take): New function, like
11062 peek() but you own the data. Not terribly efficient atm.
11064 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11066 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
11067 (gst_element_found_tags):
11069 Add two utility functions for tag handling.
11071 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11073 * docs/manual/advanced-dataaccess.xml:
11074 * docs/manual/basics-helloworld.xml:
11075 Fix docs to use _bin_add() before _link(), which fixes the examples
11076 with recent core versions (reported by Madhan Raj M
11077 <raj_madan@rediffmail.com>, #313199).
11079 2005-08-16 Wim Taymans <wim@fluendo.com>
11081 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11082 Added subtract checks.
11084 * docs/design/part-events.txt:
11085 Some more docs about newsegment
11087 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11090 * gst/gstcaps.c: (gst_caps_to_string):
11091 Add comments, cleanups.
11093 * gst/gstelement.c: (gst_element_save_thyself):
11096 * gst/gstvalue.c: (gst_value_collect_int_range),
11097 (gst_string_unwrap), (gst_value_union_int_int_range),
11098 (gst_value_union_int_range_int_range),
11099 (gst_value_intersect_int_int_range),
11100 (gst_value_intersect_int_range_int_range),
11101 (gst_value_intersect_double_double_range),
11102 (gst_value_intersect_double_range_double_range),
11103 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
11104 (gst_value_subtract_int_range_int),
11105 (gst_value_subtract_double_range_double),
11106 (gst_value_subtract_double_range_double_range),
11107 (gst_value_subtract_from_list), (gst_value_subtract_list),
11108 (gst_value_can_compare), (gst_value_compare_fraction):
11109 Cleanups, add comments, remove unneeded asserts.
11111 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
11113 * tools/gst-launch.c: (event_loop):
11114 don't convert NULL structures to strings
11116 2005-08-15 Stefan Kost <ensonic@users.sf.net>
11118 * docs/gst/gstreamer-sections.txt:
11119 made some defines private
11120 * docs/gst/tmpl/gstconfig.sgml:
11121 * docs/gst/tmpl/gstqueue.sgml:
11122 * docs/gst/tmpl/gsttaglist.sgml:
11123 * docs/gst/tmpl/gsttypes.sgml:
11124 * docs/gst/tmpl/gstutils.sgml:
11125 * docs/pwg/appendix-porting.xml:
11126 * gst/base/gstbasesink.h:
11127 * gst/base/gstbasesrc.c:
11128 * gst/base/gstbasesrc.h:
11129 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
11130 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
11131 * gst/gstelement.c: (gst_element_class_init):
11132 * gst/gstpad.c: (gst_pad_class_init):
11133 * gst/gstqueue.c: (gst_queue_class_init):
11134 * gst/gstxml.c: (gst_xml_class_init):
11135 documented all undocumented signal inline
11136 * libs/gst/controller/gst-controller.h:
11139 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11141 * docs/pwg/appendix-porting.xml:
11142 Document _set_link_function -> _set_setcaps_function.
11144 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
11146 * check/Makefile.am:
11147 add a .check target for running the check
11148 * check/gst-libs/controller.c: (GST_START_TEST):
11150 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11151 complete checks for gstbuffer; would be nice if I could get the
11152 gcov stuff to work so I can see if I actually completed gstbuffer.c
11153 * check/gstcheck.h:
11154 add ASSERT_BUFFER_REFCOUNT
11156 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
11158 * docs/gst/gstreamer-sections.txt:
11159 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11161 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
11162 spew out a warning if a tag that is already registered
11163 is re-registered, unless it is re-registered with a
11164 different type (#308438).
11166 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
11168 * docs/pwg/appendix-porting.xml:
11169 * docs/pwg/building-state.xml:
11170 Add some paragraphs about state changes in 0.9 to the PWG
11171 and the porting guide, in particular about the new meaning
11172 of GST_STATE_PAUSED and how to write state change functions
11173 with concurrent access by multiple threads in mind.
11175 2005-08-11 Stefan Kost <ensonic@users.sf.net>
11177 * docs/gst/gstreamer-docs.sgml:
11178 * docs/libs/gstreamer-libs-docs.sgml:
11179 added deprecation and since indexes
11180 * libs/gst/controller/gst-controller.c:
11181 * libs/gst/controller/gst-helper.c:
11185 2005-08-11 Wim Taymans <wim@fluendo.com>
11187 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
11188 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
11189 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
11190 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
11191 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
11192 (gst_ghost_pad_set_target):
11193 Actually implement (re)setting the target on a ghostpad
11194 as described in the docs.
11196 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
11198 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
11199 Check whether GST_DEBUG_NO_COLOR environment variable is
11200 set and disable coloured debug output if that is the case.
11202 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
11204 * gst/base/gsttypefindhelper.c: (helper_find_peek),
11205 (gst_type_find_helper):
11206 The memory returned by gst_type_find_peek() needs to
11207 stay valid until the end of a typefind function, and
11208 typefind functions may keep results from different
11209 offsets around, so we can't just unref the buffer from
11210 the previous _peek(), but have to save all buffers
11211 returned by _peek() until typefinding is done and only
11214 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
11216 * docs/gst/gstreamer-sections.txt:
11218 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
11220 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11222 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11223 Fix a pretty good memleak.
11225 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
11227 * gst/gstiterator.h:
11228 Fix wrong include and 'make distcheck'.
11230 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11232 * gst/gstbin.c: (bin_bus_handler):
11233 Use gst_element_post_message() instead.
11235 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
11237 * gst/base/gstadapter.h:
11238 * gst/base/gstbasesink.h:
11239 * gst/base/gstbasesrc.h:
11240 * gst/base/gstbasetransform.h:
11241 * gst/base/gstcollectpads.h:
11242 * gst/base/gstpushsrc.h:
11243 * gst/gstiterator.h:
11244 Add padding to our base elements' class and instance structs and
11245 to GstIterator (you will need to rebuild all plugins and apps!)
11247 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11249 * gst/gstbin.c: (bin_bus_handler):
11250 Make default message forwarding from child->bus to bin->bus
11251 threadsafe and make it not emit warnings if the parent has no bus.
11253 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11255 * gst/gstelement.c: (activate_pads):
11256 On paused->ready, set pad->caps to NULL, as is the documented
11257 behaviour in this state change. Fixes playback of series of
11258 media files when visualization is enabled in Totem.
11260 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11262 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11263 Allow NULL as filter-caps (which means "any").
11265 2005-08-05 Stefan Kost <ensonic@users.sf.net>
11267 * docs/libs/gstreamer-libs-sections.txt:
11268 * libs/gst/controller/gst-controller.c:
11269 * libs/gst/controller/gst-controller.h:
11270 * libs/gst/controller/gst-helper.c:
11271 adding more entries to the docs and fix small doc-bugs
11273 2005-08-05 Stefan Kost <ensonic@users.sf.net>
11275 * docs/gst/gstreamer-docs.sgml:
11276 * docs/gst/gstreamer-sections.txt:
11277 * docs/gst/gstreamer.types:
11278 * docs/gst/tmpl/gstbasesink.sgml:
11279 * docs/gst/tmpl/gstbasesrc.sgml:
11280 * docs/gst/tmpl/gstbasetransform.sgml:
11281 * docs/gst/tmpl/gstfakesrc.sgml:
11282 * gst/base/gstcollectpads.c:
11283 * gst/base/gstcollectpads.h:
11284 * libs/gst/controller/gst-controller.c:
11285 * libs/gst/controller/gst-controller.h:
11286 * libs/gst/controller/gst-helper.c:
11287 * libs/gst/controller/gst-interpolation.c:
11288 * libs/gst/controller/lib.c:
11289 added long/short desc for controller docs
11290 added collectpads base class docs
11291 added correct includes to base-class docs
11293 2005-08-05 Stefan Kost <ensonic@users.sf.net>
11295 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11296 (gst_test_mono_source_set_property),
11297 (gst_test_mono_source_class_init), (GST_START_TEST),
11298 (gst_controller_suite):
11299 * docs/gst/gstreamer-docs.sgml:
11300 * docs/gst/gstreamer-sections.txt:
11301 * docs/gst/gstreamer.types:
11302 * docs/libs/gstreamer-libs-docs.sgml:
11303 * docs/libs/gstreamer-libs-sections.txt:
11304 * gst/base/gstadapter.c:
11305 * libs/gst/controller/gst-controller.c:
11306 (gst_controlled_property_new), (gst_controlled_property_free),
11307 (gst_controller_new_valist),
11308 (gst_controller_remove_properties_valist),
11309 (gst_controller_sink_values), (_gst_controller_finalize):
11310 * libs/gst/controller/gst-controller.h:
11311 * libs/gst/controller/gst-helper.c:
11312 (gst_object_control_properties), (gst_object_uncontrol_properties),
11313 (gst_object_get_controller), (gst_object_set_controller),
11314 (gst_object_sink_values), (gst_object_get_value_arrays),
11315 (gst_object_get_value_array):
11316 more tests (and fixes) for the controller
11317 more docs for the controller
11318 integrated companies docs for the adapter
11320 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
11322 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
11323 (GST_START_TEST), (fakesrc_suite):
11324 add tests for sizetype
11326 2005-08-04 Andy Wingo <wingo@pobox.com>
11328 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
11329 fixes buffer_alloc proxying among other things.
11331 * gst/base/gstbasetransform.c:
11332 * gst/base/gstbasetransform.h:
11333 Revert patch to gstbasetransform from 7-28 removing
11336 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
11337 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
11338 Semantics changed, should return not the size of the output buffer
11339 but the byte size of a buffer with a given caps.
11341 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
11343 (gst_base_transform_configure_caps): Don't set out_size here: (in,
11344 out) are not the pad caps until setcaps finishes.
11345 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
11346 not-in-place case as well. Deal with changing from in-place to
11347 not-in-place within calling pad_alloc_buffer. Still a bit
11348 concerned about the overhead here...
11350 2005-08-03 Andy Wingo <wingo@pobox.com>
11352 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
11353 fixating is an error.
11355 2005-08-04 Edward Hervey <edward@fluendo.com>
11357 * gst/base/gstadapter.h:
11358 Added gst_adapter_get_type() to the header
11360 2005-08-03 Stefan Kost <ensonic@users.sf.net>
11362 * check/Makefile.am:
11363 * check/gst-libs/controller.c:
11364 * libs/gst/controller/gst-controller.c:
11365 (gst_controller_new_valist):
11366 added check test suite for the controller
11367 * gst/base/gstpushsrc.c:
11370 2005-08-03 Stefan Kost <ensonic@users.sf.net>
11372 * docs/gst/Makefile.am:
11373 * docs/gst/gstreamer-docs.sgml:
11374 * docs/gst/gstreamer-sections.txt:
11375 * docs/gst/gstreamer.types:
11376 * docs/gst/tmpl/gstfakesrc.sgml:
11378 * gst/base/gstbasesink.c:
11379 * gst/base/gstbasesink.h:
11380 * gst/base/gstbasesrc.c:
11381 * gst/base/gstbasesrc.h:
11382 * gst/base/gstbasetransform.c:
11383 * gst/base/gstpushsrc.c:
11384 * gst/base/gstpushsrc.h:
11385 add short/long description docs to base classes
11386 add pushsrc to the docs
11387 remove consolidated doc fragments
11389 2005-08-03 Stefan Kost <ensonic@users.sf.net>
11392 * docs/libs/Makefile.am:
11393 * docs/libs/gstreamer-libs-docs.sgml:
11394 * docs/libs/gstreamer-libs-sections.txt:
11395 * docs/libs/gstreamer-libs.types:
11396 * examples/Makefile.am:
11397 * examples/controller/.cvsignore:
11398 * examples/controller/Makefile.am:
11399 * examples/controller/audio-example.c: (main):
11400 * libs/gst/Makefile.am:
11401 * libs/gst/controller/.cvsignore:
11402 * libs/gst/controller/Makefile.am:
11403 * libs/gst/controller/gst-controller.c:
11404 (on_object_controlled_property_changed), (gst_timed_value_compare),
11405 (gst_timed_value_find),
11406 (gst_controlled_property_set_interpolation_mode),
11407 (gst_controlled_property_new), (gst_controlled_property_free),
11408 (gst_controller_find_controlled_property),
11409 (gst_controller_new_valist), (gst_controller_new),
11410 (gst_controller_remove_properties_valist),
11411 (gst_controller_remove_properties), (gst_controller_set),
11412 (gst_controller_set_from_list), (gst_controller_unset),
11413 (gst_controller_get), (gst_controller_get_all),
11414 (gst_controller_sink_values), (gst_controller_get_value_arrays),
11415 (gst_controller_get_value_array),
11416 (gst_controller_set_interpolation_mode),
11417 (_gst_controller_finalize), (_gst_controller_init),
11418 (_gst_controller_class_init), (gst_controller_get_type):
11419 * libs/gst/controller/gst-controller.h:
11420 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
11421 (g_object_uncontrol_properties), (g_object_get_controller),
11422 (g_object_set_controller), (g_object_sink_values),
11423 (g_object_get_value_arrays), (g_object_get_value_array):
11424 * libs/gst/controller/gst-interpolation.c:
11425 (gst_controlled_property_find_timed_value_node),
11426 (interpolate_none_get), (interpolate_trigger_get),
11427 (interpolate_trigger_get_value_array):
11428 * libs/gst/controller/lib.c: (gst_controller_init):
11429 * pkgconfig/Makefile.am:
11430 * pkgconfig/gstreamer-control-uninstalled.pc.in:
11431 * pkgconfig/gstreamer-control.pc.in:
11432 * testsuite/Makefile.am:
11433 * testsuite/controller/.cvsignore:
11434 * testsuite/controller/Makefile.am:
11435 * testsuite/controller/interpolator.c: (main):
11436 added controller code
11437 removed dparam pc files
11439 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
11440 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
11441 (gst_collectpads_stop):
11442 Broadcast the condition when shutting down, to make sure we wake all
11443 threads up. Shut down pads on finalize, for safety.
11445 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
11446 * gst/base/gstbasetransform.c: (gst_base_transform_init),
11447 (gst_base_transform_handle_buffer),
11448 (gst_base_transform_change_state):
11449 Handle PAUSED->READY->PAUSED transition after negotiation
11451 * gst/gstmessage.c: (gst_message_init):
11452 Extra piece of debug for new messages.
11454 2005-08-01 Stefan Kost <ensonic@users.sf.net>
11457 * docs/gst/tmpl/gstbasesrc.sgml:
11458 * docs/gst/tmpl/gstelement.sgml:
11459 * docs/gst/tmpl/gstevent.sgml:
11460 * docs/gst/tmpl/gstfakesrc.sgml:
11461 * docs/gst/tmpl/gstformat.sgml:
11462 * docs/gst/tmpl/gstghostpad.sgml:
11463 * docs/gst/tmpl/gstpad.sgml:
11464 * docs/gst/tmpl/gstquery.sgml:
11465 * docs/gst/tmpl/gststructure.sgml:
11466 * docs/gst/tmpl/gsttaglist.sgml:
11467 * docs/gst/tmpl/gstvalue.sgml:
11468 * docs/libs/gstreamer-libs-docs.sgml:
11469 * docs/libs/gstreamer-libs-sections.txt:
11470 * docs/libs/gstreamer-libs.types:
11471 * libs/gst/Makefile.am:
11472 * libs/gst/control/.cvsignore:
11473 * libs/gst/control/Makefile.am:
11474 * libs/gst/control/control.c:
11475 * libs/gst/control/control.h:
11476 * libs/gst/control/dparam.c:
11477 * libs/gst/control/dparam.h:
11478 * libs/gst/control/dparam_smooth.c:
11479 * libs/gst/control/dparam_smooth.h:
11480 * libs/gst/control/dparamcommon.h:
11481 * libs/gst/control/dparammanager.c:
11482 * libs/gst/control/dparammanager.h:
11483 * libs/gst/control/dplinearinterp.c:
11484 * libs/gst/control/dplinearinterp.h:
11485 * libs/gst/control/unitconvert.c:
11486 * libs/gst/control/unitconvert.h:
11487 * testsuite/Makefile.am:
11488 * testsuite/dynparams/.cvsignore:
11489 * testsuite/dynparams/Makefile.am:
11490 * testsuite/dynparams/dparamstest.c:
11491 * tools/Makefile.am:
11492 * tools/gst-inspect.c: (print_element_info), (main):
11493 * tools/gst-xmlinspect.c: (print_element_info), (main):
11494 deactivate and remove dparams (libgstcontrol)
11496 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
11498 * gst/elements/gsttypefindelement.c:
11499 (gst_type_find_element_have_type), (gst_type_find_element_init),
11500 (stop_typefinding), (gst_type_find_element_handle_event),
11501 (gst_type_find_element_chain), (gst_type_find_element_getrange):
11502 * gst/elements/gsttypefindelement.h:
11503 Set caps on all outgoing buffers, not just the first one.
11505 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
11507 * gst/elements/gsttypefindelement.c:
11508 (gst_type_find_element_have_type),
11509 (gst_type_find_element_check_set_buffer_caps),
11510 (gst_type_find_element_init), (stop_typefinding),
11511 (gst_type_find_element_handle_event),
11512 (gst_type_find_element_chain), (gst_type_find_element_getrange):
11513 * gst/elements/gsttypefindelement.h:
11514 Set caps on first outgoing buffer when we've found the type.
11516 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
11518 * docs/gst/gstreamer-docs.sgml:
11519 * docs/gst/gstreamer-sections.txt:
11520 * docs/gst/tmpl/gstscheduler.sgml:
11521 * docs/gst/tmpl/gstschedulerfactory.sgml:
11522 Remove some old cruft from docs.
11524 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
11527 Fix inline docs for GstPadLinkReturn.
11529 * gst/gststructure.c: (gst_structure_has_name):
11530 * gst/gststructure.h:
11531 * docs/gst/gstreamer-sections.txt:
11532 New API: gst_structure_has_name().
11534 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
11537 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
11538 and _LARGEFILE_SOURCE in config.h as required. Do not
11539 export those flags in our .pc files any longer (#142209).
11541 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
11543 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
11544 (gst_file_sink_do_seek), (gst_file_sink_event),
11545 (gst_file_sink_get_current_offset), (gst_file_sink_render):
11546 Redo seek/tell calls with large file support in mind; add some
11547 debugging messages; add log message that tells us when large
11548 file support is unavailable or not enabled for some reason.
11550 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
11551 Add log message that tells us when large file support
11552 is unavailable or not enabled for some reason.
11554 2005-07-29 Wim Taymans <wim@fluendo.com>
11556 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11557 Added test for removing an element with ghostpad from a bin.
11558 Fixed test as current implementation does the right thing.
11560 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
11561 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
11562 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
11563 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
11564 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
11565 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11566 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11567 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11568 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
11569 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
11570 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
11571 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
11572 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11573 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
11574 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
11575 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11576 * gst/gstghostpad.h:
11577 Clean up ghostpads, remove properties for internal stuff.
11580 Prepare for switching targets, not all use cases work yet.
11582 2005-07-29 Wim Taymans <wim@fluendo.com>
11584 * docs/design/part-gstghostpad.txt:
11587 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11588 (gst_bin_remove_func):
11589 Unlinking pads while holding the bin LOCK is not a good
11592 * gst/gstpad.c: (gst_pad_class_init),
11593 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
11594 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
11595 No prob setting template after creating the pad.
11597 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
11599 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
11600 (gst_bus_peek), (gst_bus_source_dispatch),
11601 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
11602 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
11603 gst_bus_poll may be called from other threads. Handle
11604 this nicely by not making poll_data disappear off the
11605 stack once gst_bus_poll returns.
11606 gst_bus_peek now increments the refcount on the returned
11609 2005-07-29 Wim Taymans <wim@fluendo.com>
11611 * docs/design/part-gstghostpad.txt:
11612 Overview of current GhostPad datastructures and use
11613 cases for changing the target.
11615 2005-07-28 Wim Taymans <wim@fluendo.com>
11617 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11618 Added checks for hierarchy consistency whan adding linked
11621 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11622 Added check to test element scheduling without bin/pipeline.
11624 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11625 First add elements to bin, then link.
11627 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
11628 (gst_bin_remove_func):
11629 Unlink pads from elements added/removed from bin to maintain
11630 hierarchy consistency.
11632 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11634 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11635 (gst_base_transform_handle_buffer):
11636 * gst/base/gstbasetransform.h:
11637 Remove broken delay_configure (fixes renegotiation of software
11638 scaling pipelines); remove some leftover printf()s.
11640 2005-07-28 Wim Taymans <wim@fluendo.com>
11642 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11643 Added some more tests for wrong hierarchy
11645 * docs/design/part-overview.txt:
11648 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
11651 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
11652 (gst_element_dispose):
11653 Some more cleanups.
11655 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11656 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
11657 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11658 (gst_pad_set_caps), (gst_pad_send_event):
11659 Check for correct hierarchy when linking pads. Moving to
11660 strict requirement for ghostpads when linking elements in
11664 Clean ups. Added WRONG_HIERARCHY return value.
11666 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11668 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11669 Better debug if no transform is possible.
11671 2005-07-27 Wim Taymans <wim@fluendo.com>
11673 * docs/random/wtay/network-transp:
11674 Some old doc I had.
11676 2005-07-27 Wim Taymans <wim@fluendo.com>
11678 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11679 (gst_dp_event_from_packet):
11680 Fix serialization of seek events.
11682 2005-07-27 Wim Taymans <wim@fluendo.com>
11684 * check/gst-libs/gdp.c: (GST_START_TEST):
11685 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11686 Fix compilation and fix event serialization.
11688 2005-07-27 Wim Taymans <wim@fluendo.com>
11691 * docs/design/part-TODO.txt:
11692 * docs/design/part-events.txt:
11695 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11696 (gst_base_sink_event), (gst_base_sink_do_sync),
11697 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11698 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11699 (gst_base_src_do_seek), (gst_base_src_event_handler),
11700 (gst_base_src_loop):
11701 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11702 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11703 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11704 (gst_base_transform_event), (gst_base_transform_handle_buffer),
11705 (gst_base_transform_set_passthrough),
11706 (gst_base_transform_is_passthrough):
11707 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11708 * gst/elements/gstfilesink.c: (gst_file_sink_event):
11714 * gst/gstelement.c: (gst_element_seek):
11715 * gst/gstelement.h:
11716 Update gst_element_seek.
11718 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
11719 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
11720 (gst_event_new_flush_start), (gst_event_new_flush_stop),
11721 (gst_event_new_eos), (gst_event_new_newsegment),
11722 (gst_event_parse_newsegment), (gst_event_new_tag),
11723 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
11724 (gst_event_parse_qos), (gst_event_new_seek),
11725 (gst_event_parse_seek), (gst_event_new_navigation):
11727 Make GstEvent use GstStructure. Add parsing code, make sure the
11728 API is sufficiently generic.
11729 Mark possible directions of events and serialization.
11731 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
11732 (_gst_message_copy), (gst_message_new_segment_start),
11733 (gst_message_new_segment_done), (gst_message_new_custom),
11734 (gst_message_parse_segment_start),
11735 (gst_message_parse_segment_done):
11738 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11739 (gst_pad_set_caps), (gst_pad_send_event):
11740 Update for new events.
11741 Catch events sent in wrong directions.
11743 * gst/gstqueue.c: (gst_queue_link_src),
11744 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11745 (gst_queue_handle_src_query):
11750 Remove event code from this file.
11752 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11753 (gst_dp_event_from_packet):
11756 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11758 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
11759 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11760 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
11761 Make debugging actually useful.
11763 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11765 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
11766 (gst_pad_fixate_caps):
11767 Implement default fixation once again, so that gst_pad_fixate()
11768 actually does anything at all. This probably needs to be some
11769 sort of a last resort, and use profile-based fixation first, but
11770 since that doesn't exist yet, this is the best we have. Fixes
11771 visualization in Totem.
11773 2005-07-22 Wim Taymans <wim@fluendo.com>
11775 * docs/design/part-events.txt:
11778 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11779 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
11780 (gst_base_sink_activate_pull):
11781 Some more comments.
11783 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
11784 (gst_fake_src_create):
11785 Fix handoff marshall.
11787 * gst/elements/gstidentity.c: (gst_identity_class_init),
11788 (gst_identity_transform_ip):
11789 We're a real inplace element.
11791 * gst/gstbus.c: (gst_bus_post):
11792 Added some comments.
11794 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
11795 * tests/muxing/case1.c: (main):
11796 * tests/sched/dynamic-pipeline.c: (main):
11797 * tests/sched/interrupt1.c: (main):
11798 * tests/sched/interrupt2.c: (main):
11799 * tests/sched/interrupt3.c: (main):
11800 * tests/sched/runxml.c: (main):
11801 * tests/sched/sched-stress.c: (main):
11802 * tests/seeking/seeking1.c: (event_received), (main):
11803 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11805 * tests/threadstate/threadstate3.c: (main):
11806 * tests/threadstate/threadstate4.c: (main):
11807 * tests/threadstate/threadstate5.c: (main):
11810 2005-07-21 Wim Taymans <wim@fluendo.com>
11812 * docs/design/part-seeking.txt:
11813 Some small additions.
11815 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11816 (gst_base_sink_get_times), (gst_base_sink_do_sync),
11817 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11818 * gst/base/gstbasesink.h:
11819 discont values are gint64, handle the math correctly.
11821 * gst/base/gstbasesrc.c: (gst_base_src_loop):
11822 Make the basesrc report error if the source pad is not linked.
11824 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
11825 (gst_queue_loop), (gst_queue_handle_src_query),
11826 (gst_queue_src_activate_push):
11827 Make queue collect data even if the srcpad is not linked.
11828 Start pushing out data as soon as it is linked.
11830 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
11832 Added gst_flow_get_name() to ease error reporting.
11834 2005-07-20 Wim Taymans <wim@fluendo.com>
11836 * gst/gstmessage.c: (gst_message_new_segment_start),
11837 (gst_message_new_segment_done), (gst_message_parse_segment_start),
11838 (gst_message_parse_segment_done):
11839 * gst/gstmessage.h:
11840 Added a bunch of messages for advanced seeking.
11842 * gst/parse/grammar.y:
11843 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
11844 (gst_dpman_state_changed):
11845 Fix some new-pad -> pad-added signals
11847 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11849 * docs/manual/appendix-porting.xml:
11850 * docs/pwg/appendix-porting.xml:
11851 Document new-pad/state-change signal renames and the FixedList
11854 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11856 * docs/manual/advanced-autoplugging.xml:
11857 * docs/manual/basics-helloworld.xml:
11858 * docs/manual/basics-pads.xml:
11859 * docs/random/ds/0.9-suggested-changes:
11860 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
11861 * gst/gstelement.h:
11865 * gst/gststructure.c: (gst_structure_value_get_generic_type),
11866 (gst_structure_parse_array), (gst_structure_parse_value):
11867 * gst/gstvalue.c: (gst_type_is_fixed),
11868 (gst_value_list_prepend_value), (gst_value_list_append_value),
11869 (gst_value_list_get_size), (gst_value_list_get_value),
11870 (gst_value_transform_array_string), (gst_value_serialize_array),
11871 (gst_value_deserialize_array), (gst_value_intersect_array),
11872 (gst_value_is_fixed), (_gst_value_initialize):
11874 GstElement::new-pad -> pad-added, GstElement::state-change ->
11875 state-changed, GstValueFixedList -> GstValueArray, add format and
11876 flags as their own arguments in gst_element_seek() (should improve
11877 "bindeability"), remove function generators since they don't work
11878 under a whole bunch of compilers (they were deprecated already
11881 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11883 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11884 (_gst_debug_register_funcptr):
11886 Fix illegal cast on some platforms (#309253).
11888 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11890 * gst/gstmessage.c: (gst_message_new_custom):
11891 * gst/gstmessage.h:
11892 Add _new_custom, make _new_application a macro to _new_custom.
11894 2005-07-20 Wim Taymans <wim@fluendo.com>
11896 * gst/base/gstbasesrc.c: (gst_base_src_init),
11897 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
11898 * gst/base/gstbasesrc.h:
11899 Add a gboolean to decide when to push out a discont.
11901 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11902 (gst_queue_loop), (gst_queue_handle_src_query),
11903 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
11904 (gst_queue_set_property), (gst_queue_get_property):
11907 * tests/threadstate/threadstate1.c: (main):
11908 Make a thread test compile and run... very silly..
11911 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11913 * docs/manual/appendix-porting.xml:
11914 Mention removal of libgstgconf-0.9.la and existence of gconf
11917 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11919 * docs/pwg/advanced-clock.xml:
11920 * docs/pwg/appendix-porting.xml:
11921 * docs/pwg/intro-preface.xml:
11922 * docs/pwg/other-base.xml:
11923 * docs/pwg/other-manager.xml:
11924 * docs/pwg/other-nton.xml:
11925 * docs/pwg/other-ntoone.xml:
11926 * docs/pwg/other-oneton.xml:
11927 * docs/pwg/pwg.xml:
11928 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
11929 demuxer), remove n-to-n (was never written), fix some code examples
11930 and links and update the porting section to include all this.
11932 2005-07-19 Wim Taymans <wim@fluendo.com>
11934 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
11935 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
11936 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
11937 (gst_queue_src_activate_push), (gst_queue_change_state),
11938 (gst_queue_get_property):
11940 Propagate GstFlowReturn more intelligently upstream and output
11941 an ERROR/EOS when streaming stopped due to fatal error.
11943 2005-07-19 Wim Taymans <wim@fluendo.com>
11945 * tools/gst-launch.c: (check_intr), (event_loop), (main):
11946 Don't block forever for the state change to complete, the
11947 pipeline already did with a sensible timeout.
11949 2005-07-19 Wim Taymans <wim@fluendo.com>
11951 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11952 Make sure we never call the create function is we
11955 2005-07-19 Andy Wingo <wingo@pobox.com>
11957 * gst/parse/parse.l: Attempt to solve bug #172815.
11959 2005-07-19 Wim Taymans <wim@fluendo.com>
11961 * docs/design/part-clocks.txt:
11962 * docs/design/part-events.txt:
11963 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
11964 Small docs updates.
11965 Only update the seeking values when we are not
11968 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
11970 * gst/base/gstbasesrc.c: (gst_base_src_loop):
11971 Oops, ignore the result of gst_pad_push_event here.
11973 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
11975 * gst/base/gstbasesrc.c: (gst_base_src_loop),
11976 (gst_base_src_activate_push):
11977 Send discont event from the loop function, as pads
11978 aren't activated yet in the activate_push handler.
11980 * gst/gstbin.c: (bin_bus_handler):
11981 Don't leak element name.
11983 2005-07-18 Andy Wingo <wingo@pobox.com>
11985 * configure.ac: Use AS_LIBTOOL_TAGS.
11987 2005-07-18 Wim Taymans <wim@fluendo.com>
11989 * docs/gst/gstreamer.types:
11990 Remove deleted types.
11992 2005-07-18 Wim Taymans <wim@fluendo.com>
11994 * check/elements/gstfakesrc.c: (GST_START_TEST):
11997 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11998 (init_popt_callback):
12000 * gst/gst_private.h:
12001 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
12002 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
12005 * gst/gstconfig.h.in:
12006 * gst/gstelement.c: (gst_element_class_init),
12007 (gst_element_set_base_time), (gst_element_get_base_time),
12008 (iterator_fold_with_resync), (gst_element_change_state),
12009 (gst_element_dispose), (gst_element_get_bus):
12010 * gst/gstelement.h:
12011 * gst/gstelementfactory.h:
12012 * gst/gsterror.c: (_gst_core_errors_init):
12015 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12017 * gst/gstinfo.c: (_gst_debug_init):
12018 * gst/gstmessage.c: (_gst_message_copy):
12019 * gst/gstmessage.h:
12020 * gst/gstminiobject.h:
12023 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12024 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
12027 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12028 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12029 (gst_pipeline_get_last_stream_time):
12030 * gst/gstpipeline.h:
12031 * gst/gstpluginfeature.h:
12033 * gst/gstscheduler.c:
12034 * gst/gstscheduler.h:
12035 * gst/gststructure.h:
12036 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12037 (gst_task_finalize), (gst_task_func), (gst_task_create),
12038 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
12039 (gst_task_stop), (gst_task_pause):
12041 * gst/gsttypefind.h:
12043 * gst/registries/gstlibxmlregistry.c: (load_feature),
12044 (gst_xml_registry_load), (gst_xml_registry_save_feature):
12045 * gst/registries/gstxmlregistry.c:
12046 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
12047 * gst/schedulers/threadscheduler.c:
12048 * libs/gst/control/dparammanager.h:
12049 * tools/gst-inspect.c: (print_element_list),
12050 (print_plugin_features), (print_element_features):
12051 * tools/gst-xmlinspect.c: (print_element_list),
12052 (print_plugin_info), (main):
12053 Removed plugable schedulers.
12054 Removed Scheduler/Manager from elements.
12055 Removed gsttypes.h, rearranged includes.
12056 Removed dependency pad<->element, element<>pipeline, and
12057 various others, fix includes.
12058 implement gst_pad_get_parent() with gst_object_get_parent()
12059 Make GstTask sefcontained.
12060 Fix _get_state() on GstBin, it did not return ASYNC with a 0
12062 Fix endless loop in iterator_fold_with_resync.
12065 2005-07-18 Wim Taymans <wim@fluendo.com>
12071 2005-07-18 Wim Taymans <wim@fluendo.com>
12074 No more cothreads.h
12076 2005-07-18 Wim Taymans <wim@fluendo.com>
12080 Let's remove these.
12082 2005-07-18 Wim Taymans <wim@fluendo.com>
12084 * docs/design/part-dynamic.txt:
12085 * docs/design/part-events.txt:
12086 * docs/design/part-seeking.txt:
12087 Some more docs in the works.
12089 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12090 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
12091 (gst_base_transform_setcaps), (gst_base_transform_get_size),
12092 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12093 (gst_base_transform_handle_buffer),
12094 (gst_base_transform_sink_activate_push),
12095 (gst_base_transform_src_activate_pull),
12096 (gst_base_transform_set_passthrough),
12097 (gst_base_transform_is_passthrough):
12100 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
12103 * gst/gstevent.c: (gst_event_finalize):
12106 * gst/gstutils.c: (gst_element_unlink),
12107 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
12108 (gst_pad_proxy_setcaps):
12110 Add _get_parent_element() to get a pads parent as an element.
12112 2005-07-18 Wim Taymans <wim@fluendo.com>
12114 * check/gst/gstbin.c: (GST_START_TEST):
12117 2005-07-18 Wim Taymans <wim@fluendo.com>
12119 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12120 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12121 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12122 (gst_base_sink_event), (gst_base_sink_do_sync),
12123 (gst_base_sink_chain), (gst_base_sink_loop),
12124 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
12125 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
12127 Fix logic for returning ASYNC when not prerolled.
12129 2005-07-18 Wim Taymans <wim@fluendo.com>
12131 * gst/gstqueue.c: (gst_queue_handle_sink_event):
12132 Fix nasty refcount bug.
12134 2005-07-16 Philippe Khalaf <burger@speedy.org>
12136 * gst/elements/gstfdsrc.c:
12137 * gst/elements/gstfdsrc.h:
12138 * gst/elements/gstelements.c:
12139 * gst/elements/Makefile.am:
12140 Ported fdsrc to 0.9.
12142 2005-07-16 Wim Taymans <wim@fluendo.com>
12144 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12145 (gst_base_sink_do_sync):
12148 2005-07-16 Wim Taymans <wim@fluendo.com>
12150 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12151 (gst_base_sink_event), (gst_base_sink_get_times),
12152 (gst_base_sink_do_sync), (gst_base_sink_change_state):
12153 * gst/base/gstbasesink.h:
12154 Store and use discont values when syncing buffers as described
12157 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12158 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
12159 (gst_base_src_activate_push):
12160 Push discont event when starting.
12162 * gst/elements/gstidentity.c: (gst_identity_transform):
12165 * gst/gstbin.c: (gst_bin_change_state):
12166 Small cleanups in base_time distribution.
12168 * gst/gstelement.c: (gst_element_set_base_time),
12169 (gst_element_get_base_time), (gst_element_change_state):
12170 * gst/gstelement.h:
12171 Added methods for the base_time of the element.
12174 * gst/gstpipeline.c: (gst_pipeline_send_event),
12175 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
12176 (gst_pipeline_get_last_stream_time):
12177 * gst/gstpipeline.h:
12179 Handle seeking as described in design doc, remove stream_time
12181 Cleanups clock and stream_time selection code. Added accessors
12182 for the stream_time.
12185 2005-07-16 Andy Wingo <wingo@pobox.com>
12187 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
12190 2005-07-16 Wim Taymans <wim@fluendo.com>
12192 * check/gst/gstbin.c: (GST_START_TEST):
12193 Make elements silent as the deep_notify refs the
12194 parent, which might make the test fail.
12196 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
12197 Don't hold the lock for too long.
12199 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
12201 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12202 Don't unref the caps we passed to gst_caps_make_writable() after
12203 passing them. gst_caps_make_writable() will do that for us.
12205 2005-07-15 Andy Wingo <wingo@pobox.com>
12207 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
12210 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
12211 own marshalling function for the handoff signal. Properly type the
12212 buffer as a buffer. Fixes some warnings. Should do a more general
12214 (gst_identity_class_init): Plug into the right marshaller.
12216 2005-07-15 Wim Taymans <wim@fluendo.com>
12218 * docs/design/part-TODO.txt:
12219 * docs/design/part-clocks.txt:
12220 * docs/design/part-element-sink.txt:
12221 * docs/design/part-events.txt:
12222 * docs/design/part-gstpipeline.txt:
12223 Updated docs, mostly DISCONT related.
12225 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
12227 * docs/pwg/building-pads.xml:
12228 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
12230 2005-07-15 Andy Wingo <wingo@pobox.com>
12232 * tools/gst-typefind.c: Update, add copyright block.
12234 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
12235 Normalize and truncate caps before fixation.
12238 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
12239 discards all but the first structure from its argument.
12241 2005-07-15 Wim Taymans <wim@fluendo.com>
12243 * gst/base/gstbasetransform.c: (gst_base_transform_init),
12244 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
12245 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12246 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12247 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
12248 (gst_base_transform_chain), (gst_base_transform_change_state),
12249 (gst_base_transform_set_passthrough),
12250 (gst_base_transform_is_passthrough):
12251 * gst/base/gstbasetransform.h:
12252 Make passthrough work using the bufferpools.
12253 Changed API a bit, subclasses have to write into a buffer
12254 provided by the base class.
12255 More debug info in nego functions.
12257 * gst/elements/gstidentity.c: (gst_identity_init),
12258 (gst_identity_transform):
12259 Port to new base class.
12261 2005-07-15 Wim Taymans <wim@fluendo.com>
12263 * gst/gstmessage.c: (gst_message_new_state_changed):
12264 * tools/gst-launch.c: (event_loop), (main):
12265 Totally dump messages in -launch with the -m option.
12266 Fix message name for State messages,
12268 2005-07-14 Wim Taymans <wim@fluendo.com>
12270 * gst/base/gstbasesrc.c: (gst_base_src_loop):
12271 Post error messages on errors.
12273 2005-07-14 Wim Taymans <wim@fluendo.com>
12275 * gst/gstcaps.c: (gst_caps_do_simplify):
12279 Define error for stream stopped.
12281 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12282 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
12283 Do proper return values.
12285 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12286 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
12287 (gst_pad_get_range):
12288 Better return values.
12291 Reorganise return values, add macro to check for fatal errors.
12293 * gst/gstqueue.c: (gst_queue_chain):
12294 Return proper GstFlowReturn values,
12296 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
12298 * docs/gst/gstreamer-sections.txt:
12299 * docs/gst/gstreamer.types:
12300 * docs/gst/tmpl/gst.sgml:
12301 * docs/gst/tmpl/gstbasesink.sgml:
12302 * docs/gst/tmpl/gstbasesrc.sgml:
12303 * docs/gst/tmpl/gstbasetransform.sgml:
12304 * docs/gst/tmpl/gstbin.sgml:
12305 * docs/gst/tmpl/gstbuffer.sgml:
12306 * docs/gst/tmpl/gstcaps.sgml:
12307 * docs/gst/tmpl/gstclock.sgml:
12308 * docs/gst/tmpl/gstcompat.sgml:
12309 * docs/gst/tmpl/gstconfig.sgml:
12310 * docs/gst/tmpl/gstelement.sgml:
12311 * docs/gst/tmpl/gstelementdetails.sgml:
12312 * docs/gst/tmpl/gstelementfactory.sgml:
12313 * docs/gst/tmpl/gstenumtypes.sgml:
12314 * docs/gst/tmpl/gsterror.sgml:
12315 * docs/gst/tmpl/gstevent.sgml:
12316 * docs/gst/tmpl/gstfakesink.sgml:
12317 * docs/gst/tmpl/gstfakesrc.sgml:
12318 * docs/gst/tmpl/gstfilesink.sgml:
12319 * docs/gst/tmpl/gstfilesrc.sgml:
12320 * docs/gst/tmpl/gstfilter.sgml:
12321 * docs/gst/tmpl/gstformat.sgml:
12322 * docs/gst/tmpl/gstghostpad.sgml:
12323 * docs/gst/tmpl/gstimplementsinterface.sgml:
12324 * docs/gst/tmpl/gstindex.sgml:
12325 * docs/gst/tmpl/gstindexfactory.sgml:
12326 * docs/gst/tmpl/gstinfo.sgml:
12327 * docs/gst/tmpl/gstiterator.sgml:
12328 * docs/gst/tmpl/gstmacros.sgml:
12329 * docs/gst/tmpl/gstmemchunk.sgml:
12330 * docs/gst/tmpl/gstminiobject.sgml:
12331 * docs/gst/tmpl/gstobject.sgml:
12332 * docs/gst/tmpl/gstpad.sgml:
12333 * docs/gst/tmpl/gstpadtemplate.sgml:
12334 * docs/gst/tmpl/gstparse.sgml:
12335 * docs/gst/tmpl/gstpipeline.sgml:
12336 * docs/gst/tmpl/gstplugin.sgml:
12337 * docs/gst/tmpl/gstpluginfeature.sgml:
12338 * docs/gst/tmpl/gstquery.sgml:
12339 * docs/gst/tmpl/gstqueue.sgml:
12340 * docs/gst/tmpl/gstregistry.sgml:
12341 * docs/gst/tmpl/gstregistrypool.sgml:
12342 * docs/gst/tmpl/gstscheduler.sgml:
12343 * docs/gst/tmpl/gstschedulerfactory.sgml:
12344 * docs/gst/tmpl/gststructure.sgml:
12345 * docs/gst/tmpl/gstsystemclock.sgml:
12346 * docs/gst/tmpl/gsttaglist.sgml:
12347 * docs/gst/tmpl/gsttagsetter.sgml:
12348 * docs/gst/tmpl/gsttrace.sgml:
12349 * docs/gst/tmpl/gsttrashstack.sgml:
12350 * docs/gst/tmpl/gsttypefind.sgml:
12351 * docs/gst/tmpl/gsttypefindfactory.sgml:
12352 * docs/gst/tmpl/gsttypes.sgml:
12353 * docs/gst/tmpl/gsturihandler.sgml:
12354 * docs/gst/tmpl/gsturitype.sgml:
12355 * docs/gst/tmpl/gstutils.sgml:
12356 * docs/gst/tmpl/gstvalue.sgml:
12357 * docs/gst/tmpl/gstversion.sgml:
12358 * docs/gst/tmpl/gstxml.sgml:
12359 * docs/libs/tmpl/gstcontrol.sgml:
12360 * docs/libs/tmpl/gstdataprotocol.sgml:
12361 * docs/libs/tmpl/gstdparam.sgml:
12362 * docs/libs/tmpl/gstdplinint.sgml:
12363 * docs/libs/tmpl/gstdpman.sgml:
12364 * docs/libs/tmpl/gstdpsmooth.sgml:
12365 * docs/libs/tmpl/gstgetbits.sgml:
12366 * docs/libs/tmpl/gstunitconvert.sgml:
12367 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
12368 (gst_push_src_base_init), (gst_push_src_class_init),
12369 (gst_push_src_init), (gst_push_src_create):
12370 * gst/base/gstpushsrc.h:
12371 * gst/elements/gstelements.c:
12372 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
12373 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
12374 (gst_fake_sink_init), (gst_fake_sink_set_property),
12375 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
12376 (gst_fake_sink_event), (gst_fake_sink_preroll),
12377 (gst_fake_sink_render), (gst_fake_sink_change_state):
12378 * gst/elements/gstfakesink.h:
12379 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12380 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
12381 (gst_fake_src_base_init), (gst_fake_src_class_init),
12382 (gst_fake_src_init), (gst_fake_src_event_handler),
12383 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
12384 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
12385 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
12386 (gst_fake_src_create_buffer), (gst_fake_src_create),
12387 (gst_fake_src_start), (gst_fake_src_stop):
12388 * gst/elements/gstfakesrc.h:
12389 * gst/elements/gstfilesink.c: (_do_init),
12390 (gst_file_sink_base_init), (gst_file_sink_class_init),
12391 (gst_file_sink_init), (gst_file_sink_dispose),
12392 (gst_file_sink_set_location), (gst_file_sink_set_property),
12393 (gst_file_sink_get_property), (gst_file_sink_open_file),
12394 (gst_file_sink_close_file), (gst_file_sink_query),
12395 (gst_file_sink_event), (gst_file_sink_render),
12396 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
12397 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
12398 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
12399 * gst/elements/gstfilesink.h:
12400 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
12401 (gst_file_src_class_init), (gst_file_src_init),
12402 (gst_file_src_finalize), (gst_file_src_set_location),
12403 (gst_file_src_set_property), (gst_file_src_get_property),
12404 (gst_file_src_map_region), (gst_file_src_map_small_region),
12405 (gst_file_src_create_mmap), (gst_file_src_create_read),
12406 (gst_file_src_create), (gst_file_src_is_seekable),
12407 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
12408 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
12409 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
12410 (gst_file_src_uri_handler_init):
12411 * gst/elements/gstfilesrc.h:
12412 more autistic cleanliness in functions/names/defines
12414 2005-07-13 Andy Wingo <wingo@pobox.com>
12416 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
12417 source couldn't negotiate.
12419 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
12423 * gst/gstutils.c (gst_element_link_pads_filtered): New old
12424 function. I am channeling Hades. Put your boots on suckers!!!
12426 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
12428 * testsuite/caps/Makefile.am:
12429 * testsuite/caps/value_compare.c:
12430 * testsuite/caps/value_intersect.c:
12431 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12432 move two testsuite apps over to the check dir
12434 2005-07-12 Wim Taymans <wim@fluendo.com>
12436 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12437 Added more debug info in the negotiate process.
12439 * gst/gstmessage.h:
12440 Prepare for segment playback.
12442 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
12448 * tools/gst-launch.c: (main):
12449 NULL pipeline on errors.
12451 2005-07-12 Andy Wingo <wingo@pobox.com>
12453 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
12454 not it comes from a malloc region. Make sure our copy gets freed.
12456 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
12458 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12459 * check/gst/gstmessage.c: (GST_START_TEST):
12460 * check/gst/gststructure.c: (GST_START_TEST),
12461 (gst_structure_suite), (main):
12463 * gst/gstelement.c: (gst_element_message_full):
12464 clean up GError and debug string now that they get copied
12465 * gst/gstmessage.c: (gst_message_new_error),
12466 (gst_message_new_warning), (gst_message_parse_error),
12467 (gst_message_parse_warning):
12468 use GST_TYPE_G_ERROR for structure_new, and take copies of
12469 arguments, so that we don't mess up refcounting
12471 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
12473 * check/Makefile.am:
12474 add per-test valgrind targets
12475 * check/gst-libs/gdp.c: (GST_START_TEST),
12476 (gst_data_protocol_suite), (main):
12479 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
12481 * check/Makefile.am:
12482 instate more valgrindable tests
12483 * check/elements/gstfakesrc.c: (chain_func), (event_func),
12484 (GST_START_TEST), (fakesrc_suite):
12485 * check/gst/gstpad.c: (GST_START_TEST):
12486 * check/gst/gststructure.c: (GST_START_TEST):
12488 * docs/gst/tmpl/gstminiobject.sgml:
12489 * gst/gstpad.c: (gst_pad_finalize):
12490 fix the static mutex leak
12492 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
12494 * check/Makefile.am:
12495 add two more tests for valgrinding
12496 * check/gst/gstvalue.c: (GST_START_TEST):
12497 test refcount of deserialized buffer, found a leak
12498 * docs/gst/gstreamer-docs.sgml:
12499 * docs/gst/gstreamer-sections.txt:
12500 * docs/gst/gstreamer.types:
12501 * docs/gst/tmpl/gstminiobject.sgml:
12502 add miniobject to docs
12503 * gst/gstminiobject.c:
12505 * gst/gstvalue.c: (gst_value_deserialize_buffer),
12506 (gst_string_unwrap):
12507 fix a hard-to-find invalid write for one of the tests
12508 fix a leak for deserialized buffers
12510 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12512 * docs/pwg/advanced-events.xml:
12513 * docs/pwg/advanced-request.xml:
12514 * docs/pwg/advanced-scheduling.xml:
12515 * docs/pwg/appendix-porting.xml:
12516 * docs/pwg/building-boiler.xml:
12517 * docs/pwg/intro-preface.xml:
12518 * docs/pwg/other-ntoone.xml:
12519 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
12520 of example code and explanation for pad activation, loop() and
12521 getrange() functions and a bit more. Remove old comments pointing
12523 * examples/pwg/Makefile.am:
12524 Add loop/getrange examples.
12526 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
12529 check for valgrind binary + some fixes
12531 valgrind suppressions for the tests
12532 * check/Makefile.am:
12533 add a valgrind: target that valgrinds the unit tests
12534 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
12535 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12536 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12537 * check/gst/gstghostpad.c:
12539 * check/gst/gstdata.c:
12541 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
12542 (thread_unref), (gst_mini_object_suite), (main):
12544 * gst/gst.c: (gst_deinit):
12546 add a method to clean up.
12547 * gst/gstsystemclock.c: (gst_system_clock_dispose),
12548 (gst_system_clock_obtain):
12549 allow for disposing the system clock.
12550 * tools/gst-launch.c: (main):
12553 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
12555 * docs/gst/tmpl/gstbasesrc.sgml:
12556 * docs/gst/tmpl/gstfakesrc.sgml:
12557 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12558 (gst_base_src_init), (gst_base_src_set_property),
12559 (gst_base_src_get_property), (gst_base_src_get_range),
12560 (gst_base_src_start):
12561 * gst/base/gstbasesrc.h:
12562 add num-buffers property
12563 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12564 (gst_fakesrc_init), (gst_fakesrc_set_property),
12565 (gst_fakesrc_get_property), (gst_fakesrc_create),
12566 (gst_fakesrc_start):
12567 remove num-buffers property
12569 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
12571 * docs/gst/gstreamer-sections.txt:
12572 * docs/gst/tmpl/gstbasesink.sgml:
12573 * docs/gst/tmpl/gstbasesrc.sgml:
12574 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
12575 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
12576 (gst_base_sink_finalize), (gst_base_sink_set_clock),
12577 (gst_base_sink_set_property), (gst_base_sink_get_property),
12578 (gst_base_sink_handle_object), (gst_base_sink_event),
12579 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12580 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
12581 (gst_base_sink_loop), (gst_base_sink_deactivate),
12582 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
12583 (gst_base_sink_change_state):
12584 * gst/base/gstbasesink.h:
12585 * gst/base/gstbasesrc.h:
12586 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
12587 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12588 (gst_filesink_init):
12589 more macro splitting
12591 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
12593 * gst/gstelement.c: (gst_element_get_bus):
12595 * tools/gst-launch.c: (check_intr), (event_loop):
12598 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
12600 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12603 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
12605 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12606 (gst_base_src_finalize):
12607 add finalize method and clean up properly
12608 * gst/gstpipeline.c: (gst_pipeline_dispose):
12611 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
12613 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
12615 add more things to check
12616 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12617 * gst/gstelement.c:
12620 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
12622 * check/elements/gstfakesrc.c: (chain_func), (event_func),
12623 (GST_START_TEST), (fakesrc_suite):
12624 * check/gst-libs/gdp.c: (GST_START_TEST):
12625 * check/gst/gst.c: (GST_START_TEST):
12626 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12627 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12628 * check/gst/gstbus.c: (GST_START_TEST):
12629 * check/gst/gstcaps.c: (GST_START_TEST):
12630 * check/gst/gstdata.c: (GST_START_TEST):
12631 * check/gst/gstelement.c: (GST_START_TEST):
12632 * check/gst/gstghostpad.c: (GST_START_TEST):
12633 * check/gst/gstiterator.c: (GST_START_TEST):
12634 * check/gst/gstmessage.c: (GST_START_TEST):
12635 * check/gst/gstobject.c: (GST_START_TEST):
12636 * check/gst/gstpad.c: (GST_START_TEST):
12637 * check/gst/gststructure.c: (GST_START_TEST):
12638 * check/gst/gstsystemclock.c: (GST_START_TEST),
12639 (gst_systemclock_suite):
12640 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12641 * check/gst/gstvalue.c: (GST_START_TEST):
12642 * check/pipelines/cleanup.c: (GST_START_TEST):
12643 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12644 * check/states/sinks.c: (GST_START_TEST):
12645 * check/gstcheck.c: (gst_check_init):
12646 * check/gstcheck.h:
12647 add debugging category
12648 use GST_START_TEST now, so we add a debug line
12650 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
12652 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
12653 add test for state change message on a bin
12654 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
12656 * gst/gstbin.c: (gst_bin_init):
12657 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
12658 * gst/gstelement.c: (gst_element_post_message),
12659 (gst_element_set_state):
12660 * gst/gstelementfactory.c: (gst_element_factory_create):
12661 * gst/gstmessage.c: (gst_message_new):
12662 * gst/gstscheduler.c:
12663 various debugging additions and cleanups
12665 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
12667 * check/Makefile.am:
12668 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
12670 adding tests for elements
12671 * gst/gstelement.c: (gst_element_dispose):
12673 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
12675 * gst/registries/gstlibxmlregistry.c: (load_feature):
12676 plug more leaks. A simple gst_init() now is leakfree, yay.
12678 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
12680 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
12681 (gst_xml_registry_load):
12682 plug another memleak
12684 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
12687 use GST_SET_ERROR_CFLAGS
12688 * docs/faq/cvs.xml:
12689 change to ERROR_CFLAGS
12691 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
12694 make GST_ERROR_CFLAGS overridable and re-enable Werror
12695 * docs/faq/cvs.xml:
12696 add a note about error CFLAGS
12697 * docs/gst/tmpl/gstfakesrc.sgml:
12698 * gst/elements/gstfakesrc.c:
12699 comment out some unused code
12700 * gst/gst.c: (split_and_iterate):
12701 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
12705 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
12707 * common/Makefile.am:
12708 * common/gtk-doc.mak:
12709 * docs/gst/Makefile.am:
12710 factor out gtk-doc.mak
12712 2005-07-07 Wim Taymans <wim@fluendo.com>
12714 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
12715 (gst_thread_scheduler_dispose):
12716 Unlock the STREAM_LOCK completely.
12718 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
12720 * check/Makefile.am:
12721 * check/elements/.cvsignore:
12722 * check/elements/gstfakesrc.c: (chain_func), (event_func),
12723 (START_TEST), (fakesrc_suite), (main):
12724 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12725 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12726 (gst_fakesrc_create), (gst_fakesrc_start):
12727 * gst/elements/gstfakesrc.h:
12728 adding a first element test
12730 2005-07-07 Andy Wingo <wingo@pobox.com>
12732 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
12735 2005-07-07 Wim Taymans <wim@fluendo.com>
12741 2005-07-07 Wim Taymans <wim@fluendo.com>
12743 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12744 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
12745 Allow subclasses to implement their own negotiation.
12747 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
12749 * docs/design/part-gstbin.txt:
12750 * docs/design/part-gstpipeline.txt:
12751 Update design notes to reflect the movement of
12752 responsibility for bus handling from GstPipeline to
12755 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
12758 Remove unnecessary queue2/3/4 examples.
12760 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
12762 * examples/Makefile.am:
12763 * examples/helloworld/helloworld.c: (event_loop), (main):
12764 * examples/queue/queue.c: (event_loop), (main):
12765 * examples/queue2/queue2.c: (main):
12766 Update a couple of the examples to work again.
12768 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12769 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
12770 Spelling corrections and extra debug.
12772 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
12773 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
12774 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
12776 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12777 (gst_pipeline_change_state):
12778 * gst/gstpipeline.h:
12779 Move the bus handler for children to the GstBin, and create a
12780 separate bus for receiving messages from children to the one the
12781 bus sends 'upwards' on.
12783 2005-07-06 Wim Taymans <wim@fluendo.com>
12786 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12787 (gst_base_sink_handle_object), (gst_base_sink_loop),
12788 (gst_base_sink_change_state):
12789 * gst/base/gstbasesink.h:
12790 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12791 (gst_base_src_init), (gst_base_src_setcaps),
12792 (gst_base_src_getcaps), (gst_base_src_loop),
12793 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
12794 (gst_base_src_start), (gst_base_src_change_state):
12795 * gst/base/gstbasesrc.h:
12796 Make basesrc negotiate.
12797 Handle the case where preroll fails in basesink.
12800 2005-07-06 Wim Taymans <wim@fluendo.com>
12802 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
12803 Implement the fixate function.
12804 Clean up acceptcaps.
12806 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12808 * docs/pwg/building-filterfactory.xml:
12809 * docs/pwg/pwg.xml:
12810 Remove never-written filter-factory chapter; I'll add the various
12811 base classes to part 4 ("other element types") later on.
12813 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12815 * docs/pwg/advanced-negotiation.xml:
12816 * docs/pwg/building-boiler.xml:
12817 * docs/pwg/building-pads.xml:
12818 * docs/pwg/pwg.xml:
12819 * examples/pwg/Makefile.am:
12820 Add a chapter on caps negotiation, simplify the original code
12821 samples a bit w.r.t. caps negotiation, add link to the advanced
12822 section. Add a bunch of examples showing different use cases of
12823 different types of caps negotiation. Upstream renegotiation isn't
12824 fully documented yet since nobody knows how that works.
12826 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
12828 * check/gst/gstpad.c:
12829 * check/gstcheck.c:
12830 * gst/gstpad.c: (gst_pad_get_internal_links_default):
12831 if pad has no parent, return NULL as list of internal links
12833 2005-07-05 Andy Wingo <wingo@pobox.com>
12835 * gst/elements/gstfilesrc.c:
12836 * gst/elements/gstfakesrc.c:
12837 * gst/base/gstpushsrc.c:
12838 * gst/base/gstbasesrc.h:
12839 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
12841 2005-07-05 Stefan Kost <ensonic@users.sf.net>
12844 better report generation target (lcov needs a patch)
12846 2005-07-05 Andy Wingo <wingo@pobox.com>
12848 * gst/elements, testsuite: Null if we got it...
12850 2005-07-05 Wim Taymans <wim@fluendo.com>
12853 * libs/gst/dataprotocol/Makefile.am:
12854 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
12855 * libs/gst/dataprotocol/dataprotocol.h:
12856 * pkgconfig/Makefile.am:
12857 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
12858 * pkgconfig/gstreamer-dataprotocol.pc.in:
12859 Ported dataprotol to 0.9.
12860 Added pkgconfig files.
12862 2005-07-05 Andy Wingo <wingo@pobox.com>
12864 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
12865 Default to returning TRUE for the case when tranform_caps returns
12866 a fixed caps, like for identity or volume.
12868 * check/gst/gstbus.c (pound_bus_with_messages):
12869 * check/gst/gstmessage.c (START_TEST):
12870 * check/pipelines/simple_launch_lines.c (got_handoff): Application
12871 message API change.
12873 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
12874 logic weaks here: always run transform_caps, trying passthrough
12875 operation only if the original caps intersects with the transform.
12877 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
12878 source and sink caps.
12880 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
12881 Intersect the peer caps with the pad template before going into
12883 (gst_base_transform_transform_caps): More debugging.
12885 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
12888 2005-07-04 Edward Hervey <edward@fluendo.com>
12892 (gst_pad_add_*_probe): now returns the signal id for better wrapping
12895 2005-07-04 Andy Wingo <wingo@pobox.com>
12897 * check/gst/gstpad.c: Only set explicit caps on pads.
12899 2005-07-01 Andy Wingo <wingo@pobox.com>
12901 * tests/network-clock.scm: Commentary update.
12903 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
12904 Didn't really make sense, not implementable with basetransform,
12906 (gst_identity_transform): Unref inbuf via make_writable. Feeble
12907 attempt at implementing the sync property, needs an unlock method.
12909 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
12910 New func, by default returns the same caps (the identity
12912 (gst_base_transform_getcaps): Uses transform_caps to return
12913 something sensible.
12914 (gst_base_transform_setcaps): Complicated logic to get caps on
12915 both pads, even if they are different, and to call set_caps once
12916 for every time both pads get their caps set.
12917 (gst_base_transform_handle_buffer): Give the ref to the transform
12918 function. Allows in-place modification of the buffer.
12920 * gst/base/gstbasetransform.h (transform_caps): New class method.
12921 Given caps on one side, what can I do on the other.
12922 (set_caps): Take two caps, one for each side of the element.
12925 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
12926 caps in place. This is safe because we can check the mutability of
12927 the caps, and a good idea because fixate functions are just called
12928 as a matter of last resort. (Not actually implemented.)
12929 (gst_pad_set_caps): If the caps we're setting is actually the same
12930 as the existing pad caps, just update the pointer without calling
12931 setcaps. Assert that caps is either NULL or fixed, as per the
12934 * gst/gstghostpad.c: Update for fixate changes.
12936 2005-07-02 Andy Wingo <wingo@pobox.com>
12939 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
12940 two refcounts makes it immutable, which is enough. Doc more.
12942 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
12944 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
12945 Put the mini_object into GValue as a mini_object,
12946 not a gpointer, since that's how we declared
12949 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12951 * examples/pwg/Makefile.am:
12952 Fix buildbot again.
12954 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12956 * docs/pwg/building-testapp.xml:
12958 * examples/pwg/Makefile.am:
12961 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12964 * examples/Makefile.am:
12965 * examples/pwg/Makefile.am:
12966 * examples/pwg/extract.pl:
12967 Enable building the PWG examples.
12968 * docs/pwg/advanced-interfaces.xml:
12969 Add URI interface stub.
12970 * docs/pwg/advanced-types.xml:
12971 * docs/pwg/other-autoplugger.xml:
12972 * docs/pwg/appendix-porting.xml:
12973 * docs/pwg/pwg.xml:
12974 Add porting guide (mostly stubs), remove autoplugging (see ADM).
12975 * docs/pwg/building-boiler.xml:
12976 * docs/pwg/building-chainfn.xml:
12977 * docs/pwg/building-pads.xml:
12978 * docs/pwg/building-props.xml:
12979 * docs/pwg/building-state.xml:
12980 * docs/pwg/building-testapp.xml:
12981 Update the building-*.xml parts for 0.9 changes. All examples
12982 code blocks compile in examples/pwg/*.
12984 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12986 * docs/manual/advanced-autoplugging.xml:
12987 * docs/manual/appendix-checklist.xml:
12988 * docs/manual/appendix-integration.xml:
12989 * docs/manual/highlevel-components.xml:
12990 Fix playbin/decodebin examples, update docs a bit, mention bus
12991 instead of signals in various places, mention kmplayer and
12992 kaffeine since they have a working GStreamer backend in the KDE
12995 2005-06-30 Wim Taymans <wim@fluendo.com>
12998 * docs/design/draft-ghostpads.txt:
12999 * docs/design/draft-push-pull.txt:
13000 * docs/design/draft-query.txt:
13001 * docs/design/part-TODO.txt:
13002 * docs/design/part-query.txt:
13003 Added CHANGES-0.9 doc, updated status of other docs.
13008 2005-06-30 Wim Taymans <wim@fluendo.com>
13010 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13011 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13012 (gst_base_sink_change_state):
13013 * gst/base/gstbasesink.h:
13014 Some tweaks, only EOS and a buffer complete a preroll.
13016 2005-06-30 Andy Wingo <wingo@pobox.com>
13018 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
13019 activate_push down to the internal pad as well.
13021 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
13023 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13025 * gst/gsttaginterface.c:
13026 Some documentation fixes (#307394 and #307397).
13028 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
13030 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13032 * gst/gstvalue.c: (gst_value_intersect_list):
13033 Fix memleak (#309125).
13035 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13037 * docs/manual/advanced-dataaccess.xml:
13038 Fix fakesrc example to compile; doesn't work, bug somewhere...?
13039 * docs/manual/basics-pads.xml:
13040 Add reference for filtered caps to above chapter.
13042 2005-06-30 Wim Taymans <wim@fluendo.com>
13044 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
13045 (gst_bin_change_state):
13047 Lame attempt at making the state change function a bit
13050 2005-06-30 Wim Taymans <wim@fluendo.com>
13052 * docs/design/part-clocks.txt:
13053 * docs/design/part-element-sink.txt:
13054 * docs/design/part-events.txt:
13055 * docs/design/part-preroll.txt:
13056 * docs/design/part-states.txt:
13057 Some more tweeks and additions to the docs.
13059 2005-06-30 Wim Taymans <wim@fluendo.com>
13061 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13062 (default_have_data), (gst_pad_class_init), (gst_pad_init),
13063 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13064 (gst_pad_check_pull_range), (gst_pad_get_range),
13065 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
13067 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
13068 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13069 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13070 (gst_pad_remove_buffer_probe):
13071 Removed atomic operations, use existing LOCK.
13072 Move exception handling out of main code path.
13074 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13076 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13077 (silly_return_true_function), (gst_pad_class_init),
13078 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
13079 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
13080 (gst_pad_send_event):
13081 Fix accumulator, add default value by using _emitv() instead
13082 of _emit() for signal emission.
13084 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13086 * docs/manual/advanced-dataaccess.xml:
13087 * examples/manual/Makefile.am:
13089 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
13092 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
13094 * gst/elements/gstfilesink.c: (gst_filesink_render):
13095 Simplify code so that we don't have to handle short
13096 writes and return GST_FLOW_ERROR if an error occured.
13098 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13100 * docs/gst/gstreamer-docs.sgml:
13101 Remove probes more.
13103 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13105 * docs/gst/gstreamer-sections.txt:
13106 * docs/gst/tmpl/gstpad.sgml:
13107 * docs/gst/tmpl/gstprobe.sgml:
13109 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
13110 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
13111 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13112 (gst_pad_push_event), (gst_pad_send_event):
13114 * gst/gstutils.c: (gst_pad_add_data_probe),
13115 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13116 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13117 (gst_pad_remove_buffer_probe):
13119 Remove old probes, add new g-signal-based probes and some utility
13122 2005-06-29 Edward Hervey <edward@fluendo.com>
13124 * gst/gstelementfactory.c:
13127 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
13128 the definition to the header file.
13130 2005-06-29 Andy Wingo <wingo@pobox.com>
13132 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
13133 plugins from the source directory.
13135 2005-06-29 Wim Taymans <wim@fluendo.com>
13137 * docs/gst/tmpl/gstbuffer.sgml:
13138 * docs/gst/tmpl/gstclock.sgml:
13139 Some fixings for blantently wrong text.
13141 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
13143 * check/Makefile.am:
13144 * gst/gst.c: (add_path_func), (init_pre):
13145 * gst/gstregistry.c: (gst_registry_add_path):
13146 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
13147 only scan the GST_PLUGIN_PATH locations, and not add
13150 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
13152 * docs/gst/gstreamer-sections.txt:
13153 * docs/gst/tmpl/gstbasesrc.sgml:
13154 * gst/gstelement.c:
13155 * gst/gstelement.h:
13160 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13162 * docs/manual/advanced-autoplugging.xml:
13163 Fix autoplugging example.
13165 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13167 * docs/manual/advanced-autoplugging.xml:
13168 * docs/manual/mime-world.fig:
13169 Try to get autoplugging working, fix type detection. Fix text
13170 in hello-world image.
13172 2005-06-29 Wim Taymans <wim@fluendo.com>
13174 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13175 (gst_base_sink_change_state):
13179 map SIGNAL and BROADCAST to the right function.
13182 Remove redundant braces.
13184 * gst/gstpad.c: (gst_pad_set_caps):
13185 Don't call setcaps function when reseting caps to NULL.
13187 * gst/gstsystemclock.c: (gst_system_clock_dispose),
13188 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
13189 (gst_system_clock_id_unschedule):
13190 Use BROADCAST as this is what we do.
13192 2005-06-29 Wim Taymans <wim@fluendo.com>
13194 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13195 We are actually prerolling before commiting the state
13198 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13200 * docs/manual/advanced-clocks.xml:
13201 * docs/manual/advanced-interfaces.xml:
13202 * docs/manual/advanced-metadata.xml:
13203 * docs/manual/advanced-position.xml:
13204 * docs/manual/advanced-schedulers.xml:
13205 * docs/manual/advanced-threads.xml:
13206 * docs/manual/appendix-porting.xml:
13207 * docs/manual/basics-bins.xml:
13208 * docs/manual/basics-bus.xml:
13209 * docs/manual/basics-elements.xml:
13210 * docs/manual/basics-helloworld.xml:
13211 * docs/manual/basics-pads.xml:
13212 * docs/manual/highlevel-components.xml:
13213 * docs/manual/manual.xml:
13214 * docs/manual/thread.fig:
13215 Update (until threads/scheduling) Application Development Manual;
13216 remove GstThread, add GstBus, add simple porting checklist, add
13217 documentation for tag writing, clocks, make all examples until this
13218 part compile and run.
13219 * examples/manual/Makefile.am:
13220 Update from changes to Application Development Manual; add bus
13221 example, remove thread example.
13223 2005-06-28 Wim Taymans <wim@fluendo.com>
13225 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
13226 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
13227 (gst_bus_source_dispatch):
13228 Add debugging messages.
13229 Make internal methods static.
13230 Handle the case where the bus is flushed in the handler.
13232 * gst/gstelement.c: (gst_element_get_bus):
13233 Fix refcount in _get_bus();
13235 * gst/gstpipeline.c: (gst_pipeline_change_state),
13236 (gst_pipeline_get_clock_func):
13237 Clock refcounting fixes.
13238 Handle the case where preroll timed out more gracefully.
13240 * gst/gstsystemclock.c: (gst_system_clock_dispose):
13241 Clean up the internal thread in dispose. This is needed
13242 for subclasses that actually get disposed.
13244 * gst/schedulers/threadscheduler.c:
13245 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13246 (gst_thread_scheduler_dispose):
13247 Free thread pool in dispose.
13249 2005-06-28 Andy Wingo <wingo@pobox.com>
13251 * tests/network-clock-utils.scm (debug, print-event): New utils.
13253 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
13254 (*packet-loss*): Unified loss probability.
13255 (network-time): Report out-of-band events.
13257 * tests/plot-data: Add support for out-of-band events. Hack it
13258 into this script instead of passing it down the pipe; should fix
13261 2005-06-28 Wim Taymans <wim@fluendo.com>
13263 * docs/gst/gstreamer.types:
13264 * docs/gst/tmpl/gstbasesrc.sgml:
13265 * docs/gst/tmpl/gstpad.sgml:
13268 2005-06-28 Wim Taymans <wim@fluendo.com>
13270 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13271 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
13272 (gst_proxy_pad_do_fixatecaps):
13273 Correctly proxy the check_pull_range function.
13275 2005-06-28 Andy Wingo <wingo@pobox.com>
13277 * tests/network-clock.scm: Removed need for slib.
13279 2005-06-28 Wim Taymans <wim@fluendo.com>
13281 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
13282 (gst_basesink_preroll_queue_flush):
13283 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
13284 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
13285 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13286 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13287 (gst_proxy_pad_set_property):
13290 * gst/gstqueue.c: (gst_queue_init):
13291 The deprecated pad loop function is removed now.
13293 2005-06-28 Andy Wingo <wingo@pobox.com>
13295 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
13296 New parameters, simulate network packet loss.
13298 * tests/network-clock-utils.scm: Initialize the RNG.
13300 2005-06-28 Wim Taymans <wim@fluendo.com>
13302 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
13303 (gst_basesink_event), (gst_basesink_deactivate):
13304 Flushing the preroll queue always needs to unlock the waiters.
13306 2005-06-28 Edward Hervey <edward@fluendo.com>
13308 * gst/gstpipeline.c: (gst_pipeline_send_event):
13309 Wheen a seek was successful on a pipeline, set the stream_time to the
13310 seek offset in order to have a synchronized stream_time.
13312 2005-06-28 Wim Taymans <wim@fluendo.com>
13314 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13315 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
13316 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
13317 (gst_proxy_pad_do_fixatecaps):
13318 Call wrapper function instead of just calling the function
13319 pointers. This takes care of any locking and whatmore.
13321 2005-06-28 Wim Taymans <wim@fluendo.com>
13323 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
13324 (gst_pad_pull_range):
13326 CONNECTED -> LINKED.
13328 2005-06-28 Andy Wingo <wingo@pobox.com>
13330 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
13331 source-munging commit!!!
13333 * gst/gstobject.c (gst_object_unref, gst_object_ref)
13334 (gst_object_sink): Take gpointer arguments, not GstObject --
13335 avoids casts. Like GLib.
13337 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
13340 2005-06-27 Andy Wingo <wingo@pobox.com>
13342 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
13345 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
13346 returns a sorted copy of the trace list.
13347 (gst_alloc_trace_print_live): New API, only prints traces with
13348 live objects. Sort the list.
13349 (gst_alloc_trace_print_all): Sort the list.
13350 (gst_alloc_trace_print): Align columns.
13352 * gst/elements/gstttypefindelement.c:
13353 * gst/elements/gsttee.c:
13354 * gst/base/gstbasesrc.c:
13355 * gst/base/gstbasesink.c:
13356 * gst/base/gstbasetransform.c:
13357 * gst/gstqueue.c: Adapt for pad activation changes.
13359 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
13361 (gst_pipeline_dispose): Drop ref on sched.
13363 * gst/gstpad.c (gst_pad_init): Set the default activate func.
13364 (gst_pad_activate_default): Push mode by default.
13365 (pre_activate_switch, post_activate_switch): New stubs, things to
13366 do before and after switching activation modes on pads.
13367 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
13368 the pad's activate function to choose which mode to activate.
13369 Shortcut on deactivation and call the right function directly.
13370 (gst_pad_activate_pull): New API, (de)activates a pad in pull
13372 (gst_pad_activate_push): New API, same for push mode.
13373 (gst_pad_set_activate_function)
13374 (gst_pad_set_activatepull_function)
13375 (gst_pad_set_activatepush_function): Setters for new API.
13377 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
13378 Trace all miniobjects.
13379 (gst_mini_object_make_writable): Unref the arg if we copy, like
13380 gst_caps_make_writable.
13382 * gst/gstmessage.c (_gst_message_initialize): No trace init.
13384 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
13385 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
13386 Adapt for new pad API.
13388 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
13390 * gst/gstelement.h:
13391 * gst/gstelement.c (gst_element_iterate_src_pads)
13392 (gst_element_iterate_sink_pads): New API functions.
13394 * gst/gstelement.c (iterator_fold_with_resync): New utility,
13395 should fold into gstiterator.c in some form.
13396 (gst_element_pads_activate): Simplified via use of fold and
13397 delegation of decisions to gstpad->activate.
13399 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
13402 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
13403 class once in init, like gstmessage. Didn't run into this issue
13404 but it seems correct. Don't initialize a trace, gstminiobject does
13407 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
13408 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
13410 (assert_live_count): New util function, uses alloc traces to check
13413 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
13414 To be modified when unlink drops the internal pad.
13416 2005-06-27 Wim Taymans <wim@fluendo.com>
13418 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
13419 (gst_bin_change_state):
13420 Cleanup the get_state() function a little, make sure it
13421 iterates the same set of elements.
13422 Added stub iterate_state_order().
13424 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
13426 * docs/gst/gstreamer-docs.sgml:
13427 * docs/gst/gstreamer-sections.txt:
13428 * docs/gst/gstreamer.types:
13429 * docs/gst/tmpl/gstbasesink.sgml:
13430 * docs/gst/tmpl/gstbasesrc.sgml:
13431 * docs/gst/tmpl/gstbasetransform.sgml:
13432 * docs/gst/tmpl/gstelement.sgml:
13433 * docs/gst/tmpl/gstiterator.sgml:
13434 * gst/base/gstbasesrc.c:
13435 * gst/base/gstbasesrc.h:
13436 * gst/base/gstbasetransform.h:
13437 * gst/gstelement.c:
13438 * gst/gstiterator.h:
13439 adding basetransform and iterator docs
13441 2005-06-27 Andy Wingo <wingo@pobox.com>
13443 * docs/design/part-activation.txt: Notes on how activation should
13444 work -- not quite implemented yet.
13446 2005-06-25 Wim Taymans <wim@fluendo.com>
13448 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
13449 At least get the chain function correct, needs more
13452 2005-06-25 Wim Taymans <wim@fluendo.com>
13454 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13455 (gst_basesink_handle_object), (gst_basesink_event),
13456 (gst_basesink_do_sync), (gst_basesink_handle_event),
13457 (gst_basesink_change_state):
13459 Right, two problems here: ghostpads don't take locks and
13460 glib _rec_mutex_lock_full() with depth==0 still locks.
13461 Catch illegal locking and g_warn them.
13463 2005-06-25 Wim Taymans <wim@fluendo.com>
13465 * check/states/sinks.c: (START_TEST), (gst_object_suite):
13466 Have to check for completion now...
13468 2005-06-25 Wim Taymans <wim@fluendo.com>
13470 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13471 (gst_basesink_handle_object), (gst_basesink_event),
13472 (gst_basesink_do_sync), (gst_basesink_handle_event),
13473 (gst_basesink_change_state):
13475 Unlock STREAM_LOCK whatever the recursion was.
13477 2005-06-25 Wim Taymans <wim@fluendo.com>
13479 * gst/base/gstbasesink.c: (gst_basesink_set_property),
13480 (gst_basesink_preroll_queue_empty),
13481 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
13482 (gst_basesink_event), (gst_basesink_do_sync),
13483 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
13484 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
13485 (gst_basesink_change_state):
13486 Reworked the base sink, handle event and buffer serialisation
13487 correctly and removed possible deadlock.
13488 Handle EOS correctly.
13490 2005-06-25 Wim Taymans <wim@fluendo.com>
13492 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
13493 (gst_pipeline_change_state):
13494 * tools/gst-launch.c: (check_intr), (event_loop), (main):
13495 Allow elements to post EOS in the state change function.
13496 Fix up -launch, make it exit the poll loop when the
13497 pipeline actually changed state.
13498 Fix up warning parsing in -launch.
13500 2005-06-25 Wim Taymans <wim@fluendo.com>
13502 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
13503 (gst_tee_sink_activate):
13504 Core takes STREAM_LOCK for us now.
13506 2005-06-25 Wim Taymans <wim@fluendo.com>
13508 * gst/gstelement.c: (gst_element_get_state_func),
13509 (gst_element_set_state):
13510 * gst/gstelement.h:
13511 * gst/gstmessage.c: (gst_message_parse_error),
13512 (gst_message_parse_warning):
13513 Keep track of current target state while performing a state
13514 change so that subclasses can do something interesting.
13515 Fix parsing of warning/error messages when GError is NULL.
13517 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
13519 * docs/gst/Makefile.am:
13520 * docs/gst/gstreamer-docs.sgml:
13521 * docs/gst/gstreamer-sections.txt:
13522 * docs/gst/gstreamer.types:
13523 * docs/gst/tmpl/gstbasesink.sgml:
13524 * docs/gst/tmpl/gstbasesrc.sgml:
13525 * docs/gst/tmpl/gstbin.sgml:
13526 * docs/gst/tmpl/gstcompat.sgml:
13527 * docs/gst/tmpl/gstfakesink.sgml:
13528 * docs/gst/tmpl/gstfakesrc.sgml:
13529 * docs/gst/tmpl/gstfilesink.sgml:
13530 * docs/gst/tmpl/gstfilesrc.sgml:
13531 * docs/gst/tmpl/gstindex.sgml:
13532 * docs/manual/appendix-quotes.xml:
13533 * gst/base/gstbasesrc.h:
13534 * gst/elements/gstfakesrc.h:
13535 * gst/gstmessage.h:
13536 start pulling in base classes and elements in our docs
13538 2005-06-24 Stefan Kost <ensonic@users.sf.net>
13540 * docs/gst/Makefile.am:
13541 * docs/libs/Makefile.am:
13542 fixed make distcheck with gtk-doc 1.3
13544 2005-06-23 Wim Taymans <wim@fluendo.com>
13546 * gst/gstelement.c: (gst_element_get_state_func),
13547 (gst_element_set_state), (gst_element_change_state):
13548 When the state did not change, also report NO_PREROLL
13551 2005-06-23 Wim Taymans <wim@fluendo.com>
13553 * gst/gstpad.c: (gst_pad_event_default):
13554 * gst/gstqueue.c: (gst_queue_loop):
13555 No unsafe task pausing please.
13557 2005-06-23 Wim Taymans <wim@fluendo.com>
13559 * gst/schedulers/threadscheduler.c:
13560 (gst_thread_scheduler_task_start),
13561 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
13562 Ref the task before pushing it on the threadpool. This
13563 makes sure that we have a ref when the threadfunction is
13566 2005-06-23 Andy Wingo <wingo@pobox.com>
13568 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
13569 offset is greater than the file's size.
13571 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
13572 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
13573 * gst/gstobject.c (gst_object_class_init): Make the class lock
13574 recursive. Wim won't let me drop deep_notify. Decodebin works
13575 again, whoopdy doo.
13577 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
13578 internal pad, and hacks accordingly. Doesn't do it on the target
13579 pad because we change its caps. Probably catches all cases of
13581 (gst_ghost_pad_set_property): Connect to notify::caps as
13584 * tests/network-clock.scm (plot-simulation): Pipe data to the
13585 elite python skript.
13587 * tests/network-clock-utils.scm (define-parameter): New macro,
13588 defines a parameter that can be set via the command line.
13589 (set-parameter!, parse-parameter-arguments): Command line args
13592 * tests/plot-data: Simple matplotlib-based plotter, takes input on
13595 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
13597 * gst/elements/gsttypefindelement.c:
13598 (gst_type_find_element_handle_event):
13599 Don't restart typefinding on a discont.
13600 * gst/gstelement.c: (gst_element_set_state):
13601 Debug spelling fix.
13602 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
13603 Allow changing mode of an active pad.
13604 Debug output fixes.
13605 * gst/registries/gstlibxmlregistry.c: (load_feature):
13606 Don't cast a static pad template to a normal pad template.
13608 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
13610 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13611 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13612 remove gst_strtoll completely, since it didn't actually do
13613 anything more than what g_ascii_strtoull already does.
13614 check for range errors when deserializing
13615 do a cast for the unsigned cases; but further fixing needs
13616 a decision on what the interpretation of "(int)" and
13617 deserialization should be for values that fall outside the
13618 type's boundaries (ie, refuse, or interpret as casting)
13620 2005-06-23 Wim Taymans <wim@fluendo.com>
13622 * check/Makefile.am:
13623 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
13624 * docs/design/part-live-source.txt:
13625 * docs/design/part-states.txt:
13626 * gst/base/gstbasesrc.c: (gst_basesrc_init),
13627 (gst_basesrc_set_live), (gst_basesrc_is_live),
13628 (gst_basesrc_get_range), (gst_basesrc_activate),
13629 (gst_basesrc_change_state):
13630 * gst/base/gstbasesrc.h:
13631 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13632 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13633 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
13634 * gst/gstelement.c: (gst_element_get_state_func),
13635 (gst_element_set_state):
13636 * gst/gstelement.h:
13638 * tools/gst-launch.c: (event_loop), (main):
13639 Added support for live sources and other elements that
13641 Updated design docs, added live-source design doc.
13642 Implemented live source functionality in basesrc
13643 Fix error condition in _bin_get_state()
13644 Implement live source handling in -launch.
13645 Added check for live sources.
13646 Fixed case in GstBin where elements were changed state
13650 2005-06-23 Andy Wingo <wingo@pobox.com>
13652 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
13653 borken refcounting.
13655 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
13656 gst_caps_replace takes care of this for us.
13658 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
13659 gst_pad_set_caps on the target, not just its setcaps() function.
13661 * tests/network-clock.scm:
13662 * tests/network-clock-utils.scm: A network clock simulator.
13663 Something of an algorithmic testbed before doing something in C.
13665 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
13667 * check/Makefile.am:
13668 * check/gst/capslist.h:
13669 copy over from 0.8, and add two with bitmasks specified with
13671 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13672 add test to parse everything from capslist.h
13673 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
13675 add test for structure deserialization
13676 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13677 add tests for deserialization of strings to int types
13678 * gst/gststructure.c: (gst_structure_nth_field_name):
13679 * gst/gststructure.h:
13680 add a way to get the name of a field referenced by index
13681 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13682 instead of checking if the resulting long long lies between
13683 min and max, we check if the long long would fit into
13684 a number of bytes for the final type.
13685 This fixes cases where a string represents 2^32 - 1, which
13686 when cast to int would be the (valid) -1, but is bigger than
13689 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
13691 * gst/parse/grammar.y:
13692 add a log line for type deserialization
13694 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
13696 * check/gst/gstvalue.c: (START_TEST):
13697 * gst/gstvalue.c: (gst_value_deserialize):
13698 return long long, not int, so gint64 deserialization actually
13699 works. Is there any flag that makes the compiler check this ?
13702 2005-06-22 Wim Taymans <wim@fluendo.com>
13705 Added convenience macros for setting buffers in GValue.
13707 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
13709 * check/gst/.cvsignore:
13710 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13711 add a test deserializing int64, and comment part out because
13714 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
13716 * check/Makefile.am:
13717 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
13718 * testsuite/Makefile.am:
13719 * testsuite/caps/Makefile.am:
13720 * testsuite/caps/value_serialize.c:
13721 * testsuite/test_gst_init.c:
13722 move a value_serialize test over
13724 2005-06-20 Wim Taymans <wim@fluendo.com>
13729 * gst/gstvalue.c: (gst_value_compare_buffer),
13730 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
13731 (gst_value_compare_flags), (gst_value_serialize_flags),
13732 (gst_value_deserialize_flags), (_gst_value_initialize):
13733 Fix serialisation of buffers, they are not boxed types anymore
13735 2005-06-20 Wim Taymans <wim@fluendo.com>
13737 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13738 Testcase to show error in buffer-on-caps serialisation.
13740 2005-06-20 Andy Wingo <wingo@pobox.com>
13742 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
13743 will be adding to later.
13745 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
13746 if its socks fill with rocks.
13747 (gst_system_clock_obtain): Set the name on object construction.
13748 Avoid double-checked locking.
13750 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
13752 * gst/gsturi.c: (gst_element_make_from_uri):
13753 Fix potential endless loop.
13755 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
13757 * check/Makefile.am:
13759 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
13761 move over from testsuite dir and clean up
13764 * testsuite/Makefile.am:
13765 * testsuite/tags/.cvsignore:
13766 * testsuite/tags/Makefile.am:
13767 * testsuite/tags/merge.c:
13768 remove testsuite/tags
13770 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
13772 * docs/gst/gstreamer-sections.txt:
13773 * docs/gst/tmpl/gstenumtypes.sgml:
13774 * win32/gstenumtypes.c:
13775 clean up documentation build a little
13777 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
13779 * check/gstcheck.h:
13780 add macros for checking refcounts on objects and caps
13781 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
13782 add some more unit tests
13783 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13784 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
13785 fix leaked refcounts (I hope :)) so unittest works
13789 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
13791 * configure.ac: back to HEAD
13793 === release 0.9.1 ===
13795 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
13801 2005-06-17 Andy Wingo <wingo@pobox.com>
13803 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
13804 assert; it's always possible that the pad gets deactivated in
13805 between the checks in gstpad.c and the implementation. Rely on
13806 finish_preroll() to return a FLUSHING or similar instead of on the
13809 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
13810 clock and post an EOS message if we come out of finish_preroll in
13813 2005-06-16 David Schleef <ds@schleef.org>
13815 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13816 (gst_capsfilter_set_property): Allow NULL as possible value
13817 for filter_caps property, indicating GST_CAPS_ANY.
13819 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
13821 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
13823 * gst/schedulers/Makefile.am:
13825 * gstreamer.spec.in:
13828 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
13830 * gstreamer.spec.in:
13833 2005-06-08 Andy Wingo <wingo@pobox.com>
13835 * gst/gstutils.c: RPAD fixes all around.
13836 (gst_element_link_pads): Refcounting fixes.
13838 * tools/gst-inspect.c:
13839 * tools/gst-xmlinspect.c:
13841 * gst/base/gsttypefindhelper.c:
13842 * gst/base/gstbasesink.c:
13843 * gst/gstqueue.c: RPAD fixes.
13845 * gst/gstghostpad.h:
13846 * gst/gstghostpad.c: New ghost pad implementation as full proxy
13847 pads. The tricky thing is they provide both source and sink
13848 interfaces, since they proxy the internal pad for the external
13849 pad, and vice versa. Implement with lower-level ProxyPad objects,
13850 with the interior proxy pad as a child of the exterior ghost pad.
13851 Should write a doc on this.
13853 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
13854 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
13857 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
13858 pads are real pads. No ghost pads in this file. Not documenting
13859 the myriad s/RPAD/PAD/ and REALIZE fixes.
13860 (gst_pad_class_init): Add properties for "direction" and
13861 "template". Both are construct-only, so they can't change during
13862 the life of the pad. Fixes properly deriving from GstPad.
13863 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
13864 derived objects, just set properties when creating the objects via
13866 (gst_pad_get_parent): Implement as a function, return NULL if the
13867 parent is not an element.
13868 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
13869 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
13871 * gst/gstobject.c (gst_object_class_init): Make name a construct
13872 property. Don't set it in the object init.
13874 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
13875 with UNKNOWN direction.
13876 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
13877 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
13878 (gst_element_remove_pad): Remove ghost-pad special cases.
13879 (gst_element_pads_activate): Remove rpad cruft.
13881 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
13882 catch the pad's-parent-not-an-element case.
13884 * gst/gst.h: Include gstghostpad.h.
13886 * gst/gst.c (init_post): No more real, ghost pads.
13888 * gst/Makefile.am: Add gstghostpad.[ch].
13890 * check/Makefile.am:
13891 * check/gst/gstbin.c:
13892 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
13893 into a bin creates ghost pads, and that the refcounts are right.
13894 Partly moved from gstbin.c.
13896 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
13898 * check/gst-libs/.cvsignore:
13899 * check/gst/.cvsignore:
13900 * check/pipelines/.cvsignore:
13902 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
13903 (START_TEST), (cleanup_suite), (main):
13904 add some tests related to cleanup after running pipelines
13906 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
13908 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
13909 add a testsuite for GstBuffer
13911 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
13913 * gst/gstminiobject.h:
13914 add defines for accessing the refcount
13916 2005-06-03 Stefan Kost <ensonic@users.sf.net>
13918 * Makefile.am: added support for html unit test coverage reports
13920 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
13922 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13923 Free existing caps if the capsfilter changes. Add a FIXME about
13924 setting those caps on the pads.
13926 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
13927 Before adding a ghost pad to a parent bin, check that there isn't
13928 already one for the element on the bin. Prevents infinite recursion
13929 when using decodebin in parse pipelines. Andy says he'll rewrite the
13930 way this works anyway, so ignore the hack.
13932 2005-06-02 Andy Wingo <wingo@pobox.com>
13934 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
13935 file size, pass it on to the type find helper.
13937 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
13938 segment_start and segment_end properly according to the seek
13939 method. Segment_end is still a bit flaky because offset can be
13940 negative for CUR and END cases, but it takes -1 as an "unset"
13943 2005-06-02 Wim Taymans <wim@fluendo.com>
13945 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
13946 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
13947 (gst_basesink_activate):
13948 * gst/base/gstbasesink.h:
13949 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13950 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13951 (gst_pad_query), (gst_pad_start_task):
13953 * gst/gstqueue.c: (gst_queue_bufferalloc),
13954 (gst_queue_handle_sink_event), (gst_queue_chain):
13955 Bufferalloc: return GstFlowReturn to more accuratly report
13956 why allocation failed.
13958 2005-06-02 Wim Taymans <wim@fluendo.com>
13960 * gst/gstpipeline.c: (gst_pipeline_send_event):
13961 Take snapshot of state without blocking.
13963 2005-06-02 Wim Taymans <wim@fluendo.com>
13965 * docs/design/part-TODO.txt:
13966 * docs/design/part-caps.txt:
13967 * docs/design/part-clocks.txt:
13968 * docs/design/part-negotiation.txt:
13969 * docs/design/part-preroll.txt:
13972 2005-05-30 Wim Taymans <wim@fluendo.com>
13974 * gst/elements/gstidentity.c: (gst_identity_event),
13975 (gst_identity_transform), (gst_identity_get_property):
13976 Protect last_message property as it is accessed from
13979 2005-05-30 Wim Taymans <wim@fluendo.com>
13981 * gst/gstelement.c: (gst_element_init),
13982 (gst_element_pads_activate), (gst_element_change_state):
13983 Slicker pad activation code.
13985 2005-05-30 Wim Taymans <wim@fluendo.com>
13988 * gst/gstelement.h:
13989 * gst/gstelementfactory.h:
13991 Move elementfactory methods to separate .h file.
13993 2005-05-30 Wim Taymans <wim@fluendo.com>
13995 * docs/design/part-overview.txt:
13996 * gst/gstsystemclock.h:
13997 Small typo fixes, doc updates.
13999 2005-05-30 Wim Taymans <wim@fluendo.com>
14001 * gst/gst.c: (gst_init_get_popt_table), (init_post),
14002 (init_popt_callback):
14003 Remove cpu-opt flag.
14005 2005-05-30 Wim Taymans <wim@fluendo.com>
14007 * gst/gstbuffer.c: (gst_subbuffer_finalize),
14008 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
14010 Avoid typechecking in places where not needed.
14011 Added accessor for malloc_data.
14013 2005-05-30 Wim Taymans <wim@fluendo.com>
14015 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
14016 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
14017 (gst_pad_configure_sink), (gst_pad_configure_src),
14018 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
14019 (gst_pad_start_task):
14020 Propagate errors from _set_caps() in configure_src/sink
14021 functions instead of returning TRUE.
14022 FLUSH events can travel up and downstream
14025 2005-05-30 Wim Taymans <wim@fluendo.com>
14027 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14028 (gst_basesink_activate):
14029 Handle EOS in preroll.
14031 2005-05-30 Wim Taymans <wim@fluendo.com>
14033 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14034 (gst_queue_loop), (gst_queue_handle_src_event):
14035 Remove old pieces of code
14036 Flushing the queue in an upstream event is a very bad idea.
14038 2005-05-26 Andy Wingo <wingo@pobox.com>
14040 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
14041 gst_value_set_mini_object so as to add a ref on the object (which
14042 will be removed when the value is unset).
14044 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
14045 arg type in ::handoff.
14047 * gst/gstelement.c (gst_element_change_state): Also deactivate
14048 pads in READY->NULL, just in case the element didn't make it to
14049 PAUSED. Wingo tested, Wim approved.
14051 2005-05-26 Wim Taymans <wim@fluendo.com>
14053 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14054 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
14055 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
14056 A flushing pad cannot be used to alloc_buffer from.
14058 2005-05-26 Wim Taymans <wim@fluendo.com>
14060 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
14061 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
14062 (gst_bus_source_dispatch), (gst_bus_source_finalize),
14063 (gst_bus_create_watch), (gst_bus_add_watch_full):
14065 Implement a real GSource and use g_main_context_wakeup() to
14066 signal new messages instead of the socketpair.
14068 2005-05-25 Wim Taymans <wim@fluendo.com>
14070 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
14071 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
14072 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14073 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14074 (gst_pad_send_event), (gst_pad_start_task):
14075 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
14076 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
14077 (gst_queue_sink_activate), (gst_queue_src_activate),
14078 (gst_queue_change_state):
14080 Fix state changes for non sinks. We now change sinks, then elements
14081 with unconnected srcpads, then the rest.
14082 More efficient queue unlocking in flush and state changes.
14083 Set the pad activate mode even if it does not have an activate
14086 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14088 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
14089 Don't go in pull mode for non-seekable sources.
14090 * gst/elements/gsttypefindelement.h:
14091 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14092 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
14093 (free_entry), (stop_typefinding),
14094 (gst_type_find_element_handle_event), (find_peek),
14095 (gst_type_find_element_chain), (do_pull_typefind),
14096 (gst_type_find_element_change_state):
14097 Allow typefinding (w/o seeking) in push-mode, simplified version
14098 of what was in 0.8.
14099 * gst/gstutils.c: (gst_buffer_join):
14101 gst_buffer_join() from 0.8.
14103 2005-05-25 Wim Taymans <wim@fluendo.com>
14105 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
14106 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
14107 (gst_pad_send_event), (gst_pad_start_task):
14108 Disable attempt at mode switching until it is figured out.
14110 2005-05-25 Wim Taymans <wim@fluendo.com>
14112 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
14113 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
14114 (gst_basesink_finish_preroll), (gst_basesink_chain),
14115 (gst_basesink_loop), (gst_basesink_activate),
14116 (gst_basesink_change_state):
14117 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
14118 (gst_basesrc_get_range), (gst_basesrc_loop),
14119 (gst_basesrc_activate):
14120 * gst/elements/gsttee.c: (gst_tee_sink_activate):
14121 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14122 (gst_real_pad_init), (gst_real_pad_set_property),
14123 (gst_real_pad_get_property), (gst_pad_set_active),
14124 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
14125 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
14126 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
14127 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
14128 (gst_pad_event_default_dispatch), (gst_pad_event_default),
14129 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
14130 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
14131 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14132 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
14133 (gst_pad_stop_task):
14135 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14136 (gst_queue_loop), (gst_queue_src_activate):
14137 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
14138 (gst_task_get_state):
14140 * gst/schedulers/threadscheduler.c:
14141 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
14142 Implement gst_pad_pause/start/stop_task(), take STREAM lock
14144 Remove ACTIVE pad flag, use FLUSHING everywhere
14145 Added _pad_chain(), _pad_get_range() to call chain/getrange
14147 Add locks around IS_FLUSHING when reading.
14148 Take STREAM lock in chain(), get_range() functions so plugins
14149 don't need to take it anymore.
14153 2005-05-25 Wim Taymans <wim@fluendo.com>
14155 * tools/gst-launch.c: (event_loop):
14156 Unref message after using its contents instead of
14159 2005-05-24 Wim Taymans <wim@fluendo.com>
14161 * docs/design/draft-ghostpads.txt:
14162 * docs/design/draft-push-pull.txt:
14163 * docs/design/draft-query.txt:
14164 * docs/design/part-overview.txt:
14165 Docs updates, added general overview doc.
14167 2005-05-21 David Schleef <ds@schleef.org>
14169 * docs/gst/tmpl/old/GstBin.sgml:
14170 * docs/gst/tmpl/old/GstBuffer.sgml:
14171 * docs/gst/tmpl/old/GstCaps.sgml:
14172 * docs/gst/tmpl/old/GstClock.sgml:
14173 * docs/gst/tmpl/old/GstCompat.sgml:
14174 * docs/gst/tmpl/old/GstData.sgml:
14175 * docs/gst/tmpl/old/GstElement.sgml:
14176 * docs/gst/tmpl/old/GstEvent.sgml:
14177 * docs/gst/tmpl/old/GstIndex.sgml:
14178 * docs/gst/tmpl/old/GstStructure.sgml:
14179 * docs/gst/tmpl/old/GstTag.sgml:
14180 * docs/gst/tmpl/old/cothreads.sgml:
14181 * docs/gst/tmpl/old/cothreads_compat.sgml:
14182 * docs/gst/tmpl/old/gettext.sgml:
14183 * docs/gst/tmpl/old/gobject2gtk.sgml:
14184 * docs/gst/tmpl/old/grammar.tab.sgml:
14185 * docs/gst/tmpl/old/gst-i18n-app.sgml:
14186 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
14187 * docs/gst/tmpl/old/gst_private.sgml:
14188 * docs/gst/tmpl/old/gstaggregator.sgml:
14189 * docs/gst/tmpl/old/gstarch.sgml:
14190 * docs/gst/tmpl/old/gstatomic_impl.sgml:
14191 * docs/gst/tmpl/old/gstbufferstore.sgml:
14192 * docs/gst/tmpl/old/gstdata_private.sgml:
14193 * docs/gst/tmpl/old/gstdisksink.sgml:
14194 * docs/gst/tmpl/old/gstdisksrc.sgml:
14195 * docs/gst/tmpl/old/gstelementfactory.sgml:
14196 * docs/gst/tmpl/old/gstextratypes.sgml:
14197 * docs/gst/tmpl/old/gstfakesink.sgml:
14198 * docs/gst/tmpl/old/gstfakesrc.sgml:
14199 * docs/gst/tmpl/old/gstfdsink.sgml:
14200 * docs/gst/tmpl/old/gstfdsrc.sgml:
14201 * docs/gst/tmpl/old/gstfilesink.sgml:
14202 * docs/gst/tmpl/old/gstfilesrc.sgml:
14203 * docs/gst/tmpl/old/gsthttpsrc.sgml:
14204 * docs/gst/tmpl/old/gstidentity.sgml:
14205 * docs/gst/tmpl/old/gstindexfactory.sgml:
14206 * docs/gst/tmpl/old/gstmarshal.sgml:
14207 * docs/gst/tmpl/old/gstmd5sink.sgml:
14208 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
14209 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
14210 * docs/gst/tmpl/old/gstpadtemplate.sgml:
14211 * docs/gst/tmpl/old/gstpipefilter.sgml:
14212 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
14213 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
14214 * docs/gst/tmpl/old/gstshaper.sgml:
14215 * docs/gst/tmpl/old/gstspider.sgml:
14216 * docs/gst/tmpl/old/gstspideridentity.sgml:
14217 * docs/gst/tmpl/old/gststatistics.sgml:
14218 * docs/gst/tmpl/old/gsttee.sgml:
14219 * docs/gst/tmpl/old/gsttimecache.sgml:
14220 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
14221 * docs/gst/tmpl/old/gstxmlregistry.sgml:
14222 * docs/gst/tmpl/old/gthread-cothreads.sgml:
14223 * docs/gst/tmpl/old/types.sgml:
14224 I didn't intend to add these or check them in.
14226 2005-05-19 David Schleef <ds@schleef.org>
14228 * configure.ac: Use -no-common everywhere. In a sane world, it
14229 would be the default in libtool, because without it, you can't
14230 build DLLs on Windows.
14231 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
14232 * docs/gst/gstreamer-sections.txt:
14233 * docs/gst/tmpl/gstcpu.sgml:
14234 * docs/gst/tmpl/gstdata.sgml:
14235 * docs/gst/tmpl/gstthread.sgml:
14237 2005-05-19 David Schleef <ds@schleef.org>
14239 * gst/gstminiobject.c: (gst_value_set_mini_object),
14240 (gst_value_take_mini_object), (gst_value_get_mini_object):
14241 * gst/gstminiobject.h: Add GValue set/get functions.
14243 2005-05-19 Wim Taymans <wim@fluendo.com>
14245 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
14246 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
14247 (gst_subbuffer_init), (gst_buffer_is_span_fast):
14249 * gst/gstbus.c: (gst_bus_post):
14250 * gst/gstelement.c: (gst_element_get_random_pad):
14251 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
14252 Make subbufer unref the parent in finalize.
14253 some more debugging info.
14256 2005-05-19 Wim Taymans <wim@fluendo.com>
14258 * gst/base/gstbasesink.c: (gst_basesink_class_init),
14259 (gst_basesink_init), (gst_basesink_finalize),
14260 (gst_basesink_activate), (gst_basesink_change_state):
14261 Don't free preroll queue too early.
14263 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14267 Hi, I'm outdated. Please shoot me.
14269 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14271 * gst/gstpipeline.c: (gst_pipeline_send_event):
14272 Do not access variables after they have been deleted.
14274 2005-05-19 Wim Taymans <wim@fluendo.com>
14276 * tools/gst-inspect.c: (print_plugin_features):
14277 A plugin feature does unfortunatly not use the
14280 2005-05-18 Wim Taymans <wim@fluendo.com>
14282 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
14283 Port _span() functions to new subbuffers.
14285 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14287 * gst/gstbin.c: (gst_bin_add_func):
14288 Fix clock settery in bins when adding kids after the clock has
14291 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14293 * gst/elements/gstidentity.c: (gst_identity_class_init):
14294 Workaround until signals support GstMiniObject.
14296 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
14299 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
14301 2005-05-18 Wim Taymans <wim@fluendo.com>
14303 * gst/base/Makefile.am:
14304 * gst/base/gstadapter.c: (gst_adapter_base_init),
14305 (gst_adapter_class_init), (gst_adapter_init),
14306 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
14307 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
14308 (gst_adapter_flush), (gst_adapter_available),
14309 (gst_adapter_available_fast):
14310 * gst/base/gstadapter.h:
14311 Ported and added adapter to the base classes.
14313 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14316 * gst/gstmessage.c:
14317 Make sure the class is reffed/unreffed once before threads can be
14318 used. Fixes #304551.
14320 2005-05-17 Wim Taymans <wim@fluendo.com>
14322 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
14323 (gst_basesink_chain_unlocked), (gst_basesink_activate):
14324 * gst/gstminiobject.c: (gst_mini_object_get_type),
14325 (gst_mini_object_free):
14326 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
14327 (gst_pad_push), (gst_pad_push_event):
14328 * gst/gstqueue.c: (gst_queue_change_state):
14329 Don't queue buffers in basesink when we are flushing.
14330 Unref buffer when flushing in basesink.
14331 Flush queue when going to READY
14332 Unref buffer when _push() returns an error.
14333 Don't free MiniObject instance when refcount is incremented
14334 in _finalize() so that we can recover objects.
14336 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
14338 * docs/manual/advanced-schedulers.xml:
14339 * docs/manual/appendix-checklist.xml:
14340 * docs/pwg/advanced-clock.xml:
14341 * docs/pwg/advanced-interfaces.xml:
14342 * docs/pwg/advanced-request.xml:
14343 * docs/pwg/advanced-types.xml:
14344 * docs/pwg/intro-preface.xml:
14345 * examples/plugins/example.c: (gst_example_get_type),
14346 (gst_example_class_init), (gst_example_chain),
14347 (gst_example_set_property), (gst_example_get_property),
14348 (gst_example_change_state), (plugin_init):
14349 * examples/plugins/example.h:
14352 2005-05-17 Wim Taymans <wim@fluendo.com>
14354 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
14355 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
14356 * gst/gstqueue.c: (gst_queue_change_state):
14357 Clear queue when going to READY.
14358 Remove IN_SETCAPS flag too.
14360 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
14362 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
14363 Remove implicit cast from gboolean to GstElementStateReturn;
14364 make sure we still return failure in paused => ready case if
14365 the parent class fails to change state and our own stop
14368 2005-05-17 Wim Taymans <wim@fluendo.com>
14370 * tools/gst-launch.c: (event_loop):
14371 Message was unreffed too soon.
14373 2005-05-16 Andy Wingo <wingo@pobox.com>
14375 * gst/gstbin.c (sink_iterator_filter): Err... um...
14377 * check/gst/gstbin.c (test_ghost_pads): New test for the
14378 ghosting-if-elements-not-in-same-bin behavior.
14380 2005-05-16 David Schleef <ds@schleef.org>
14382 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
14383 accessing refcount directly.
14385 2005-05-15 David Schleef <ds@schleef.org>
14387 * check/Makefile.am: remove GstData checks
14388 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
14389 * gst/Makefile.am: add miniobject, remove data
14390 * gst/gst.h: add miniobject, remove data
14391 * gst/gstdata.c: remove
14392 * gst/gstdata.h: remove
14393 * gst/gstdata_private.h: remove
14394 * gst/gsttypes.h: remove GstEvent and GstMessage
14395 * gst/gstelement.c: (gst_element_post_message): fix for API changes
14396 * gst/gstmarshal.list: change BOXED -> OBJECT
14398 Implement GstMiniObject.
14399 * gst/gstminiobject.c:
14400 * gst/gstminiobject.h:
14402 Modify to be subclasses of GstMiniObject.
14403 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
14404 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
14405 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
14406 (gst_subbuffer_get_type), (gst_subbuffer_init),
14407 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
14410 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
14411 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
14412 (_gst_event_copy), (gst_event_new):
14414 * gst/gstmessage.c: (_gst_message_initialize),
14415 (gst_message_get_type), (gst_message_class_init),
14416 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
14417 (gst_message_new), (gst_message_new_error),
14418 (gst_message_new_warning), (gst_message_new_tag),
14419 (gst_message_new_state_changed), (gst_message_new_application):
14420 * gst/gstmessage.h:
14421 * gst/gstprobe.c: (gst_probe_perform),
14422 (gst_probe_dispatcher_dispatch):
14424 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
14425 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
14426 (_gst_query_copy), (gst_query_new):
14428 Update elements for GstData -> GstMiniObject changes
14430 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
14431 (gst_queue_chain), (gst_queue_loop):
14432 * gst/elements/gstbufferstore.c:
14433 (gst_buffer_store_add_buffer_func),
14434 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
14435 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14436 (gst_fakesink_render):
14437 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14438 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
14439 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
14440 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
14441 (gst_filesrc_create_read):
14442 * gst/elements/gstidentity.c: (gst_identity_class_init):
14443 * gst/elements/gsttypefindelement.c:
14444 (gst_type_find_element_src_event), (free_entry_buffers),
14445 (gst_type_find_element_handle_event):
14446 * libs/gst/dataprotocol/dataprotocol.c:
14447 (gst_dp_header_from_buffer):
14448 * libs/gst/dataprotocol/dataprotocol.h:
14449 * libs/gst/dataprotocol/dp-private.h:
14451 2005-05-15 David Schleef <ds@schleef.org>
14453 * gst/elements/gstelements.c: Don't include headers that were
14456 2005-05-15 David Schleef <ds@schleef.org>
14458 * gst/elements/Makefile.am: Remove some elements that don't
14459 need to be in the core (or even exist at all).
14460 * gst/elements/gstaggregator.c:
14461 * gst/elements/gstaggregator.h:
14462 * gst/elements/gstmd5sink.c:
14463 * gst/elements/gstmd5sink.h:
14464 * gst/elements/gstmultifilesrc.c:
14465 * gst/elements/gstmultifilesrc.h:
14466 * gst/elements/gstpipefilter.c:
14467 * gst/elements/gstpipefilter.h:
14468 * gst/elements/gstshaper.c:
14469 * gst/elements/gstshaper.h:
14470 * gst/elements/gststatistics.c:
14471 * gst/elements/gststatistics.h:
14472 * po/POTFILES.in: Remove above files.
14474 2005-05-14 Andy Wingo <wingo@pobox.com>
14476 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
14477 so as to get the refs right.
14478 (sink_iterator_filter): New function, wraps bin_element_is_sink,
14479 unreffing objects that don't pass the filter.
14481 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
14482 gst_element_set_bus.
14483 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
14484 normal cases, this will destroy the bus.
14486 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
14489 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
14492 2005-05-13 Andy Wingo <wingo@pobox.com>
14494 * gst/gstutils.c (gst_element_link_pads): Instead of calling
14495 gst_pad_link, call pad_link_maybe_ghosting,
14496 (pad_link_maybe_ghosting): Links pads, making sure that the
14497 elements being linked are in the same bin.
14498 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
14499 Helpers for pad_link_maybe_ghosting.
14501 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
14504 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
14506 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
14508 * docs/design/part-element-source.txt:
14511 2005-05-12 Wim Taymans <wim@fluendo.com>
14513 * gst/base/gstbasesink.c: (gst_basesink_init),
14514 (gst_basesink_activate):
14515 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
14516 (gst_basesrc_is_seekable):
14517 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14518 (bin_element_is_sink), (gst_bin_change_state):
14519 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14520 * gst/gstelement.h:
14521 Identify sinks by their flag to avoid overly complicated
14523 Do state changes even for elements not reachable from the
14525 BaseSink is a sink now :)
14526 Some more debugging info in the basesrc.
14529 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14531 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
14532 Implement _query on a bin, similar to _send_event.
14534 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
14536 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
14537 Discont event offset format should be GST_FORMAT_BYTES,
14538 not GST_FORMAT_TIME.
14540 2005-05-12 Wim Taymans <wim@fluendo.com>
14542 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
14543 Same fix as Ronald's but without the signal.
14545 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14547 * gst/gstutils.c: (gst_element_query_position):
14548 No, an element is not a pad.
14550 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14552 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
14553 (gst_bin_get_state):
14554 If a child is removed from a bin while we remove the child from
14555 the bin and while we're retrieving its state, signal this to the
14556 get_state function so we abort the wait (instead of waiting for
14557 a timeout) and can immediately re-iterate over all other elements.
14559 2005-05-12 Wim Taymans <wim@fluendo.com>
14561 * gst/base/Makefile.am:
14562 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
14563 (gst_basesrc_start):
14564 * gst/base/gstbasesrc.h:
14565 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
14566 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
14567 (gst_pushsrc_init), (gst_pushsrc_create):
14568 * gst/base/gstpushsrc.h:
14569 Added is_seekable to BaseSrc
14570 Added simple PushSrc.
14572 2005-05-11 Wim Taymans <wim@fluendo.com>
14574 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
14575 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14576 (gst_element_link_pads), (gst_element_query_position),
14577 (gst_element_query_convert), (intersect_caps_func),
14578 (gst_pad_query_position), (gst_pad_query_convert):
14579 Fix refcounting in utils function.
14580 No point in trying to activate a pad when it's added, it could
14581 be added from the state change function and then we deadlock, the
14582 element has to decide what to do.
14584 2005-05-10 Andy Wingo <wingo@pobox.com>
14586 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
14587 *all* the arguments.
14589 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
14590 stream lock if it's a FLUSH_DONE; normal flushes don't get the
14591 lock (according to the docs -- if this is wrong change the docs).
14593 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
14594 flush messages in the NULL state.
14596 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
14597 message immediately and return.
14598 (gst_bus_set_flushing): New function. If a bus is flushing, it
14599 flushes out any queued messages and immediately unrefs new
14600 messages. This is so when an element goes to NULL, all of the
14601 unhandled messages coming from it can be freed, and their
14602 references to the element dropped. In other words: message source
14603 ref considered harmful :P
14605 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
14606 we're finished with it.
14608 * gst/gstmessage.c (gst_message_new_state_changed):
14610 2005-05-10 Wim Taymans <wim@fluendo.com>
14612 * gst/gstvalue.c: (gst_value_compare_flags),
14613 (gst_value_serialize_flags), (gst_value_deserialize_flags),
14614 (_gst_value_initialize):
14615 Added flags serialize/deserialize/compare code.
14617 2005-05-09 Andy Wingo <wingo@pobox.com>
14619 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
14620 Intersect the peer's caps with our caps.
14622 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14624 * gst/base/gsttypefindhelper.c: (helper_find_peek):
14625 * gst/elements/gsttypefindelement.c: (find_peek):
14626 Handle negative offsets better. Fixes decodebin.
14628 2005-05-09 Wim Taymans <wim@fluendo.com>
14630 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
14631 (gst_base_transform_event):
14632 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
14633 Implement accept_caps.
14634 Fix silly lock/unlock mismatch in base class.
14636 2005-05-09 Wim Taymans <wim@fluendo.com>
14638 * docs/design/draft-push-pull.txt:
14639 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
14640 * gst/elements/gstfilesink.c: (gst_filesink_init),
14641 (gst_filesink_query):
14642 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14643 (gst_type_find_handle_src_query), (find_element_get_length):
14644 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
14645 * gst/gstelement.h:
14646 * gst/gstmessage.c:
14647 * gst/gstmessage.h:
14648 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
14649 (gst_real_pad_get_caps_unlocked),
14650 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
14651 (gst_pad_event_default_dispatch), (gst_pad_event_default),
14652 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
14653 (gst_real_pad_dispose), (gst_real_pad_finalize),
14654 (gst_pad_load_and_link), (gst_pad_save_thyself),
14655 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
14656 (gst_pad_check_pull_range), (gst_pad_pull_range),
14657 (gst_pad_template_get_type), (gst_pad_template_class_init),
14658 (gst_pad_template_init), (gst_pad_template_dispose),
14659 (name_is_valid), (gst_static_pad_template_get),
14660 (gst_pad_template_new), (gst_static_pad_template_get_caps),
14661 (gst_pad_template_get_caps), (gst_pad_set_element_private),
14662 (gst_pad_get_element_private), (gst_pad_start_task),
14663 (gst_pad_pause_task), (gst_pad_stop_task),
14664 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
14665 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
14666 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
14667 (gst_ghost_pad_new):
14669 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
14670 (gst_query_new_position), (gst_query_set_position),
14671 (gst_query_parse_position), (gst_query_new_convert),
14672 (gst_query_set_convert), (gst_query_parse_convert):
14674 * gst/gstqueryutils.c:
14675 * gst/gstqueryutils.h:
14676 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14677 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14678 (gst_queue_handle_src_query):
14679 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14680 (gst_element_query_position), (gst_element_query_convert),
14681 (intersect_caps_func), (gst_pad_query_position),
14682 (gst_pad_query_convert):
14684 * tools/gst-inspect.c: (print_pad_info):
14685 * tools/gst-xmlinspect.c: (print_element_info):
14686 Remove old query functions. Ported old code.
14687 Added position/convert helper functions to gstutils.
14688 Reordered gstpad.c code, grouping relevant things.
14689 Remove gst_message_new(), always need to speficy a specific
14693 2005-05-09 Andy Wingo <wingo@pobox.com>
14695 * gst/gstiterator.h: Add some includes.
14697 * gst/gstqueryutils.h: Include more headers.
14700 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
14701 some uses of gst_pad_query.
14703 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
14704 NULL out parameters.
14705 (gst_query_new_position): New proc, allocates a new position
14708 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
14709 gstqueryutils.c to the build.
14711 * gst/gststructure.c (gst_structure_set_valist): Implement with
14712 the generic G_VALUE_COLLECT.
14714 2005-05-08 Edward Hervey <bilboed@bilboed.com>
14716 * gst/Makefile.am: (gst_headers):
14717 Added gstqueryutils.h to the list of headers to install, that was
14718 a 'nachty' move wingo :)
14720 2005-05-06 Andy Wingo <wingo@pobox.com>
14723 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
14724 GstData, init a memchunk.
14725 (standard_definitions): Add a few query types, deprecate a few.
14726 (gst_query_get_type): New proc.
14727 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
14729 (gst_query_new_application, gst_query_get_structure): New public
14732 * docs/design/draft-query.txt: Removed LINKS from the query types,
14733 because all the rest can be dispatched to other pads -- seemed
14734 ugly to have a query that couldn't be dispatched. internal_links
14735 is fine as a pad method.
14737 * gst/gstpad.h: Add query2 as a pad method, add the new functions
14738 in gstpad.c, but maintain binary compatibility for the moment.
14739 Will fix before 0.9 is out.
14741 * gst/gstqueryutils.c:
14742 * gst/gstqueryutils.h: New files, implement 3 methods for each
14743 query type: parse_query, parse_response, and set. Probably need an
14746 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
14748 * gst/elements/gstfilesink.c (gst_filesink_query2):
14749 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
14750 query_types, and formats methods.
14752 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
14753 (gst_pad_set_query2_function): New functions.
14754 (gst_real_pad_init): Set query2_default as the default query2
14755 function. Basically just dispatches to internally linked pads.
14759 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
14760 without using the atomic operations. Only one thread can possibly
14761 be accessing the data at this point. Changed so as to avoid
14762 gst_atomic operations.
14764 2005-05-06 Wim Taymans <wim@fluendo.com>
14766 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
14767 Also set caps if we use the fallback buffer alloc.
14769 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
14771 * docs/gst/Makefile.am:
14772 * docs/gst/gstreamer-docs.sgml:
14773 * docs/gst/gstreamer-sections.txt:
14774 * docs/gst/tmpl/gstatomic.sgml:
14775 * docs/gst/tmpl/gstmemchunk.sgml:
14776 * testsuite/elements/struct_i386.h:
14777 * win32/GStreamer.vcproj:
14779 Purge GstAtomic stuff from docs and win32 makefiles as well
14781 2005-05-06 Wim Taymans <wim@fluendo.com>
14783 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
14784 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
14785 * gst/gstpad.c: (gst_pad_peer_get_caps):
14786 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14787 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14788 (gst_queue_src_activate), (gst_queue_change_state):
14790 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14791 (intersect_caps_func):
14792 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
14793 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
14794 Some fixes for the peer_get_caps() change.
14796 2005-05-06 Wim Taymans <wim@fluendo.com>
14798 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14799 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
14800 (gst_basesink_activate):
14801 Actually do something with error codes returned from the push
14804 2005-05-06 Wim Taymans <wim@fluendo.com>
14806 * docs/design/part-element-sink.txt:
14807 * docs/design/part-element-source.txt:
14808 * gst/base/gstbasesink.c: (gst_basesink_class_init),
14809 (gst_basesink_event), (gst_basesink_activate):
14810 * gst/base/gstbasesink.h:
14811 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
14812 (gst_basesrc_activate):
14813 * gst/base/gstbasesrc.h:
14814 * gst/gstelement.c: (gst_element_pads_activate):
14815 Some more documentation.
14816 Fixed scheduling decision in _pads_activate().
14818 2005-05-05 Andy Wingo <wingo@pobox.com>
14820 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
14823 2005-05-05 Wim Taymans <wim@fluendo.com>
14825 * gst/base/Makefile.am:
14826 * gst/base/gstbasesink.h:
14827 * gst/base/gstbasesrc.c: (gst_basesrc_init),
14828 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
14829 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
14830 (gst_collectpads_class_init), (gst_collectpads_init),
14831 (gst_collectpads_finalize), (gst_collectpads_new),
14832 (gst_collectpads_set_function), (gst_collectpads_add_pad),
14833 (find_pad), (gst_collectpads_remove_pad),
14834 (gst_collectpads_is_active), (gst_collectpads_collect),
14835 (gst_collectpads_collect_range), (gst_collectpads_start),
14836 (gst_collectpads_stop), (gst_collectpads_peek),
14837 (gst_collectpads_pop), (gst_collectpads_available),
14838 (gst_collectpads_read), (gst_collectpads_flush),
14839 (gst_collectpads_chain):
14840 * gst/base/gstcollectpads.h:
14841 * gst/elements/Makefile.am:
14842 * gst/elements/gstelements.c:
14843 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14844 (gst_fakesink_get_times), (gst_fakesink_event),
14845 (gst_fakesink_preroll), (gst_fakesink_render):
14846 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14847 (gst_filesink_init), (gst_filesink_set_location),
14848 (gst_filesink_open_file), (gst_filesink_close_file),
14849 (gst_filesink_pad_query), (gst_filesink_event),
14850 (gst_filesink_render), (gst_filesink_change_state):
14851 * gst/elements/gstfilesink.h:
14852 Added object to help in making collect pad based elements.
14854 Make event function in sink baseclass return gboolean.
14856 2005-05-05 Wim Taymans <wim@fluendo.com>
14858 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
14859 (gst_bin_get_by_name):
14861 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
14862 (gst_clock_finalize):
14863 * gst/gstdata.c: (gst_data_replace):
14865 * gst/gstelement.c: (gst_element_request_pad),
14866 (gst_element_pads_activate):
14867 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14868 (gst_object_unref):
14869 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14870 (gst_pad_set_checkgetrange_function),
14871 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
14872 (gst_pad_check_pull_range), (gst_pad_pull_range),
14873 (gst_static_pad_template_get_caps), (gst_pad_start_task),
14874 (gst_pad_pause_task), (gst_pad_stop_task):
14875 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14876 (gst_element_request_pad), (gst_pad_proxy_getcaps):
14877 Fix name lookup in GstBin.
14878 Added _data_replace() function and _buffer_replace()
14879 Use finalize method to clean up clock.
14880 Fix refcounting on request pads.
14881 Fix pad schedule mode error.
14882 Some more object refcounting debug info,
14885 2005-05-04 Andy Wingo <wingo@pobox.com>
14887 * check/Makefile.am:
14888 * docs/gst/tmpl/gstatomic.sgml:
14889 * docs/gst/tmpl/gstplugin.sgml:
14890 * gst/base/gstbasesink.c: (gst_basesink_activate):
14891 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
14892 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
14893 (gst_basesrc_query), (gst_basesrc_set_property),
14894 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
14895 (gst_basesrc_activate):
14896 * gst/base/gstbasesrc.h:
14897 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
14898 (gst_base_transform_src_activate):
14899 * gst/elements/gstelements.c:
14900 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14901 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14902 * gst/elements/gsttee.c: (gst_tee_sink_activate):
14903 * gst/elements/gsttypefindelement.c: (find_element_get_length),
14904 (gst_type_find_element_checkgetrange),
14905 (gst_type_find_element_activate):
14906 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
14907 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
14908 (gst_caps_load_thyself):
14909 * gst/gstelement.c: (gst_element_pads_activate),
14910 (gst_element_save_thyself), (gst_element_restore_thyself):
14911 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
14912 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
14914 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
14915 (gst_xml_parse_file), (gst_xml_parse_memory),
14916 (gst_xml_get_element), (gst_xml_make_element):
14917 * gst/indexers/gstfileindex.c: (gst_file_index_load),
14918 (_file_index_id_save_xml), (gst_file_index_commit):
14919 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
14920 (read_enum), (load_pad_template), (load_feature), (load_plugin),
14922 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
14923 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
14924 * tools/gst-complete.c: (main):
14925 * tools/gst-compprep.c: (main):
14926 * tools/gst-inspect.c: (print_element_properties_info):
14927 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
14928 * tools/gst-xmlinspect.c: (print_element_properties):
14931 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
14933 * gst/gstplugin.c: (gst_plugin_check_module),
14934 (gst_plugin_check_file), (gst_plugin_load_file):
14935 apply patch from #172526 to make register work on MacOSX
14937 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
14939 * docs/gst/tmpl/gstconfig.sgml:
14940 * gst/gstconfig.h.in:
14941 move documentation for some symbols. Add doc for GST_PTR_FORMAT
14942 * testsuite/debug/printf_extension.c: (main):
14943 Do not use GST_PTR_FORMAT on pointers to types with
14944 sizeof < sizeof(gpointer). Fixes test on 64-bit
14945 * testsuite/elements/property.h:
14946 use correct printf format
14948 2005-05-02 Wim Taymans <wim@fluendo.com>
14950 * docs/design/draft-push-pull.txt:
14951 * docs/design/draft-query.txt:
14952 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
14953 (gst_basesrc_start):
14954 Added draft for new query API.
14955 Added draft for better selecting scheduling methods.
14956 Make basesrc ignore length if the subclass does not support
14959 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
14962 possible fixes for automake-1.5 - _LIBADD is reserved
14964 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
14966 * docs/faq/Makefile.am:
14967 * docs/manual/Makefile.am:
14968 * docs/manuals.mak:
14969 * docs/pwg/Makefile.am:
14971 possible fixes for automake-1.5
14973 2005-04-28 Wim Taymans <wim@fluendo.com>
14975 * gst/base/gstbasesink.c: (gst_basesink_base_init),
14976 (gst_basesink_pad_getcaps), (gst_basesink_init),
14977 (gst_basesink_do_sync):
14978 * gst/gstclock.c: (gst_clock_entry_new):
14979 * gst/gstevent.c: (gst_event_discont_get_value):
14980 * gst/gstpipeline.c: (pipeline_bus_handler),
14981 (gst_pipeline_change_state):
14982 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14983 Better debugging of clocking info.
14984 Allow NULL values when getting discont values.
14986 2005-04-27 Wim Taymans <wim@fluendo.com>
14988 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14989 * check/gst/gstpad.c: (gst_pad_suite):
14990 Increase timeout for checks.
14992 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14994 * check/Makefile.am:
14995 fix the broken rule for cleanup. Apparently this rule is
14996 only needed on FC2, so maybe this warrants further autotool
14999 2005-04-26 Wim Taymans <wim@fluendo.com>
15001 * gst/gsttrashstack.h:
15002 Ooohh. a nasty one! After having a failed pop() from the stack,
15003 it's possible that the stack is empty. In that case, don't
15004 follow the NULL pointer.
15006 2005-04-25 Wim Taymans <wim@fluendo.com>
15008 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15009 (gst_pad_set_checkgetrange_function),
15010 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
15011 (gst_pad_check_pull_range), (gst_pad_pull_range),
15012 (gst_static_pad_template_get_caps), (gst_pad_start_task),
15013 (gst_pad_pause_task), (gst_pad_stop_task):
15014 * gst/gstplugin.c: (gst_plugin_load):
15016 Remove gst_library_load as it does more harm than good with
15017 the new g_module flags.
15018 Revert bogus caps template check in pad linking, pad caps
15019 are important when linking not the template, which is more
15020 general than the current caps.
15022 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15024 * gst/autoplug/.cvsignore:
15025 * gst/autoplug/Makefile.am:
15026 * gst/autoplug/gstsearchfuncs.c:
15027 * gst/autoplug/gstsearchfuncs.h:
15028 * gst/autoplug/gstspider.c:
15029 * gst/autoplug/gstspider.h:
15030 * gst/autoplug/gstspideridentity.c:
15031 * gst/autoplug/gstspideridentity.h:
15032 * gst/autoplug/spidertest.c:
15035 2005-04-25 Wim Taymans <wim@fluendo.com>
15037 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15038 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15039 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
15040 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
15042 Added stubs for unimplemented functions.
15044 2005-04-24 David Schleef <ds@schleef.org>
15046 * gst/gstpad.h: Disable some unimplemented functions. Wim,
15049 2005-04-24 David Schleef <ds@schleef.org>
15051 Convert everything from GstAtomicInt to g_atomic_int_*, and
15056 * gst/gstatomic_impl.h:
15064 * gst/gstdata_private.h:
15068 * gst/gstmessage.c:
15071 * gst/gststructure.c:
15072 * gst/gststructure.h:
15073 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
15076 2005-04-24 David Schleef <ds@schleef.org>
15078 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
15079 make the regressions tests work. Remove some code that is no
15081 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
15082 Disable warning for pads without templates.
15084 2005-04-24 David Schleef <ds@schleef.org>
15086 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
15087 functions that handle filtered links.
15088 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
15090 * gst/gstutils.c: Fix/remove utility functions that handle
15093 * gst/gstvalue.c: Add serialization/deserialization of caps
15094 * gst/parse/grammar.y: Ignore filtered caps when linking. This
15095 requires fixing so that the filter caps notation creates
15096 a capsfilter element and sets the filter_caps property. I
15097 think everyone probably wants to keep the shorthand notation.
15098 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
15099 * docs/gst/tmpl/gstpad.sgml:
15101 * gst/elements/gstelements.c: Register capsfilter element.
15102 * gst/Makefile.am: fix spacing
15103 * docs/random/ds/0.9-suggested-changes: random
15105 2005-04-23 David Schleef <ds@schleef.org>
15107 * gst/elements/Makefile.am:
15108 * gst/elements/gstcapsfilter.c: New element that acts like an
15109 identity, but filters caps. Will eventually replace filtered
15110 caps in pad linking.
15111 * gst/gstutils.c: (gst_element_create_all_pads): New function
15112 to create all the ALWAYS pads that are registered with an
15113 element class. This functionality should eventually be
15114 merged in with GstElement initialization.
15116 * testsuite/trigger/README: part of trigger test code that should
15117 have been checked in a long time ago.
15119 2005-04-23 David Schleef <ds@schleef.org>
15121 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
15122 needed with new versions of libtool (nobody will confirm this),
15123 and hard to carry around.
15124 * gst/autoplug/Makefile.am:
15125 * gst/base/Makefile.am:
15126 * gst/elements/Makefile.am:
15127 * gst/indexers/Makefile.am:
15128 * gst/schedulers/Makefile.am:
15129 * libs/gst/bytestream/Makefile.am:
15130 * libs/gst/control/Makefile.am:
15131 * libs/gst/dataprotocol/Makefile.am:
15132 * libs/gst/getbits/Makefile.am:
15134 2005-04-21 Wim Taymans <wim@fluendo.com>
15136 * docs/design/draft-push-pull.txt:
15137 * docs/design/part-MT-refcounting.txt:
15138 * docs/design/part-TODO.txt:
15139 * docs/design/part-caps.txt:
15140 * docs/design/part-events.txt:
15141 * docs/design/part-gstbus.txt:
15142 * docs/design/part-gstpipeline.txt:
15143 * docs/design/part-messages.txt:
15144 * docs/design/part-push-pull.txt:
15145 * docs/design/part-query.txt:
15148 2005-04-21 Wim Taymans <wim@fluendo.com>
15150 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
15151 (gst_message_new), (gst_message_new_error),
15152 (gst_message_new_warning), (gst_message_new_tag),
15153 (gst_message_new_state_changed), (gst_message_new_application),
15154 (gst_message_get_structure):
15155 * gst/gstmessage.h:
15156 * gst/gststructure.c: (gst_structure_set_parent_refcount),
15157 (gst_structure_copy_conditional):
15158 Use parent refcount in GstMessage to ensure GstStructure
15160 Cleaned up headers a bit.
15163 2005-04-20 Wim Taymans <wim@fluendo.com>
15165 * gst/base/gstbasesink.c: (gst_basesink_base_init),
15166 (gst_basesink_pad_getcaps), (gst_basesink_init),
15167 (gst_basesink_chain_unlocked):
15168 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
15169 (gst_type_find_helper):
15170 * gst/elements/gsttypefindelement.c:
15171 (gst_type_find_element_have_type), (gst_type_find_element_init),
15172 (stop_typefinding), (gst_type_find_element_handle_event),
15173 (find_suggest), (gst_type_find_element_chain),
15174 (gst_type_find_element_checkgetrange),
15175 (gst_type_find_element_getrange), (do_typefind),
15176 (gst_type_find_element_activate):
15177 * gst/gstbuffer.c: (_gst_buffer_sub_free),
15178 (gst_buffer_default_free), (gst_buffer_default_copy),
15179 (gst_buffer_set_caps):
15180 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
15181 (gst_caps_replace):
15182 * gst/gstmessage.c: (gst_message_new),
15183 (gst_message_new_state_changed):
15184 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15185 (gst_pad_set_checkgetrange_function),
15186 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
15187 (gst_pad_set_caps), (gst_pad_check_pull_range),
15188 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
15190 * gst/gsttypefind.c: (gst_type_find_register):
15191 Make gst_caps_replace() work like other _replace() functions.
15192 Use _caps_replace() where possible.
15193 Make sure _message_new() initialises its field.
15194 Add gst_static_pad_template_get_caps()
15197 2005-04-18 Andy Wingo <wingo@pobox.com>
15199 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
15200 on the peer, not the pad. I think that was a typo. Pass an extra
15201 arg to see if random access is possible. Activate the pads as
15202 PULL_RANGE if possible.
15204 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
15206 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
15207 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
15210 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15212 * docs/faq/using.xml:
15213 Add note on gstreamer-properties (#154996).
15215 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15217 * docs/random/bbb/optional-properties:
15218 Some analysis on optional properties.
15220 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15222 * docs/gst/tmpl/gstelementfactory.sgml:
15223 * gst/gstelement.h:
15224 * gst/gstelementfactory.c: (gst_element_factory_init),
15225 (gst_element_factory_cleanup), (gst_element_register),
15226 (__gst_element_factory_add_static_pad_template),
15227 (gst_element_factory_get_static_pad_templates),
15228 (gst_element_factory_can_src_caps),
15229 (gst_element_factory_can_sink_caps):
15230 * gst/registries/Makefile.am:
15231 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
15232 (gst_xml_registry_class_init), (gst_xml_registry_init),
15233 (gst_xml_registry_new), (gst_xml_registry_set_property),
15234 (gst_xml_registry_get_property), (get_time), (make_dir),
15235 (gst_xml_registry_get_perms_func),
15236 (plugin_times_older_than_recurse), (plugin_times_older_than),
15237 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
15238 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
15239 (add_to_char_array), (read_string), (read_uint), (read_enum),
15240 (load_pad_template), (load_feature), (load_plugin), (load_paths),
15241 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
15242 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
15243 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
15244 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
15245 (gst_xml_registry_rebuild):
15246 * gst/registries/gstlibxmlregistry.h:
15247 * tools/gst-compprep.c: (main):
15248 * tools/gst-inspect.c: (print_pad_templates_info):
15249 * tools/gst-xmlinspect.c: (print_element_info):
15250 Use libxml2 for registry parsing, use staticpadtemplates in
15251 elementfactories. Makes gst_init() +/- 10x faster.
15253 2005-04-12 Wim Taymans <wim@fluendo.com>
15255 * gst/base/Makefile.am:
15256 * gst/base/gstbasesink.c: (gst_basesink_base_init),
15257 (gst_basesink_pad_getcaps), (gst_basesink_init),
15258 (gst_basesink_event), (gst_basesink_change_state):
15259 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15260 (gst_basesrc_init), (gst_basesrc_query),
15261 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15262 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15263 (gst_basesrc_check_get_range), (gst_basesrc_loop),
15264 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15265 (gst_basesrc_stop), (gst_basesrc_activate),
15266 (gst_basesrc_change_state):
15267 * gst/base/gsttypefindhelper.c: (helper_find_peek),
15268 (helper_find_suggest), (gst_type_find_helper):
15269 * gst/base/gsttypefindhelper.h:
15270 * gst/elements/Makefile.am:
15271 * gst/elements/gstelements.c:
15272 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15273 (gst_fakesink_get_times), (gst_fakesink_event),
15274 (gst_fakesink_preroll), (gst_fakesink_render):
15275 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15276 (gst_fakesrc_init), (gst_fakesrc_event_handler),
15277 (gst_fakesrc_get_property), (gst_fakesrc_create),
15278 (gst_fakesrc_start), (gst_fakesrc_stop):
15279 * gst/elements/gstfakesrc.h:
15280 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
15281 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15282 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15283 (gst_filesrc_create_read), (gst_filesrc_create),
15284 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
15285 (gst_filesrc_start):
15286 * gst/elements/gsttypefindelement.c:
15287 (gst_type_find_element_have_type), (gst_type_find_element_init),
15288 (start_typefinding), (stop_typefinding), (push_buffer_store),
15289 (gst_type_find_element_handle_event),
15290 (gst_type_find_element_chain),
15291 (gst_type_find_element_checkgetrange),
15292 (gst_type_find_element_getrange), (do_typefind),
15293 (gst_type_find_element_activate),
15294 (gst_type_find_element_change_state):
15295 * gst/elements/gsttypefindelement.h:
15296 * gst/gstpipeline.c: (pipeline_bus_handler):
15297 Added typefind helper.
15298 Small preroll fix in the base sink.
15299 Disable typefind code in basesrc.
15300 Crude port of typefindelement.
15304 2005-04-11 Wim Taymans <wim@fluendo.com>
15306 * check/gst/gstbus.c: (gstbus_suite):
15307 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
15308 * check/gstcheck.h:
15309 Fix up the timeout so that the test does not fail.
15311 2005-04-06 Wim Taymans <wim@fluendo.com>
15314 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15315 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
15316 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
15317 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
15318 (gst_basesrc_check_get_range), (gst_basesrc_loop),
15319 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
15320 (gst_basesrc_stop), (gst_basesrc_activate),
15321 (gst_basesrc_change_state), (basesrc_find_peek),
15322 (basesrc_find_suggest), (gst_basesrc_type_find):
15323 * gst/base/gstbasesrc.h:
15324 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
15325 (gst_filesrc_class_init), (gst_filesrc_init),
15326 (gst_filesrc_finalize), (gst_filesrc_set_location),
15327 (gst_filesrc_set_property), (gst_filesrc_get_property),
15328 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
15329 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
15330 (gst_filesrc_create_read), (gst_filesrc_create),
15331 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
15332 * gst/elements/gstfilesrc.h:
15333 * gst/gstelement.c: (gst_element_get_state_func),
15334 (gst_element_lost_state), (gst_element_pads_activate):
15335 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15336 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
15337 (gst_pad_pull_range):
15339 More work on the generic source base class, implement seeking,
15341 Make filesrc extend the base source class.
15342 Added gst_pad_set_checkgetrange_function to GstPad.
15344 2005-04-06 Andy Wingo <wingo@pobox.com>
15346 * pkgconfig/gstreamer-base.pc.in:
15347 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
15349 * pkgconfig/Makefile.am:
15350 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
15352 2005-04-04 Wim Taymans <wim@fluendo.com>
15354 * gst/base/Makefile.am:
15356 * gst/base/gstbasesink.c: (gst_basesink_base_init),
15357 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15358 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15359 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
15360 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
15361 (gst_basesrc_base_init), (gst_basesrc_class_init),
15362 (gst_basesrc_init), (gst_basesrc_get_formats),
15363 (gst_basesrc_get_query_types), (gst_basesrc_query),
15364 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
15365 (gst_basesrc_set_property), (gst_basesrc_get_property),
15366 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
15367 (gst_basesrc_loop), (gst_basesrc_activate),
15368 (gst_basesrc_change_state):
15369 * gst/base/gstbasesrc.h:
15370 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
15371 (gst_fakesrc_class_init), (gst_fakesrc_init),
15372 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
15373 (gst_fakesrc_get_property), (gst_fakesrc_create):
15374 * gst/elements/gstfakesrc.h:
15375 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
15376 (gst_filesrc_open_file), (gst_filesrc_loop),
15377 (gst_filesrc_activate), (filesrc_find_peek),
15378 (gst_filesrc_type_find):
15379 Made base source class, make fakesrc extend it.
15380 Add comments to basesink class.
15381 Some filesrc cleanup.
15383 2005-03-31 David Schleef <ds@schleef.org>
15385 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
15386 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
15387 expected to link against libgstreamer.
15388 * gst/base/Makefile.am: link against libgstreamer
15389 * gst/elements/Makefile.am: same
15391 2005-03-31 Andy Wingo <wingo@pobox.com>
15393 * tests/instantiate/Makefile.am:
15394 * tests/instantiate/caps.c: Add test to test speed of caps copy
15397 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
15398 GMemChunk to be fair.
15400 * gst/gsttrashstack.h: Remove warning about using the fallback
15401 trash stack implementation, it's still faster than malloc.
15403 2005-03-30 Andy Wingo <wingo@pobox.com>
15405 * tests/complexity.c: Add a copyright.
15407 2005-03-31 Wim Taymans <wim@fluendo.com>
15409 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
15410 (gst_base_transform_class_init), (gst_base_transform_init),
15411 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
15412 (gst_base_transform_get_property),
15413 (gst_base_transform_sink_activate),
15414 (gst_base_transform_src_activate),
15415 (gst_base_transform_change_state):
15416 * gst/base/gstbasetransform.h:
15417 * gst/elements/gstidentity.c: (gst_identity_class_init),
15418 (gst_identity_event), (gst_identity_check_perfect),
15419 (gst_identity_transform), (gst_identity_start),
15420 (gst_identity_stop):
15421 Added start/stop methods to transform base class so subclasses
15422 don't need to deal with state changes even.
15424 2005-03-31 Wim Taymans <wim@fluendo.com>
15426 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
15427 (gst_event_new_discontinuous), (gst_event_discont_get_value):
15429 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15430 (gst_pad_pull_range):
15431 Added rate to the discont event to prepare for variable speed
15432 and reverse playback.
15434 2005-03-29 David Schleef <ds@schleef.org>
15437 * testsuite/trigger/Makefile.am:
15438 * testsuite/trigger/trigger.c: A little example program to show
15439 how trigger-based elements can work.
15441 2005-03-29 Wim Taymans <wim@fluendo.com>
15443 * gst/base/Makefile.am:
15445 * gst/base/gstbasesink.c: (gst_basesink_get_type),
15446 (gst_basesink_base_init), (gst_basesink_class_init),
15447 (gst_basesink_pad_getcaps), (gst_basesink_init),
15448 (gst_basesink_activate), (gst_basesink_change_state):
15449 * gst/base/gstbasesink.h:
15450 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
15451 (gst_base_transform_base_init), (gst_base_transform_finalize),
15452 (gst_base_transform_class_init), (gst_base_transform_init),
15453 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
15454 (gst_base_transform_event), (gst_base_transform_getrange),
15455 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
15456 (gst_base_transform_set_property),
15457 (gst_base_transform_get_property),
15458 (gst_base_transform_sink_activate),
15459 (gst_base_transform_src_activate),
15460 (gst_base_transform_change_state):
15461 * gst/base/gstbasetransform.h:
15462 * gst/elements/gstidentity.c: (gst_identity_finalize),
15463 (gst_identity_class_init), (gst_identity_init),
15464 (gst_identity_event), (gst_identity_check_perfect),
15465 (gst_identity_transform), (gst_identity_set_property),
15466 (gst_identity_get_property), (gst_identity_change_state):
15467 * gst/elements/gstidentity.h:
15468 * gst/gstelement.c: (gst_element_get_state_func),
15469 (gst_element_lost_state), (gst_element_pads_activate):
15470 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
15471 (gst_pad_check_pull_range), (gst_pad_pull_range):
15473 Simplify pad activation.
15474 Added function to check if pull_range can be performed.
15475 Error out when pulling inactive or flushing pads.
15476 Removed const from refcounted types as it does not make sense.
15477 Simplify pad templates in basesink
15478 Added base class for simple 1-to-1 transforms.
15479 Make identity subclass the base transform.
15481 2005-03-29 Andy Wingo <wingo@pobox.com>
15483 * docs/libs/gstreamer-libs-overrides.txt:
15484 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
15485 really don't understand what's going on, but like whatever. I want
15488 * docs/gst/Makefile.am:
15489 * docs/libs/Makefile.am: Dist the overrides files.
15491 * check/Makefile.am (clean-local): Remove .libs directories.
15493 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
15494 elements to EXTRA_DIST, so po/ files are happy.
15496 * po/POTFILES.in: Er, remove it here.
15498 * po/POTFILES: Remove gstspider.c.
15500 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
15502 * docs/libs/gstreamer-libs-docs.sgml:
15503 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
15506 * tests/complexity.c (main): Set the length of the preroll queue
15507 on the sinks to prevent a lockup.
15509 * libs/gst/dataprotocol/Makefile.am:
15510 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
15511 the same as the one in check/gst-libs/gdp.c.
15513 * po/, docs/gst/: Commit automatic changes to docs and po files.
15515 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
15516 the versioned libgstbase.
15518 * check/Makefile.am: Depend on an unversioned gst-register, seems
15519 to make autoconf happier.
15521 * gst/base/Makefile.am: Make libgstbase a versioned lib.
15523 2005-03-28 Wim Taymans <wim@fluendo.com>
15526 * docs/design/part-gstelement.txt:
15527 * docs/design/part-negotiation.txt:
15528 * docs/design/part-preroll.txt:
15529 * docs/design/part-scheduling.txt:
15530 * docs/design/part-states.txt:
15532 * gst/base/Makefile.am:
15534 * gst/base/gstbasesink.c: (gst_basesink_get_template),
15535 (gst_basesink_base_init), (gst_basesink_class_init),
15536 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
15537 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
15538 (gst_basesink_set_pad_functions),
15539 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
15540 (gst_basesink_set_property), (gst_basesink_get_property),
15541 (gst_base_sink_get_template), (gst_base_sink_get_caps),
15542 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
15543 (gst_basesink_preroll_queue_push),
15544 (gst_basesink_preroll_queue_empty),
15545 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
15546 (gst_basesink_event), (gst_basesink_get_times),
15547 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
15548 (gst_basesink_chain_unlocked), (gst_basesink_chain),
15549 (gst_basesink_loop), (gst_basesink_activate),
15550 (gst_basesink_change_state):
15551 * gst/base/gstbasesink.h:
15552 * gst/elements/Makefile.am:
15553 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
15554 (gst_fakesink_class_init), (gst_fakesink_init),
15555 (gst_fakesink_set_property), (gst_fakesink_get_property),
15556 (gst_fakesink_get_times), (gst_fakesink_event),
15557 (gst_fakesink_preroll), (gst_fakesink_render),
15558 (gst_fakesink_change_state):
15559 * gst/elements/gstfakesink.h:
15560 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15561 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
15562 * gst/gstelement.c: (gst_element_add_pad),
15563 (gst_element_get_state_func), (gst_element_abort_state),
15564 (gst_element_commit_state), (gst_element_lost_state),
15565 (gst_element_set_state), (gst_element_pads_activate):
15566 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
15567 * gst/gstpipeline.c: (gst_pipeline_send_event),
15568 (gst_pipeline_change_state):
15569 Added state change code.
15570 Added/updated docs.
15571 Added sink base class, make fakesink extend the base class.
15572 Small cleanups in GstPipeline.
15574 2005-03-26 David Schleef <ds@schleef.org>
15576 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
15577 is broken and should be implemented in a different library.
15578 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
15579 * gst/gst.h: remove gstcpu.h
15580 * gst/gstcpu.c: remove
15581 * gst/gstcpu.h: remove
15582 * gst/Makefile.am.future: Remove this file. It's ancient.
15584 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15586 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
15587 (gst_bin_send_event):
15588 Add default event/set_manager handlers. The set_manager handler
15589 takes care that the manager is distributed over kids that were
15590 already in the bin before the manager was set. The event handler
15591 is a utility virtual function that sends the event over all sinks,
15592 so that gst_element_send_event (bin, event); has the expected
15594 * gst/gstpad.c: (gst_pad_event_default):
15595 Re-install default event handling for discontinuities, so that
15596 seeking works without requiring hacks in applications or extra
15598 * gst/gstpipeline.c: (gst_pipeline_class_init),
15599 (gst_pipeline_send_event):
15600 Half hack, half utility: set a pipeline to PAUSED for seek events,
15601 since that is the only way we can guarantee a/v sync. Means that
15602 you can do gst_element_seek (pipeline, method, pos); on a pipeline
15603 and it "just works".
15605 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15607 * gst/gstpipeline.c: (gst_pipeline_use_clock):
15608 Lock/unlock mismatch.
15610 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
15612 * docs/faq/gst-uninstalled:
15613 add gst-plugins-base
15614 * docs/gst/Makefile.am:
15615 don't error out until docs are fixed
15616 * docs/gst/gstreamer.types:
15619 2005-03-22 Wim Taymans <wim@fluendo.com>
15621 * check/Makefile.am:
15622 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
15623 * gst/gststructure.c: (gst_structure_set_valist),
15624 (gst_structure_copy_conditional):
15625 Activated more tests.
15626 Added message test.
15627 Added G_TYPE_POINTER to GstStructure.
15630 2005-03-22 Wim Taymans <wim@fluendo.com>
15632 * docs/design/part-TODO.txt:
15633 * docs/design/part-events.txt:
15634 * docs/design/part-gstbin.txt:
15635 * docs/design/part-gstbus.txt:
15636 * docs/design/part-gstpipeline.txt:
15637 * docs/design/part-messages.txt:
15639 * gst/gstmessage.c:
15642 2005-03-21 Wim Taymans <wim@fluendo.com>
15644 * gst/gstbus.c: (gst_bus_post):
15645 Fix copy-and-paste error.
15647 2005-03-21 Wim Taymans <wim@fluendo.com>
15649 * check/Makefile.am:
15651 * gst/elements/Makefile.am:
15652 * gst/elements/gstelements.c:
15653 * gst/elements/gstfakesink.c: (gst_fakesink_init),
15654 (gst_fakesink_event), (gst_fakesink_chain):
15655 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15656 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
15657 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
15658 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
15659 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15660 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
15661 (gst_fakesrc_loop), (gst_fakesrc_activate),
15662 (gst_fakesrc_change_state):
15663 * gst/elements/gstfakesrc.h:
15664 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
15665 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
15666 (gst_filesrc_open_file), (gst_filesrc_loop),
15667 (gst_filesrc_activate), (gst_filesrc_change_state),
15668 (filesrc_find_peek), (filesrc_find_suggest),
15669 (gst_filesrc_type_find):
15670 * gst/elements/gstidentity.c: (gst_identity_finalize),
15671 (gst_identity_class_init), (gst_identity_init),
15672 (gst_identity_proxy_getcaps), (identity_queue_push),
15673 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
15674 (gst_identity_getrange), (gst_identity_chain),
15675 (gst_identity_sink_loop), (gst_identity_src_loop),
15676 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
15677 (gst_identity_set_property), (gst_identity_get_property),
15678 (gst_identity_change_state):
15679 * gst/elements/gstidentity.h:
15680 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
15681 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
15682 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
15683 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
15684 (gst_tee_sink_activate):
15685 * gst/elements/gsttee.h:
15686 * gst/gst.c: (gst_register_core_elements), (init_post):
15688 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
15689 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
15690 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
15691 (gst_bin_change_state):
15693 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
15694 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
15695 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
15696 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
15697 (gst_bus_set_sync_handler), (gst_bus_create_watch),
15698 (bus_watch_callback), (bus_watch_destroy),
15699 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
15700 (poll_timeout), (gst_bus_poll):
15704 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15705 (gst_element_post_message), (gst_element_message_full),
15706 (gst_element_get_state_func), (gst_element_get_state),
15707 (gst_element_abort_state), (gst_element_commit_state),
15708 (gst_element_lost_state), (gst_element_set_state),
15709 (gst_element_pads_activate), (gst_element_change_state),
15710 (gst_element_dispose), (gst_element_set_manager_func),
15711 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
15712 (gst_element_set_manager), (gst_element_get_manager),
15713 (gst_element_set_bus), (gst_element_get_bus),
15714 (gst_element_set_scheduler), (gst_element_get_scheduler):
15715 * gst/gstelement.h:
15716 * gst/gstevent.c: (gst_event_new_segment_seek),
15717 (gst_event_new_flush):
15719 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
15720 (_gst_message_free), (gst_message_get_type), (gst_message_new),
15721 (gst_message_new_eos), (gst_message_new_error),
15722 (gst_message_new_warning), (gst_message_new_tag),
15723 (gst_message_new_state_changed), (gst_message_new_application),
15724 (gst_message_get_structure), (gst_message_parse_tag),
15725 (gst_message_parse_state_changed), (gst_message_parse_error),
15726 (gst_message_parse_warning):
15727 * gst/gstmessage.h:
15728 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
15729 (gst_real_pad_set_property), (gst_pad_set_active),
15730 (gst_pad_is_active), (gst_pad_set_blocked_async),
15731 (gst_pad_set_blocked), (gst_pad_is_blocked),
15732 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
15733 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
15734 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
15735 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
15736 (gst_pad_link_filtered), (gst_pad_relink_filtered),
15737 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
15738 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
15739 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
15740 (gst_pad_set_caps), (gst_pad_configure_sink),
15741 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
15742 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
15743 (gst_real_pad_dispose), (gst_real_pad_finalize),
15744 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
15745 (gst_pad_event_default_dispatch), (gst_pad_event_default),
15746 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
15748 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
15749 (pipeline_bus_handler), (gst_pipeline_change_state),
15750 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
15751 * gst/gstpipeline.h:
15753 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
15754 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
15755 (gst_queue_link_src), (gst_queue_bufferalloc),
15756 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15757 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
15758 (gst_queue_loop), (gst_queue_handle_src_event),
15759 (gst_queue_handle_src_query), (gst_queue_src_activate),
15760 (gst_queue_change_state):
15762 * gst/gstscheduler.c: (gst_scheduler_init),
15763 (gst_scheduler_dispose), (gst_scheduler_create_task),
15764 (gst_scheduler_factory_create):
15765 * gst/gstscheduler.h:
15766 * gst/gststructure.c: (gst_structure_get_type),
15767 (gst_structure_copy_conditional):
15768 * gst/gststructure.h:
15769 * gst/gsttaginterface.h:
15770 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15771 (gst_task_init), (gst_task_dispose), (gst_task_create),
15772 (gst_task_get_state), (gst_task_start), (gst_task_stop),
15778 * gst/schedulers/Makefile.am:
15779 * gst/schedulers/cothreads_compat.h:
15780 * gst/schedulers/entryscheduler.c:
15781 * gst/schedulers/faircothreads.c:
15782 * gst/schedulers/faircothreads.h:
15783 * gst/schedulers/fairscheduler.c:
15784 * gst/schedulers/gstbasicscheduler.c:
15785 * gst/schedulers/gstoptimalscheduler.c:
15786 * gst/schedulers/gthread-cothreads.h:
15787 * gst/schedulers/threadscheduler.c:
15788 (gst_thread_scheduler_task_get_type),
15789 (gst_thread_scheduler_task_class_init),
15790 (gst_thread_scheduler_task_init),
15791 (gst_thread_scheduler_task_start),
15792 (gst_thread_scheduler_task_stop),
15793 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
15794 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15795 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
15796 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
15798 * libs/gst/Makefile.am:
15799 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
15800 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
15801 (gst_file_pad_parent_set):
15802 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15803 (gst_dp_event_from_packet):
15804 * tests/complexity.c: (main):
15805 * tests/mass_elements.c: (main):
15806 * testsuite/states/locked.c: (message_received), (main):
15807 * testsuite/states/parent.c: (main):
15808 * tools/gst-inspect.c: (print_element_flag_info),
15809 (print_implementation_info), (print_pad_info):
15810 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
15812 * tools/gst-md5sum.c: (event_loop), (main):
15813 * tools/gst-typefind.c: (main):
15814 * tools/gst-xmlinspect.c: (print_element_info):
15816 Added GstBus for mainloop integration.
15817 Added GstMessage for sending notifications on the bus.
15818 Added GstTask as an abstraction for pipeline entry points.
15820 Removed Schedulers.
15821 Simplified GstQueue for multithreaded core.
15822 Made _link threadsafe, removed old capsnego.
15823 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
15824 Added pad blocking functions.
15825 Reworked scheduling functions in GstPad to prepare for
15826 scheduling updates soon.
15827 Moved events out of data stream.
15828 Simplified GstEvent types.
15829 Added return values to push/pull.
15830 Removed clocking from GstElement.
15831 Added prototypes for state change function for next merge.
15832 Removed iterate from bins and state change management.
15833 Fixed some elements, disabled others for now.
15834 Fixed -inspect and -launch.
15835 Added check for GstBus.
15837 2005-03-10 Wim Taymans <wim@fluendo.com>
15839 * docs/design/part-MT-refcounting.txt:
15840 * docs/design/part-clocks.txt:
15841 * docs/design/part-gstelement.txt:
15842 * docs/design/part-gstobject.txt:
15843 * docs/design/part-standards.txt:
15844 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15845 (gst_bin_remove_func), (gst_bin_remove):
15849 * testsuite/clock/clock1.c: (main):
15850 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
15852 * testsuite/dlopen/loadgst.c: (do_test):
15853 * testsuite/refcounting/bin.c: (add_remove_test1),
15854 (add_remove_test2), (main):
15855 * testsuite/refcounting/element.c: (main):
15856 * testsuite/refcounting/element_pad.c: (main):
15857 * testsuite/refcounting/pad.c: (main):
15858 * tools/gst-launch.c: (sigint_handler_sighandler):
15859 * tools/gst-typefind.c: (main):
15861 Added doc about clock.
15862 removed gst_bin_iterate_recurse_up(), marked methods
15864 Fix more testsuites.
15866 2005-03-09 Wim Taymans <wim@fluendo.com>
15868 * gst/gstpad.c: (gst_pad_get_direction),
15869 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
15870 (gst_pad_collect_valist):
15871 * testsuite/bins/interface.c: (main):
15872 * testsuite/caps/audioscale.c: (test_caps):
15873 * testsuite/caps/caps.c: (test1), (test2), (test3):
15874 * testsuite/caps/deserialize.c: (main):
15875 * testsuite/caps/enumcaps.c: (main):
15876 * testsuite/caps/filtercaps.c: (main):
15877 * testsuite/caps/intersect2.c: (main):
15878 * testsuite/caps/random.c: (main):
15879 * testsuite/caps/renegotiate.c: (my_fixate), (main):
15880 * testsuite/caps/sets.c: (check_caps):
15881 * testsuite/caps/simplify.c: (check_caps), (main):
15882 * testsuite/caps/subtract.c: (check_caps):
15883 Fix _pad_get_direction wrt ghostpads.
15884 Fix caps testsuite.
15886 2005-03-09 Wim Taymans <wim@fluendo.com>
15888 * check/Makefile.am:
15889 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
15890 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
15891 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
15892 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
15893 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
15894 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
15895 (gst_bin_remove), (gst_bin_iterate_recurse_up),
15896 (bin_element_is_sink), (gst_bin_iterate_sinks),
15897 (gst_bin_iterate_all_by_interface):
15899 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
15900 (gst_element_change_state), (gst_element_dispose),
15901 (gst_element_finalize), (gst_element_set_loop_function):
15902 * gst/gstelement.h:
15903 * gst/gstiterator.c: (find_custom_fold_func):
15904 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15905 (gst_pad_collectv), (gst_pad_collect_valist),
15906 (gst_pad_template_new):
15907 * gst/gstpipeline.c: (gst_pipeline_class_init),
15908 (gst_pipeline_dispose), (gst_pipeline_set_property),
15909 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
15910 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
15911 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
15913 * gst/schedulers/entryscheduler.c:
15914 * gst/schedulers/gstbasicscheduler.c:
15915 (gst_basic_scheduler_cothreaded_chain),
15916 (gst_basic_scheduler_chain_add_element):
15917 * testsuite/bins/interface.c: (main):
15919 Added GstSystemClock test.
15920 Implemented clock distribution code in GstBin.
15921 Implemented iterate sinks method for future use.
15922 Rearranged gstelement.h
15923 Fix GstIterator comparison bug.
15924 Moved some code to GstPipeline, mostly clocking related.
15926 2005-03-09 Wim Taymans <wim@fluendo.com>
15929 * gst/gst_private.h:
15930 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15931 (gst_bin_remove_func), (gst_bin_remove),
15932 (gst_bin_get_by_name_recurse_up):
15933 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
15934 (gst_clock_id_compare_func), (gst_clock_id_wait),
15935 (gst_clock_id_wait_async), (gst_clock_init),
15936 (gst_clock_adjust_unlocked), (gst_clock_get_time):
15937 * gst/gstelement.h:
15938 * gst/gstinfo.c: (_gst_debug_init):
15940 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15941 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
15943 Bump version number, we're now 0.9.0
15944 Add future debugging category.
15945 Fix NULL _unref() in _get_by_name_recurse_up
15946 Rearrange gstpad.h.
15949 2005-03-08 Wim Taymans <wim@fluendo.com>
15951 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
15952 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
15953 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15954 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
15955 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
15956 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
15957 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
15958 * gst/elements/gstidentity.c: (gst_identity_class_init):
15959 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
15960 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
15961 * gst/elements/gstshaper.c: (gst_shaper_class_init):
15962 * gst/elements/gststatistics.c: (gst_statistics_class_init):
15963 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
15965 * gst/gstelement.c: (gst_element_class_init),
15966 (gst_element_base_class_init), (gst_element_init),
15967 (gst_element_get_random_pad), (gst_element_wait_state_change),
15968 (gst_element_change_state), (gst_element_dispose),
15969 (gst_element_finalize), (gst_element_set_loop_function):
15970 * gst/gstelement.h:
15971 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
15972 * gst/gstthread.c: (gst_thread_class_init),
15973 (gst_thread_release_children_locks), (gst_thread_change_state):
15974 * gst/schedulers/gstbasicscheduler.c:
15975 (gst_basic_scheduler_loopfunc_wrapper),
15976 (gst_basic_scheduler_chain_wrapper),
15977 (gst_basic_scheduler_src_wrapper),
15978 (gst_basic_scheduler_remove_element):
15979 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
15980 Remove threadsafe properties. Fix elements because GObject
15981 complains when installing a property before declaring a
15982 set/get_property handler.
15983 Rearrange gstelement.h file, use STATE macros for state locks.
15984 Free mutexes in the finalize method instead of dispose.
15986 2005-03-08 Wim Taymans <wim@fluendo.com>
15988 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15989 * gst/gstthread.c: (gst_thread_release_children_locks):
15990 Added parentage check.
15991 Fix build og GstThread again.
15993 2005-03-08 Wim Taymans <wim@fluendo.com>
15995 * docs/design/part-MT-refcounting.txt:
15996 * docs/design/part-conventions.txt:
15997 * docs/design/part-gstobject.txt:
15998 * docs/design/part-relations.txt:
15999 * docs/design/part-standards.txt:
16000 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
16001 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
16002 (gst_bin_get_by_name), (gst_bin_get_by_interface),
16003 (gst_bin_iterate_all_by_interface):
16006 * gst/gstelement.c: (gst_element_class_init),
16007 (gst_element_change_state), (gst_element_set_loop_function):
16008 * gst/gstelement.h:
16009 * gst/gstiterator.c:
16010 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
16011 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
16012 (gst_object_dispatch_properties_changed), (gst_object_set_name),
16013 (gst_object_set_parent), (gst_object_unparent),
16014 (gst_object_check_uniqueness):
16016 Docs updates, clean up some headers.
16018 2005-03-07 Wim Taymans <wim@fluendo.com>
16020 * check/.cvsignore:
16021 * check/Makefile.am:
16022 * check/gst-libs/.cvsignore:
16023 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
16024 * check/gst/.cvsignore:
16025 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
16026 (START_TEST), (gstbus_suite), (main):
16027 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
16028 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
16029 (gst_data_suite), (main):
16030 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
16031 (add_fold_func), (gstiterator_suite), (main):
16032 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
16033 (thread_name_object), (thread_name_object_default),
16034 (gst_object_name_compare), (gst_object_suite), (main):
16035 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
16036 (gst_pad_suite), (main):
16037 * check/gstcheck.c: (gst_check_log_message_func),
16038 (gst_check_log_critical_func), (gst_check_init):
16039 * check/gstcheck.h:
16040 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16041 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
16044 2005-03-07 Wim Taymans <wim@fluendo.com>
16046 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
16047 (gst_list_iterator_next), (gst_list_iterator_resync),
16048 (gst_list_iterator_free), (gst_iterator_new_list),
16049 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
16050 (gst_iterator_free), (gst_iterator_push), (filter_next),
16051 (filter_resync), (filter_uninit), (filter_free),
16052 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
16053 (gst_iterator_foreach), (find_custom_fold_func),
16054 (gst_iterator_find_custom):
16055 * gst/gstiterator.h:
16056 Added missing files.
16058 2005-03-07 Wim Taymans <wim@fluendo.com>
16062 * docs/design/part-MT-refcounting.txt:
16063 * docs/design/part-conventions.txt:
16064 * docs/design/part-gstobject.txt:
16065 * docs/design/part-relations.txt:
16066 * examples/mixer/mixer.c: (main):
16067 * examples/thread/thread.c: (eos), (main):
16069 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
16070 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
16071 (gst_spider_plug_from_srcpad):
16072 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
16073 (gst_spider_identity_change_state),
16074 (gst_spider_identity_sink_loop_type_finding):
16075 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
16076 * gst/elements/gstidentity.c: (gst_identity_init):
16077 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
16078 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
16079 * gst/elements/gsttypefindelement.c: (free_entry):
16082 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
16083 (gst_bin_set_clock_func), (gst_bin_auto_clock),
16084 (gst_bin_set_index), (gst_bin_set_element_sched),
16085 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
16086 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
16087 (gst_bin_iterate_elements), (iterate_child_recurse),
16088 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
16089 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
16090 (compare_interface), (gst_bin_get_by_interface),
16091 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
16093 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
16094 (gst_buffer_default_free), (gst_buffer_default_copy),
16095 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
16096 (gst_buffer_create_sub):
16098 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
16099 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
16100 (gst_caps_unref), (gst_static_caps_get),
16101 (gst_caps_remove_and_get_structure), (gst_caps_append),
16102 (gst_caps_append_structure), (gst_caps_remove_structure),
16103 (gst_caps_copy_nth), (gst_caps_set_simple),
16104 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
16105 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
16106 (gst_caps_structure_intersect_field), (gst_caps_intersect),
16107 (gst_caps_structure_subtract_field), (gst_caps_subtract),
16108 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
16109 (gst_caps_structure_figure_out_union),
16110 (gst_caps_switch_structures), (gst_caps_do_simplify),
16111 (gst_caps_replace), (gst_caps_from_string),
16112 (gst_caps_copy_conditional):
16114 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
16115 (_gst_clock_id_free), (gst_clock_id_unref),
16116 (gst_clock_id_compare_func), (gst_clock_id_wait),
16117 (gst_clock_id_wait_async), (gst_clock_class_init),
16118 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
16119 (gst_clock_get_time), (gst_clock_set_time_adjust),
16120 (gst_clock_set_property), (gst_clock_get_property):
16123 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
16124 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
16126 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16127 (gst_element_requires_clock), (gst_element_provides_clock),
16128 (gst_element_set_clock), (gst_element_clock_wait),
16129 (gst_element_wait), (gst_element_set_time_delay),
16130 (gst_element_is_indexable), (gst_element_add_pad),
16131 (gst_element_add_ghost_pad), (gst_element_remove_pad),
16132 (pad_compare_name), (gst_element_get_static_pad),
16133 (gst_element_request_pad), (gst_element_get_request_pad),
16134 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
16135 (gst_element_class_get_pad_template_list),
16136 (gst_element_class_get_pad_template), (gst_element_error_func),
16137 (gst_element_get_random_pad), (gst_element_get_event_masks),
16138 (gst_element_send_event), (gst_element_seek),
16139 (gst_element_get_query_types), (gst_element_query),
16140 (gst_element_get_formats), (gst_element_convert),
16141 (gst_element_is_locked_state), (gst_element_set_locked_state),
16142 (gst_element_sync_state_with_parent), (gst_element_change_state),
16143 (gst_element_finalize), (gst_element_yield),
16144 (gst_element_interrupt), (gst_element_set_scheduler),
16145 (gst_element_get_scheduler), (gst_element_set_loop_function):
16146 * gst/gstelement.h:
16148 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
16149 (gst_format_get_by_nick), (gst_format_get_details),
16150 (gst_format_iterate_definitions):
16152 * gst/gstindex.c: (gst_index_gtype_resolver):
16155 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
16156 (gst_mem_chunk_free):
16157 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16158 (gst_object_ref), (gst_object_unref), (gst_object_sink),
16159 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
16160 (gst_object_dispatch_properties_changed),
16161 (gst_object_set_name_default), (gst_object_set_name),
16162 (gst_object_get_name), (gst_object_set_name_prefix),
16163 (gst_object_get_name_prefix), (gst_object_set_parent),
16164 (gst_object_get_parent), (gst_object_unparent),
16165 (gst_object_check_uniqueness), (gst_object_save_thyself),
16166 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
16167 (gst_object_set_property), (gst_object_get_property),
16168 (gst_object_get_path_string):
16170 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16171 (gst_real_pad_init), (gst_real_pad_get_property),
16172 (gst_pad_custom_new), (gst_pad_get_direction),
16173 (gst_pad_set_active), (gst_pad_is_active),
16174 (gst_pad_set_event_function), (gst_pad_is_linked),
16175 (gst_pad_link_free), (gst_pad_link_intersect),
16176 (gst_pad_link_fixate), (gst_pad_set_caps),
16177 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
16178 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
16179 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
16180 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
16181 (gst_pad_get_caps), (gst_pad_peer_get_caps),
16182 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
16183 (gst_pad_realize), (gst_pad_get_allowed_caps),
16184 (gst_real_pad_dispose), (gst_real_pad_finalize),
16185 (gst_pad_collectv), (gst_pad_collect_valist),
16186 (gst_pad_template_dispose), (gst_pad_template_new),
16187 (gst_pad_get_internal_links):
16189 * gst/gstpipeline.c: (gst_pipeline_dispose),
16190 (gst_pipeline_change_state):
16191 * gst/gstpipeline.h:
16193 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
16194 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
16195 * gst/gstpluginfeature.h:
16196 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
16197 * gst/gstquery.c: (_gst_query_type_initialize),
16198 (gst_query_type_register), (gst_query_type_get_by_nick),
16199 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
16201 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
16202 * gst/gstscheduler.c: (gst_scheduler_add_element),
16203 (gst_scheduler_factory_create):
16204 * gst/gststructure.c: (gst_structure_set_parent_refcount),
16205 (gst_structure_free), (gst_structure_set_name),
16206 (gst_structure_id_set_value), (gst_structure_set_value),
16207 (gst_structure_set_valist), (gst_structure_remove_field),
16208 (gst_structure_remove_fields),
16209 (gst_structure_remove_fields_valist),
16210 (gst_structure_remove_all_fields), (gst_structure_foreach),
16211 (gst_structure_map_in_place),
16212 (gst_caps_structure_fixate_field_nearest_int),
16213 (gst_caps_structure_fixate_field_nearest_double):
16214 * gst/gststructure.h:
16215 * gst/gstsystemclock.c: (gst_system_clock_class_init),
16216 (gst_system_clock_init), (gst_system_clock_dispose),
16217 (gst_system_clock_async_thread),
16218 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
16219 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
16220 * gst/gstsystemclock.h:
16221 * gst/gsttag.c: (gst_tag_list_add_value_internal),
16222 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
16223 * gst/gsttaginterface.c:
16224 * gst/gstthread.c: (gst_thread_dispose),
16225 (gst_thread_release_children_locks), (gst_thread_change_state),
16226 (gst_thread_main_loop):
16227 * gst/gsttrashstack.h:
16228 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
16230 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16231 (gst_element_request_pad), (gst_element_get_pad_from_template),
16232 (gst_element_request_compatible_pad),
16233 (gst_element_get_compatible_pad_filtered),
16234 (gst_element_get_compatible_pad), (gst_element_state_get_name),
16235 (gst_element_link_pads_filtered), (gst_element_link_filtered),
16236 (gst_element_link_many), (gst_element_link),
16237 (gst_element_link_pads), (gst_element_unlink_pads),
16238 (gst_element_unlink_many), (gst_element_unlink),
16239 (gst_pad_can_link_filtered), (gst_pad_can_link),
16240 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
16241 (gst_object_default_error), (gst_bin_add_many),
16242 (gst_bin_remove_many), (gst_element_populate_std_props),
16243 (gst_element_class_install_std_props), (gst_buffer_merge),
16244 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
16245 (link_fold_func), (gst_pad_proxy_setcaps):
16247 * gst/gstvalue.c: (gst_value_deserialize_string):
16248 * gst/parse/grammar.y:
16249 * gst/schedulers/gstbasicscheduler.c:
16250 (gst_basic_scheduler_cothreaded_chain),
16251 (gst_basic_scheduler_chain_recursive_add),
16252 (gst_basic_scheduler_pad_link):
16253 * gst/schedulers/gstoptimalscheduler.c:
16254 (get_group_schedule_function),
16255 (gst_opt_scheduler_state_transition),
16256 (gst_opt_scheduler_add_element), (element_get_reachables_func):
16257 * libs/gst/bytestream/bytestream.c:
16258 * libs/gst/dataprotocol/dataprotocol.c:
16259 (gst_dp_header_from_buffer):
16262 * tests/threadstate/threadstate2.c: (eos):
16263 * tools/gst-compprep.c: (main):
16264 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
16265 (print_pad_info), (print_children_info):
16266 * tools/gst-launch.c: (idle_func), (main):
16267 * tools/gst-md5sum.c: (idle_func), (main):
16268 * tools/gst-xmlinspect.c: (print_element_info):
16269 First THREADED backport attempt, focusing on adding locks and
16270 making sure the API is threadsafe. Needs more work. More docs
16273 2005-02-24 Andy Wingo <wingo@pobox.com>
16275 * tests/bench-complexity.scm:
16276 * tests/complexity.gnuplot: New files, good for running complexity
16279 * tests/Makefile.am:
16280 * tests/complexity.c: New test, sets up N elements, at each level
16281 teeing into M streams per element. Eeeenteresting.
16283 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
16284 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
16285 running bench-mass_elements.scm.
16287 * tests/bench-mass_elements.scm: New script, runs mass_elements
16288 for various numbers of identities, outputting the results to a
16289 file. Requires guile 1.6. Just for testing.
16291 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
16293 * gst/schedulers/fairscheduler.c:
16294 compile with debug disabled
16296 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
16299 hunting season on 0.9 is now OPEN