1 2006-07-09 Wim Taymans <wim@fluendo.com>
3 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4 (gst_pad_activate_push):
5 Use some more macros where it makes sense.
6 Allow pad mode switching instead of asserting. When a pad
7 is activated in one mode and we activate it in another,
8 deactivate it first before activating it in a different mode.
11 2006-07-08 Andy Wingo <wingo@pobox.com>
13 * tools/gst-launch.c (main): Handle err == NULL.
15 * gst/gst.c (init_post, ensure_current_registry)
16 (ensure_current_registry_forking)
17 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
18 factoring out the registry scanning into separate functions. Don't
19 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
20 Better environment var name/interface suggestions accepted.
22 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
24 * gst/gstobject.c: (gst_object_set_name_default),
25 (gst_object_set_name):
26 Random micro-optimisation: don't use a hash table
27 with strings as keys and the usual strdup/strcmp
28 involved, but rather just use the GQuark of the
29 type name as key, since it needs to be looked up
30 anyway to get the type name string.
32 * tests/check/gst/gstobject.c: (GST_START_TEST):
35 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
37 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
38 (gst_bin_iterate_all_by_interface):
39 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
40 GTypes are gulongs and thus the top 4 bytes might be cut
41 off on some platforms when doing GPOINTER_TO_INT, leading
42 to invalid GTypes and bad things happening.
43 Also add a check to make sure the type passed in is really
46 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
51 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
55 * gst-element-check.m4:
56 * gst-element-check.m4.in:
57 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
58 instead of the unversioned gst-inspect (#324176, #168659).
60 2006-07-06 Wim Taymans <wim@fluendo.com>
63 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
66 2006-07-06 Wim Taymans <wim@fluendo.com>
68 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
69 (gst_base_src_wait), (gst_base_src_update_length),
70 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
71 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
72 (gst_base_src_loop), (gst_base_src_start),
73 (gst_base_src_activate_pull):
75 blocksize == 0 now means the default blocksize when working in push
77 Remove some pointless asserts in _wait function.
78 Fix offset/length calculations and EOS handling. We can now pull 0
79 bytes as well, which is allowed.
80 use _check_get_range() to decide if we can operate in _pull based
82 Fix refcounting leak when check_get_range function was not
84 API GstBaseSrc::blocksize range can be 0 too now (default)
86 * tests/check/elements/filesrc.c: (GST_START_TEST),
88 Added check to test _get_range() behaviour.
90 2006-07-06 Wim Taymans <wim@fluendo.com>
92 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
93 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
96 Lots of comments and docs added to the pad functions.
97 Flesh out the expected behaviour of the get_range() functions.
99 2006-07-06 Wim Taymans <wim@fluendo.com>
108 Remove comma at end of enumerator list.
110 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
112 * win32/common/libgstbase.def:
113 * win32/common/libgstdataprotocol.def:
114 * win32/common/libsgtreamer.def:
115 Add new exported functions.
117 2006-07-05 Wim Taymans <wim@fluendo.com>
119 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
120 Add some more docs here and there.
122 2006-07-05 Wim Taymans <wim@fluendo.com>
124 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
125 (gst_base_sink_loop), (gst_base_sink_get_position):
126 When operating in pull mode update the offset so that we
129 2006-07-05 Wim Taymans <wim@fluendo.com>
131 * gst/gstregistryxml.c: (read_string):
132 Avoid strdup. (will happen in libxml, but hey!)
137 2006-07-05 Wim Taymans <wim@fluendo.com>
139 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
140 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
142 No point in checking if the size of the subbuffer > 0, the
143 code handles it correclty as demonstrated by unit test.
144 Also add a unit test for the zero sized _new_and_alloc and
145 _copy. Fixes #346663.
147 2006-07-05 Wim Taymans <wim@fluendo.com>
149 * libs/gst/base/gstbasetransform.c:
150 (gst_base_transform_prepare_output_buffer),
151 (gst_base_transform_buffer_alloc),
152 (gst_base_transform_handle_buffer):
153 Make sure the buffer we pass to transform_ip has a refcount of
154 1 and thus is writable. Fixes #343196
156 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
158 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
159 (gst_file_src_init), (gst_file_src_set_property),
160 (gst_file_src_get_property), (gst_file_src_map_region):
161 * plugins/elements/gstfilesrc.h:
162 Add "sequential" property, off by default, to use madvise and hint
163 to the kernel that sequential access is desired.
164 Touch all retrieved pages by default to ensure they are pulled
165 into memory. (Closes #345720)
167 2006-07-03 Wim Taymans <wim@fluendo.com>
169 * docs/design/part-block.txt:
170 * docs/design/part-dynamic.txt:
173 2006-07-03 Wim Taymans <wim@fluendo.com>
175 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
176 (gst_caps_unref), (gst_static_caps_get),
177 (gst_caps_append_structure):
178 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
179 Use GSlice when the glib we build against is >= 2.10
181 2006-07-03 Wim Taymans <wim@fluendo.com>
183 * gst/gstelement.c: (gst_element_pads_activate):
184 Small cleanup in pad activation code.
186 2006-07-03 Wim Taymans <wim@fluendo.com>
188 Patch by: Peter Kjellerstedt <pkj at axis dot com>
190 * gst/gst-i18n-app.h:
191 * gst/gst-i18n-lib.h:
192 * tools/gst-inspect.c: (print_signal_info):
193 The attached patch will make the inclusion of gettext.h unconditional in
194 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
195 libintl.h in tools/gst-inspect.c.
196 This allows use of --disable-nls again and fixes #344642.
198 2006-07-03 Edward Hervey <edward@fluendo.com>
200 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
201 Implement pad blocking on events according to part-block.txt.
202 More comments on behaviour.
203 * tests/check/gst/gstevent.c: (test_event):
204 Send event to peer pad of blocked pad (else it will block).
206 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
208 * libs/gst/check/gstcheck.c: (gst_check_message_error),
209 (gst_check_run_suite):
210 if we get the wrong message, give us the types as string
211 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
213 * tests/check/elements/filesrc.c: (GST_START_TEST):
214 add a test for trying to open a non-existing file
216 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
218 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
219 add a test for adding self
221 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
223 * libs/gst/check/gstcheck.h:
224 add some assert_ as alias for fail_unless_*
225 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
226 increase test coverage
228 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
231 include lcov.mak for lcov coverage generation
235 2006-07-02 Edward Hervey <edward@fluendo.com>
237 * tests/check/elements/.cvsignore:
240 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
243 don't set CFLAGS and friends for gcov, done from GST_GCOV now
244 * tests/check/Makefile.am:
247 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
249 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
250 remove gst_caps_simplify; it was not declared and not used
251 and deprecated in 0.8
253 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
255 * docs/faq/gst-uninstalled:
256 don't put empty paths on PYTHONPATH
257 * docs/gst/gstreamer-sections.txt:
258 remove some symbols that are not there
260 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
262 * gst/gstcaps.c: (gst_caps_compare_structures):
264 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
265 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
268 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
270 * libs/gst/dataprotocol/Makefile.am:
271 build dataprotocol test by linking to the lib, instead of
272 compiling the source, so we get coverage
273 * tests/check/Makefile.am:
274 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
275 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
276 add a test for filesrc
278 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
280 * tests/check/gst/gststructure.c: (GST_START_TEST),
281 (gst_structure_suite):
282 Push coverage from 59.04% to 70.00%
284 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
286 * tests/check/Makefile.am:
287 gst-inspect every element; this makes sure that we also get
288 coverage on element's get/set functions
290 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
293 set CFLAGS and friends to -O0 if gcov is being used
296 * libs/gst/base/Makefile.am:
297 * libs/gst/check/Makefile.am:
298 * libs/gst/controller/Makefile.am:
299 * libs/gst/dataprotocol/Makefile.am:
300 * libs/gst/net/Makefile.am:
301 * plugins/elements/Makefile.am:
302 * plugins/indexers/Makefile.am:
303 add makefile rules to generate gcov data and clean up
304 * tests/check/Makefile.am:
305 add a coverage target that generates an html overview
308 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
310 * tests/check/elements/fakesink.c:
311 * tests/check/elements/fakesrc.c:
312 * tests/check/elements/fdsrc.c:
313 * tests/check/elements/identity.c:
314 * tests/check/generic/sinks.c: (gst_sinks_suite):
315 * tests/check/generic/states.c:
316 * tests/check/gst/gst.c:
317 * tests/check/gst/gstabi.c:
318 * tests/check/gst/gstbin.c:
319 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
320 * tests/check/gst/gstbus.c: (gst_bus_suite):
321 * tests/check/gst/gstcaps.c: (GST_START_TEST):
322 * tests/check/gst/gstelement.c:
323 * tests/check/gst/gstevent.c: (gst_event_suite):
324 * tests/check/gst/gstghostpad.c:
325 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
326 * tests/check/gst/gstmessage.c: (gst_message_suite):
327 * tests/check/gst/gstminiobject.c:
328 * tests/check/gst/gstobject.c:
329 * tests/check/gst/gstpad.c:
330 * tests/check/gst/gstpipeline.c:
331 * tests/check/gst/gstplugin.c:
332 * tests/check/gst/gstquery.c: (gst_query_suite):
333 * tests/check/gst/gstsegment.c: (gst_segment_suite):
334 * tests/check/gst/gststructure.c:
335 * tests/check/gst/gstsystemclock.c:
336 * tests/check/gst/gsttag.c:
337 * tests/check/gst/gsttask.c: (gst_task_suite):
338 * tests/check/gst/gstutils.c:
339 * tests/check/gst/gstvalue.c:
340 * tests/check/libs/adapter.c:
341 * tests/check/libs/basesrc.c:
342 * tests/check/libs/collectpads.c:
343 * tests/check/libs/controller.c:
344 * tests/check/libs/gdp.c: (gst_dp_suite):
345 * tests/check/libs/gstnetclientclock.c:
346 * tests/check/libs/gstnettimeprovider.c:
347 * tests/check/libs/libsabi.c: (libsabi_suite):
348 * tests/check/libs/typefindhelper.c:
349 * tests/check/pipelines/cleanup.c:
350 * tests/check/pipelines/parse-launch.c:
351 * tests/check/pipelines/simple-launch-lines.c:
352 * tests/check/pipelines/stress.c: (stress_suite):
355 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
357 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
358 * libs/gst/check/gstcheck.h:
359 create a macro and function so that the simple unit test
360 case can be just one macro to create main()
362 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
364 * gst/gstbin.c: (gst_bin_restore_thyself):
365 * gst/gstxml.c: (gst_xml_make_element):
366 Fix deserialisation from XML. Set parent manually
367 instead of using gst_bin_add(), since gst_bin_add()
368 will unlink all pads of the element being added.
371 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
373 Patch by: Peter Kjellerstedt <pkj at axis com>
375 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
376 Fix missing g_strdup() and double free when using the
377 --gst-plugin-load command line option (#346097).
379 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
382 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
384 * libs/gst/net/gstnetclientclock.c:
385 * libs/gst/net/gstnettimeprovider.c:
386 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
388 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
390 * docs/manual/advanced-dataaccess.xml:
391 Fix buffer probe example compilation in
394 2006-06-22 Edward Hervey <edward@fluendo.com>
396 * gst/gstelement.c: (gst_element_pads_activate):
397 We need to deactivate src pads first and then sink pads.
398 The reason is the src pads might be blocking while holding the streaming
399 lock, so we need to deactivate them first so that deactivating the sink
400 pads doesn't block (since it will require the streaming lock).
402 2006-06-22 Wim Taymans <wim@fluendo.com>
404 * libs/gst/base/gstbasetransform.c:
405 (gst_base_transform_buffer_alloc):
406 Forgot to remove two unneeded unrefs.
407 Simplify a check _is_equal allready checks the obvious case.
409 2006-06-22 Wim Taymans <wim@fluendo.com>
411 * docs/design/part-block.txt:
412 Some docs about what pad_block should do.
414 2006-06-22 Wim Taymans <wim@fluendo.com>
416 * gst/gstcaps.c: (gst_caps_replace):
417 Fix crasher when passed NULL. Doc clarification.
418 Optimize for the trivial case.
420 * gst/gstpipeline.c: (gst_pipeline_change_state):
423 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
424 Small documentation cleanup.
426 * libs/gst/base/gstbasetransform.c:
427 (gst_base_transform_buffer_alloc):
428 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
429 is what we need and it avoids a whole lot of redundant
432 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
434 Patch by: Philip Jägenstedt <philip at lysator liu se>
436 * docs/manual/advanced-dataaccess.xml:
437 Fix 'Embedding static elements' section to use
438 GST_PLUGIN_DEFINE_STATIC (#345607).
440 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
442 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
443 Attempt to 'fix' spuriously failing test case: it seems like the
444 timeout of half a second is simply too small when the system is under
445 load otherwise, and the timeout doesn't really seem to serve any
446 particular purpose here. Give the pipeline a few seconds to preroll
447 first, and then give it another half a second to go from PAUSED to
448 PLAYING and marshal the message into the main thread.
450 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
452 * tools/gst-feedback-m.m:
453 Don't only use unversioned tools, try versioned tools as well
456 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
458 * gst/gstbus.c: (gst_bus_class_init):
459 Fix some typos, make docs more explicit.
461 2006-06-20 Wim Taymans <wim@fluendo.com>
463 * tests/check/gst/gstghostpad.c: (block_callback),
464 (GST_START_TEST), (gst_ghost_pad_suite):
465 Added some more ghostpad tests, mainly blocking
468 2006-06-16 Wim Taymans <wim@fluendo.com>
470 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
471 (gst_file_sink_close_file), (gst_file_sink_do_seek),
472 (gst_file_sink_event), (gst_file_sink_render):
473 * plugins/elements/gstfilesink.h:
474 Check if we can seek in the file instead of assuming
475 we always can. Post an error when we are asked to seek in a
476 non-seekable file (like a fifo). Fixes #343312.
479 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
481 * tools/gst-launch.1.in:
482 Un-garble (fourcc) bit in filtered caps section.
484 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
486 * docs/manual/advanced-autoplugging.xml:
487 * docs/manual/basics-helloworld.xml:
488 * docs/manual/highlevel-components.xml:
489 Don't leak bus reference in sample code.
491 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
494 Add default for new --enable-plugin-docs switch.
497 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
501 Use new ENABLE_PLUGIN_DOCS conditional.
503 2006-06-14 Wim Taymans <wim@fluendo.com>
505 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
506 Make it clear with a FIXME and a real define what the #if 0
509 2006-06-14 Wim Taymans <wim@fluendo.com>
511 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
512 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
513 * libs/gst/base/gstbasetransform.c:
514 (gst_base_transform_sink_eventfunc):
515 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
516 Don't randomly and silently reset a segment when the format
517 changes as this is a bug somewhere upstream. Fixes #330379.
519 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
521 Patch by: Wouter Paesen <wouter at kangaroot net>
523 * libs/gst/controller/gstcontroller.c:
524 (gst_controlled_property_new):
525 Fix controlling of float properties (#344849).
527 * tests/check/libs/controller.c:
528 (gst_test_mono_source_get_property),
529 (gst_test_mono_source_set_property),
530 (gst_test_mono_source_class_init), (GST_START_TEST):
531 While we're at it, add some float stuff to unit test.
533 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
536 * docs/images/gdp-header.svg:
538 * docs/libs/Makefile.am:
539 * docs/libs/gdp-header.png:
540 * libs/gst/dataprotocol/dataprotocol.c:
541 add it to the API docs
542 * docs/manual/intro-motivation.xml:
545 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
547 * gst/gst.c: (scan_and_update_registry), (init_post):
548 If the fork()'ed child process can't write the updated registry cache
549 file to disk for some reason, make it exit with a failure exit code,
550 so that the parent can then re-scan the plugins itself and update the
551 registry structures in memory and work with that (rather than failing
552 when creating elements because seemingly no plugins are available).
553 Refactor registry scanning code into separate function for this and
554 also separate fork() and non-fork() code paths. Fixes #344748.
556 2006-06-13 Wim Taymans <wim@fluendo.com>
558 * docs/manual/advanced-dataaccess.xml:
559 Fix wrong PluginDesc. Fixes #344755.
561 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
563 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
564 Fix silly bug that prevented us from creating
565 ~/.gstreamer-0.10 and writing the registry in one
566 go (the first call to g_mkstemp() would overwrite the
567 placeholder in the template string, so the second call
568 to g_mkstemp() after creating the missing directory
569 would then error out with 'invalid argument').
571 2006-06-13 Edward Hervey <edward@fluendo.com>
573 * gst/gst.c: (init_post):
576 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
578 * gst/glib-compat-private.h:
581 * gst/gstvalue.c: (gst_value_serialize_flags):
582 remove GLib 2.6 compatibility code
584 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
586 * gst/parse/Makefile.am:
587 Fix build with 'make -j N' even more (#340016).
589 2006-06-12 Wim Taymans <wim@fluendo.com>
591 * docs/gst/gstreamer-sections.txt:
594 2006-06-12 Wim Taymans <wim@fluendo.com>
596 * gst/gstsegment.c: (gst_segment_set_duration),
597 (gst_segment_set_last_stop), (gst_segment_set_seek),
598 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
599 (gst_segment_to_running_time), (gst_segment_clip):
600 Use G_UNLIKELY to help the compiler a bit.
602 2006-06-12 Wim Taymans <wim@fluendo.com>
604 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
606 * gst/gstevent.c: (gst_event_get_type):
608 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
610 constify quark registration strings. Fixes #344115
611 Avoid unneeded type checking is _pad_push() by internally
612 calling gst_pad_chain_unchecked().
614 2006-06-12 Wim Taymans <wim@fluendo.com>
616 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
617 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
618 (gst_subbuffer_finalize), (gst_buffer_create_sub),
619 (gst_buffer_is_span_fast), (gst_buffer_span):
620 Init _type for consistency.
621 Use _FLAGS macro to avoid type check.
622 Avoid unneeded type checks in subbufer code.
624 2006-06-12 Wim Taymans <wim@fluendo.com>
626 * gst/gst.c: (gst_debug_help):
627 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
628 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
629 (gst_plugin_feature_list_free):
630 * gst/gstregistry.c: (gst_registry_add_plugin),
631 (gst_registry_add_feature), (gst_registry_plugin_filter),
632 (gst_registry_feature_filter), (gst_registry_find_plugin),
633 (gst_registry_find_feature), (gst_registry_get_plugin_list),
634 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
635 * gst/gstregistryxml.c: (load_feature),
636 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
637 * gst/gstminiobject.c: (gst_mini_object_unref),
638 (gst_mini_object_replace), (gst_value_mini_object_free),
639 (gst_value_mini_object_copy):
640 Use _CAST macros to avoid unneeded type checking.
641 Added some more G_UNLIKELY.
643 2006-06-12 Wim Taymans <wim@fluendo.com>
646 Avoid unneeded type checking.
647 API: GST_BUFFER_IS_DISCONT
649 * gst/gstminiobject.h:
650 Avoid type check in flag accessor.
652 * gst/gstelementfactory.h:
654 * gst/gstpluginfeature.h:
656 API: GST_ELEMENT_FACTORY_CAST
658 API: GST_PLUGIN_FEATURE_CAST
660 2006-06-12 Wim Taymans <wim@fluendo.com>
662 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
664 Add G_UNLIKELY in type registration.
665 Avoid type check in _ref/_unref since that is also
668 2006-06-12 Wim Taymans <wim@fluendo.com>
670 * gst/gsterror.c: (gst_g_error_get_type):
671 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
672 (gst_static_pad_template_get_type):
673 * gst/gsttaglist.c: (gst_tag_list_get_type):
674 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
675 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
676 * gst/gsturi.c: (gst_uri_handler_get_type):
677 * gst/gstvalue.c: (gst_date_get_type):
678 * gst/gstxml.c: (gst_xml_get_type):
679 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
680 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
681 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
682 Add G_UNLIKELY in type registration.
684 2006-06-12 Wim Taymans <wim@fluendo.com>
686 * tools/gst-inspect.c: (print_signal_info):
687 Properly print enum values.
689 2006-06-12 Wim Taymans <wim@fluendo.com>
691 * gst/gstinfo.c: (gst_debug_set_active),
692 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
694 Add some G_[UN]LIKELY.
695 Maintain __gst_debug_min to avoid formatting the arguments of
696 debug messages that will be dropped anyway to avoid a lot of
697 overhead from the debugging system.
699 2006-06-11 Stefan Kost <ensonic@users.sf.net>
703 add missing files containing translatable strings, tell intltool about
706 2006-06-11 Stefan Kost <ensonic@users.sf.net>
708 * tests/check/libs/.cvsignore:
709 add test-binary to ignore list
711 2006-06-11 Stefan Kost <ensonic@users.sf.net>
713 * docs/libs/gstreamer-libs-docs.sgml:
714 reorder (put dp into a chapter) and indent
716 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
721 === release 0.10.8 ===
723 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
726 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
728 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
730 * gst/gst.c: (init_post):
731 move pid declaration to declaration block
733 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
735 * gst/gst.c: (init_post):
736 use _exit() instead of exit() in our forked child; this ensures
737 that none of the registered exit handlers from whatever is using
738 GStreamer get executed. This fixes gnome-mixer-applet failing
739 to load, because ORBit would shut down.
740 Spotted by: Edward Hervey <edward@fluendo.com>
741 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
744 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
749 === release 0.10.7 ===
751 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
754 releasing 0.10.7, "Soepeke, ik zie ou"
756 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
779 * win32/common/config.h:
782 2006-06-07 Wim Taymans <wim@fluendo.com>
784 * gst/gstindex.c: (gst_index_gtype_resolver):
785 * tools/gst-xmlinspect.c: (print_plugin_info):
786 Fix leak spotted by coverity checker. Fixes #343827
787 Fix another other leak found by paolo borelli.
789 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
791 * libs/gst/dataprotocol/dataprotocol.c:
792 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
793 (gst_dp_version_get_type), (gst_dp_init),
794 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
795 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
796 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
797 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
798 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
799 (gst_dp_packetizer_free):
800 * libs/gst/dataprotocol/dataprotocol.h:
801 API: add a GstDPPacketizer object, and create/free functions
802 API: add GstDPVersion enum
803 Add 1.0 event function that uses the string serialization
804 Serialize more useful buffer flags
807 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
809 * tests/check/Makefile.am:
810 * tests/check/gst/gstabi.c:
811 * tests/check/gst/struct_ppc64.h:
812 * tests/check/libs/libsabi.c:
813 * tests/check/libs/struct_ppc64.h:
814 add ppc64 structure sizes
816 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
818 * tests/check/Makefile.am:
819 * tests/check/gst/gstabi.c:
820 * tests/check/gst/struct_x86_64.h:
821 * tests/check/libs/libsabi.c:
822 * tests/check/libs/struct_x86_64.h:
823 generate and add structure size lists for x86_64
825 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
827 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
828 * libs/gst/check/gstcheck.h:
829 factor out the method from tests that checks size of structures,
830 and add code to generate the header containing these sizes
831 * tests/check/gst/gstabi.c: (GST_START_TEST):
832 * tests/check/gst/struct_i386.h:
833 * tests/check/libs/libsabi.c: (GST_START_TEST):
834 * tests/check/libs/struct_i386.h:
837 2006-06-06 Michael Smith <msmith@fluendo.com>
840 Don't use c++-style comments, fixes #343929
842 2006-06-05 Edward Hervey <edward@fluendo.com>
845 plugin_paths is not used if we build without registry support.
847 * gst/gstsegment.c: (gst_segment_copy):
848 _copy() was always returning NULL...
850 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
852 * libs/gst/dataprotocol/dataprotocol.c:
853 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
854 (gst_dp_packet_from_event):
857 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
859 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
860 make sure we unset caps
862 2006-06-02 Michael Smith <msmith@fluendo.com>
864 * libs/gst/check/gstcheck.c: (gst_check_init),
865 (gst_check_chain_func):
866 * libs/gst/check/gstcheck.h:
867 Add a cond/mutex to the check support lib, signal this whenever we
868 add to the buffers list. This will allow tests to not busy-wait on
871 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
873 * libs/gst/dataprotocol/dataprotocol.c:
874 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
875 (gst_dp_packet_from_event):
876 factor out some common header init code
878 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
880 * docs/libs/gstreamer-libs-sections.txt:
881 * docs/libs/tmpl/gstdataprotocol.sgml:
882 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
883 * libs/gst/dataprotocol/dataprotocol.h:
884 API: make gst_dp_crc() public
886 2006-06-01 Stefan Kost <ensonic@users.sf.net>
888 * plugins/indexers/gstindexers.c: (plugin_init):
889 conditionally register fileindexer (fixes #343598)
891 2006-06-01 Stefan Kost <ensonic@users.sf.net>
893 * gst/gsttagsetter.h:
894 Can't cast ifaces to a class
896 * libs/gst/net/gstnetclientclock.h:
897 * libs/gst/net/gstnettimeprovider.h:
898 * plugins/elements/gstfakesink.h:
899 * plugins/elements/gstfakesrc.h:
900 * plugins/elements/gstfdsink.h:
901 * plugins/elements/gstfdsrc.h:
902 * plugins/elements/gstfilesink.h:
903 * plugins/elements/gstfilesrc.h:
904 * plugins/elements/gstidentity.h:
905 * plugins/elements/gstqueue.h:
906 * plugins/elements/gsttee.h:
907 * plugins/indexers/gstfileindex.c:
908 * plugins/indexers/gstmemindex.c:
909 * tests/old/examples/plugins/example.h:
910 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
912 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
914 * libs/gst/dataprotocol/dataprotocol.c:
915 (gst_dp_header_from_buffer):
916 make sure we zero the whole ABI-compatible area
918 2006-06-01 Wim Taymans <wim@fluendo.com>
920 Patch by: Alessandro Decina <alessandro at nnva dot org>
922 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
923 Make sure the EOS flag is cleared from pads after a flush
924 or stop. Fixes #343538.
926 * tests/check/libs/collectpads.c: (GST_START_TEST),
927 (gst_collect_pads_suite):
928 Added test for collectpads reusage after EOS.
930 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
933 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
934 * win32/common/libgstbase.def:
935 export gst_collect_pads_set_flushing
936 * win32/common/libgstreamer.def:
937 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
938 gst_value_fraction_multiply
939 * win32/vs6/gst_inspect.dsp:
940 add a link to intl.lib
942 2006-05-30 Wim Taymans <wim@fluendo.com>
944 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
945 (gst_collect_pads_chain):
946 Handle the case where a pad is removed from the collection
947 that could cause the other pads to become collectable.
949 2006-05-30 Wim Taymans <wim@fluendo.com>
952 Clarify the use of _release_request_pad() and
953 _get_request_pad() a bit better.
955 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
956 (gst_adapter_take_buffer):
957 Fix some doc and comment typos.
959 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
961 * docs/gst/gstreamer-sections.txt:
962 * docs/libs/gstreamer-libs-sections.txt:
965 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
967 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
968 Add debug that can be enabled using a #define at the top of the file,
969 for dumping stats about how late/early we were when waking up from
970 waiting on the clock.
972 2006-05-30 Wim Taymans <wim@fluendo.com>
974 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
975 When rebuilding the pad list, don't leak the previous list.
977 2006-05-30 Wim Taymans <wim@fluendo.com>
979 Patch by: Lutz Mueller <lutz at topfrose dot de>
981 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
982 (gst_base_src_get_query_types), (gst_base_src_update_length):
983 Publish supported query types.
984 Update last_stop field in get_range mode so the position
985 query works. Fixes #342321.
987 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
989 * docs/gst/gstreamer-sections.txt:
990 * gst/gsttaglist.c: (_gst_tag_initialize):
992 API: add GST_TAG_PREVIEW_IMAGE (#343341).
994 2006-05-30 Wim Taymans <wim@fluendo.com>
996 Patch by: Alessandro Decina <alessandro at nnva dot org>
998 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
999 Unlock mutex when removing an unknown pad.
1002 * tests/check/Makefile.am:
1003 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
1004 (push_event), (setup), (teardown), (GST_START_TEST),
1005 (gst_collect_pads_suite), (main):
1006 Added collecpads check, disabled for now as check crashes for
1009 2006-05-29 Wim Taymans <wim@fluendo.com>
1011 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1012 Don't leak pads lists.
1014 2006-05-29 Wim Taymans <wim@fluendo.com>
1016 * docs/libs/gstreamer-libs-sections.txt:
1017 * libs/gst/base/gstcollectpads.c:
1018 (gst_collect_pads_set_flushing_unlocked),
1019 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1020 (gst_collect_pads_stop):
1021 * libs/gst/base/gstcollectpads.h:
1022 API: gst_collect_pads_set_flushing()
1023 Added api to set the pads to flushing, useful for seeking
1024 code in elements using collectpads.
1025 Clear segment when receiving a flush.
1027 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
1029 * gst/gst.c: (add_path_func), (init_post):
1030 Don't scan registry paths passed via --gst-plugin-path immediately
1031 (will crash, because absolutely nothing is set up and no types are
1032 registered etc.); do this later in init_post(). Fixes #343057.
1034 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
1036 * gst/gst.c: (init_post):
1037 if we have fork, fork while reading/rebuilding the registry
1038 so the parent doesn't take the hit of having all plugins loaded
1039 in memory. Fixes #342777.
1041 Check if we have fork()
1042 * win32/common/config.h.in:
1045 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
1047 * plugins/elements/gstelements.c:
1048 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1049 (gst_file_src_init), (gst_file_src_set_property),
1050 (gst_file_src_get_property), (gst_file_src_start):
1051 * plugins/elements/gstfilesrc.h:
1052 API: GstFileSrc::use-mmap
1054 Add a use-mmap property to enable easier testing of all code paths.
1055 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1056 in the absence of gnomevfssrc. (Closes #340501)
1058 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
1060 * tools/gst-inspect.c:
1061 Add missing include, removes warning of ngettext not being defined on
1064 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
1066 * gst/gstvalue.c: (gst_value_deserialize_fraction):
1067 Handle NULL input and output pointers silently as a failed conversion,
1068 rather than g_warnings.
1070 2006-05-25 Wim Taymans <wim@fluendo.com>
1072 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1073 Initialize variable before using. Fixes #342820.
1075 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
1077 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1078 Fix off-by-one bug that would only allow peeks of N-1 bytes
1079 from the start even if the buffer to typefind on contains
1080 in fact N bytes of data (makes vorbis typefinding from a
1081 vorbis identification header buffer work).
1083 * tests/check/Makefile.am:
1084 * tests/check/libs/.cvsignore:
1085 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1086 (gst_typefindhelper_suite), (main), (foobar_typefind),
1088 Add very basic unit test for gst_type_find_helper_for_buffer()
1089 that checks for the problem fixed above.
1091 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
1093 * tools/gst-inspect.c: (print_interfaces),
1094 (print_element_properties_info), (print_element_list), (main):
1095 add more translatable strings
1097 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
1099 Patch by: Julien Moutte <julien at moutte net>
1101 * docs/gst/gstreamer-sections.txt:
1102 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1104 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1105 (gst_fake_sink_preroll):
1106 * plugins/elements/gstfakesink.h:
1107 API: Add new GstFakeSink::preroll-handoff signal (#337100).
1109 2006-05-23 Wim Taymans <wim@fluendo.com>
1111 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1113 Added _CUSTOM error and success GstFlowReturn that can be
1114 used be elements internally.
1115 Added macro to check for SUCCESS flowreturns.
1116 API: GST_FLOW_CUSTOM_SUCCESS
1117 API: GST_FLOW_CUSTOM_ERROR
1118 API: GST_FLOW_IS_SUCCESS
1120 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1121 Added check for GstFlowReturn sanity.
1123 2006-05-23 Wim Taymans <wim@fluendo.com>
1125 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1127 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1128 (gst_collect_pads_event):
1129 clear/reset segment info in FLUSH_STOP.
1132 2006-05-22 Stefan Kost <ensonic@users.sf.net>
1134 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1135 (gst_collect_pads_check_collected):
1136 Flush queued buffer on _stop(), fixes playing again (#342454)
1138 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
1140 * tests/check/gst/gststructure.c: (GST_START_TEST),
1141 (gst_structure_suite):
1142 add a test for a complete structure
1144 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
1146 * docs/faq/developing.xml:
1148 * docs/faq/troubleshooting.xml:
1149 * docs/faq/using.xml:
1150 Some minor FAQ updates that won't change the fact that
1151 our FAQ is badly structured, full of information hardly
1152 anyone new to GStreamer needs to know and lacking lots
1153 of information people constantly ask for.
1155 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
1157 * gst/gstpad.c: (gst_pad_set_caps):
1158 Short-circuit gst_pad_set_caps if setting the existing
1159 caps pointer again, and avoid printing debug and
1160 reffing/unreffing the caps.
1162 * plugins/elements/gstqueue.c: (gst_queue_push_one):
1163 There's actually no need to set the caps before pushing -
1164 the acceptcaps method will handle it anyway.
1166 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
1168 * docs/gst/gstreamer-sections.txt:
1169 * win32/common/libgstreamer.def:
1170 * gst/gstutils.c: (gst_element_seek_simple):
1172 API: add gst_element_seek_simple() (#342238).
1174 2006-05-18 Edward Hervey <edward@fluendo.com>
1176 * gst/gsttypefind.c: (gst_type_find_get_type):
1177 * gst/gsttypefind.h:
1178 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1179 registered for GstTypeFind pointers. This allows wrapping the structure
1180 in bindings (i.e. gst-python).
1182 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
1184 * gst/gsttagsetter.c:
1185 Docs additions and fixes (see #339918).
1187 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
1189 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1190 The caps intersection algorithm can produce multiple copies of the
1191 caps. Until that is fixed, we need to simplify the result to be
1192 sure whether the allowed caps are fixed or not.
1194 * plugins/elements/gstqueue.c: (gst_queue_init),
1195 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1196 (gst_queue_push_one):
1197 Proxied buffer alloc should not set the caps on the source pad.
1198 When pushing buffers, we always accept the caps change that triggers.
1199 This prevents negotiation errors caused by caps changing mid-stream
1200 and then being refused on our source pad (because upstream is now
1201 refusing those caps).
1203 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
1205 * tests/examples/helloworld/helloworld.c: (main):
1206 Must plug audioconvert and audioresample between decoder
1209 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
1211 * gst/gstregistryxml.c: (read_string), (load_pad_template),
1212 (load_feature), (load_plugin):
1213 Allow empty strings for some of the plugin fields so we don't
1214 drop valid plugin entries that were written out correctly
1217 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
1219 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1220 Use g_remove and g_rename instead of remove and rename that don't
1221 handle utf8 characters. rename was failing for users who had specific
1222 characters in their name then the registry was built at each
1224 * win32/vs6/gst_inspect.dsp:
1225 * win32/vs6/gst_launch.dsp:
1226 * win32/vs6/libgstbase.dsp:
1227 * win32/vs6/libgstcoreelements.dsp:
1228 * win32/vs6/libgstreamer.dsp:
1229 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
1230 build of libgstreamer and clean unused libraries in projects link
1233 2006-05-17 Edward Hervey <edward@fluendo.com>
1235 * plugins/elements/gstqueue.c: (gst_queue_push_one):
1236 The queue is not responsible for pushing an EOS when receiving a fatal
1237 flow error. It's up to the real element driving the pipeline to do that.
1239 2006-05-16 Edward Hervey <edward@fluendo.com>
1241 * plugins/elements/gstqueue.c: (gst_queue_push_one):
1242 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1243 buffer returned a fatal error. It should just send an EOS and stop
1245 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1246 when pushing buffers on the queue and will be able to handle the event.
1248 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
1250 * docs/manual/basics-bins.xml:
1251 * docs/manual/basics-init.xml:
1252 Fix typos and minor errors in sample code (#341856).
1254 2006-05-16 Wim Taymans <wim@fluendo.com>
1256 * docs/design/part-qos.txt:
1257 Fix indexes in formulas to make more sense.
1259 2006-05-15 Wim Taymans <wim@fluendo.com>
1261 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1262 Don't report POSITION based on clock time if sync is
1265 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
1268 Add cast to make compiler happy - refcount variable was a gint
1269 in GstObject but is a guint in GObject and g_atomic_int_get()
1272 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
1274 * gst/parse/Makefile.am:
1275 chain commands using &&, which also makes parallel make work
1277 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
1279 * docs/gst/gstreamer-sections.txt:
1285 === release 0.10.6 ===
1287 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
1290 releasing 0.10.6, "Take the cannoli"
1292 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
1294 * tools/gst-launch.c: (print_tag):
1295 Fix use of uninitialized variable in the hypothetical
1296 case that some broken plugin creates a GST_TAG_IMAGE
1297 tag containing a NULL buffer (#341667).
1299 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
1301 * tools/gst-launch.c: (print_tag):
1302 Print something more intelligible for image tags when
1303 using the -t switch (#341556).
1305 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
1310 define GST_MAJORMINOR so we have it available in win32/common/config.h
1311 Possibly remove it from our Makefile.am files later
1312 * win32/common/config.h:
1313 * win32/common/config.h.in:
1314 added GST_MAJORMINOR
1315 * win32/common/gstenumtypes.c: (register_gst_resource_error):
1316 * win32/common/gstversion.h:
1319 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
1322 Update win32 files listing.
1323 * win32/common/gstversion.h:
1324 Add GST_MAJORMINOR definition.
1325 * win32/common/libgstreamer.def:
1326 Add new exported functions.
1328 2006-05-12 Michael Smith <msmith@fluendo.com>
1330 * gst/gstplugin.c: (gst_plugin_load_file):
1331 If an so file has no plugin entry point, unload the module.
1333 2006-05-11 Wim Taymans <wim@fluendo.com>
1335 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1336 (gst_queue_set_property):
1337 Don't forget to signal the _chain or _loop function
1338 when the queue size or thresholds change since that might
1339 cause them to make progres again.
1341 2006-05-11 Stefan Kost <ensonic@users.sf.net>
1343 * gst/gstclock.c: (gst_clock_class_init):
1344 * gst/gstindex.c: (gst_index_class_init):
1345 * gst/gstobject.c: (gst_object_class_init):
1346 * gst/gstpad.c: (gst_pad_class_init):
1347 * gst/gstpipeline.c: (gst_pipeline_class_init):
1348 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1349 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1350 * libs/gst/base/gstbasetransform.c:
1351 (gst_base_transform_class_init):
1352 * libs/gst/net/gstnetclientclock.c:
1353 (gst_net_client_clock_class_init):
1354 * libs/gst/net/gstnettimeprovider.c:
1355 (gst_net_time_provider_class_init):
1356 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1357 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1358 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1359 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1360 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1361 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1362 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1363 * plugins/elements/gstidentity.c: (gst_identity_class_init):
1364 * plugins/elements/gsttee.c: (gst_tee_class_init):
1365 * tests/old/examples/plugins/example.c: (gst_example_class_init):
1366 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1367 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1369 2006-05-11 Wim Taymans <wim@fluendo.com>
1371 * gst/gstbuffer.c: (_gst_buffer_initialize):
1372 Register subbufer along with the buffer type so that
1373 it does not accidentally gets registered from N
1374 different streaming threads in a non threadsafe way.
1376 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
1381 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1382 gst_event_ref() and gst_message_ref() functions again
1383 (ugly hack, please do fix if there's a better way besides
1384 overrides.txt, which doesn't seem to work).
1386 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
1388 * libs/gst/check/gstcheck.h:
1389 add an assert for setting state to avoid lots of repetitive code
1392 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
1394 * gst/gstvalue.c: (gst_value_serialize_flags):
1395 fix a leak if no flags are set
1396 * tests/check/gst/gstvalue.c: (GST_START_TEST):
1399 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
1401 * docs/manual/basics-pads.xml:
1402 Expand a bit on caps and filtered links and update
1403 examples that were still using the no longer existing
1404 gst_pad_link_filtered() (#338206).
1406 2006-05-10 Wim Taymans <wim@fluendo.com>
1408 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1409 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1410 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1411 (gst_collect_pads_stop):
1412 * libs/gst/base/gstcollectpads.h:
1413 No need to call _stop in _finalize.
1414 Iterate the main pad list in _finalize.
1415 Added some more debug.
1416 Free lists and data in the right order.
1417 Also free data whem doing _remove_pad when stopped for
1418 backward compatibility protect ::started with PAD_LOCK as
1421 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
1423 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1424 (gst_structure_parse_value):
1426 rename a method so that it actually says what it does better
1428 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
1430 * gst/gstevent.c: (_gst_event_initialize):
1431 * gst/gstformat.c: (_gst_format_initialize):
1432 make sure some essential types used by events are registered
1433 as part of gst_init()
1434 * gst/gstvalue.c: (gst_value_serialize_flags):
1435 if no flags are set, serialize them to a value that represents NONE
1436 so that deserializing them works
1437 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1438 add tests for serialization and deserialization of flags
1440 2006-05-10 Wim Taymans <wim@fluendo.com>
1442 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1443 (gst_collect_pads_collect_range), (gst_collect_pads_available),
1444 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1445 (gst_collect_pads_event), (gst_collect_pads_chain):
1448 Catch and return errors from the collect function
1449 Refuse data on eos pads.
1451 2006-05-10 Edward Hervey <edward@fluendo.com>
1453 * gst/gstinterface.h:
1454 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1455 GInterface type checking.
1456 They were previously using non-defined macros.
1458 2006-05-09 Wim Taymans <wim@fluendo.com>
1460 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1461 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1462 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1463 (gst_collect_pads_start), (gst_collect_pads_stop),
1464 (gst_collect_pads_peek), (gst_collect_pads_pop),
1465 (gst_collect_pads_available), (gst_collect_pads_read),
1466 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1467 (gst_collect_pads_is_collected), (gst_collect_pads_event),
1468 (gst_collect_pads_chain):
1469 * libs/gst/base/gstcollectpads.h:
1470 Clean up the mess that is collectpads, add comments and
1471 FIXMEs where needed.
1472 Maintain a separate pad list so we can add pads while
1473 collecting the other ones. For this we need a new separate
1475 Fix memory leak in finalize.
1476 Refactor some weird code to set/unset pad flushing flags, mark
1478 Don't crash in _available, _read, _flush when we're EOS.
1480 * tests/check/libs/.cvsignore:
1481 Ignore adapter check binary.
1483 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1485 * gst/gstindex.c: (gst_index_resolver_get_type):
1486 * plugins/elements/gstfakesink.c:
1487 (gst_fake_sink_state_error_get_type):
1488 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1489 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1490 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1491 Const-ify GEnumValue arrays.
1493 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1495 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1496 Add test case for flags + gst_buffer_make_metadata_writable().
1498 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1500 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1501 gst_buffer_make_metadata_writable() should maintain the
1502 buffer flags (those that make sense at least) (see #340859).
1504 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1506 * tools/gst-inspect.c:
1507 * tools/gst-launch.c:
1508 * tools/gst-typefind.c:
1509 * tools/gst-xmlinspect.c:
1511 Fix up includes: need to include stdlib.h in tools.h for exit().
1513 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1515 * gst/gsttaglist.c: (_gst_tag_initialize):
1517 API: add GST_TAG_IMAGE tag (#340721).
1519 2006-05-08 Wim Taymans <wim@fluendo.com>
1522 Added some docs for the segment query.
1524 2006-05-08 Wim Taymans <wim@fluendo.com>
1526 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1527 (gst_base_src_loop), (gst_base_src_change_state):
1528 Always push non-flushing serialized events in the streaming
1531 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
1533 * gst/gsterror.c: (_gst_stream_errors_init):
1534 Add a missing error string.
1536 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
1538 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1539 Add applied_rate to the debug
1541 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1542 Copy applied_rate into the outgoing NEWSEGMENT event
1544 2006-05-08 Wim Taymans <wim@fluendo.com>
1546 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1548 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1549 (gst_base_sink_change_state):
1550 call ::unlock before taking the PREROLL_LOCK so we can safely
1551 handle elements that lock in ::render.
1554 2006-05-08 Edward Hervey <edward@fluendo.com>
1556 * autogen.sh: (CONFIGURE_DEF_OPT):
1557 Darwin's libtoolize is in fact called glibtoolize.
1558 Adding glibtoolize to the list of accepted names for libtoolize.
1560 2006-05-08 Wim Taymans <wim@fluendo.com>
1562 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1563 Unify error handling, don't post an error message
1564 when a push() returns EOS but perform our normal EOS
1565 handling code. Fixes #340772.
1567 2006-05-08 Wim Taymans <wim@fluendo.com>
1569 * docs/design/part-overview.txt:
1570 Make upsteam/downstream concepts more clear.
1571 Give an example of serialized/non-serialized events.
1573 * docs/design/part-events.txt:
1574 * docs/design/part-streams.txt:
1575 Mention applied_rate.
1577 * docs/design/part-trickmodes.txt:
1578 Mention applied rate, flesh out some more use cases.
1580 * gst/gstevent.c: (gst_event_new_new_segment),
1581 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1582 (gst_event_parse_new_segment_full), (gst_event_new_tag),
1583 (gst_event_parse_tag), (gst_event_new_buffer_size),
1584 (gst_event_parse_buffer_size), (gst_event_new_qos),
1585 (gst_event_parse_qos), (gst_event_parse_seek),
1586 (gst_event_new_navigation):
1588 Add applied_rate field to NEWSEGMENT event.
1589 API: gst_event_new_new_segment_full()
1590 API: gst_event_parse_new_segment_full()
1592 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1593 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1594 (gst_segment_to_stream_time), (gst_segment_to_running_time):
1596 Add applied_rate to GstSegment structure.
1597 Make calculation of stream_time and running_time more correct
1598 wrt rate/applied_rate.
1600 API: GstSegment::applied_rate field
1601 API: gst_segment_set_newsegment_full();
1603 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1604 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1605 * libs/gst/base/gstbasetransform.c:
1606 (gst_base_transform_sink_eventfunc),
1607 (gst_base_transform_handle_buffer):
1608 Parse and use applied_rate in the GstSegment field.
1610 * tests/check/gst/gstevent.c: (GST_START_TEST):
1611 Add check for applied_rate field.
1613 * tests/check/gst/gstsegment.c: (GST_START_TEST),
1614 (gstsegments_suite):
1615 Add more checks for various GstSegment operations.
1617 2006-05-08 Wim Taymans <wim@fluendo.com>
1619 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1620 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1621 (gst_base_sink_get_position), (gst_base_sink_change_state):
1622 Store the sync time of the buffer end position separatly in a
1623 new variable eos_rtime so we can properly sync the EOS event.
1625 Fix the docs for gst_base_sink_set_qos_enabled().
1626 Don't set segment start to invalid value when we receive a
1627 non TIME newsegment.
1628 get closer to handling position reporting for negative rates
1631 2006-05-07 Stefan Kost <ensonic@users.sf.net>
1634 Docs about how to print caps for debug purposes.
1636 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1637 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1639 2006-05-07 Stefan Kost <ensonic@users.sf.net>
1642 use full enum names and preprend a '%' in docs strings to make recent
1643 gtk-doc turn that into a link
1645 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1647 * docs/manual/basics-bins.xml:
1648 * docs/manual/basics-bus.xml:
1649 * docs/manual/basics-pads.xml:
1650 Some typo fixes, some additions, some clarifications.
1652 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1654 * tools/gst-inspect.c: (main):
1655 * tools/gst-launch.c: (main):
1656 * tools/gst-run.c: (main):
1657 * tools/gst-typefind.c: (main):
1658 * tools/gst-xmlinspect.c: (main):
1659 Use the string passed to g_option_context_new() for
1660 what it's intended for - the program name is already
1663 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1665 * tools/Makefile.am:
1666 * tools/gst-inspect.c: (main):
1667 * tools/gst-launch.c: (main):
1668 * tools/gst-xmlinspect.c: (main):
1670 Add back --version command line option (#340460).
1672 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1673 Add --version option and use GOption for argument parsing; refactor a
1674 bit; accept directories as arguments and recurse into them; lastly,
1675 print a decent error message when things go wrong.
1677 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1679 * docs/manual/basics-bins.xml:
1680 Don't mention GstThread (#340611)
1681 * docs/manual/basics-elements.xml:
1682 Update link to GObject tutorial (#340607)
1684 2006-05-05 Wim Taymans <wim@fluendo.com>
1687 * gst/gstminiobject.c:
1688 Add note about refcounting and miniobject/buffer writeability
1689 to docs. Fixes #340604
1691 * gst/gstelementfactory.h:
1692 Added some explanation about @klass.
1694 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1696 * docs/manual/intro-motivation.xml:
1697 * docs/manual/manual.xml:
1698 Avoid CORBA & Bonobo references (#340598)
1700 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1702 * docs/manual/basics-bus.xml:
1703 * docs/manual/basics-pads.xml:
1704 Fix up some inaccuracies and omissions (#340609)
1706 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1708 * gst/gstghostpad.c:
1709 Small typo in docs (#340625)
1711 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1713 * gst/parse/Makefile.am:
1714 Make 'make -j' proof (see #340698).
1716 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1719 Require GLib-2.8 here as well.
1721 2006-05-05 Wim Taymans <wim@fluendo.com>
1723 * gst/glib-compat.c:
1724 * gst/gst.c: (init_pre):
1725 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1726 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1727 (gst_object_dispatch_properties_changed):
1729 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1730 * gst/gststructure.c: (gst_structure_set_valist):
1731 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1732 Remove pre glib2.8 compatibility, fixes #340508
1734 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
1737 Mention type of tags in doc blurbs.
1739 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
1741 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1742 (gst_pad_configure_src), (gst_pad_push):
1743 Restore acceptcaps checking behaviour now that good plugins have
1746 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
1748 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1759 * gst/parse/Makefile.am:
1760 * libs/gst/base/gstadapter.c:
1761 * libs/gst/base/gstbasesrc.c:
1762 * libs/gst/base/gstpushsrc.c:
1763 * libs/gst/base/gsttypefindhelper.c:
1764 * plugins/elements/gstfakesrc.c:
1765 * plugins/elements/gstidentity.c:
1766 Make sure gstprivate.h and/or config.h are
1767 always included first, otherwise some of our
1768 defines (like _FILE_OFFSET_BITS) might be
1769 redefined in the system headers. Fixes build
1770 on opensolaris (#340016).
1772 2006-05-04 Wim Taymans <wim@fluendo.com>
1774 * docs/libs/gstreamer-libs-sections.txt:
1775 API: addition: gst_adapter_take_buffer()
1777 * libs/gst/base/gstadapter.c: (gst_adapter_push),
1778 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1779 (gst_adapter_available_fast):
1780 * libs/gst/base/gstadapter.h:
1781 Prepare for optimizing the hell out of this hugely inefficient
1783 Added gst_adapter_take_buffer() so we can at least start thinking
1784 about subbuffering and merging.
1785 Added some comments.
1787 * tests/check/Makefile.am:
1788 * tests/check/libs/adapter.c: (GST_START_TEST),
1789 (gst_adapter_suite), (main):
1790 Added GstAdapter check.
1792 2006-05-04 Wim Taymans <wim@fluendo.com>
1794 * docs/design/part-overview.txt:
1795 Fix some typos, add blurb about buffer flags.
1797 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
1799 * docs/libs/gstreamer-libs-sections.txt:
1800 make sure GstBaseTransformClass shows up in the docs
1801 * libs/gst/base/gstbasetransform.c:
1802 * libs/gst/base/gstbasetransform.h:
1803 move docs so gtk-doc picks it up now
1805 2006-05-02 Stefan Kost <ensonic@users.sf.net>
1807 * docs/libs/gstreamer-libs-sections.txt:
1808 add missing symbols to docs
1810 2006-05-02 Stefan Kost <ensonic@users.sf.net>
1812 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1813 back out the newsegment handling change, see #340060 for ongoing
1816 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
1818 * tools/gst-run.c: (get_candidates), (main):
1819 Fix wrong g_file_test() usage (see glib docs for why it doesn't
1820 work); fix typo in error message. Fixes #340079.
1822 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
1824 * common/Makefile.am:
1826 * docs/faq/Makefile.am:
1827 * docs/gst/Makefile.am:
1828 * docs/libs/Makefile.am:
1829 * docs/manual/Makefile.am:
1830 * docs/plugins/Makefile.am:
1831 * docs/pwg/Makefile.am:
1832 * docs/slides/Makefile.am:
1834 * common/upload.mak:
1835 move upload.mak to common
1837 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
1839 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1840 add more asserts on refcounts
1841 do more cleanup at end of tests
1842 fix test leaks showing in FC5
1844 2006-04-29 Stefan Kost <ensonic@users.sf.net>
1846 * plugins/elements/gsttypefindelement.c:
1847 (gst_type_find_element_handle_event):
1848 reverted wrong change and reflowed code to avoid others falling into
1851 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1853 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1854 fix changelog entry about last collectpads change,
1855 add notes about proper fix
1857 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1860 * gst/gstregistry.c: (gst_registry_scan_path_level),
1861 (gst_registry_scan_path):
1862 * gst/gstregistry.h:
1863 only write out registry if it has changed, fixes #338339
1865 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1868 * gst/gstpipeline.c:
1869 * plugins/elements/gstcapsfilter.c:
1870 * plugins/elements/gstfakesink.c:
1871 * plugins/elements/gstfakesrc.c:
1872 * plugins/elements/gstfdsink.c:
1873 * plugins/elements/gstfdsrc.c:
1874 * plugins/elements/gstfilesink.c:
1875 * plugins/elements/gstfilesrc.c:
1876 * plugins/elements/gstidentity.c:
1877 * plugins/elements/gstqueue.c:
1878 * plugins/elements/gsttee.c:
1879 * plugins/elements/gsttypefindelement.c:
1880 (gst_type_find_element_handle_event):
1881 make GstElementDetails const
1883 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1885 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1886 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1887 (gst_collect_pads_is_collected), (gst_collect_pads_event):
1888 more detailed debug and formatting cleanup,
1889 forward newsegments to src-pad (so that e.g. adder not eats them)
1891 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1893 * gst/gstutils.c: (gst_element_link_pads):
1896 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1898 * libs/gst/controller/gstcontroller.c:
1899 (gst_controller_sync_values):
1901 * tests/check/libs/controller.c: (GST_START_TEST),
1902 (gst_controller_suite):
1903 a new test for live value handling
1905 2006-04-28 Wim Taymans <wim@fluendo.com>
1907 * gst/gstutils.c: (push_and_ref):
1908 Added some more docs.
1909 Fix refcount issue whith gst_element_found_tags() helper
1910 function. Fixes #338335
1912 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1913 Added testsuite for gst_element_found_tags().
1915 2006-04-28 Michael Smith <msmith@fluendo.com>
1917 * gst/gstvalue.c: (gst_value_serialize_flags):
1918 Avoid NULL dereference when trying to serialize flags containing
1921 2006-04-28 Michael Smith <msmith@fluendo.com>
1923 * plugins/elements/gsttypefindelement.c:
1924 (gst_type_find_element_handle_event):
1925 If we get EOS before any data is accumulated, don't use
1926 uninitialised local variables.
1928 2006-04-28 Michael Smith <msmith@fluendo.com>
1930 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1931 (gst_dp_event_from_packet):
1932 Fixes in reading/writing events over GDP (not currently used?) -
1933 dereferencing NULL events for unknown/invalid event types, memory
1934 leak, and change g_warning to GST_WARNING.
1936 2006-04-28 Wim Taymans <wim@fluendo.com>
1938 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1939 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1940 (gst_base_sink_get_position), (gst_base_sink_change_state):
1941 When frame dropping is enabled, we should not ignore frames
1943 Update some documentation.
1945 2006-04-28 Wim Taymans <wim@fluendo.com>
1947 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1948 (gst_base_src_send_event), (gst_base_src_change_state):
1949 Documentation updates.
1951 2006-04-28 Wim Taymans <wim@fluendo.com>
1953 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1954 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1955 handle EAGAIN, EINTR and short writes correctly. Also clean
1956 up some error cases, avoid a deadlock on bad file descriptors and
1957 use GST_DEBUG_OBJECT.
1960 2006-04-28 Wim Taymans <wim@fluendo.com>
1962 * gst/gstvalue.c: (gst_value_serialize_buffer),
1963 (gst_value_deserialize_buffer):
1964 Don't try to serialize a GValue with a NULL buffer.
1967 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1968 Added check for serialisation of NULL buffers.
1970 2006-04-28 Wim Taymans <wim@fluendo.com>
1972 * gst/gstminiobject.c: (gst_value_take_mini_object):
1973 Taking a NULL miniobject is valid, fix the case where
1974 we try to unref the NULL miniobject.
1976 2006-04-28 Wim Taymans <wim@fluendo.com>
1978 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1980 * gst/gstbin.c: (gst_bin_handle_message_func):
1982 Don't leak bin refcount when a state recalc is
1983 in progress and we delay another one #339808.
1985 2006-04-28 Wim Taymans <wim@fluendo.com>
1987 * docs/design/part-TODO.txt:
1988 Mention QoS as an ongoing work item.
1990 * docs/design/part-buffering.txt:
1991 New doc about buffering that needs to be fleshed out
1994 * docs/design/part-qos.txt:
1995 More QoS policy for decoders/demuxers/transforms
1997 * docs/design/part-trickmodes.txt:
2000 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
2005 === release 0.10.5 ===
2007 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
2010 releasing 0.10.5, "Fogo"
2012 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
2014 patch by: Wim Taymans
2016 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2017 (gst_pad_configure_src), (gst_pad_push):
2018 * gst/gstpipeline.c: (gst_pipeline_init):
2019 Fix internal data flow errors. Fixes #338711.
2021 2006-04-12 Wim Taymans <wim@fluendo.com>
2023 * tests/check/gst/gstelement.c: (GST_START_TEST):
2024 Don't leak the factory.
2026 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
2029 * win32/common/config.h:
2032 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
2034 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2035 (gst_controller_unset_all):
2036 Free allocated GstTimedValues when freeing list nodes.
2037 Should fix leaks 'make check-valgrind' complains about.
2039 * win32/common/libgstcontroller.def:
2040 Add gst_controller_unset_all.
2042 2006-04-11 Stefan Kost <ensonic@users.sf.net>
2044 * docs/libs/gstreamer-libs-sections.txt:
2045 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2046 (gst_controller_unset_all):
2047 * libs/gst/controller/gstcontroller.h:
2048 API: Added new method gst_controller_unset_all()
2049 fixed gst_controller_unset()
2050 * tests/check/libs/controller.c: (GST_START_TEST),
2051 (gst_controller_suite):
2052 Added two testcases for new and fixed method
2054 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
2056 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2057 MSG_DONTWAIT is not defined on Cygwin, so work
2058 around that (fixes #317048).
2060 2006-04-11 Wim Taymans <wim@fluendo.com>
2062 * gst/gstelementfactory.c: (gst_element_register),
2063 (gst_element_factory_create), (gst_element_factory_make):
2066 Updated docs (Fixes #131079)
2068 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2071 * tests/check/gst/gstelement.c: (GST_START_TEST),
2072 (gst_element_suite):
2073 Added testcase for elementfactory class field.
2075 2006-04-10 Wim Taymans <wim@fluendo.com>
2078 Added some more docs.
2080 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2081 (gst_base_sink_reset_qos):
2082 Calculate more accurate rate values.
2084 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
2086 * gst/gst_private.h:
2087 add a new #ifdef to use __declspec(dllimport) only for
2088 other modules and not for gstreamer core
2089 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2090 use gst_guint64_to_gdouble for conversion
2091 * win32/common/libgstreamer.def:
2092 add new exported functions
2093 * win32/vs6/gst_inspect.dsp:
2094 * win32/vs6/gst_launch.dsp:
2095 * win32/vs6/libgstbase.dsp:
2096 * win32/vs6/libgstcontroller.dsp:
2097 * win32/vs6/libgstcoreelements.dsp:
2098 * win32/vs6/libgstdataprotocol.dsp:
2099 * win32/vs6/libgstnet.dsp:
2100 update project files
2102 2006-04-08 Stefan Kost <ensonic@users.sf.net>
2104 * gst/gstbuffer.c: (gst_subbuffer_class_init):
2105 * gst/gstclock.c: (gst_clock_class_init):
2106 * gst/gstelement.c: (gst_element_class_init):
2107 * gst/gstindex.c: (gst_index_class_init):
2108 * gst/gstindexfactory.c: (gst_index_factory_class_init):
2109 * gst/gstobject.c: (gst_object_class_init),
2110 (gst_signal_object_class_init):
2111 * gst/gstpad.c: (gst_pad_class_init):
2112 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2113 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2114 * gst/gstregistry.c: (gst_registry_class_init):
2115 * gst/gstsystemclock.c: (gst_system_clock_class_init):
2116 * gst/gsttask.c: (gst_task_class_init):
2117 * gst/gstxml.c: (gst_xml_class_init):
2118 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2119 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2120 (gst_base_src_loop):
2121 * libs/gst/controller/gstcontroller.c:/
2122 (_gst_controller_class_init):
2123 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2124 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2125 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2126 * tests/old/examples/plugins/example.c: (gst_example_class_init):
2127 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2128 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2130 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
2132 * gst/gstpad.c: (gst_pad_link):
2133 Must set peer pads before calling the link function, otherwise
2134 a task started from a link function might get a flow-not-linked
2135 result when trying to push because the other thread where the
2136 linking happens hasn't had a chance to set the peers yet. This
2137 might happen for example when a queue gets linked to a downstream
2138 element, as queue starts a streaming task when its source pad
2139 gets linked. Happens in real life when playing back flac/musepack
2140 files in playbin (#332390).
2142 2006-04-08 Stefan Kost <ensonic@users.sf.net>
2146 * libs/gst/base/gstadapter.h:
2147 * libs/gst/base/gstbasesink.h:
2148 * libs/gst/base/gstbasesrc.h:
2149 * libs/gst/base/gstbasetransform.h:
2150 * libs/gst/base/gstcollectpads.h:
2151 * libs/gst/base/gstpushsrc.h:
2152 Fix broken GObject macros
2154 2006-04-07 Wim Taymans <wim@fluendo.com>
2156 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2157 Initialize start and stop times, thanks valgrind.
2159 2006-04-07 Wim Taymans <wim@fluendo.com>
2161 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2162 Be a bit nicer to badly behaving upstream elements that expect
2163 us to deal with non TIME segments and timestamps (such as fakesrc
2166 2006-04-07 Wim Taymans <wim@fluendo.com>
2169 Small documentation clarification about the signal watch.
2171 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2172 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2173 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2174 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2175 (gst_base_sink_get_position_last),
2176 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2177 Convert and store timestamps in stream time and running time, the
2178 raw timestamps are not usefull, also document this better.
2179 Use different window sizes for good and bad QoS observations so
2180 we react to badness a little quicker.
2181 Keep track of the amount of rendered and dropped buffers.
2182 Send QoS timestamps in running time.
2184 * libs/gst/base/gstbasetransform.c:
2185 (gst_base_transform_sink_eventfunc),
2186 (gst_base_transform_handle_buffer):
2187 Compare QoS timestamps against running time.
2189 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
2194 2006-04-06 Michael Smith <msmith@fluendo.com>
2196 * gst/gstpad.c: (gst_pad_set_property):
2197 Use g_value_get_object() instead of g_value_dup_gst_object(),
2198 to avoid double-reffing the pad template (which we then sink,
2199 so this worked previously if (and only if) the pad template
2202 * gst/gstpadtemplate.c: (gst_pad_template_init),
2203 (gst_pad_template_pad_created):
2204 Never return floating references to pad templates, create
2205 them as initially-sunken.
2207 Document an extra function (and make this stop sinking our
2208 pad template, since that is now guaranteed to do nothing,
2209 since we created it sunken).
2211 * gst/gstghostpad.c:
2214 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
2216 * gst/gstinfo.c: (__gst_in_valgrind):
2219 * plugins/elements/gsttypefindelement.c:
2220 (gst_type_find_element_chain):
2221 Don't leak buffer caps.
2223 2006-04-06 Michael Smith <msmith@fluendo.com>
2225 * gst/parse/grammar.y:
2226 Fix a leak in parse-launch for any source-or-sink named element
2229 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2230 Unref the pipeline if it exists after we've failed parsing.
2232 2006-04-05 Michael Smith <msmith@fluendo.com>
2234 * gst/gstpipeline.c: (gst_pipeline_init):
2235 When we create a pipeline bus, initially create it in flushing mode.
2236 Fixes leaks in at least one test, and makes a new pipeline work the
2237 same as one that has gone to READY and then back to NULL.
2242 2006-04-05 Michael Smith <msmith@fluendo.com>
2244 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2245 Unref a pad we reffed.
2246 * tests/check/gst/gstutils.c: (GST_START_TEST):
2249 2006-04-05 Michael Smith <msmith@fluendo.com>
2251 * gst/gstquery.c: (gst_query_set_formats),
2252 (gst_query_set_formatsv):
2253 Fix leaking GValues in queries, as shown by valgrind/testsuite.
2255 2006-04-05 Michael Smith <msmith@fluendo.com>
2257 * tests/check/generic/sinks.c: (GST_START_TEST):
2258 Fix a variety of memleaks in sinks check, which are only sometimes
2259 shown by running the tests under valgrind (weird?).
2261 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
2263 * docs/version.entities.in:
2264 Fix the substituted entity name after thomas' changes on the
2267 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2269 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2272 2006-04-05 Andy Wingo <wingo@pobox.com>
2274 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2276 * libs/gst/base/gstbasetransform.c
2277 (gst_base_transform_sink_eventfunc): When resetting our segment on
2278 FLUSH_STOP, also update the flag saying we haven't seen a
2281 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
2283 Patch by: Paolo Borelli <pborelli at katamail dot com>
2285 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2286 (gst_plugin_check_license):
2287 minor clean-ups: G_DEFINE_TYPE already takes care of the
2288 parent_class stuff, no need to do it twice. Mark array of
2289 license strings as constant. (#337103)
2291 2006-04-04 Michael Smith <msmith@fluendo.com>
2293 * tools/gst-inspect.c: (print_element_list):
2294 Free the right plugin list; fixes a memory leak.
2296 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
2298 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2300 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2301 Don't error out on empty buffers (#336945).
2303 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
2305 * docs/libs/gstreamer-libs-sections.txt:
2307 * libs/gst/base/gstbasesink.c:
2308 * libs/gst/base/gstbasesink.h:
2309 * libs/gst/base/gstbasesrc.c:
2310 * libs/gst/base/gstbasesrc.h:
2311 Documentation updates. Make BaseSink and BaseSrc docs contain the
2312 class structure so that people can actually see the prototypes for
2313 virtual functions they're supposed to be overriding.
2315 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
2317 * plugins/elements/gsttypefindelement.c:
2318 (gst_type_find_element_chain):
2319 More debug info; when skipping typefinding, send cached
2320 events in all cases.
2322 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
2325 use new AS_VERSION and AS_NANO macros
2326 * gst/gst-i18n-lib.h:
2329 * gst/gstversion.h.in:
2330 * win32/common/config.h:
2331 * win32/common/config.h.in:
2334 2006-03-31 Michael Smith <msmith@fluendo.com>
2336 * plugins/elements/gsttypefindelement.c:
2337 (gst_type_find_element_chain):
2338 Do not typefind content if the buffers already have caps.
2339 Neccesary for icydemux (#333657), and the right thing to do anyway.
2341 2006-03-30 Wim Taymans <wim@fluendo.com>
2343 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2344 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2345 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2346 (gst_base_sink_record_qos_observation),
2347 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2348 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2349 (gst_base_sink_change_state):
2350 More QoS measurements as described in the design doc.
2351 Get rid of ringbuffer with observations, running average is
2352 more simple and equally good.
2353 Calculates valid proportion now.
2354 Added beginning of flood measurement.
2356 2006-03-29 Wim Taymans <wim@fluendo.com>
2358 * docs/design/part-qos.txt:
2360 Small documentation updates and additions.
2362 2006-03-29 Wim Taymans <wim@fluendo.com>
2364 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2365 (gst_base_src_send_event), (gst_base_src_loop),
2366 (gst_base_src_change_state):
2367 Perform the EOS logic when we reach the segment stop position.
2368 Fix compilation on gcc4.1
2370 2006-03-29 Wim Taymans <wim@fluendo.com>
2372 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2374 * plugins/elements/gstqueue.c: (gst_queue_init),
2375 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2376 (gst_queue_set_property):
2377 * plugins/elements/gstqueue.h:
2378 In queue, when EOS is received, if minimum threshold > max_size -
2379 current_level, there is chance that queue blocks forever in conditional
2380 item del wait. This is because the queue is not emptied completely due
2381 to minimum threshold. Here is another approach. Instead of setting
2382 cur_levels to max in EOS, just zero all minimum threshold levels. This
2383 should make sure that queue gives out all data. When going to READY
2384 (stop) state, just reset the original minimum threshold levels.
2387 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
2389 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2390 (gst_type_find_element_handle_event),
2391 (gst_type_find_element_send_cached_events),
2392 (gst_type_find_element_change_state):
2393 * plugins/elements/gsttypefindelement.h:
2394 When typefinding is done in push mode, we should cache
2395 events we receive during typefinding instead of just
2396 dropping them (e.g. newsegment, custom events from
2397 dvdreadsrc etc.) and then send them out once we've
2398 determined the type of the stream (and decodebin
2399 has had a chance to plug in a decoder/demuxer).
2401 2006-03-27 Wim Taymans <wim@fluendo.com>
2403 * docs/design/part-qos.txt:
2406 2006-03-27 Wim Taymans <wim@fluendo.com>
2408 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2410 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2411 (gst_base_src_send_event), (gst_base_src_change_state):
2412 Handle element seek correctly when we are streaming.
2415 2006-03-24 Michael Smith <msmith@fluendo.com>
2417 * docs/faq/gst-uninstalled:
2418 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2419 allow you to correctly run intalled applications built against old
2420 core, using plugins that require updated core (e.g. running
2421 installed totem against a full uninstalled gstreamer stack)
2423 2006-03-24 Stefan Kost <ensonic@users.sf.net>
2425 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2428 2006-03-24 Wim Taymans <wim@fluendo.com>
2430 * docs/gst/gstreamer-sections.txt:
2431 Rearrange the order of the methods so that related methods
2432 are grouped together in sections.
2434 2006-03-24 Stefan Kost <ensonic@users.sf.net>
2437 Little clarification in the docs
2439 2006-03-24 Stefan Kost <ensonic@users.sf.net>
2443 * plugins/elements/gstidentity.c:
2444 * plugins/elements/gstqueue.c:
2445 * plugins/elements/gsttee.c:
2446 * plugins/elements/gsttypefindelement.c:
2447 GST_ELEMENT_DETAILS formatting
2449 2006-03-24 Wim Taymans <wim@fluendo.com>
2451 * libs/gst/base/gstbasesink.h:
2452 Only add fields, not insert or we break ABI.
2454 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
2456 * win32/common/libgstbase.def:
2457 * win32/common/libgstreamer.def:
2458 Update, add recently added functions.
2460 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
2462 * docs/gst/gstreamer-sections.txt:
2463 * gst/gstutils.c: (gst_pad_query_peer_position),
2464 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2466 API: add some new utility functions:
2467 - gst_pad_query_peer_position()
2468 - gst_pad_query_peer_duration()
2469 - gst_pad_query_peer_convert()
2471 2006-03-23 Wim Taymans <wim@fluendo.com>
2473 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2474 (gst_base_sink_init), (gst_base_sink_finalize),
2475 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2476 (gst_base_sink_set_property), (gst_base_sink_get_property),
2477 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2478 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2479 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2480 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2481 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2482 (gst_base_sink_preroll_object), (gst_base_sink_event),
2483 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2484 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2485 (gst_base_sink_query), (gst_base_sink_change_state):
2486 Decouple max-lateness and the fact that QoS messages are generated
2487 with a new property (qos).
2488 added API: GstBaseSink::async_play()
2489 Add vmethod so subclasses can be notified of ASYNC playing
2491 Collect timestamp start and stop to report better current
2492 position in EOS/PLAYING/PAUSED/READY/NULL.
2493 Refactor QoS/frame dropping and other measurements.
2494 API: GstBaseSrc::qos
2497 * libs/gst/base/gstbasesink.h:
2498 Added Private struct.
2499 API: gst_base_sink_set_qos_enabled()
2500 API: gst_base_sink_is_qos_enabled()
2502 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
2504 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2505 If compiling against GLib-2.8 or newer, try to read the
2506 registry file using GMappedFile first before falling back
2507 to fopen() + fread() (#332151).
2509 2006-03-22 Wim Taymans <wim@fluendo.com>
2511 * gst/gstinfo.c: (gst_debug_set_active),
2512 (gst_debug_category_set_threshold):
2513 Disable debugging unless explicitly activated.
2516 2006-03-22 Wim Taymans <wim@fluendo.com>
2518 * gst/gstelement.c: (gst_element_set_locked_state),
2519 (gst_element_dispose):
2520 Cleanup the error case.
2522 * gst/gstobject.c: (gst_object_dispose):
2523 print a critical when some object was disposed with
2524 a parent, also revive the object since it might
2527 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
2529 * tools/gst-launch.1.in:
2532 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
2535 * tests/check/Makefile.am:
2536 disable some tests when we don't have a registry
2537 * tests/check/gst/gstutils.c: (gst_utils_suite):
2538 don't build the part that needs parsing
2540 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
2543 * tests/examples/Makefile.am:
2544 fix --disable-parse build
2546 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2548 * tools/gst-feedback.1.in:
2549 Fix typo: s/feeback/feedback/ (#133494).
2551 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2553 * tools/Makefile.am:
2554 * tools/gst-launch.1.in:
2555 Add FILES section and correct entry about GST_REGISTRY_PATH
2556 environment variable (#133495; #133494).
2558 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2560 * tools/Makefile.am:
2561 * tools/gst-md5sum.1.in:
2562 * tools/gst-md5sum.c:
2563 Remove gst-md5sum and man page (the md5sink element
2564 required was removed ages ago)
2566 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2568 * gst/gststructure.c: (gst_structure_id_set_value):
2569 Make sure that string fields in structures/taglists
2570 contain valid UTF-8 - we don't want to pass rubbish to
2571 applications because of a buggy plugin (cp. #334167).
2573 2006-03-21 Edward Hervey <edward@fluendo.com>
2575 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2576 (gst_bin_handle_message_func):
2577 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2578 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2579 (gst_element_set_bus_func):
2580 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2581 * gst/gstminiobject.c: (gst_value_set_mini_object),
2582 (gst_value_take_mini_object):
2583 * gst/gstpad.c: (gst_pad_set_pad_template):
2584 * gst/gstpipeline.c: (gst_pipeline_dispose),
2585 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2586 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2587 (gst_collect_pads_chain):
2588 * libs/gst/net/gstnettimeprovider.c:
2589 (gst_net_time_provider_set_property):
2590 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2591 It's in fact all issues with gst_*object_replace().
2593 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2595 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
2597 * pkgconfig/gstreamer-check-uninstalled.pc.in:
2598 * pkgconfig/gstreamer-check.pc.in:
2599 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2601 2006-03-21 Edward Hervey <edward@fluendo.com>
2606 gst_[buffer|event|message]_ref() macros are replaced by a static
2607 inline functions because gcc-4.1 will about if the return value
2609 * tests/check/gst/gstevent.c: (event_probe):
2610 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2612 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
2615 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2616 the type' case. (Closes: #335195 for now). In the future, when we
2617 depend on GLib 2.10, we could also intern the type name using
2618 g_intern_static_string()
2620 2006-03-20 Wim Taymans <wim@fluendo.com>
2622 * gst/gstbin.c: (gst_bin_handle_message_func),
2623 (bin_query_max_init), (bin_query_position_fold),
2624 (bin_query_position_done), (gst_bin_query):
2625 Position query should also take max of all streams.
2627 2006-03-20 Wim Taymans <wim@fluendo.com>
2629 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2630 (gst_fake_src_finalize):
2631 Fix leaks in fakesrc.
2633 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2634 Fix leaks in the testcase.
2636 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
2638 * gst/gst_private.h:
2639 add win32 specific import decoration(__declspec(dllimport))
2640 for all extern GstDebugCategory * variables
2641 * win32/common/libgstbase.def:
2642 * win32/common/libgstcontroller.def:
2643 * win32/common/libgstreamer.def:
2644 Add some exports, remove empty lines
2645 * win32/common/libgstdataprotocol.def:
2646 * win32/common/libgstdataprotocol.dsp:
2647 * win32/common/libgstnet.def:
2648 * win32/common/libgstnet.dsp:
2649 new project files and exportation files added
2651 2006-03-19 Wim Taymans <wim@fluendo.com>
2653 * tests/check/libs/basesrc.c: (eos_event_counter):
2654 Use proper return value for probe.
2656 2006-03-17 Wim Taymans <wim@fluendo.com>
2658 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2660 Don't leak buffers, caps and pads on negotiation errors.
2662 2006-03-16 Stefan Kost <ensonic@users.sf.net>
2665 * docs/faq/dependencies.xml:
2666 * docs/faq/developing.xml:
2668 * docs/faq/general.xml:
2669 * docs/faq/getting.xml:
2670 * docs/faq/legal.xml:
2671 * docs/faq/troubleshooting.xml:
2672 * docs/faq/using.xml:
2673 Faq review and update.
2675 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
2677 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2679 Don't pound the cpu to pieces by checking get_caps when accept_caps
2680 is called with the same caps as the pad already has.
2681 Use GST_DEBUG_OBJECT when outputting caps change information.
2683 2006-03-15 Wim Taymans <wim@fluendo.com>
2685 * gst/gstclock.c: (gst_clock_class_init):
2688 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
2693 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2694 (gst_pad_accept_caps), (gst_pad_configure_sink),
2695 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2696 Make the default acceptcaps behaviour be to check the requested
2697 caps against the gst_pad_get_caps output.
2699 Ensure that gst_pad_accept_caps is used to check caps when a pad
2700 doesn't have a setcaps function, so that pads automatically refuse
2701 caps that they don't allow in their pad template. (Fixes #332986)
2703 When a buffer with attached caps is pushed, ensure that the source
2704 pad receives those caps even if the element didn't call
2705 gst_pad_set_caps first.
2707 2006-03-15 Wim Taymans <wim@fluendo.com>
2709 * libs/gst/base/gstadapter.c:
2712 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
2714 * win32/common/libgstbase.def:
2715 * win32/common/libgstcontroller.def:
2716 * win32/common/libgstreamer.def:
2717 Add a whole bunch of missing functions (#334434).
2719 2006-03-14 Wim Taymans <wim@fluendo.com>
2721 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2722 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2723 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2724 Better debug info when we receive a segment event.
2725 Reorganize a bit so we can pass the get_times() results around.
2726 Use the segment format when calculating the running time.
2727 Don't do QoS is sync is disabled or we have no clock or the
2728 element does not want us to sync to the clock.
2729 Don't drop buffers if QoS is disabled for now.
2731 2006-03-14 Wim Taymans <wim@fluendo.com>
2733 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2734 Marked the stats property as unimplemented so people don't get
2736 Add debug message when regression goes wrong.
2737 Added some more docs.
2739 2006-03-14 Wim Taymans <wim@fluendo.com>
2741 * gst/gstsegment.c: (gst_segment_to_stream_time):
2742 Return correct return type in case of errors.
2744 2006-03-14 Wim Taymans <wim@fluendo.com>
2746 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2747 Don't segfault on invalid formats.
2749 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
2751 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2752 Can't use gst_segment_to_running_time() when the segment
2753 is not in GST_TIME_FORMAT (like with filesink, for example).
2754 Stops flac encoding pipelines from spewing critical warnings
2757 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
2759 * gst/gstpipeline.c: (gst_pipeline_class_init):
2760 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2762 * plugins/elements/gsttypefindelement.c:
2763 (gst_type_find_element_handle_event):
2764 Don't try to typefind empty streams.
2766 2006-03-14 Wim Taymans <wim@fluendo.com>
2768 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2769 (gst_base_sink_do_qos):
2770 Separate QoS calculation.
2771 Only drop buffers when lateness is bigger than the
2772 duration of the buffer.
2774 2006-03-13 Wim Taymans <wim@fluendo.com>
2776 * gst/gstpipeline.c: (gst_pipeline_set_property),
2777 (gst_pipeline_get_property), (do_pipeline_seek),
2778 (gst_pipeline_change_state), (gst_pipeline_set_delay),
2779 (gst_pipeline_get_delay):
2780 Don't deadlock when reading properties.
2782 2006-03-13 Wim Taymans <wim@fluendo.com>
2784 * libs/gst/base/gstbasetransform.c:
2785 (gst_base_transform_class_init), (gst_base_transform_init),
2786 (gst_base_transform_sink_event),
2787 (gst_base_transform_sink_eventfunc),
2788 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2789 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2790 (gst_base_transform_set_property),
2791 (gst_base_transform_get_property),
2792 (gst_base_transform_change_state), (gst_base_transform_update_qos),
2793 (gst_base_transform_set_qos_enabled),
2794 (gst_base_transform_is_qos_enabled):
2795 * libs/gst/base/gstbasetransform.h:
2796 Make basetransform virtual method for src events too.
2797 Handle QOS in basetransform.
2798 API: gst_base_transform_update_qos()
2799 API: gst_base_transform_set_qos_enabled()
2800 API: gst_base_transform_is_qos_enabled()
2802 2006-03-13 Wim Taymans <wim@fluendo.com>
2804 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2805 (gst_base_sink_do_sync):
2807 Use QOS debug category.
2809 2006-03-13 Wim Taymans <wim@fluendo.com>
2811 * plugins/elements/gstqueue.c:
2812 Very small doc update.
2814 2006-03-13 Wim Taymans <wim@fluendo.com>
2816 * gst/gst_private.h:
2817 * gst/gstinfo.c: (_gst_debug_init):
2818 Added QOS debug category
2820 2006-03-13 Wim Taymans <wim@fluendo.com>
2822 * docs/gst/gstreamer-sections.txt:
2823 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2825 * gst/gstbus.c: (gst_bus_class_init):
2828 * gst/gstelement.c: (gst_element_set_locked_state):
2830 Documentation updates.
2832 * gst/gstpipeline.c: (gst_pipeline_get_type),
2833 (gst_pipeline_class_init), (gst_pipeline_init),
2834 (gst_pipeline_dispose), (gst_pipeline_set_property),
2835 (gst_pipeline_get_property), (do_pipeline_seek),
2836 (gst_pipeline_send_event), (gst_pipeline_change_state),
2837 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2838 (gst_pipeline_get_delay):
2839 * gst/gstpipeline.h:
2840 Added methods for setting the delay.
2841 API: gst_pipeline_set_delay()
2842 API: gst_pipeline_get_delay()
2843 Add pipeline debug category
2846 Don't reset stream time when seek failed.
2848 2006-03-13 Wim Taymans <wim@fluendo.com>
2850 * docs/design/draft-klass.txt:
2851 * docs/design/part-clocks.txt:
2852 * docs/design/part-events.txt:
2853 * docs/design/part-gstbin.txt:
2854 * docs/design/part-gstpipeline.txt:
2855 * docs/design/part-messages.txt:
2856 * docs/design/part-negotiation.txt:
2857 * docs/design/part-overview.txt:
2858 * docs/design/part-preroll.txt:
2859 * docs/design/part-seeking.txt:
2860 * docs/design/part-states.txt:
2861 * docs/design/part-streams.txt:
2862 Documentation updates.
2864 2006-03-12 Julien MOUTTE <julien@moutte.net>
2866 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2867 us to leak strings...
2869 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
2871 * libs/gst/net/gstnettimeprovider.c:
2873 * win32/common/config.h:
2876 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
2878 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2881 Don't check for libgnomeui (leftover from old examples
2882 that aren't built or disted any longer) (#334303).
2884 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
2886 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2887 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2888 Emit RESOURCE_NO_SPACE_LEFT error here as well when
2889 there's no space left on the device.
2891 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
2894 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2895 to cast the input to GstClockTime before comparing with
2896 another GstClockTime value.
2898 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
2903 === release 0.10.4 ===
2905 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
2908 releasing 0.10.4, "Light"
2910 2006-03-10 Michael Smith <msmith@fluendo.com>
2912 * libs/gst/dataprotocol/dataprotocol.c:
2913 Fix docs for dataprocotol to not get the return types completely
2914 wrong for a few functions.
2916 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2918 * docs/gst/gstreamer-sections.txt:
2919 * gst/gstpipeline.c: (gst_pipeline_class_init),
2920 (gst_pipeline_init), (gst_pipeline_set_property),
2921 (gst_pipeline_get_property), (gst_pipeline_change_state),
2922 (gst_pipeline_set_auto_flush_bus),
2923 (gst_pipeline_get_auto_flush_bus):
2924 * gst/gstpipeline.h:
2925 Add new API: gst_pipeline_set_auto_flush_bus() and
2926 gst_pipeline_get_auto_flush_bus() to disable automatic
2927 flushing of the pipeline's GstBus when going from READY
2928 to NULL state (#332045).
2930 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2932 * docs/gst/gstreamer-sections.txt:
2933 * gst/gsturi.c: (gst_uri_has_protocol):
2935 Add new API: gst_uri_has_protocol() (#333779).
2937 2006-03-09 Wim Taymans <wim@fluendo.com>
2939 * gst/gstclock.c: (gst_clock_entry_new),
2940 (gst_clock_id_compare_func), (gst_clock_id_wait),
2941 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2942 (gst_clock_init), (gst_clock_get_internal_time),
2943 (gst_clock_set_master), (do_linear_regression),
2944 (gst_clock_add_observation), (gst_clock_set_property):
2948 Fix a possible segfault when the window-size is made smaller.
2949 Calculate jitter before performing the clock wait. Ideally
2950 the clock implementation should calculate jitter but we need
2951 API breakage for that.
2953 * gst/gstsystemclock.c: (gst_system_clock_init):
2956 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2957 Remove leftover else
2959 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2960 (gst_systemclock_suite):
2961 Added check to test GST_CLOCK_DIFF.
2963 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2965 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2966 (gst_type_find_helper_get_range):
2967 If we are provided with the size, we should implement
2968 GstTypeFind::get_length, so that typefind functions who
2969 want to can actually peek at the middle of a file.
2971 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
2973 * docs/manual/advanced-dataaccess.xml:
2974 Add some very very basic error checking.
2976 * docs/pwg/appendix-checklist.xml:
2977 Some updates to the list of things to check when writing an element.
2979 2006-03-08 Wim Taymans <wim@fluendo.com>
2981 * docs/design/part-element-transform.txt:
2982 Added some docs about the design of tranform elements.
2984 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2985 (gst_base_src_loop), (gst_base_src_change_state):
2986 Mark buffers with the DISCONT flag.
2988 2006-03-08 Michael Smith <msmith@fluendo.com>
2990 * gst/gstregistry.h:
2991 * gst/gstregistryxml.c: (gst_registry_save),
2992 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2993 (gst_registry_xml_save_pad_template),
2994 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2995 (gst_registry_xml_write_cache):
2996 Rewrite registry-saving to avoid race conditions and check for
2999 2006-03-08 Wim Taymans <wim@fluendo.com>
3001 * libs/gst/base/gstbasetransform.c:
3002 (gst_base_transform_transform_caps),
3003 (gst_base_transform_transform_size),
3004 (gst_base_transform_prepare_output_buffer),
3005 (gst_base_transform_get_unit_size),
3006 (gst_base_transform_buffer_alloc),
3007 (gst_base_transform_handle_buffer),
3008 (gst_base_transform_change_state):
3009 Cleanups, separate normal flow from errors, add sensible
3011 Don't try to renegotiate when allocating an output buffer.
3012 Also copy DISCONT buffer flag when copying a buffer.
3013 Reset the transform after we finish streaming, not during.
3015 2006-03-08 Wim Taymans <wim@fluendo.com>
3017 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3018 Use last buffer timestamp in qos message.
3020 2006-03-07 Wim Taymans <wim@fluendo.com>
3022 Patch by: Christophe Fergeau
3024 * docs/pwg/advanced-tagging.xml:
3025 * docs/pwg/building-pads.xml:
3028 2006-03-07 Wim Taymans <wim@fluendo.com>
3030 * docs/libs/gstreamer-libs-sections.txt:
3031 Added basesink new methods.
3035 Docs updates. Flesh out the QoS docs.
3037 * libs/gst/base/gstadapter.c:
3038 Small doc clarification about ownership and flushing.
3040 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3041 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3042 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3043 (gst_base_sink_get_property), (gst_base_sink_do_sync):
3044 * libs/gst/base/gstbasesink.h:
3046 Added new methods to allow subclass to control max-lateness
3048 Generate very basic QoS events based on last sync observation.
3049 Updated docs, fix typo, added some QoS blurb.
3051 * libs/gst/base/gstbasesrc.c:
3052 Remove obsolete _get_state() calls from docs.
3054 2006-03-07 Wim Taymans <wim@fluendo.com>
3056 * docs/libs/gstreamer-libs-sections.txt:
3057 * libs/gst/base/gstbasetransform.h:
3058 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3059 Fix docs for GstBaseSrc.
3061 2006-03-07 Wim Taymans <wim@fluendo.com>
3063 * docs/gst/gstreamer-sections.txt:
3066 * libs/gst/base/gstbasetransform.h:
3067 Small documentation fixes.
3069 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
3072 Document thread-unsafety of gst_value_register_foo_func()
3073 when used at the same time as gst_value_foo() (#322628).
3075 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
3077 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3078 (gst_push_src_check_get_range):
3079 Push sources don't support pull mode by default.
3081 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
3083 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3084 (gst_base_src_init), (gst_base_src_pad_check_get_range),
3085 (gst_base_src_default_check_get_range):
3086 * libs/gst/base/gstbasesrc.h:
3087 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3088 provide default implementation, and rename
3089 gst_base_src_check_get_range() to
3090 gst_base_src_pad_check_get_range() for clarity.
3092 2006-03-06 Wim Taymans <wim@fluendo.com>
3094 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3095 Make property overridable.
3097 2006-03-06 Wim Taymans <wim@fluendo.com>
3099 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3100 (gst_base_sink_init), (gst_base_sink_set_property),
3101 (gst_base_sink_get_property), (gst_base_sink_do_sync):
3102 * libs/gst/base/gstbasesink.h:
3103 API addition: Make max-lateness a property.
3105 2006-03-06 Wim Taymans <wim@fluendo.com>
3107 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3108 (gst_base_sink_do_sync), (gst_base_sink_render_object):
3109 Don't ever draw a frame that is >10ms late.
3111 2006-03-06 Michael Smith <msmith@fluendo.com>
3113 * gst/gstmessage.c: (_gst_message_copy):
3114 When copying a message, set the parent_refcount of the enclosed
3115 structure to point at the copy, not the original message.
3117 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
3119 Patch by: Christophe Fergeau
3122 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3123 usable in c++ code (#333417)
3125 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
3128 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3130 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
3132 * libs/gst/base/gstbasetransform.c:
3133 (gst_base_transform_transform_caps):
3134 Make sure caps are writable before passing them to
3137 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
3140 Fix some minor docs errors.
3142 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
3144 Patch by: Ross Burton <ross at burtonini dot com>
3146 * gst/gsterror.c: (_gst_resource_errors_init):
3148 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3150 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
3153 Add a check and output a g_warning when GStreamer is built
3154 against GLib 2.6 but running against 2.8 or higher, and vice
3155 versa. (Closes: #323542)
3157 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
3159 * gst/parse/parse.l:
3160 Commit patch for parse_launch syntax from #331255. Removes
3161 support for quoted strings and mimetypes when writing filtered
3162 caps. See the bug report for more details - I'm pretty sure this
3163 obscure feature is not in use by _anyone_ anywhere.
3165 With this simple change, the size of the gstreamer.so here
3166 drops from 2193KB to 1565KB.
3168 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
3170 * plugins/elements/gsttypefindelement.h:
3171 * plugins/elements/gsttypefindelement.c:
3172 (gst_type_find_element_src_event), (start_typefinding),
3173 (stop_typefinding), (gst_type_find_element_handle_event),
3174 (gst_type_find_element_chain),
3175 (gst_type_find_element_chain_do_typefinding):
3176 Use gst_type_find_helper_for_buffer() for chain-based
3179 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
3181 * plugins/elements/gsttypefindelement.c:
3182 (gst_type_find_element_class_init),
3183 (gst_type_find_element_set_property),
3184 (gst_type_find_element_get_property):
3185 Deprecate "maximum" property (not only was it only taken into
3186 account for typefinding in push-mode anyway, it also was never
3187 actually possible to set it in the first place because the
3188 property was registered with the numeric property ID for the
3189 "minimum" property). Register "maximum" property correctly,
3190 for the sake of future copy'n'pasters. Remove some cruft
3191 from property get/set functions.
3193 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
3195 * plugins/elements/gsttypefindelement.c:
3196 (gst_type_find_element_activate):
3197 Use gst_type_find_helper_get_range() here, so we
3198 can honour the "minimum" property and also emit
3199 the signal with the correct probability of the found caps.
3201 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
3203 * docs/libs/gstreamer-libs-sections.txt:
3204 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3205 (helper_find_suggest), (gst_type_find_helper_get_range),
3206 (gst_type_find_helper):
3207 * libs/gst/base/gsttypefindhelper.h:
3208 New API: gst_type_find_helper_get_range() (#333042).
3210 2006-03-02 Michael Smith <msmith@fluendo.com>
3212 * gst/gstregistryxml.c: (load_feature):
3213 Asserting on a failure to read part of the registry is Not Cool.
3214 Just log a warning and return NULL (which is already handled)
3216 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
3218 * win32/common/libgstbase.def:
3219 added export of gst_type_find_helper_for_buffer
3220 * win32/common/libgstbase.def:
3221 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3222 gst_ghost_pad_get_target
3224 2006-02-28 Wim Taymans <wim@fluendo.com>
3226 * docs/design/draft-klass.txt:
3228 Added Connector to mark elements that are only used to
3229 allow pipeline connections.
3230 Moved Debug to extra feature since most of them are
3231 functionally something else.
3233 2006-02-28 Wim Taymans <wim@fluendo.com>
3235 * docs/design/draft-klass.txt:
3236 Some updates and clarifications.
3238 2006-02-28 Wim Taymans <wim@fluendo.com>
3240 * docs/design/draft-klass.txt:
3241 Proposal for klass field values.
3243 * docs/design/part-streams.txt:
3244 Start of a doc describing stream anatomy.
3246 2006-02-28 Wim Taymans <wim@fluendo.com>
3248 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3249 Help the compiler a bit with type registration.
3250 Use existing forward cod path instead of duplicating it when
3253 * gst/gstbus.c: (gst_bus_get_type):
3254 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3255 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3256 * gst/gstclock.c: (gst_clock_get_type):
3257 * gst/gstelement.c: (gst_element_get_type),
3258 * gst/gstelementfactory.c: (gst_element_factory_get_type):
3259 * gst/gstindexfactory.c: (gst_index_factory_get_type):
3260 * gst/gstminiobject.c: (gst_mini_object_get_type):
3261 * gst/gstpad.c: (gst_pad_get_type):
3262 * gst/gstsegment.c: (gst_segment_get_type):
3263 * gst/gststructure.c: (gst_structure_get_type):
3264 * gst/gstsystemclock.c: (gst_system_clock_get_type):
3265 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3267 Help compiler with type registration.
3269 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3272 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
3274 * plugins/elements/gsttypefindelement.c:
3275 (gst_type_find_element_handle_event):
3276 When we get an EOS event and have not found a type yet
3277 (most likely because we had not yet accumulated
3278 TYPE_FIND_MIN_SIZE of data yet), try to determine the
3279 type given the data we have so far. Fixes typefinding
3280 for very short streams again, most notably quicktime
3281 redirections as used on Apple's trailer site (#331701).
3283 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
3285 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3286 (gst_type_find_helper):
3287 Try typefinding factories with the highest rank first.
3289 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
3291 * docs/libs/gstreamer-libs-docs.sgml:
3292 * docs/libs/gstreamer-libs-sections.txt:
3293 * libs/gst/base/gsttypefindhelper.c:
3294 Add section for typefind helper and add documentation
3295 for the old and the new function.
3297 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
3299 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3300 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3301 (gst_type_find_helper_for_buffer):
3302 * libs/gst/base/gsttypefindhelper.h:
3303 New API: gst_type_find_helper_for_buffer() (#332723).
3305 2006-02-27 Michael Smith <msmith@fluendo.com>
3307 Patch by: Loïc Minier
3311 * docs/slides/Makefile.am:
3312 prevent CVS directories getting disted.
3314 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
3316 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3317 Use the REFCOUNTING category for caps refcounting.
3319 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
3321 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3322 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3324 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
3326 * plugins/elements/gsttypefindelement.c:
3327 (gst_type_find_element_activate):
3328 Use gst_pad_check_pull_range() before _activate_pull()
3329 to avoid unnecessary open/close (see #331690).
3331 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
3334 Docs enhancement: make it crystal clear what the
3335 gst_pad_add_*_probe() callbacks should look like.
3337 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
3339 * libs/gst/base/gstbasesrc.c:
3340 Document how applications can stop recording from
3341 live sources (see #330996).
3343 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
3345 * tests/check/Makefile.am:
3346 * tests/check/libs/basesrc.c: (eos_event_counter),
3347 (basesrc_eos_events_pull), (basesrc_eos_events_push),
3348 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3349 (gst_basesrc_suite), (main):
3350 ... and add some tests for the base source EOS stuff.
3352 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
3354 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3355 Test case originally showed the problem fixed below,
3356 but was then amended. Add checks back at the place
3357 where they used to be.
3359 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
3361 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3362 (gst_base_src_init), (gst_base_src_loop),
3363 (gst_base_src_activate_push), (gst_base_src_activate_pull),
3364 (gst_base_src_change_state):
3365 * libs/gst/base/gstbasesrc.h:
3366 Don't unconditionally send EOS when going from PAUSED to
3367 READY state, esp. make sure we don't send two EOS events
3368 in some cases (e.g. one when reaching EOS and one when
3369 going from PAUSED to READY). Also, we don't want to send
3370 EOS events when operating in pull mode. However, we do
3371 want to send an EOS event when shutting down a live
3372 source explicitly, for example (fixes #330996).
3374 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
3376 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3377 Update src->read_position after a seek when not using mmap.
3378 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3380 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
3386 Make things work with --disable-parse as they do with
3387 --disable-load-save - the symbols involved disappear, but the
3388 header is still installed and GST_DISABLE_PARSE is included via
3391 2006-02-20 Julien MOUTTE <julien@moutte.net>
3393 * libs/gst/base/gstbasetransform.c:
3394 (gst_base_transform_change_state): Fix a stupid bug. I was
3395 sure I compiled that.
3397 2006-02-20 Julien MOUTTE <julien@moutte.net>
3399 * gst/gstpad.c: (gst_pad_set_blocked_async):
3400 * gst/gstutils.c: (gst_pad_add_data_probe),
3401 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3402 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3403 (gst_pad_remove_buffer_probe): Make those function act on the
3404 ghostpad target when it's a ghostpad. (Closes #331727)
3406 2006-02-20 Julien MOUTTE <julien@moutte.net>
3408 * libs/gst/base/gstbasetransform.c:
3409 (gst_base_transform_change_state): Make basetransform reusable.
3412 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
3414 * docs/random/release:
3415 Move the current documentation of how to do a release to the top
3418 * gst/gstbin.c: (gst_bin_class_init),
3419 (gst_bin_handle_message_func):
3420 Allow multiple state-recalculation threads. (Closes #328873)
3422 2006-02-19 Julien MOUTTE <julien@moutte.net>
3424 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3425 * gst/gstpad.c: (gst_pad_set_event_function),
3426 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3427 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3428 2 strings. You can't use the STR_NULL macro on that.
3430 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
3432 * gst/gstpad.c: (gst_pad_set_event_function),
3433 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3434 (gst_pad_set_getcaps_function)
3435 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3436 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3437 So now, we can use --gst-debug-level=5 on Windows
3438 * win32/common/libgstcontroller.def:
3439 Added export of gst_controller_init
3440 * win32/vs6/libgstcontroller.dsp:
3441 Fixed Release post build configuration
3443 2006-02-17 Wim Taymans <wim@fluendo.com>
3445 * tests/check/gst/gstquery.c: (GST_START_TEST):
3446 Added another check.
3448 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
3450 * plugins/elements/gsttypefindelement.c: (find_peek):
3451 We can do peeks at non-zero offsets, as long as they
3452 fall within the buffer we have.
3454 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
3456 * tests/check/Makefile.am:
3457 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3458 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3459 (parse_suite), (main):
3460 Add testsuite for parse launch syntax
3462 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
3464 * plugins/elements/gsttypefindelement.c:
3465 (gst_type_find_element_chain):
3466 When typefinding is unsuccessful in the chain function, don't
3467 error out immediately. Only error out with NO_CAPS_FOUND if
3468 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3469 otherwise simply wait for more data so we can try typefinding
3470 again with more data later. Also, don't attempt to typefind
3471 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3472 this should improve typefinding from network sources where the
3473 size of the first buffer can be somewhat random.
3475 2006-02-14 Wim Taymans <wim@fluendo.com>
3477 * docs/gst/gstreamer-sections.txt:
3478 * gst/gstpadtemplate.c:
3479 * gst/gstpadtemplate.h:
3480 Fix padtemplate docs, fixes #328805.
3482 2006-02-14 Wim Taymans <wim@fluendo.com>
3484 * tools/gst-launch.c: (main):
3485 NO_PREROLL is not an ERROR so don't send confusing messages
3488 2006-02-14 Wim Taymans <wim@fluendo.com>
3490 Patch by: Torsten Schoenfeld
3492 * gst/gstregistry.c: (gst_registry_get_default),
3493 (_gst_registry_cleanup):
3494 Protect default registry with lock and ref/sink it.
3497 2006-02-14 Wim Taymans <wim@fluendo.com>
3500 * gst/gstquery.c: (gst_query_list_add_format),
3501 (gst_query_set_formatsv), (gst_query_parse_formats_length),
3502 (gst_query_parse_formats_nth):
3503 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3506 2006-02-14 Wim Taymans <wim@fluendo.com>
3508 * docs/gst/gstreamer-sections.txt:
3509 Reworked query docs.
3511 * gst/gstquery.c: (gst_query_new_formats),
3512 (gst_query_list_add_format), (gst_query_set_formats),
3513 (gst_query_set_formatsv), (gst_query_parse_formats_length),
3514 (gst_query_parse_formats_nth):
3516 Flesh out formats query, added some new methods.
3517 Fix part of #324398.
3519 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3520 Added query creation tests.
3522 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
3524 * gst/gstpad.c: (fixate_value):
3525 Add a default fixation for fraction lists.
3527 2006-02-13 Wim Taymans <wim@fluendo.com>
3529 * gst/gsttask.c: (gst_task_init), (gst_task_func),
3530 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3533 Detect and warn for obvious deadlocks. fixes #320340
3534 Fix error case where lock was not released.
3536 * tests/check/Makefile.am:
3537 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3538 (task_func), (gst_element_suite), (main):
3541 2006-02-13 Wim Taymans <wim@fluendo.com>
3543 * docs/gst/gstreamer-sections.txt:
3545 Add new functions to docs.
3547 2006-02-13 Wim Taymans <wim@fluendo.com>
3549 * docs/design/part-TODO.txt:
3550 Updated TODO list, basesrc supports seeking to non-bytes
3553 * docs/design/part-element-sink.txt:
3556 * gst/gstbin.c: (bin_replace_message),
3557 (gst_bin_handle_message_func):
3558 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3559 * gst/gstevent.c: (gst_event_finalize):
3560 * gst/gstpad.c: (gst_pad_event_default_dispatch),
3561 (gst_pad_send_event):
3562 Use shiny new _TYPE_NAME macros.
3564 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3565 Move debug statement up.
3567 * gst/gstelement.c: (gst_element_set_locked_state):
3570 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
3572 * docs/gst/gstreamer-sections.txt:
3575 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3576 macros (#330906). Also, document the already existing
3577 GST_QUERY_TYPE macro.
3579 2006-02-13 Wim Taymans <wim@fluendo.com>
3581 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3582 (event_probe), (GST_START_TEST):
3583 Only events up to the pipeline EOS are counted, there are
3584 some more when going to NULL currently which we don't care
3587 2006-02-13 Wim Taymans <wim@fluendo.com>
3589 * gst/gstpad.c: (gst_pad_send_event):
3590 Correctly check flushing and emit probes. fixes #330125
3592 2006-02-10 Andy Wingo <wingo@pobox.com>
3594 * gst/gstbus.c (gst_bus_class_init): Declare our private data
3596 (gst_bus_init): Cache the location of the private data in the
3598 (gst_bus_enable_sync_message_emission)
3599 (gst_bus_disable_sync_message_emission): Implement new public
3601 (gst_bus_post): Emit the sync-message signal if the user asked for
3604 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3605 location of the bus-private structure.
3606 (gst_bus_enable_sync_message_emission)
3607 (gst_bus_disable_sync_message_emission): API addition
3609 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
3611 Patch by: Vincent Torri
3613 * docs/pwg/building-boiler.xml:
3614 PWG patch from #326800
3616 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
3620 * docs/design/Makefile.am:
3623 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
3628 === release 0.10.3 ===
3630 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
3633 releasing 0.10.3, "Like a virgin"
3635 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
3638 2nd prerelease of 0.10.3
3639 Bump libtool versioning.
3641 2006-02-07 Andy Wingo <wingo@pobox.com>
3643 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3644 update last_stop if we're in TIME format and the timestamp is
3647 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
3648 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
3649 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3650 If we get a new newsegment with a different format, adapt
3653 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3654 of 0. Not a problem, really.
3656 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3659 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
3664 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
3667 project files updated to the default vs7 configuration
3668 * win32/common/libgstbase.def:
3669 * win32/common/libgstreamer.def:
3671 removed empty lines,
3672 sorted all exported symbols alphabetically
3673 * win32/common/dirent.c:
3674 * win32/common/dirent.h:
3675 * win32/common/gchar.h:
3676 use windows line end.
3678 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
3680 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3681 Send EOS event when stopping.
3683 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
3686 Tell folks what to do if the plugin-foobar.xml file
3687 hasn't been generated for a newly-added plugin.
3689 2006-02-05 Julien MOUTTE <julien@moutte.net>
3691 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3692 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3693 (gst_collect_pads_start), (gst_collect_pads_stop),
3694 (gst_collect_pads_event): Collectpads now holds a reference
3695 to the GstPad that was added. Indeed we don't want to look
3696 at pads that might just go away with no warning...
3698 2006-02-05 Julien MOUTTE <julien@moutte.net>
3700 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3701 (gst_collect_pads_start), (gst_collect_pads_stop),
3702 (gst_collect_pads_event), (gst_collect_pads_chain):
3703 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3704 Mark Nauwelaerts's patch on bug #328491.
3706 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
3708 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3710 Add some simple tests for gst_parse_bin_from_description() and
3711 gst_bin_find_unconnected_pad() (#329069).
3713 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
3715 * tools/gst-launch.c: (event_loop), (main):
3716 Catch errors during preroll (#320084).
3718 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
3720 * plugins/elements/gsttypefindelement.c:
3721 (gst_type_find_element_activate):
3722 Post TYPE_NOT_FOUND error message when typefinding
3723 is unsuccessful in the activate function as well.
3725 2006-02-02 Wim Taymans <wim@fluendo.com>
3727 * docs/design/part-element-sink.txt:
3730 2006-02-02 Wim Taymans <wim@fluendo.com>
3732 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3733 (gst_base_sink_render_object),
3734 (gst_base_sink_queue_object_unlocked):
3735 Only keep track of prerollable items when we are
3737 Before rendering after preroll, always check if we
3739 Added some more debugging.
3741 2006-02-02 Wim Taymans <wim@fluendo.com>
3743 * gst/gstelement.c: (gst_element_continue_state),
3744 (gst_element_set_state_func), (gst_element_change_state):
3745 Fixed #326576, been running this for quite some time with
3746 no regressions at all.
3748 2006-02-02 Wim Taymans <wim@fluendo.com>
3751 Added more suppressions
3753 2006-02-02 Wim Taymans <wim@fluendo.com>
3755 * docs/design/part-element-sink.txt:
3758 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3759 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3760 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3761 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3762 (gst_base_sink_do_sync), (gst_base_sink_render_object),
3763 (gst_base_sink_preroll_object),
3764 (gst_base_sink_queue_object_unlocked),
3765 (gst_base_sink_queue_object), (gst_base_sink_event),
3766 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3767 (gst_base_sink_loop), (gst_base_sink_activate_pull),
3768 (gst_base_sink_get_position), (gst_base_sink_change_state):
3769 * libs/gst/base/gstbasesink.h:
3770 Totally refactored matching the design doc.
3771 Use two segments, one to clip incomming buffers and another to
3773 Handle queueing correctly, bypass the queue when playing.
3774 Make EOS cancelable.
3775 Handle errors correctly when operating in pull based mode.
3777 * tests/check/elements/fakesink.c: (GST_START_TEST),
3779 Added new check for sinks.
3781 2006-02-02 Wim Taymans <wim@fluendo.com>
3783 * gst/gstsegment.c: (gst_segment_clip):
3784 No reason to refuse to clip when start == -1
3786 2006-02-02 Stefan Kost <ensonic@users.sf.net>
3789 * docs/manual/intro-basics.xml:
3790 * docs/manual/intro-preface.xml:
3791 * docs/manual/manual.xml:
3792 * docs/pwg/advanced-dparams.xml:
3793 * docs/pwg/intro-basics.xml:
3794 * docs/pwg/intro-preface.xml:
3796 describe dparams (controller) for plugins
3797 unify docs a little more
3799 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
3801 * docs/gst/gstreamer-sections.txt:
3802 * gst/gstutils.c: (element_find_unconnected_pad),
3803 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3805 Add new API: gst_parse_bin_from_description() and
3806 gst_bin_find_unconnected_pad() (#329069).
3808 2006-02-01 Stefan Kost <ensonic@users.sf.net>
3810 * docs/manual/README:
3811 uncover a nasty detail of the docs build
3813 2006-01-31 Wim Taymans <wim@fluendo.com>
3815 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3816 Don't cache duration messages if we're not going to use or
3819 2006-01-31 Stefan Kost <ensonic@users.sf.net>
3821 * docs/manual/advanced-dparams.xml:
3822 * docs/pwg/advanced-dparams.xml:
3826 * libs/gst/controller/lib.c: (gst_controller_init):
3829 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
3831 * gst/gstelement.c: (gst_element_message_full):
3832 also show file/line/func if no additional debug was given
3834 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
3836 * win32/vs7/grammar.vcproj:
3837 activate copy of autogenerated files for Release mode
3839 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
3841 * win32/common/libgstreamer.def:
3842 export gst_value_compare
3844 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
3846 * plugins/elements/Makefile.am:
3847 * plugins/elements/gstelements.c:
3848 * plugins/elements/gstfdsink.c: (_do_init),
3849 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3850 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3851 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3852 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3853 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3854 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3855 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3856 * plugins/elements/gstfdsink.h:
3857 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3859 2006-01-30 Stefan Kost <ensonic@users.sf.net>
3861 * docs/manual/advanced-dparams.xml:
3863 * docs/manual/advanced-position.xml:
3864 * docs/manual/basics-init.xml:
3865 * docs/manual/manual.xml:
3866 * docs/manual/titlepage.xml:
3868 * docs/pwg/titlepage.xml:
3869 cleanup xml (more to come)
3870 * libs/gst/controller/gstcontroller.c:
3873 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
3875 * win32/vs6/grammar.dsp:
3876 add autogen of gstmarshal.c,h for Release mode
3878 2006-01-30 Wim Taymans <wim@fluendo.com>
3880 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3881 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3882 (gst_base_sink_handle_object), (gst_base_sink_event),
3883 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3884 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3885 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3886 (gst_base_sink_deactivate), (gst_base_sink_activate),
3887 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3888 (gst_base_sink_query), (gst_base_sink_change_state):
3889 Basesink cleanups, remove some old code.
3890 Handle the case where a subclass can preroll in the render
3891 method (mostly audiosinks).
3893 Remove some locks around variables that are now protected
3894 with the PREROLL_LOCK (clock_id, flushing, ..).
3895 Optimize position query some more, do correct locking.
3896 Remove old code to push queue in state change, this is not
3897 needed anymore since preroll blocks on all prerollable items
3899 Almost implemented as described in design doc.
3901 2006-01-30 Wim Taymans <wim@fluendo.com>
3903 * tests/check/gst/gstbin.c: (GST_START_TEST):
3904 Wait for refcount to settle down before checking.
3906 2006-01-30 Wim Taymans <wim@fluendo.com>
3908 * docs/design/part-element-sink.txt:
3909 Pseudo code overview of desired sink behaviour regarding
3912 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3913 * win32/vs6/grammar.dsp:
3914 fix some bugs in Release mode for autogenerated files
3916 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3917 * win32/common/libgstbase.def:
3918 * win32/common/libgstreamer.def:
3919 export some new symbols: gst_base_src_set_format,
3920 gst_iterator_next, gst_structure_set_valist
3922 2006-01-29 Julien MOUTTE <julien@moutte.net>
3924 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3925 Set pad functions unconditionally. Fixes #329105.
3927 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3929 add vs8 project files created by Sergey Scobich
3931 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
3933 * gst/gstutils.c: (gst_element_unlink_pads):
3934 Don't leak pad references.
3936 * tests/check/elements/fakesink.c: (GST_START_TEST):
3937 * tests/check/generic/sinks.c: (GST_START_TEST):
3938 * tests/check/generic/states.c: (GST_START_TEST):
3939 * tests/check/gst/gstbin.c: (GST_START_TEST):
3940 * tests/check/gst/gstcaps.c: (GST_START_TEST):
3941 * tests/check/gst/gstelement.c: (GST_START_TEST):
3942 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3943 * tests/check/gst/gstiterator.c: (GST_START_TEST):
3944 * tests/check/gst/gstvalue.c: (GST_START_TEST):
3945 Fix a bunch of leaks. Make generic/sinks.c
3946 use a bit less cpu by slowing the buffer rate
3947 between fakesrc and fakesink.
3949 2006-01-27 Stefan Kost <ensonic@users.sf.net>
3951 * gst/gstelement.c: (gst_element_send_event):
3954 * gst/gstiterator.c:
3955 * gst/gstiterator.h:
3956 * gst/gstpad.c: (gst_pad_send_event):
3957 * gst/gststructure.c:
3961 * libs/gst/base/gstadapter.c:
3962 doc fixes, to link to function, just write gst_cool_function(), don't
3965 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3967 * plugins/elements/gsttee.c: (gst_tee_do_push),
3968 (gst_tee_handle_buffer):
3969 Always prefer an actual return value from a src
3970 pad in place of NOT_LINKED. This means we return
3971 WRONG_STATE when all src pads are WRONG_STATE
3972 instead of NOT_LINKED.
3974 Lock when replacing the last message to prevent
3975 racing with the get_property method.
3979 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3981 * tests/check/Makefile.am:
3982 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3984 Add a very simple check that should have caught the memleak I fixed
3985 last night (if not for the slice allocator hiding it)
3987 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3989 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3990 (gst_bin_remove_func), (gst_bin_handle_message_func),
3991 (bin_query_duration_fold), (bin_query_generic_fold):
3992 Clean up references to the clock provider when disposed or when
3993 handling a clock-lost message from it.
3995 Unref sinks when performing a query via gst_iterator_fold, as the
3996 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3998 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3999 (gst_clock_set_master):
4000 Drop our reference to the master clock, if any, when we are disposed.
4002 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
4003 Chain up in dispose.
4005 2006-01-26 Wim Taymans <wim@fluendo.com>
4007 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4010 2006-01-26 Julien MOUTTE <julien@moutte.net>
4012 * plugins/elements/gsttee.c: (gst_tee_do_push),
4013 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4014 handles pad being NOT_LINKED or in WRONG_STATE.
4016 2006-01-26 Stefan Kost <ensonic@users.sf.net>
4021 2006-01-26 Stefan Kost <ensonic@users.sf.net>
4024 remove obsolete entry
4026 2006-01-26 Stefan Kost <ensonic@users.sf.net>
4028 * docs/gst/gstreamer-sections.txt:
4029 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4030 (gst_bin_iterate_sources), (gst_bin_send_event):
4032 * gst/gstelement.c: (gst_element_send_event):
4034 * gst/gstpad.c: (gst_pad_send_event):
4035 added code for downstream events, reviewed docs in gstevent.c
4037 2006-01-25 Julien MOUTTE <julien@moutte.net>
4039 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4040 We only query position using the clock in the playing state.
4041 Query peer in the other cases.
4042 * win32/common/config.h: Updates.
4044 2006-01-24 Wim Taymans <wim@fluendo.com>
4046 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4047 A clock entry that is scheduled for the exact time of the
4048 clock is still in time.
4050 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4051 (gst_base_sink_do_sync):
4052 Add some more debug info.
4054 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
4057 Add new vs7 project files and solution.
4059 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
4062 all files removed as they were out-dated.
4064 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
4066 * docs/random/release:
4068 * gst/gstbin.c: (gst_bin_init):
4069 * gst/gstbus.c: (gst_bus_new):
4071 * gst/gstpipeline.c: (gst_pipeline_init):
4072 use gst_bus_new(), improve logging, fix docs
4073 * win32/common/config.h:
4074 update for cvs build
4076 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
4079 up required version of automake to 1.7
4081 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
4083 * win32/common/libgstreamer.def:
4084 export gst_buffer_is_metadata_writable
4086 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
4088 * docs/gst/gstreamer-sections.txt:
4090 Add gst_event_replace() (#327001)
4092 2006-01-20 Wim Taymans <wim@fluendo.com>
4094 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4095 Make it actually compile too..
4097 2006-01-20 Wim Taymans <wim@fluendo.com>
4100 Clarify behaviour of _is_equal() when passing NULL parameters.
4102 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4104 Cleanups. Don't unref NULL caps.
4105 When setting the same caps, protect caps of the pad with
4107 Use full functionality of _is_equal() when comparing caps.
4109 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
4111 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4112 Don't loop infinitely if there are no buffers to present. Partially
4113 fixes #327197, but collectpads is just broken for reusing elements
4114 to do multiple encodes atm.
4116 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
4118 * tools/gst-inspect.c: (print_element_features):
4119 * tools/gst-xmlinspect.c: (main):
4120 URL_HANDLER is not a plugin feature we can search for in
4123 2006-01-19 Edward Hervey <edward@fluendo.com>
4125 * gst/gstelement.c: (gst_element_pads_activate):
4126 When activating, do src pads first, then sink pads.
4127 When de-activating, do sink pads first, then src pads.
4129 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
4131 * docs/gst/gstreamer-sections.txt:
4132 Add gst_index_add_associationv to the docs
4134 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
4139 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4140 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4141 Do some refactoring. Doesn't actually change functionality,
4142 but makes landing the DRAIN event easier later.
4144 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
4146 * docs/pwg/advanced-scheduling.xml:
4147 Update from 0.9.x to 0.10 API and make example a bit
4150 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
4152 * docs/gst/gstreamer-sections.txt:
4153 Add gst_buffer_(is|make)_metadata_writable methods.
4155 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
4157 * docs/design/part-sparsestreams.txt:
4158 Update sparse streams doc, hopefully for greater clarity
4160 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
4162 * docs/design/part-events.txt:
4163 Remove mention of FILLER events.
4166 * docs/design/part-sparsestreams.txt:
4167 Write some things about using NEWSEGMENT to keep sparse streams
4170 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
4172 * gst/gstbin.c: (gst_bin_dispose):
4173 Guard gst_object_unref call against a NULL object (dispose
4174 can theoretically be called multiple times).
4176 2006-01-18 Wim Taymans <wim@fluendo.com>
4178 * gst/gstbin.c: (gst_bin_element_set_state):
4179 * gst/gstclock.c: (gst_clock_id_wait):
4180 Added some more debug info.
4182 * libs/gst/base/gstadapter.c:
4185 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4186 (gst_base_sink_do_sync), (gst_base_sink_chain):
4187 Added some comments.
4189 2006-01-18 Wim Taymans <wim@fluendo.com>
4191 * tests/check/Makefile.am:
4192 * tests/check/elements/fakesink.c: (chain_async_buffer),
4193 (chain_async), (chain_async_return), (GST_START_TEST),
4194 (fakesink_suite), (main):
4195 Added fakesink test that checks prerolling and clipping
4198 * tests/check/gst/gstutils.c: (GST_START_TEST):
4199 Make check run faster so that buildbots don't timeout.
4201 2006-01-18 Wim Taymans <wim@fluendo.com>
4203 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4204 (gst_base_sink_do_sync):
4206 When the sink finishes blocking on the preroll buffer, it can
4207 immediatly render it instead of rendering when the next buffer
4210 2006-01-18 Wim Taymans <wim@fluendo.com>
4212 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4213 (gst_base_sink_get_property), (gst_base_sink_do_sync),
4214 (gst_base_sink_chain):
4216 GST_ELEMENT_CLOCK and sync are protected with LOCK.
4217 Don't store _last_stop if the buffer is dropped.
4219 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
4221 * plugins/elements/gsttypefindelement.c:
4222 (gst_type_find_element_class_init):
4223 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4224 object method handler that sets the caps on the pad and we want
4225 that to happen before we emit the signal (fixes e.g. feeding a
4226 plain text file to decodebin).
4228 2006-01-18 Christian Schaller <Christian@fluendo.com>
4230 * gst/gstplugin.c: Add MPL and Proprietary as license options
4232 2006-01-18 Andy Wingo <wingo@pobox.com>
4234 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4235 symbol was exported before, it appears this was just an oversight.
4237 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4239 * gst/gstindex.c (gst_index_add_associationv): Changed int in
4240 prototype to gint. OK since this prototype was not in the header.
4242 2006-01-17 Andy Wingo <wingo@pobox.com>
4244 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4245 registry while we remove plugins.
4247 * tools/gst-inspect.c (print_element_info): Don't unref the
4248 factory arg, that should be the responsibility of whatever code
4249 received the ref. Fixes a double-free when called from
4250 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4251 (main): Unref the factory if we have one.
4252 (print_element_list): No change -- relies on the
4253 plugin_feature_list_free to free the list of features.
4255 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
4257 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4258 (gst_buffer_make_metadata_writable):
4260 * libs/gst/base/gstbasetransform.c:
4261 (gst_base_transform_prepare_output_buf):
4262 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4263 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4264 Replace gst_buffer_(make|is)_metadata_writable patch now
4265 that the release is out.
4267 2006-01-17 Andy Wingo <wingo@pobox.com>
4269 * gst/gstregistry.c: Reflow design comment. Update so as to speak
4270 in the present tense without reference to versions.
4272 * gst/gstregistry.c (gst_registry_add_plugin)
4273 (gst_registry_remove_plugin, gst_registry_remove_feature)
4274 (gst_registry_find_feature, gst_registry_get_feature_list)
4275 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4276 (gst_registry_lookup, gst_registry_scan_path)
4277 (_gst_registry_remove_cache_plugins)
4278 (gst_registry_get_feature_list_by_plugin): Add argument
4281 === release 0.10.2 ===
4283 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
4286 releasing 0.10.2, "If man is five"
4288 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
4292 * libs/gst/base/gstbasetransform.c:
4293 (gst_base_transform_prepare_output_buf):
4294 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4295 * tests/check/gst/gstbuffer.c: (gst_test_suite):
4296 Back out patch until after the release.
4298 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
4300 * gst/gstminiobject.c:
4301 Spelling fix in docs.
4302 * ChangeLog - remove conflict indicator
4304 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
4306 Reviewed By: Andy Wingo
4308 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4309 (gst_buffer_make_metadata_writable):
4311 Add gst_buffer_(is|make)_metadata_writable as analogues of
4312 gst_buffer_(is|make)_writable.
4314 * libs/gst/base/gstbasetransform.c:
4315 (gst_base_transform_prepare_output_buf):
4316 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4317 Use name gst_buffer_(is|make)_metadata_writable functions.
4319 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4320 Test gst_buffer_(is|make)_metadata_writable
4324 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
4326 * docs/manual/Makefile.am:
4327 don't do parallel make
4330 * win32/common/config.h.in:
4331 add generations for HOST_CPU and GST_MAJORMINOR
4332 * win32/common/config.h:
4333 commit generated result
4335 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
4337 * docs/manual/appendix-integration.xml:
4338 Update GNOME integration section to use gst_init_get_option_group()
4339 instead of the old popt stuff (#322911). Also, GNOME applications
4340 should now use gconf*sink and gconf*src instead of the old gconf
4343 2006-01-13 Stefan Kost <ensonic@users.sf.net>
4346 * docs/gst/gstreamer-docs.sgml:
4347 * docs/gst/gstreamer-sections.txt:
4348 * docs/libs/gstreamer-libs-sections.txt:
4349 add new API entries to the docs
4350 * libs/gst/controller/Makefile.am:
4351 * libs/gst/controller/gstcontroller.c:
4352 * libs/gst/controller/gstcontroller.h:
4353 * libs/gst/controller/gstcontrollerprivate.h:
4354 * libs/gst/controller/gsthelper.c:
4355 * libs/gst/controller/gstinterpolation.c:
4356 move private structs to private header
4358 gstreamer-0.7 -> gstreamer-0.10
4359 * tests/check/libs/struct_i386.h:
4360 remove private structs
4362 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
4364 * plugins/indexers/Makefile.am:
4365 Fixes as part of #317048
4367 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
4369 * plugins/indexers/Makefile.am:
4370 fix #316086 - compilation when mmap is missing
4372 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
4374 * libs/gst/base/gstbasesink.c:
4375 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
4376 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4377 * win32/common/config.h:
4378 added some defines GST_MAJORMINOR and HOST_CPU
4379 * win32/common/libgstbase.def:
4380 * win32/common/libgstreamer.def:
4381 added some exported functions.
4383 2006-01-12 Stefan Kost <ensonic@users.sf.net>
4385 * libs/gst/controller/gstcontroller.c:
4386 (gst_controlled_property_set_interpolation_mode),
4387 (gst_controlled_property_new):
4388 * libs/gst/controller/gstcontroller.h:
4389 * libs/gst/controller/gstinterpolation.c:
4390 (interpolate_none_get_string_value_array):
4391 make G_TYPE_STRING controlable
4393 2006-01-12 Stefan Kost <ensonic@users.sf.net>
4396 * tools/gst-feedback.1.in:
4397 * tools/gst-inspect.1.in:
4398 * tools/gst-launch.1.in:
4399 * tools/gst-md5sum.1.in:
4400 * tools/gst-typefind.1.in:
4401 * tools/gst-xmlinspect.1.in:
4402 * tools/gst-xmllaunch.1.in:
4403 cleanup man-pages, remove reference to gst-register, document env-vars
4405 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
4407 * gst/gstbuffer.c: (gst_buffer_span):
4408 gst_buffer_span should copy the timestamp of the first buffer
4409 if they were both originally overlapping subbuffers of the
4410 same parent, using the same logic as the 'slow copy' case.
4412 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
4414 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4415 Need to awaken ALL the pads when we pop a buffer, otherwise
4416 collectpads only works when there is 2 input streams.
4418 2006-01-11 Stefan Kost <ensonic@users.sf.net>
4420 * docs/random/ensonic/media-device-daemon.txt:
4423 fix doc example, add clarification
4424 * tools/gst-launch.1.in:
4425 add initial info about GST_PLUGIN_PATH, needs more work
4427 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
4429 * docs/manual/basics-bins.xml:
4430 * docs/manual/basics-elements.xml:
4431 * docs/manual/intro-basics.xml:
4432 Some more minor docs additions and updates.
4434 2006-01-11 Wim Taymans <wim@fluendo.com>
4436 * docs/manual/basics-bins.xml:
4437 * docs/manual/basics-elements.xml:
4438 Some small fixes as pointed out by Ser-ver on IRC.
4440 2006-01-10 Edward Hervey <edward@fluendo.com>
4442 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4443 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4444 the single-segment mode.
4446 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
4448 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4450 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4451 (gst_base_src_perform_seek), (gst_base_src_send_event),
4452 (gst_base_src_set_property), (gst_base_src_get_property),
4453 (gst_base_src_loop), (gst_base_src_start),
4454 (gst_base_src_activate_push):
4455 * libs/gst/base/gstbasesrc.h:
4456 Name (private) union; makes Sun's Forte compiler happy (#324900).
4458 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
4461 gst-register is gone.
4463 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
4465 * gst/gstvalue.c: (_gst_value_initialize):
4466 make the G_TYPE_DATE instantiation work if debug is disabled
4468 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
4470 * gst/gstmessage.c: (gst_message_parse_tag),
4471 (gst_message_parse_error), (gst_message_parse_warning):
4472 Don't crash when return location for error/warning debug
4473 string is NULL; add fact that return locations can be
4474 NULL to docs where appropriate.
4476 2006-01-05 Wim Taymans <wim@fluendo.com>
4478 * gst/gstplugin.c: (gst_plugin_load_file):
4479 Replace strdup by g_strdup.
4481 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
4483 * docs/pwg/advanced-types.xml:
4486 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
4488 submitted by: Abel Cheung
4492 Added Chinese (traditional) translation
4494 2006-01-04 Wim Taymans <wim@fluendo.com>
4496 * docs/manual/basics-pads.xml:
4497 * docs/plugins/Makefile.am:
4498 * docs/plugins/gstreamer-plugins-docs.sgml:
4499 * docs/plugins/gstreamer-plugins-sections.txt:
4500 * docs/pwg/advanced-clock.xml:
4501 * docs/pwg/advanced-scheduling.xml:
4502 * docs/pwg/advanced-types.xml:
4503 * plugins/elements/gstfdsink.c:
4504 * plugins/elements/gstfdsrc.c:
4505 * plugins/elements/gstfdsrc.h:
4506 * plugins/elements/gstidentity.c: (gst_identity_class_init):
4507 * plugins/elements/gstidentity.h:
4508 * plugins/elements/gstqueue.h:
4509 * plugins/elements/gsttee.c:
4510 * plugins/elements/gsttee.h:
4511 * plugins/elements/gsttypefindelement.c:
4512 (gst_type_find_element_class_init):
4513 * plugins/elements/gsttypefindelement.h:
4514 Small updates to various docs.
4515 Added core plugins to docs.
4517 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4520 add a suppression for liboil's uninitialized variable
4522 2006-01-02 James Livingston <jrl at ids dot org dot au>
4524 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4527 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4528 macro, so that gcc doesn't complain if the -Wmissing-prototypes
4529 compiler switch is being used (#325429).
4531 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
4533 * gst/gstbin.c: (gst_bin_query):
4534 Disable duration query caching in bins until it gets
4535 fixed (see #324807).
4537 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
4539 * tools/gst-inspect.c: (print_element_properties_info):
4540 Handle properties of POINTER and BOXED type.
4542 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
4544 * gst/gst.c: (init_post):
4545 Init tags stuff and some other things before loading
4546 any static plugins (there may be other static plugins
4547 than just the GStreamer ones, and they may want to
4548 register their own tags or formats or whatever, and
4549 preferably without segfaulting).
4551 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4552 Print at least a warning in the debug logs if we drop a
4553 query just because we don't know how to adjust the value
4554 in the particular format.
4556 2005-12-24 David Schleef <ds@schleef.org>
4558 * tools/gstreamer-completion:
4559 Replacement for gst-complete written in sh and sed. Only
4560 completes names of features, but that's 90% of what I want
4561 it for. Properties are not available in registry.xml. (Maybe
4564 === release 0.10.1 ===
4566 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
4569 releasing 0.10.1, "Nollaig chridheil"
4571 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
4574 Add missing quote, should be make ERROR_CFLAGS="".
4576 2005-12-20 Wim Taymans <wim@fluendo.com>
4578 * docs/design/part-trickmodes.txt:
4579 More documentation on trickmodes.
4581 2005-12-20 Edward Hervey <edward@fluendo.com>
4583 * gst/gstcaps.c: (gst_static_caps_get_type):
4585 API addition: GST_TYPE_STATIC_CAPS
4586 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4587 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4588 * gst/gstpadtemplate.h:
4589 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4590 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4593 2005-12-18 Wim Taymans <wim@fluendo.com>
4595 * libs/gst/base/gstadapter.c:
4596 * libs/gst/base/gstadapter.h:
4597 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4598 (gst_base_sink_get_position):
4599 * libs/gst/base/gstbasesink.h:
4600 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4601 (gst_base_src_default_query), (gst_base_src_default_do_seek),
4602 (gst_base_src_do_seek), (gst_base_src_perform_seek),
4603 (gst_base_src_send_event), (gst_base_src_update_length),
4604 (gst_base_src_get_range), (gst_base_src_loop),
4605 (gst_base_src_start):
4606 * libs/gst/base/gstbasesrc.h:
4607 * libs/gst/base/gstbasetransform.h:
4608 * libs/gst/base/gstcollectpads.h:
4609 * libs/gst/base/gstpushsrc.c:
4610 * libs/gst/base/gstpushsrc.h:
4611 * libs/gst/dataprotocol/dataprotocol.c:
4612 * libs/gst/dataprotocol/dataprotocol.h:
4613 * libs/gst/net/gstnetclientclock.h:
4614 * libs/gst/net/gstnettimeprovider.h:
4615 Documentation updates.
4617 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
4619 * docs/manual/basics-helloworld.xml:
4620 Remove superfluous closing bracket in helloworld example.
4622 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
4624 * tools/gst-launch.1.in:
4625 Update gst-launch man page; add a section with useful
4626 environment variables. Fixes #323882.
4628 2005-12-16 Stefan Kost <ensonic@users.sf.net>
4631 * gst/gst_private.h:
4632 change some char* into char[]
4634 2005-12-16 Wim Taymans <wim@fluendo.com>
4636 * gst/gstregistryxml.c: (load_feature):
4638 Don't use g_object_unref on GstObjects so that we avoid
4639 leaks on unsafe glibs.
4641 2005-12-16 Wim Taymans <wim@fluendo.com>
4643 * gst/gstbin.c: (gst_bin_recalc_state):
4646 2005-12-16 Wim Taymans <wim@fluendo.com>
4649 Added make forever target for check.
4651 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
4653 * gst/gst.c: (init_post):
4654 make the registry cache file HOST_CPU-dependent
4656 2005-12-16 Andy Wingo <wingo@pobox.com>
4658 * plugins/elements/gstbufferstore.c
4659 (gst_buffer_store_cleared_func): Pay attention to g_list_append
4662 * tests/check/gst/gstobject.c
4663 (test_fake_object_name_threaded_unique): Pay attention to
4664 g_list_sort return value.
4666 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
4668 * tools/gst-feedback-m.m:
4669 Update for 0.9/0.10 (fixes #323870).
4671 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
4673 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4674 Fix lcopy for mini objects, the mini object needs to be ref'ed.
4676 * tests/check/gst/gstminiobject.c: (my_foo_init),
4677 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4678 (test_value_collection), (gst_mini_object_suite):
4679 Add test to ensure refcounts end up as expected when passing
4680 GstMiniObjects through g_object_get() and g_object_set().
4682 2005-12-14 Julien MOUTTE <julien@moutte.net>
4684 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4685 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4686 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4687 of collectpads. This version removes a lot of races without
4688 touching API/ABI. Yay !
4690 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
4692 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4693 Don't allow activation of a srcpad in pull_range if it has no
4695 Change some debug statements to be a little clearer
4697 * plugins/elements/gsttypefindelement.c:
4698 (gst_type_find_handle_src_query):
4699 Check that we have a peer before executing queries thereupon.
4701 * tests/examples/metadata/read-metadata.c: (message_loop):
4702 Use gst_bus_pop instead of gst_bus_poll when we just want it to
4703 immediately return us any available message with 0 timeout.
4705 2005-12-12 Michael Smith <msmith@fluendo.com>
4707 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4708 Don't unref factories after calling them.
4709 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4710 * plugins/elements/gsttypefindelement.c:
4711 (gst_type_find_element_chain):
4712 Free lists of factories after using them. Fixing typefinding memory
4715 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4717 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4718 (gst_plugin_feature_load):
4719 more meaningful debug output
4721 * tests/Makefile.am:
4722 * tests/old/examples/Makefile.am:
4723 make make distcheck happy again
4725 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
4727 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4728 Catch the special case where we are operating chain-based,
4729 but the downstream peer pad has no chain function. Emit a
4730 custom error message in this case instead of letting the
4731 core generate one implying that this is some sort of core
4732 bug. It's not, it just means that whatever got plugged
4733 into the pipeline downstream when we announced the type
4734 can only operate pull-based, while our source can only
4735 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4736 Error string has not been marked for translation yet, as
4737 it probably needs some more work first.
4739 (gst_type_find_element_get_best_possibility):
4740 Add helper function to find the best of all available
4741 found possibilities that qualify given the min. threshold.
4743 (gst_type_find_element_handle_event):
4744 Fix the case where we get an EOS while still in TYPEFIND
4745 mode (we want to chose the best of all possible types,
4746 not just the first type that happens to be in our unsorted
4747 list of possible types).
4749 (gst_type_find_element_chain):
4750 Make sure we return GST_FLOW_ERROR when we errored out
4751 in stop_typefinding(); also, don't just find the best of
4752 all found type entries and then use the last examined
4753 type entry, but actually use the best entry.
4755 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
4757 * tests/examples/typefind/typefind.c: (type_found):
4758 * tests/examples/xml/runxml.c: (xml_loaded):
4759 More gcc4 fixes and a mem leak fix.
4761 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4763 * tests/examples/xml/createxml.c: (object_saved):
4766 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4768 * tests/Makefile.am:
4769 enable the examples even more
4771 2005-12-12 Andy Wingo <wingo@pobox.com>
4773 * libs/gst/net/gstnettimeprovider.c
4774 (gst_net_time_provider_class_init, gst_net_time_provider_init)
4775 (gst_net_time_provider_set_property)
4776 (gst_net_time_provider_get_property):
4777 API addition: Export "active" as a GObject property.
4778 (gst_net_time_provider_thread): Only respond to time queries if
4779 the time provider is active.
4781 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4782 NetTimeProvider, preserving binary compat.
4784 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4786 * tests/examples/controller/audio-example.c: (main):
4787 * tests/examples/launch/Makefile.am:
4788 convert comments again
4790 2005-12-12 Wim Taymans <wim@fluendo.com>
4792 * libs/gst/base/gstpushsrc.c:
4795 2005-12-12 Wim Taymans <wim@fluendo.com>
4797 * docs/libs/gstreamer-libs-sections.txt:
4798 Added new symbol to docs.
4800 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4801 (gst_base_src_init), (gst_base_src_set_format),
4802 (gst_base_src_default_query), (gst_base_src_query),
4803 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4804 (gst_base_src_perform_seek), (gst_base_src_send_event),
4805 (gst_base_src_default_event), (gst_base_src_event_handler),
4806 (gst_base_src_set_property), (gst_base_src_get_property),
4807 (gst_base_src_wait), (gst_base_src_do_sync),
4808 (gst_base_src_update_length), (gst_base_src_get_range),
4809 (gst_base_src_check_get_range), (gst_base_src_loop),
4810 (gst_base_src_default_negotiate), (gst_base_src_start),
4811 (gst_base_src_activate_push), (gst_base_src_activate_pull),
4812 (gst_base_src_change_state):
4813 * libs/gst/base/gstbasesrc.h:
4814 Implement seeking to other formats than _BYTES.
4815 Implement more seeking methods correctly.
4817 Added query vmethod.
4818 Added do_seek vmethod to make life easier for subclasses
4820 API addition: gst_base_src_set_format()
4822 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4824 * tests/examples/Makefile.am:
4827 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4830 * docs/random/ensonic/media-device-daemon.txt:
4831 * tests/examples/controller/.cvsignore:
4832 * tests/examples/controller/Makefile.am:
4833 * tests/examples/controller/audio-example.c: (main):
4834 * tests/examples/helloworld/.cvsignore:
4835 * tests/examples/helloworld/Makefile.am:
4836 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4837 * tests/examples/launch/.cvsignore:
4838 * tests/examples/launch/Makefile.am:
4839 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4840 * tests/examples/metadata/.cvsignore:
4841 * tests/examples/metadata/Makefile.am:
4842 * tests/examples/metadata/read-metadata.c: (message_loop),
4843 (make_pipeline), (print_tag), (main):
4844 * tests/examples/queue/.cvsignore:
4845 * tests/examples/queue/Makefile.am:
4846 * tests/examples/queue/queue.c: (event_loop), (main):
4847 * tests/examples/typefind/.cvsignore:
4848 * tests/examples/typefind/Makefile.am:
4849 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4851 * tests/examples/xml/.cvsignore:
4852 * tests/examples/xml/Makefile.am:
4853 * tests/examples/xml/createxml.c: (object_saved), (main):
4854 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4855 * tests/old/examples/Makefile.am:
4856 * tests/old/examples/TODO:
4857 * tests/old/examples/controller/.cvsignore:
4858 * tests/old/examples/controller/Makefile.am:
4859 * tests/old/examples/controller/audio-example.c:
4860 * tests/old/examples/helloworld/.cvsignore:
4861 * tests/old/examples/helloworld/Makefile.am:
4862 * tests/old/examples/helloworld/helloworld.c:
4863 * tests/old/examples/launch/.cvsignore:
4864 * tests/old/examples/launch/Makefile.am:
4865 * tests/old/examples/launch/mp3parselaunch.c:
4866 * tests/old/examples/launch/mp3play:
4867 * tests/old/examples/manual/Makefile.am:
4868 * tests/old/examples/metadata/Makefile.am:
4869 * tests/old/examples/metadata/read-metadata.c:
4870 * tests/old/examples/queue/.cvsignore:
4871 * tests/old/examples/queue/Makefile.am:
4872 * tests/old/examples/queue/queue.c:
4873 * tests/old/examples/typefind/.cvsignore:
4874 * tests/old/examples/typefind/Makefile.am:
4875 * tests/old/examples/typefind/typefind.c:
4876 * tests/old/examples/xml/.cvsignore:
4877 * tests/old/examples/xml/Makefile.am:
4878 * tests/old/examples/xml/createxml.c:
4879 * tests/old/examples/xml/runxml.c:
4880 applied some simple fixing to some examples
4881 re-enabled the working examples
4883 2005-12-12 Wim Taymans <wim@fluendo.com>
4885 * gst/gstsegment.c: (gst_segment_init),
4886 (gst_segment_set_last_stop), (gst_segment_set_seek),
4887 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4888 (gst_segment_to_running_time):
4889 Added more documentation.
4890 Make sure the last_pos value is updated properly.
4891 Make sure to_stream_time and to_running_time don't
4892 operate on wrong values.
4894 * tests/check/gst/gstsegment.c: (GST_START_TEST):
4897 2005-12-12 Michael Smith <msmith@fluendo.com>
4899 * plugins/elements/gsttypefindelement.c: (free_entry),
4900 (gst_type_find_element_chain):
4901 Now that we're not leaking factories, make sure we keep references
4902 to them while we need them.
4904 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
4906 * tests/check/gst/struct_i386.h:
4907 ifdef out the XML structs
4909 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
4911 * gst/gstvalue.c: (gst_value_transform_double_fraction):
4912 floor is not needed, F is always positive; this obviates the
4913 need for adding -lm when building without libxml
4915 2005-12-12 Wim Taymans <wim@fluendo.com>
4917 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4918 Take current playback rate into account when reporting
4921 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4923 * docs/manual/mime-world.fig:
4924 Let's try this again, this time with a file that is
4925 actually in XFig format.
4927 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4929 * docs/manual/mime-world.fig:
4930 Add audioconvert element to diagram so that it
4931 matches the text and the code (fixes #319526).
4933 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4935 * docs/pwg/building-chainfn.xml:
4936 * docs/pwg/building-pads.xml:
4937 * docs/pwg/building-state.xml:
4938 * docs/pwg/other-source.xml:
4939 Update state change stuff for 0.10 (fixes #322969).
4941 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4943 * docs/manual/advanced-dataaccess.xml:
4944 * docs/manual/appendix-checklist.xml:
4945 * docs/manual/appendix-programs.xml:
4946 * docs/manual/basics-pads.xml:
4947 * docs/manual/highlevel-components.xml:
4948 * docs/manual/manual.xml:
4949 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4950 add converters in front of pipelines; remove curly
4951 brackets for threads stuff, they no longer exist; use
4952 GST_TYPE_FRACTION for framerates; update some pieces of
4953 code to 0.10, but there's plenty more to do.
4955 * docs/manual/appendix-porting.xml:
4956 Expand on asynchroneous state changes; s/0.9/0.10/;
4957 mention disappearance of gst_init_get_popt_table()
4960 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4962 * docs/faq/using.xml:
4963 Spider no longer exists, and neither does gst-launch-ext.
4964 Update examples to use decodebin and playbin and put
4965 converters in front of sinks (fixes #323726).
4967 2005-12-09 Michael Smith <msmith@fluendo.com>
4969 * plugins/elements/gsttypefindelement.c: (find_peek),
4970 (gst_type_find_element_chain):
4971 Fix leaking element factories in typefinding.
4972 Fix problem where we forgot about a probable type on non-seekable
4973 files, and thus later mis-typefound it.
4975 2005-12-09 Michael Smith <msmith@fluendo.com>
4977 * common/m4/gst-makecontext.m4:
4978 * common/m4/gst-mcsc.m4:
4980 * win32/common/config.h:
4981 * win32/common/config.h.in:
4982 Remove makecontext stuff; not used in 0.10 and causes problems on
4983 HPUX according to bug #322441
4985 2005-12-07 Wim Taymans <wim@fluendo.com>
4987 * tests/check/Makefile.am:
4988 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4990 * tests/check/libs/struct_i386.h:
4991 Added ABI check for libs
4993 2005-12-07 Wim Taymans <wim@fluendo.com>
4995 * tests/check/Makefile.am:
4996 And add the struct_i386.h to dist.
4998 2005-12-07 Wim Taymans <wim@fluendo.com>
5000 * tests/check/Makefile.am:
5001 * tests/check/gst/.cvsignore:
5002 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
5004 * tests/check/gst/struct_i386.h:
5005 Added check for ABI compatibility.
5007 2005-12-07 Wim Taymans <wim@fluendo.com>
5009 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5010 (gst_fake_src_get_times), (gst_fake_src_create):
5011 Fix broken sync option, fixes #323259
5013 2005-12-07 Wim Taymans <wim@fluendo.com>
5018 * gst/gstcaps.c: (gst_caps_is_equal):
5019 Don't assert on NULL <--> X. Fixes #323260
5021 * gst/gstminiobject.c: (gst_mini_object_replace):
5022 If we're doing atomic operations, we might just as well use
5023 the proper way to get an atomic pointer.
5025 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5028 2005-12-07 Michael Smith <msmith@fluendo.com>
5030 * gst/parse/grammar.y:
5031 Remove handling of { } for threads.
5033 2005-12-06 David Schleef <ds@schleef.org>
5035 * libs/gst/base/gstbasetransform.c: speling fix.
5037 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
5039 * docs/libs/tmpl/gstdataprotocol.sgml:
5040 * docs/random/omega/testing/gstobject.c:
5044 * gst/gstelementfactory.c:
5047 * gst/gstghostpad.c:
5049 * gst/gstpadtemplate.c:
5050 * gst/gstregistryxml.c:
5052 * gst/gsttagsetter.c:
5053 * gst/gsttypefind.c:
5055 * libs/gst/base/gstbasesrc.c:
5056 * libs/gst/net/gstnetclientclock.c:
5057 * libs/gst/net/gstnettimeprovider.c:
5058 * plugins/elements/gstfakesrc.c:
5059 * plugins/elements/gstfdsrc.c:
5060 * plugins/elements/gstfilesrc.c:
5061 * plugins/elements/gstidentity.c:
5062 * plugins/elements/gstqueue.c:
5063 * plugins/elements/gsttypefindelement.c:
5064 * plugins/indexers/gstfileindex.c:
5065 * plugins/indexers/gstmemindex.c:
5066 * tests/check/gst/gsttag.c:
5067 * tests/old/examples/cutter/cutter.c:
5068 * tests/old/examples/mixer/mixer.c:
5069 * tests/old/examples/xml/runxml.c: (main):
5070 * tests/old/testsuite/caps/normalisation.c:
5071 * tests/old/testsuite/debug/global.c:
5072 * tests/old/testsuite/parse/parse1.c:
5073 * tools/gst-xmlinspect.c:
5074 * win32/common/dirent.c:
5077 === release 0.10.0 ===
5079 2005-12-05 <thomas (at) apestaart (dot) org>
5082 releasing 0.10.0, "Maroilles"
5084 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
5086 submitted by: Funda Wang <fundawang@linux.net.cn>
5090 added Chinese (Traditional) translation
5092 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
5094 * docs/gst/gstreamer-sections.txt:
5095 * docs/libs/tmpl/gstdataprotocol.sgml:
5096 * docs/random/thomasvs/TODO:
5101 2005-12-05 Andy Wingo <wingo@pobox.com>
5103 patch by: Wim Taymans <wim@fluendo.com>
5105 * libs/gst/base/gstbasetransform.c
5106 (gst_base_transform_prepare_output_buf)
5107 (gst_base_transform_buffer_alloc):
5108 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5109 alloc_buffer_and_set_caps.
5111 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5112 set_caps on the source pad.
5113 (gst_pad_alloc_buffer_and_set_caps): New function, does what
5114 alloc_buffer used to do. Fixes #322874.
5116 * docs/gst/gstreamer-sections.txt:
5117 * docs/design/part-negotiation.txt:
5118 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5121 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
5123 patch by: Sebastien Moutte
5126 * win32/common/config.h.in:
5127 * win32/vs6/libgstcontroller.dsp:
5130 2005-12-05 Wim Taymans <wim@fluendo.com>
5132 * gst/gstcaps.c: (gst_caps_is_equal):
5133 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5134 (gst_fake_src_create):
5135 Back out previous code changes, leave doc updates, file bugs
5138 2005-12-05 Wim Taymans <wim@fluendo.com>
5140 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5141 (gst_fake_src_get_times), (gst_fake_src_create):
5142 * plugins/elements/gstfakesrc.h:
5143 Fix broken sync code.
5145 2005-12-05 Wim Taymans <wim@fluendo.com>
5147 * gst/gstcaps.c: (gst_caps_is_equal):
5148 Comparing NULL against !NULL yields different caps, not a
5151 2005-12-05 Wim Taymans <wim@fluendo.com>
5153 * gst/gstpipeline.c:
5154 Fix small typo in docs.
5156 2005-12-05 Andy Wingo <wingo@pobox.com>
5158 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
5160 * gst/gst.c (init_post): remove hard-coded 0.9 location for
5161 registries/plugins with a MAJORMINOR one.
5162 (plugin_desc): Rename library from gstcoreleements to
5163 staticelements. Fixes #323222.
5165 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
5167 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5168 Change debug category to 'collectpads' from 'collect_pads'
5171 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
5173 patch by: Sebastien Moutte
5175 * libs/gst/controller/gstinterpolation.c:
5176 use convert function for uint64/double
5177 * win32/vs6/libgstcontroller.dsp:
5180 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
5182 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5183 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5185 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5186 add tests that seem to show that the guint64/gdouble conversions
5189 2005-12-02 Wim Taymans <wim@fluendo.com>
5191 * gst/gstregistry.c: (gst_registry_add_path):
5192 * gst/gstregistry.h:
5193 * gst/gstregistryxml.c:
5196 2005-12-02 Wim Taymans <wim@fluendo.com>
5198 * gst/gstutils.c: (gst_util_uint64_scale_int64),
5199 (gst_util_uint64_scale_int):
5202 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5205 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5208 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
5211 * win32/common/config.h:
5212 * win32/vs6/gstreamer.dsw:
5213 * win32/vs6/libgstcoreelements.dsp:
5214 * win32/vs6/libgstelements.dsp:
5215 renamed core elements plugin
5217 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
5219 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5221 do piece-wise major/minor comparison so 0.9 < 0.10
5222 also allow .exe extensions for tools
5224 2005-12-02 Michael Smith <msmith@fluendo.com>
5227 Escape a % to make gtkdoc happier; bug 322958.
5229 === release 0.9.7 ===
5231 2005-12-01 <thomas (at) apestaart (dot) org>
5234 releasing 0.9.7, "My Dog Has No Nose"
5236 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5238 * common/gst-xmlinspect.py:
5240 * docs/libs/tmpl/gstdataprotocol.sgml:
5241 * docs/random/release:
5260 * win32/common/config.h:
5261 * win32/common/config.h.in:
5262 * win32/vs6/gst_inspect.dsp:
5263 * win32/vs6/gst_launch.dsp:
5264 * win32/vs6/libgstbase.dsp:
5265 * win32/vs6/libgstelements.dsp:
5266 * win32/vs6/libgstreamer.dsp:
5267 * win32/vs7/GStreamer.vcproj:
5268 * win32/vs7/gst-inspect.vcproj:
5269 * win32/vs7/gst-launch.vcproj:
5270 * win32/vs7/libgstbase.vcproj:
5271 bump GST_MAJORMINOR to 0.10
5272 reset libtool version
5274 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5278 Added Bulgarian translation by (Alexander Shopov)
5280 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5282 * tests/check/gst/gstplugin.c:
5285 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5287 * common/gst-xmlinspect.py:
5288 * common/gtk-doc-plugins.mak:
5291 * docs/gst/Makefile.am:
5292 * docs/gst/gstreamer-docs.sgml:
5293 * docs/gst/gstreamer-sections.txt:
5294 * docs/gst/gstreamer.types:
5295 * docs/gst/gstreamer.types.in:
5296 * docs/plugins/Makefile.am:
5297 * docs/plugins/gstreamer-plugins-docs.sgml:
5298 * docs/plugins/gstreamer-plugins-sections.txt:
5299 * docs/plugins/gstreamer-plugins.types:
5300 * docs/plugins/inspect.stamp:
5301 * docs/plugins/inspect/plugin-coreelements.xml:
5302 * docs/plugins/inspect/plugin-coreindexers.xml:
5303 * docs/plugins/scanobj-build.stamp:
5304 * gstreamer.spec.in:
5305 * plugins/elements/Makefile.am:
5306 * plugins/elements/gstelements.c:
5307 * plugins/elements/gstfakesink.c:
5308 * plugins/elements/gstfakesrc.c:
5309 * plugins/elements/gstfilesink.c:
5310 * plugins/elements/gstfilesrc.c:
5311 * plugins/elements/gstqueue.c:
5312 * plugins/indexers/Makefile.am:
5313 * plugins/indexers/gstindexers.c:
5314 document core plugins in a separate document just like all the
5316 rename these plugins to something starting with core
5318 2005-12-01 Andy Wingo <wingo@pobox.com>
5320 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5321 padding here before, but it missed the commit.
5323 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
5325 * libs/gst/controller/gstinterpolation.c:
5326 whitespace prices have crashed, we should feel free to use some now
5327 use gst_guint64_to_gdouble
5329 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
5331 * libs/gst/controller/gstcontroller.c:
5332 * libs/gst/controller/gsthelper.c:
5333 * libs/gst/controller/gstinterpolation.c:
5334 * libs/gst/controller/lib.c:
5335 wrap config.h include
5337 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
5339 * docs/gst/gstreamer-sections.txt:
5342 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
5344 * plugins/elements/gstelements.c:
5345 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5346 (gst_fd_sink__class_init), (gst_fd_sink__init),
5347 (gst_fd_sink__chain), (gst_fd_sink__set_property),
5348 (gst_fd_sink__get_property):
5349 * plugins/elements/gstfdsink.h:
5350 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5351 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5352 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5353 (gst_fd_src_unlock), (gst_fd_src_set_property),
5354 (gst_fd_src_get_property), (gst_fd_src_create),
5355 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5356 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5357 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5358 (gst_fd_src_uri_handler_init):
5359 * plugins/elements/gstfdsrc.h:
5360 * plugins/elements/gstqueue.c: (gst_queue_get_type):
5363 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5365 * docs/gst/Makefile.am:
5366 * docs/gst/gstreamer.types.in:
5370 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5376 * gst/gstregistry.h:
5377 * tests/benchmarks/complexity.c:
5378 * tests/benchmarks/mass-elements.c:
5379 * tests/check/Makefile.am:
5380 * tools/Makefile.am:
5381 * tools/gst-inspect.c:
5382 * tools/gst-xmlinspect.c:
5383 various fixes to make
5384 --disable-nls --disable-registry --disable-loadsave
5385 --disable-parse --disable-gst-debug
5386 work and get the core .so down to 360444 bytes after stripping
5388 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5393 * docs/random/thomasvs/TODO:
5394 * tests/Makefile.am:
5398 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5400 * win32/GStreamer.vcproj:
5403 * win32/Makefile.inspect:
5404 * win32/Makefile.launch:
5405 * win32/Makefile.register:
5407 * win32/gst-inspect.vcproj:
5408 * win32/gst-launch.vcproj:
5409 * win32/gst-register.vcproj:
5410 * win32/gstelements.vcproj:
5411 * win32/gstgetbits.def:
5412 * win32/gstgetbits.vcproj:
5413 * win32/gstreamer-dbg.def:
5414 * win32/gstreamer.def:
5415 * win32/libgstbase.def:
5416 * win32/libgstbase.vcproj:
5417 * win32/link_oldruntime.c:
5422 move even more stuff, win32/ is nice and clean now
5424 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5426 * libs/gst/control/.cvsignore:
5431 * win32/gstbytestream.def:
5432 * win32/gstbytestream.vcproj:
5433 * win32/gstconfig.h:
5434 * win32/gstenumtypes.c:
5435 * win32/gstenumtypes.h:
5436 * win32/gstoptimalscheduler.vcproj:
5437 * win32/gstversion.h:
5439 * win32/testsuite/bins.vcproj:
5440 * win32/testsuite/bytestream.vcproj:
5441 * win32/testsuite/caps.vcproj:
5442 * win32/testsuite/cleanup.vcproj:
5443 * win32/testsuite/clock.vcproj:
5444 * win32/testsuite/debug.vcproj:
5445 * win32/testsuite/dlopen.vcproj:
5446 * win32/testsuite/dynparams.vcproj:
5447 * win32/testsuite/elements.vcproj:
5448 * win32/testsuite/ghostpads.vcproj:
5449 * win32/testsuite/indexers.vcproj:
5450 * win32/testsuite/negotiation.vcproj:
5451 * win32/testsuite/parse.vcproj:
5452 * win32/testsuite/plugin.vcproj:
5453 * win32/testsuite/refcounting.vcproj:
5454 * win32/testsuite/schedulers.vcproj:
5455 * win32/testsuite/states.vcproj:
5456 * win32/testsuite/tags.vcproj:
5457 * win32/testsuite/threads.vcproj:
5458 remove old win32 stuff that isn't maintained and should be
5461 2005-11-30 Andy Wingo <wingo@pobox.com>
5463 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5464 loading the gst.interfaces python module bork.
5466 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5467 available since GLib 2.2. Fixes #318031.
5469 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5473 * check/Makefile.am:
5474 * check/elements/.cvsignore:
5475 * check/elements/fakesrc.c:
5476 * check/elements/fdsrc.c:
5477 * check/elements/identity.c:
5478 * check/generic/.cvsignore:
5479 * check/generic/states.c:
5480 * check/gst-libs/.cvsignore:
5481 * check/gst-libs/controller.c:
5482 * check/gst-libs/gdp.c:
5483 * check/gst/.cvsignore:
5484 * check/gst/capslist.h:
5486 * check/gst/gstbin.c:
5487 * check/gst/gstbuffer.c:
5488 * check/gst/gstbus.c:
5489 * check/gst/gstcaps.c:
5490 * check/gst/gstelement.c:
5491 * check/gst/gstevent.c:
5492 * check/gst/gstghostpad.c:
5493 * check/gst/gstiterator.c:
5494 * check/gst/gstmessage.c:
5495 * check/gst/gstminiobject.c:
5496 * check/gst/gstobject.c:
5497 * check/gst/gstpad.c:
5498 * check/gst/gstpipeline.c:
5499 * check/gst/gstplugin.c:
5500 * check/gst/gstsegment.c:
5501 * check/gst/gststructure.c:
5502 * check/gst/gstsystemclock.c:
5503 * check/gst/gsttag.c:
5504 * check/gst/gstutils.c:
5505 * check/gst/gstvalue.c:
5506 * check/net/.cvsignore:
5507 * check/net/gstnetclientclock.c:
5508 * check/net/gstnettimeprovider.c:
5509 * check/pipelines/.cvsignore:
5510 * check/pipelines/cleanup.c:
5511 * check/pipelines/simple_launch_lines.c:
5512 * check/pipelines/stress.c:
5513 * check/states/.cvsignore:
5514 * check/states/sinks.c:
5516 * examples/Makefile.am:
5517 * examples/appreader/.cvsignore:
5518 * examples/appreader/Makefile.am:
5519 * examples/appreader/appreader.c:
5520 * examples/controller/.cvsignore:
5521 * examples/controller/Makefile.am:
5522 * examples/controller/audio-example.c:
5523 * examples/cutter/.cvsignore:
5524 * examples/cutter/Makefile.am:
5525 * examples/cutter/cutter.c:
5526 * examples/cutter/cutter.h:
5527 * examples/events/Makefile.am:
5528 * examples/events/seek.c:
5529 * examples/helloworld/.cvsignore:
5530 * examples/helloworld/Makefile.am:
5531 * examples/helloworld/helloworld.c:
5532 * examples/helloworld2/.cvsignore:
5533 * examples/helloworld2/Makefile.am:
5534 * examples/helloworld2/helloworld2.c:
5535 * examples/launch/.cvsignore:
5536 * examples/launch/Makefile.am:
5537 * examples/launch/mp3parselaunch.c:
5538 * examples/launch/mp3play:
5539 * examples/manual/.cvsignore:
5540 * examples/manual/Makefile.am:
5541 * examples/manual/extract.pl:
5542 * examples/metadata/Makefile.am:
5543 * examples/metadata/read-metadata.c:
5544 * examples/mixer/.cvsignore:
5545 * examples/mixer/Makefile.am:
5546 * examples/mixer/mixer.c:
5547 * examples/mixer/mixer.h:
5548 * examples/pingpong/.cvsignore:
5549 * examples/pingpong/Makefile.am:
5550 * examples/pingpong/pingpong.c:
5551 * examples/plugins/.cvsignore:
5552 * examples/plugins/Makefile.am:
5553 * examples/plugins/example.c:
5554 * examples/plugins/example.h:
5555 * examples/pwg/.cvsignore:
5556 * examples/pwg/Makefile.am:
5557 * examples/pwg/extract.pl:
5558 * examples/queue/.cvsignore:
5559 * examples/queue/Makefile.am:
5560 * examples/queue/queue.c:
5561 * examples/queue2/.cvsignore:
5562 * examples/queue2/Makefile.am:
5563 * examples/queue2/queue2.c:
5564 * examples/queue3/.cvsignore:
5565 * examples/queue3/Makefile.am:
5566 * examples/queue3/queue3.c:
5567 * examples/queue4/.cvsignore:
5568 * examples/queue4/Makefile.am:
5569 * examples/queue4/queue4.c:
5570 * examples/retag/.cvsignore:
5571 * examples/retag/Makefile.am:
5572 * examples/retag/retag.c:
5573 * examples/retag/transcode.c:
5574 * examples/thread/.cvsignore:
5575 * examples/thread/Makefile.am:
5576 * examples/thread/thread.c:
5577 * examples/typefind/.cvsignore:
5578 * examples/typefind/Makefile.am:
5579 * examples/typefind/typefind.c:
5580 * examples/xml/.cvsignore:
5581 * examples/xml/Makefile.am:
5582 * examples/xml/createxml.c:
5583 * examples/xml/runxml.c:
5584 * tests/Makefile.am:
5585 * tests/check/Makefile.am:
5586 * testsuite/.cvsignore:
5587 * testsuite/Makefile.am:
5589 * testsuite/caps/.cvsignore:
5590 * testsuite/caps/Makefile.am:
5591 * testsuite/caps/app_fixate.c:
5592 * testsuite/caps/audioscale.c:
5593 * testsuite/caps/caps.c:
5594 * testsuite/caps/caps.h:
5595 * testsuite/caps/caps_strings:
5596 * testsuite/caps/compatibility.c:
5597 * testsuite/caps/deserialize.c:
5598 * testsuite/caps/enumcaps.c:
5599 * testsuite/caps/eratosthenes.c:
5600 * testsuite/caps/filtercaps.c:
5601 * testsuite/caps/fixed.c:
5602 * testsuite/caps/fraction-convert.c:
5603 * testsuite/caps/fraction-multiply-and-zero.c:
5604 * testsuite/caps/intersect2.c:
5605 * testsuite/caps/intersection.c:
5606 * testsuite/caps/normalisation.c:
5607 * testsuite/caps/random.c:
5608 * testsuite/caps/renegotiate.c:
5609 * testsuite/caps/sets.c:
5610 * testsuite/caps/simplify.c:
5611 * testsuite/caps/string-conversions.c:
5612 * testsuite/caps/structure.c:
5613 * testsuite/caps/subtract.c:
5614 * testsuite/caps/union.c:
5615 * testsuite/debug/.cvsignore:
5616 * testsuite/debug/Makefile.am:
5617 * testsuite/debug/category.c:
5618 * testsuite/debug/commandline.c:
5619 * testsuite/debug/global.c:
5620 * testsuite/debug/output.c:
5621 * testsuite/debug/printf_extension.c:
5622 * testsuite/dlopen/.cvsignore:
5623 * testsuite/dlopen/Makefile.am:
5624 * testsuite/dlopen/dlopen_gst.c:
5625 * testsuite/dlopen/loadgst.c:
5626 * testsuite/elements/.cvsignore:
5627 * testsuite/elements/Makefile.am:
5628 * testsuite/elements/gst-inspect-check.in:
5629 * testsuite/elements/struct_i386.h:
5630 * testsuite/elements/struct_size.c:
5631 * testsuite/indexers/.cvsignore:
5632 * testsuite/indexers/Makefile.am:
5633 * testsuite/indexers/cache1.c:
5634 * testsuite/indexers/indexdump.c:
5635 * testsuite/parse/.cvsignore:
5636 * testsuite/parse/Makefile.am:
5637 * testsuite/parse/parse1.c:
5638 * testsuite/parse/parse2.c:
5639 * testsuite/plugin/.cvsignore:
5640 * testsuite/plugin/Makefile.am:
5641 * testsuite/plugin/README:
5642 * testsuite/plugin/dynamic.c:
5643 * testsuite/plugin/linked.c:
5644 * testsuite/plugin/loading.c:
5645 * testsuite/plugin/registry.c:
5646 * testsuite/plugin/static.c:
5647 * testsuite/plugin/static2.c:
5648 * testsuite/plugin/testplugin.c:
5649 * testsuite/plugin/testplugin2.c:
5650 * testsuite/plugin/testplugin2_s.c:
5651 * testsuite/plugin/testplugin_s.c:
5652 * testsuite/refcounting/.cvsignore:
5653 * testsuite/refcounting/Makefile.am:
5654 * testsuite/refcounting/bin.c:
5655 * testsuite/refcounting/element.c:
5656 * testsuite/refcounting/element_pad.c:
5657 * testsuite/refcounting/mainloop.c:
5658 * testsuite/refcounting/mem.c:
5659 * testsuite/refcounting/mem.h:
5660 * testsuite/refcounting/object.c:
5661 * testsuite/refcounting/pad.c:
5662 * testsuite/refcounting/sched.c:
5663 * testsuite/refcounting/thread.c:
5664 * testsuite/states/.cvsignore:
5665 * testsuite/states/Makefile.am:
5666 * testsuite/states/bin.c:
5667 * testsuite/states/locked.c:
5668 * testsuite/states/parent.c:
5669 * testsuite/threads/.cvsignore:
5670 * testsuite/threads/159566.c:
5671 * testsuite/threads/159852.c:
5672 * testsuite/threads/Makefile.am:
5673 * testsuite/threads/queue.c:
5674 * testsuite/threads/signals.c:
5675 * testsuite/threads/staticrec.c:
5676 * testsuite/threads/thread.c:
5677 * testsuite/threads/threadb.c:
5678 * testsuite/threads/threadc.c:
5679 * testsuite/threads/threadd.c:
5680 * testsuite/threads/threade.c:
5681 * testsuite/threads/threadf.c:
5682 * testsuite/threads/threadg.c:
5683 * testsuite/threads/threadh.c:
5684 * testsuite/threads/threadi.c:
5685 move all of these under tests
5687 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5690 * tests/Makefile.am:
5693 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5695 * docs/gst/gstreamer-sections.txt:
5696 * tests/sched/.cvsignore:
5697 * tests/sched/Makefile.am:
5698 * tests/sched/cases/(fs-fs).xml:
5699 * tests/sched/cases/(fs-i-fs).xml:
5700 * tests/sched/cases/(fs-i-i-fs).xml:
5701 * tests/sched/cases/(fs-i-q[i-fs]).xml:
5702 * tests/sched/dynamic-pipeline.c:
5703 * tests/sched/interrupt1.c:
5704 * tests/sched/interrupt2.c:
5705 * tests/sched/interrupt3.c:
5706 * tests/sched/runtestcases:
5707 * tests/sched/runxml.c:
5708 * tests/sched/sched-stress.c:
5709 * tests/sched/sort.c:
5710 * tests/sched/testcases:
5711 * tests/sched/testcases1.tc:
5712 * tests/seeking/.cvsignore:
5713 * tests/seeking/Makefile.am:
5714 * tests/seeking/seeking1.c:
5715 * tests/threadstate/.cvsignore:
5716 * tests/threadstate/Makefile.am:
5717 * tests/threadstate/test1.c:
5718 * tests/threadstate/test2.c:
5719 * tests/threadstate/threadstate1.c:
5720 * tests/threadstate/threadstate2.c:
5721 * tests/threadstate/threadstate3.c:
5722 * tests/threadstate/threadstate4.c:
5723 * tests/threadstate/threadstate5.c:
5724 remove obsolete tests
5726 * tests/bench-complexity.scm:
5727 * tests/bench-mass_elements.scm:
5728 * tests/complexity.c:
5729 * tests/complexity.gnuplot:
5730 * tests/instantiate/.cvsignore:
5731 * tests/instantiate/Makefile.am:
5732 * tests/instantiate/caps.c:
5733 * tests/mass_elements.c:
5734 * tests/network-clock-utils.scm:
5735 * tests/network-clock.scm:
5737 First pass at cleaning up tests/ dir before moving the rest
5738 Combined with CVS surgery
5740 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5743 queue has moved, update
5745 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5747 * docs/gst/gstreamer-sections.txt:
5748 remove double entries from the docs
5749 * gst/gst_private.h:
5750 * gst/gstinfo.c: (_gst_debug_init):
5751 remove the THREAD debug category
5755 * docs/gst/gstreamer.types:
5756 * plugins/elements/gstqueue.c: (gst_queue_get_type),
5757 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5758 completely move queue and fix up debugging categories
5760 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5762 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5763 make initialization portable, using LL is not
5765 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5767 * win32/common/gstconfig.h:
5770 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5772 * win32/common/libgstreamer.def:
5773 rename symbols; sort base section
5775 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5777 * gst/gstclock.c: (do_linear_regression):
5778 remove crack non-portable handrolled DEBUG macro
5780 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5782 * docs/random/release:
5784 * win32/common/gstenumtypes.c: (register_gst_object_flags),
5785 (gst_object_flags_get_type), (register_gst_bin_flags),
5786 (gst_bin_flags_get_type), (register_gst_buffer_flag),
5787 (gst_buffer_flag_get_type), (register_gst_bus_flags),
5788 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5789 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5790 (gst_caps_flags_get_type), (register_gst_clock_return),
5791 (gst_clock_return_get_type), (register_gst_clock_entry_type),
5792 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5793 (gst_clock_flags_get_type), (register_gst_state),
5794 (gst_state_get_type), (register_gst_state_change_return),
5795 (gst_state_change_return_get_type), (register_gst_state_change),
5796 (gst_state_change_get_type), (register_gst_element_flags),
5797 (gst_element_flags_get_type), (register_gst_core_error),
5798 (gst_core_error_get_type), (register_gst_library_error),
5799 (gst_library_error_get_type), (register_gst_resource_error),
5800 (gst_resource_error_get_type), (register_gst_stream_error),
5801 (gst_stream_error_get_type), (register_gst_event_type_flags),
5802 (gst_event_type_flags_get_type), (register_gst_event_type),
5803 (gst_event_type_get_type), (register_gst_seek_type),
5804 (gst_seek_type_get_type), (register_gst_seek_flags),
5805 (gst_seek_flags_get_type), (register_gst_format),
5806 (gst_format_get_type), (register_gst_index_certainty),
5807 (gst_index_certainty_get_type), (register_gst_index_entry_type),
5808 (gst_index_entry_type_get_type),
5809 (register_gst_index_lookup_method),
5810 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5811 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5812 (gst_index_resolver_method_get_type), (register_gst_index_flags),
5813 (gst_index_flags_get_type), (register_gst_debug_level),
5814 (gst_debug_level_get_type), (register_gst_debug_color_flags),
5815 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5816 (gst_iterator_result_get_type), (register_gst_iterator_item),
5817 (gst_iterator_item_get_type), (register_gst_message_type),
5818 (gst_message_type_get_type), (register_gst_mini_object_flags),
5819 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5820 (gst_pad_link_return_get_type), (register_gst_flow_return),
5821 (gst_flow_return_get_type), (register_gst_activate_mode),
5822 (gst_activate_mode_get_type), (register_gst_pad_direction),
5823 (gst_pad_direction_get_type), (register_gst_pad_flags),
5824 (gst_pad_flags_get_type), (register_gst_pad_presence),
5825 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5826 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5827 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5828 (gst_plugin_error_get_type), (register_gst_plugin_flags),
5829 (gst_plugin_flags_get_type), (register_gst_rank),
5830 (gst_rank_get_type), (register_gst_query_type),
5831 (gst_query_type_get_type), (register_gst_tag_merge_mode),
5832 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5833 (gst_tag_flag_get_type), (register_gst_task_state),
5834 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5835 (gst_alloc_trace_flags_get_type),
5836 (register_gst_type_find_probability),
5837 (gst_type_find_probability_get_type), (register_gst_uri_type),
5838 (gst_uri_type_get_type), (register_gst_parse_error),
5839 (gst_parse_error_get_type):
5840 * win32/common/gstenumtypes.h:
5841 * win32/common/gstversion.h:
5842 update visual studio generated files
5844 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5846 * win32/vs6/libgstbase.dsp:
5847 * win32/vs6/libgstelements.dsp:
5848 update project files for new locations
5850 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5855 reinstate and update
5860 * docs/random/LICENSE:
5863 2005-11-30 Edward Hervey <edward@fluendo.com>
5865 * gst/gsttypefind.c: (gst_type_find_register):
5866 * gst/gsttypefind.h:
5867 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5868 (gst_type_find_factory_dispose):
5869 * gst/gsttypefindfactory.h:
5870 Fix memory leak in GstTypeFindFactory.
5872 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5875 * plugins/elements/Makefile.am:
5876 * plugins/elements/gstelements.c:
5877 * plugins/elements/gstqueue.c:
5878 move queue from core to the elements plugin
5880 2005-11-29 Andy Wingo <wingo@pobox.com>
5882 * libs/gst/base/gstbasetransform.h:
5883 * libs/gst/base/gstbasesrc.h:
5884 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5886 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5887 of pointers by which to pad very extensible base classes (like the
5888 ones in libs/gst/base).
5890 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5892 * docs/gst/gstreamer-docs.sgml:
5893 * docs/gst/gstreamer-sections.txt:
5894 * docs/libs/gstreamer-libs-docs.sgml:
5895 * docs/libs/gstreamer-libs-sections.txt:
5896 moving documentation from core to lib
5898 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5900 * check/Makefile.am:
5902 * docs/gst/Makefile.am:
5904 * gst/base/.cvsignore:
5905 * gst/base/Makefile.am:
5907 * gst/base/gstadapter.c:
5908 * gst/base/gstadapter.h:
5909 * gst/base/gstbasesink.c:
5910 * gst/base/gstbasesink.h:
5911 * gst/base/gstbasesrc.c:
5912 * gst/base/gstbasesrc.h:
5913 * gst/base/gstbasetransform.c:
5914 * gst/base/gstbasetransform.h:
5915 * gst/base/gstcollectpads.c:
5916 * gst/base/gstcollectpads.h:
5917 * gst/base/gstpushsrc.c:
5918 * gst/base/gstpushsrc.h:
5919 * gst/base/gsttypefindhelper.c:
5920 * gst/base/gsttypefindhelper.h:
5921 * gst/check/Makefile.am:
5922 * gst/check/gstcheck.c:
5923 * gst/check/gstcheck.h:
5924 * gst/net/Makefile.am:
5926 * gst/net/gstnetclientclock.c:
5927 * gst/net/gstnetclientclock.h:
5928 * gst/net/gstnettimepacket.c:
5929 * gst/net/gstnettimepacket.h:
5930 * gst/net/gstnettimeprovider.c:
5931 * gst/net/gstnettimeprovider.h:
5932 * libs/gst/Makefile.am:
5933 * libs/gst/base/Makefile.am:
5934 * libs/gst/base/gstbasetransform.c:
5935 * libs/gst/check/Makefile.am:
5936 * plugins/elements/Makefile.am:
5938 CVS surgery + support to move base, check, and net out of gst
5941 2005-11-29 Andy Wingo <wingo@pobox.com>
5943 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5945 * gst/gststructure.h (struct _GstStructure): Only one pointer of
5948 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5950 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5952 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5954 * gst/gstobject.h: (struct _GstObject): Only one pointer of
5955 padding; reduces object size by about 30%. We don't expect
5956 anything else to go into gstobject.
5958 * gst/gstminiobject.h (struct _GstMiniObject)
5959 (struct _GstMiniObjectClass): Only one pointer of padding; the
5960 payload is only a pointer and two ints anyway. For the class there
5961 are only two methods as well.
5963 * gst/gstelement.h (struct _GstElementClass): Removed
5964 the state_changed signal callback, it is not used.
5966 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
5968 * docs/gst/gstreamer.types:
5969 fix includes, though they are a little dinky
5971 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5973 * check/Makefile.am:
5974 look in the right place for elements, a lot more chance of
5977 remove indexers and elements subdirs
5978 * plugins/Makefile.am:
5979 make indexers conditional
5981 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5985 * plugins/elements/Makefile.am:
5986 * plugins/elements/gstcapsfilter.c:
5987 * plugins/elements/gstfilesink.c:
5988 * plugins/elements/gstfilesrc.c:
5989 * plugins/elements/gstidentity.c:
5990 * plugins/indexers/Makefile.am:
5991 do CVS surgery and related build fixery to move elements
5992 and indexers in a new gstreamer/plugins directory, out of the
5995 2005-11-29 Andy Wingo <wingo@pobox.com>
5997 * check/Makefile.am:
5998 * pkgconfig/gstreamer-net-uninstalled.pc.in:
5999 * pkgconfig/gstreamer-net.pc.in:
6000 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
6003 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
6005 * tools/Makefile.am:
6006 * tools/gst-complete.1.in:
6007 * tools/gst-complete.c:
6008 * tools/gst-compprep.1.in:
6009 * tools/gst-compprep.c:
6010 removing -compprep and -complete
6012 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
6014 * gst/gstevent.c: (gst_event_new_new_segment),
6015 (gst_event_parse_new_segment):
6017 fix #320529 - clean up new_segment API and structure.
6018 Let's hope everyone was using the methods, and not the structure.
6020 2005-11-29 Edward Hervey <edward@fluendo.com>
6022 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6023 (gst_base_sink_event), (gst_base_sink_do_sync),
6024 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6025 Properly handle non GST_FORMAT_TIME segment
6026 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6027 Properly handle non GST_FORMAT_TIME segment
6029 This function is valid if the accumulator is 0 and the format
6030 is different from the requested format.
6032 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
6034 * docs/gst/gstreamer-sections.txt:
6035 Add gst_query_new_seeking and gst_query_parse_seeking to the
6038 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
6040 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6041 Treat a pad alloc with new caps the same as if we were not
6042 negotiated, in order to allow a changing upstream output
6043 to produce a new format of data.
6045 2005-11-29 Edward Hervey <edward@fluendo.com>
6047 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6048 (gst_base_transform_event), (gst_base_transform_eventfunc):
6049 The event virtual method is now properly implemented, with a default
6051 Sub classes should call the parent_class event method. They should
6052 return FALSE if they had a problem handling the given event, or don't
6053 want GstBaseTransform to send that even downstream
6054 * gst/elements/gstidentity.c: (gst_identity_class_init),
6055 (gst_identity_init), (gst_identity_event),
6056 (gst_identity_transform_ip), (gst_identity_set_property),
6057 (gst_identity_get_property):
6058 * gst/elements/gstidentity.h:
6059 Added the single-segment boolean property.
6060 If set to TRUE, it will output a single segment of data, starting from
6061 0, will eat up all incoming newsegment, and modify the timestamp of the
6064 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
6066 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6067 Don't ref NULL target pad (#322751). Improve docs.
6069 2005-11-29 Michael Smith <msmith@fluendo.com>
6071 * gst/gstregistryxml.c: (load_plugin):
6072 Don't crash if we failed to load a feature from a plugin.
6074 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
6076 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6078 use more check API and less GLib API
6080 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
6083 don't run checks if we don't have check
6085 remove the registry when running make torture
6086 * docs/gst/gstreamer-sections.txt:
6087 remove second multiply
6088 * gst/gstqueue.c: (gst_queue_loop):
6089 fix a compile warning when disabling debug
6091 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
6094 Hey! Let's print the pad name if the pointer != NULL instead
6095 of when it == NULL :-)
6097 2005-11-28 Wim Taymans <wim@fluendo.com>
6099 * check/gst/gstutils.c: (GST_START_TEST):
6100 Updated check, add some scaling accuracy checking code.
6102 * gst/gstutils.c: (gst_util_div128_64),
6103 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6104 (gst_util_uint64_scale_int):
6105 Fix 6 times faster division code. Optimize for common
6106 1/1 and less common X/1 cases.
6108 2005-11-28 Wim Taymans <wim@fluendo.com>
6110 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6113 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6114 (do_linear_regression), (gst_clock_add_observation):
6116 Release lock when the clock cannot be slaved.
6117 Catch the case where the regression returned an invalid denominator.
6119 * gst/gstutils.c: (gst_util_div128_64_iterate),
6120 (gst_util_div128_64), (gst_util_uint64_scale_int64),
6121 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6122 Add protentially more performant non-iterative 128/64 divide function
6123 that unfortunatly does not work yet.
6124 Shortcut the trivial 0/X = 0 case.
6125 Remove the warnings on overflow.
6127 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
6129 * gst/gstplugin.c: (gst_plugin_register_func):
6130 everything causing a plugin not to load should be at least a WARNING
6132 2005-11-28 Stefan Kost <ensonic@users.sf.net>
6134 * docs/random/ensonic/dparams.txt:
6135 some TODOs for the next dev cycle
6136 * libs/gst/controller/gstcontroller.c:
6137 (gst_controlled_property_set_interpolation_mode),
6138 (gst_controlled_property_new):
6139 * libs/gst/controller/gstcontroller.h:
6140 use base type to assign acccessor functions
6142 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
6144 * check/Makefile.am:
6145 Oops, that should have been top_srcdir
6147 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
6149 * check/Makefile.am:
6150 * check/elements/fdsrc.c: (GST_START_TEST):
6151 Use a cmdline define to specify the location of a file to use for
6152 testing, to avoid breaking distcheck.
6154 2005-11-28 Andy Wingo <wingo@pobox.com>
6156 * gst/gstpad.c (fixate_value): Use array functions for arrays.
6158 2005-11-28 Edward Hervey <edward@fluendo.com>
6160 * tools/gst-launch.c: (main):
6161 Clarify the output strings, makes it easier to translate.
6164 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
6167 don't try and build net if we don't even have <sys/socket.h>
6169 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
6171 * check/Makefile.am:
6172 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6173 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6174 Add tests for fdsrc seekability
6176 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6177 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6178 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6179 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6180 * gst/elements/gstfdsrc.h:
6181 fdsrc should not be a 'live' source.
6182 Implement seeking on seekable fd's.
6184 * gst/gstquery.c: (gst_query_new_seeking),
6185 (gst_query_parse_seeking):
6187 Implement SEEKING query functions:
6188 *_new_seeking and *_parse_seeking
6190 2005-11-27 Stefan Kost <ensonic@users.sf.net>
6192 * gst/gstelement.c: (gst_element_dispose):
6195 * gst/gstiterator.c:
6196 * gst/gststructure.c:
6199 * libs/gst/controller/gstcontroller.c:
6200 (gst_controlled_property_set_interpolation_mode):
6201 * libs/gst/controller/gstcontroller.h:
6202 * libs/gst/controller/gstinterpolation.c:
6203 (interpolate_none_get_enum_value_array):
6204 support controlling enums
6206 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
6209 Improve documentation for gst_value_union().
6212 Change return value for union, intersect and subtract functions
6213 from gint to gboolean.
6215 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
6217 * gst/gstvalue.c: (gst_value_serialize_any_list),
6218 (gst_value_transform_any_list_string),
6219 (gst_value_deserialize_list), (gst_value_deserialize_array),
6220 (gst_value_set_int_range), (gst_value_deserialize_int_range),
6221 (gst_value_set_double_range), (gst_value_deserialize_double_range),
6222 (gst_value_set_fraction_range_full),
6223 (gst_value_deserialize_fraction_range),
6224 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6225 (gst_value_deserialize_boolean),
6226 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6227 (gst_value_serialize_float), (gst_value_deserialize_float),
6228 (gst_string_wrap), (gst_value_deserialize_string),
6229 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6230 (gst_value_union_int_range_int_range),
6231 (gst_value_intersect_int_range_int_range),
6232 (gst_value_intersect_double_range_double_range),
6233 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6234 (gst_value_subtract_int_range_int_range),
6235 (gst_value_subtract_double_double_range),
6236 (gst_value_subtract_double_range_double_range),
6237 (gst_value_deserialize_fraction):
6239 Use gint, gdouble and gchar in our API instead of int, double and
6240 char (and make usage in gstvalue.c more consistent).
6242 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
6244 * check/Makefile.am:
6245 * libs/gst/controller/Makefile.am:
6246 * libs/gst/dataprotocol/Makefile.am:
6247 fix up Makefile.am and remove GST_ENABLE_NEW
6249 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
6253 * gst/base/Makefile.am:
6254 * gst/check/Makefile.am:
6255 * gst/elements/Makefile.am:
6256 * gst/net/Makefile.am:
6257 update LDFLAGS use some more
6259 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
6261 * common/m4/gst-doc.m4:
6264 2005-11-26 Edward Hervey <edward@fluendo.com>
6266 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6267 This shouldn't issue a g_warning since it returns NULL if it
6268 couldn't find the plugin, and all functions using this behave
6269 properly on a NULL return. Switching to a GST_WARNING.
6271 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
6273 * gst/gstbin.c: (gst_bin_handle_message_func):
6274 Don't leak clock messages.
6276 2005-11-25 Wim Taymans <wim@fluendo.com>
6278 * gst/gstutils.c: (gst_util_uint64_scale_int64),
6279 (gst_util_uint64_scale_int):
6280 Optimisations, remove unneeded vars.
6282 2005-11-25 Wim Taymans <wim@fluendo.com>
6284 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6285 Added more checks for the high precision uint64 cases.
6287 * gst/gstutils.c: (gst_util_uint64_scale_int64),
6288 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6289 Implement high precision (guint64 * guint64) / guint64.
6291 2005-11-24 Wim Taymans <wim@fluendo.com>
6293 * gst/base/gstbasesrc.c: (gst_base_src_query):
6294 Fix wrong percentage query.
6296 * gst/gstutils.c: (gst_util_uint64_scale),
6297 (gst_util_uint64_scale_int):
6298 Add some more common cases that can be handled
6299 efficiently to _scale.
6301 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
6303 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6304 (gst_mini_object_suite):
6305 don't use check calls from threads; check probably isn't
6306 threadsafe and using a lock to make it threadsafe would
6307 defeat the purpose of this check
6308 * gst/check/gstcheck.c:
6309 * gst/check/gstcheck.h:
6310 use GST_DEBUG some more
6312 2005-11-24 Wim Taymans <wim@fluendo.com>
6314 * gst/gstutils.c: (gst_util_uint64_scale),
6315 (gst_util_uint64_scale_int):
6316 Chain trivial case to _scale_int.
6318 2005-11-24 Wim Taymans <wim@fluendo.com>
6320 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6321 Added test for scaling.
6326 * gst/gstutils.c: (gst_util_uint64_scale_int):
6327 Implemented high precision scaling code.
6329 2005-11-24 Stefan Kost <ensonic@users.sf.net>
6332 do not crash on pad==NULL
6334 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
6336 Patch by: Stefan Kost
6338 * common/gtk-doc.mak:
6339 * docs/gst/Makefile.am:
6340 * docs/libs/Makefile.am:
6341 Fix distcheck issues for the libraries docs build
6344 2005-11-24 Michael Smith <msmith@fluendo.com>
6346 * docs/manual/basics-helloworld.xml:
6347 Fix bug #315027: memory leak in example code in docs.
6349 2005-11-24 Michael Smith <msmith@fluendo.com>
6351 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6352 Unlock the PREROLL_LOCK in a failure case.
6354 2005-11-24 Wim Taymans <wim@fluendo.com>
6356 * docs/gst/gstreamer-sections.txt:
6357 * gst/base/gstadapter.h:
6358 * gst/base/gstbasesink.h:
6359 * gst/base/gstbasesrc.h:
6360 * gst/base/gstbasetransform.h:
6361 * gst/base/gstpushsrc.h:
6362 * gst/elements/gstfakesink.h:
6363 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6364 * gst/elements/gstfakesrc.h:
6365 * gst/elements/gstfilesink.h:
6366 * gst/elements/gstfilesrc.h:
6369 * gst/gstbuffer.c: (_gst_buffer_copy):
6372 * gst/gstchildproxy.c:
6375 * gst/gstelementfactory.c:
6376 * gst/gstelementfactory.h:
6378 * gst/gstghostpad.h:
6380 * gst/gstinterface.h:
6381 * gst/gstminiobject.c:
6382 * gst/gstminiobject.h:
6385 * gst/gstpadtemplate.h:
6386 * gst/gstpipeline.h:
6387 * gst/gstpluginfeature.h:
6392 * gst/gsttagsetter.c:
6393 * gst/gsttagsetter.h:
6396 * gst/gsttypefind.h:
6399 * gst/net/gstnetclientclock.c:
6400 * gst/net/gstnetclientclock.h:
6401 * gst/net/gstnettimepacket.c:
6402 * gst/net/gstnettimeprovider.c:
6403 * gst/net/gstnettimeprovider.h:
6406 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
6408 * configure.ac: back to HEAD
6410 === release 0.9.6 ===
6412 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
6415 releasing 0.9.6, "Always On Time"
6417 2005-11-23 Wim Taymans <wim@fluendo.com>
6419 * docs/gst/gstreamer-sections.txt:
6420 * gst/glib-compat.c:
6421 * gst/gsttagsetter.c:
6423 * gst/net/gstnetclientclock.c:
6424 * gst/net/gstnettimepacket.h:
6427 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
6429 * docs/faq/using.xml:
6430 * docs/libs/tmpl/gstcontrol.sgml:
6431 * docs/manual/advanced-dparams.xml:
6432 * docs/manual/appendix-checklist.xml:
6433 * docs/manual/basics-elements.xml:
6434 * docs/pwg/other-source.xml:
6435 * docs/random/moving-plugins:
6437 * tools/gst-launch.1.in:
6438 remove mentions of sinesrc
6440 2005-11-23 Michael Smith <msmith@fluendo.com>
6442 * docs/gst/gstreamer-sections.txt:
6443 Update for new API and API changes.
6445 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6447 Documentation typo fix.
6448 * gst/net/gstnettimepacket.c:
6449 Documentation fixes for arguments.
6451 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
6453 * gst/gststructure.c: (gst_structure_get_fraction),
6454 (gst_structure_parse_value),
6455 (gst_structure_fixate_field_nearest_fraction):
6456 * gst/gststructure.h:
6457 * gst/gstutils.c: (gst_util_uint64_scale_int):
6459 * scripts/update-funcnames:
6461 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6462 Make gst_structure_fixate_field_nearest_fraction take a numerator
6463 and denominator argument instead of a GValue
6464 add gst_structure_get_fraction helper function.
6466 2005-11-23 Wim Taymans <wim@fluendo.com>
6468 * docs/design/part-TODO.txt:
6471 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6472 * gst/net/gstnetclientclock.h:
6473 Use parent fields for timeout and window_size.
6475 2005-11-23 Andy Wingo <wingo@pobox.com>
6477 * check/net/gstnetclientclock.c (test_functioning): Adjust to
6478 rate_num/rate_denom change.
6480 * gst/net/gstnetclientclock.c
6481 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6482 OBJECT_LOCK. Don't call add_observation with the lock.
6484 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6486 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6488 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6489 deal with rate as a fraction whose numerator and denominator are
6490 GstClockTime values.
6491 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6492 master; the other fields are protected by the SLAVE_LOCK.
6493 (do_linear_regression): Note that this must be called with the
6495 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6496 OBJECT_LOCK. Call set_calibration instead of touching the
6498 (gst_clock_set_property, gst_clock_get_property): Protect
6499 master/slave parameters with the SLAVE_LOCK.
6501 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6502 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6503 note that all of the instance variables that add_observation and
6504 the set_master functions use are protected by that lock and not
6506 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6508 * gst/gstclock.c (gst_clock_add_observation): No longer requires
6509 the caller to take the object lock.
6511 2005-11-23 Wim Taymans <wim@fluendo.com>
6513 * gst/gsterror.c: (_gst_core_errors_init):
6515 Add error for clock stuff.
6517 * gst/gstpipeline.c: (gst_pipeline_change_state),
6518 (gst_pipeline_set_clock):
6519 Post clock error when clock cannot be used in a pipeline.
6521 2005-11-23 Stefan Kost <ensonic@users.sf.net>
6523 * docs/gst/gstreamer-sections.txt:
6524 make two symbols from gstinfo private for the docs
6525 * gst/base/gstcollectpads.h:
6527 fix doc typos, update docs
6529 2005-11-22 Wim Taymans <wim@fluendo.com>
6531 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6532 (gst_base_sink_wait), (gst_base_sink_do_sync),
6533 (gst_base_sink_handle_event):
6534 * gst/base/gstbasesink.h:
6535 No need to store the clock, the parent element class already
6538 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6539 Updates for clock_set returning a gboolean
6541 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6542 (gst_clock_id_wait_async), (gst_clock_class_init),
6543 (gst_clock_init), (gst_clock_finalize),
6544 (gst_clock_get_internal_time), (gst_clock_get_time),
6545 (gst_clock_slave_callback), (gst_clock_set_master),
6546 (gst_clock_get_master), (do_linear_regression),
6547 (gst_clock_add_observation), (gst_clock_set_property),
6548 (gst_clock_get_property):
6550 Implement master/slave. When setting a clock as a slave, a
6551 periodic timeout is scheduled to sample master and slave times.
6552 Then the slave clock is recalibrated to match offset and rate
6553 of the master clock.
6554 Update logging a bit.
6555 Add flag so that a clock can state that is cannot be slaved to
6558 * gst/gstelement.c: (gst_element_set_clock):
6560 The set clock returns a gboolean for when an element cannot
6561 deal with the selected clock in the pipeline.
6563 * gst/gstpipeline.c: (gst_pipeline_change_state),
6564 (gst_pipeline_set_clock):
6565 * gst/gstpipeline.h:
6566 Handle the case where the selected clock cannot be set on
6569 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6570 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6571 (gst_net_client_clock_set_property),
6572 (gst_net_client_clock_get_property),
6573 (gst_net_client_clock_observe_times):
6574 * gst/net/gstnetclientclock.h:
6575 Use regression code in GstClock parent, remove duplicated
6578 2005-11-22 Michael Smith <msmith@fluendo.com>
6580 * gst/gstutils.c: (gst_util_clock_time_scale):
6582 * docs/gst/gstreamer-sections.txt:
6583 Rename method to have extra underscore.
6585 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
6587 * gst/elements/Makefile.am:
6588 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6589 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6590 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6591 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6592 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6593 * gst/elements/gstfakesrc.h:
6594 * gst/gstqueue.c: (queue_leaky_get_type):
6595 correctly fix GEnumValues so that nick is the short lowercase
6597 * tools/gst-inspect.c: (print_element_properties_info):
6598 also show the nick, since it's useful to use from parse_launch
6602 2005-11-22 Michael Smith <msmith@fluendo.com>
6604 * gst/gstutils.c: (gst_util_clocktime_scale):
6606 * docs/gst/gstreamer-sections.txt:
6607 Add util method for scaling a clocktime by a fraction. Useful
6608 implementation is left as an exercise for the reader.
6610 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6612 * gst/gstvalue.c: (gst_value_collect_fraction_range):
6613 If needed, allocate storage in the destination value during
6616 2005-11-22 Edward Hervey <edward@fluendo.com>
6618 * docs/gst/gstreamer-sections.txt:
6623 * gst/gstutils.c: (gst_util_set_object_arg):
6624 * tools/gst-compprep.c: (main):
6625 * tools/gst-inspect.c: (print_element_properties_info):
6626 Removed GstURI, closes bug #321061
6628 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6630 * check/gst/gststructure.c: (GST_START_TEST):
6631 * gst/gststructure.c: (gst_structure_parse_value):
6632 Oops, broke automatic string type parsing.
6633 Add a test to catch it in future.
6635 2005-11-22 Andy Wingo <wingo@pobox.com>
6637 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
6638 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6639 Actually rename the function implementations. Grr.
6641 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6643 * check/gst/capslist.h:
6645 * check/gst/gststructure.c: (GST_START_TEST),
6646 (gst_structure_suite):
6647 Test automatic value type detection in gst_structure_from_string.
6648 * gst/gststructure.c: (gst_structure_parse_value):
6649 Add fraction as a type we try and guess automatically in
6650 caps/structure strings.
6652 2005-11-22 Andy Wingo <wingo@pobox.com>
6654 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6656 * gst/gsttagsetter.h:
6657 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6658 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6659 (gst_tag_setter_add_tag_valist)
6660 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6661 _add_values, _add_valist, and _add_valist_values. Since this is an
6662 interface the function suffixes should be more explicit so
6663 language binding don't end up with element.add_valist ->
6664 gst_tag_setter_add_valist, for example. Fixes #322069.
6666 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6668 * check/gst/gstcaps.c: (GST_START_TEST):
6669 Extend caps string tests to check that a caps to string
6670 conversion is reversible and produces the same caps.
6672 * gst/gststructure.c: (gst_structure_value_get_generic_type):
6673 Output "fraction" as the generic type fraction range, so caps
6674 serialisation and deserialisation works.
6675 * check/gst/capslist.h:
6676 * gst/gstvalue.c: (gst_value_deserialize_fraction):
6677 Support 'MIN' and 'MAX' for deserialising fractions.
6679 2005-11-22 Andy Wingo <wingo@pobox.com>
6681 * gst/gstevent.h (gst_event_new_new_segment)
6682 (gst_event_parse_new_segment, gst_event_new_buffer_size)
6683 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6684 Renamed from *_newsegment, *_buffersize, *_notarget.
6686 * scripts/update-funcnames: New script, performs the changes
6689 2005-11-22 Wim Taymans <wim@fluendo.com>
6691 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6692 Make sure the GstFlowReturn is returned.
6694 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6695 (gst_bus_add_signal_watch):
6697 add gst_bus_add_signal_watch_full.
6699 * gst/gstplugin.c: (gst_plugin_load_file):
6700 Small style cleanup.
6702 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6704 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6705 Block the fakesrc srcpad when we send an event, to avoid
6706 contention on the stream_lock causing random test failures.
6708 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6710 * check/gst/gstvalue.c: (GST_START_TEST):
6711 * gst/gstvalue.c: (gst_value_fraction_subtract):
6714 2005-11-22 Stefan Kost <ensonic@users.sf.net>
6717 include "gstchildproxy.h"
6718 * gst/gstchildproxy.h:
6719 * libs/gst/controller/gstcontroller.h:
6720 use G_GNUC_NULL_TERMINATED
6722 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6724 * check/gst/capslist.h:
6725 * check/gst/gstcaps.c: (GST_START_TEST):
6726 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6727 * gst/gststructure.c: (gst_structure_parse_range),
6728 (gst_structure_fixate_field_nearest_fraction):
6729 * gst/gststructure.h:
6730 * gst/gstvalue.c: (gst_value_init_fraction_range),
6731 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6732 (gst_value_collect_fraction_range),
6733 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6734 (gst_value_set_fraction_range_full),
6735 (gst_value_get_fraction_range_min),
6736 (gst_value_get_fraction_range_max),
6737 (gst_value_serialize_fraction_range),
6738 (gst_value_transform_fraction_range_string),
6739 (gst_value_compare_fraction_range),
6740 (gst_value_deserialize_fraction_range),
6741 (gst_value_intersect_fraction_fraction_range),
6742 (gst_value_intersect_fraction_range_fraction_range),
6743 (gst_value_subtract_fraction_fraction_range),
6744 (gst_value_subtract_fraction_range_fraction),
6745 (gst_value_subtract_fraction_range_fraction_range),
6746 (gst_value_collect_fraction), (gst_value_fraction_multiply),
6747 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6748 (gst_value_transform_string_fraction), (_gst_value_initialize):
6750 Implement fraction ranges and extend GstFraction to support
6751 arithmetic subtraction, as well as deserialization from integer
6752 strings such as "100"
6753 Add a testsuite as for int and double range set operations
6755 2005-11-21 Andy Wingo <wingo@pobox.com>
6759 * gst/gststructure.h: Add glib-compat.h.
6761 2005-11-21 Wim Taymans <wim@fluendo.com>
6763 * gst/gstbin.c: (gst_bin_change_state_func):
6766 2005-11-21 Wim Taymans <wim@fluendo.com>
6769 And add a nice define too.
6771 2005-11-21 Wim Taymans <wim@fluendo.com>
6773 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6774 (gst_segment_new), (gst_segment_free), (gst_segment_init),
6775 (gst_segment_set_duration), (gst_segment_set_last_stop),
6776 (gst_segment_set_seek), (gst_segment_set_newsegment),
6777 (gst_segment_to_stream_time), (gst_segment_to_running_time),
6780 Make binding friendly.
6782 2005-11-21 Andy Wingo <wingo@pobox.com>
6784 * gst/gsttagsetter.h:
6786 * gst/gststructure.h:
6788 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6791 * gst/gsterror.c (_gst_core_errors_init):
6792 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6795 * gst/Makefile.am (gst_headers): Add glib-compat.h.
6796 (noinst_HEADERS): noinst the -private.
6798 2005-11-21 Michael Smith <msmith@fluendo.com>
6801 * gst/gstregistry.h:
6802 Remove unimplemented declarations for which we can see no sensible
6805 2005-11-21 Andy Wingo <wingo@pobox.com>
6807 * gst/gst.h: Include glib-compat.h.
6809 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6811 * gst/glib-compat.c: Include the public and the private header.
6813 * gst/glib-compat-private.h: Copied here from glib-compat.h.
6817 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6819 * check/gst/gstevent.c (create_custom_events): Check that
6820 FLUSH_STOP is serialized.
6822 * check/elements/identity.c (event_func):
6823 * check/elements/fakesrc.c (event_func): No stream lock, the core
6826 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6827 stream lock taking, yay.
6829 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6830 ensure that core takes the stream lock.
6832 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6835 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6836 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6837 it already. For the flush start we do take it though so we get the
6838 right preroll state change messages.
6840 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6841 the stream lock here, the core does it for us.
6843 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6844 GST_STREAM_GET_LOCK.
6845 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
6846 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
6847 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6848 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6849 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
6850 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6852 * gst/gstpad.c: Update for stream lock name change.
6854 * gst/base/gstbasesink.c: Update for preroll lock name change.
6856 2005-11-21 Wim Taymans <wim@fluendo.com>
6858 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6859 (gst_clock_get_master):
6861 * gst/gstsystemclock.c: (gst_system_clock_init):
6862 Convert Clock flags to object flags.
6863 Added methods to manage master/slave clocks.
6865 2005-11-21 Wim Taymans <wim@fluendo.com>
6867 * check/gst/gstsegment.c: (GST_START_TEST):
6868 * docs/design/part-TODO.txt:
6869 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6870 (gst_base_sink_event), (gst_base_sink_do_sync),
6871 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6872 (gst_base_sink_query), (gst_base_sink_change_state):
6873 * gst/base/gstbasesink.h:
6874 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6875 (gst_base_src_default_newsegment),
6876 (gst_base_src_configure_segment), (gst_base_src_do_seek),
6877 (gst_base_src_get_range), (gst_base_src_loop),
6878 (gst_base_src_change_state):
6879 * gst/base/gstbasesrc.h:
6880 * gst/base/gstbasetransform.c:
6881 (gst_base_transform_prepare_output_buf),
6882 (gst_base_transform_event), (gst_base_transform_change_state):
6883 * gst/base/gstbasetransform.h:
6884 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6885 (gst_collect_pads_event):
6886 * gst/base/gstcollectpads.h:
6887 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6888 (gst_fake_src_create):
6889 * gst/elements/gstfakesrc.h:
6890 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6891 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6892 (gst_segment_set_last_stop), (gst_segment_set_seek),
6893 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6894 (gst_segment_to_running_time), (gst_segment_clip):
6896 More segment updates, replace code in plugins with segment
6899 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6901 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6902 Don't ignore sscanf results
6904 2005-11-21 Andy Wingo <wingo@pobox.com>
6906 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6909 * *.c: Ran scripts/update-macros. Oh yes.
6911 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6912 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6915 * scripts/update-macros: New script. Run it on your files to
6916 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6919 2005-11-21 Stefan Kost <ensonic@users.sf.net>
6921 * docs/gst/Makefile.am:
6922 * docs/gst/gstreamer-docs.sgml:
6923 * docs/gst/gstreamer-sections.txt:
6924 * docs/gst/gstreamer.types:
6926 more docs fixes, add new api to the docs
6928 2005-11-21 Andy Wingo <wingo@pobox.com>
6930 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6931 state_broadcast call.
6933 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6935 2005-11-21 Julien MOUTTE <julien@moutte.net>
6937 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6938 function calls for arrays.
6940 2005-11-21 Stefan Kost <ensonic@users.sf.net>
6942 * docs/random/ensonic/media-device-daemon.txt:
6943 wild idea, can this be done?
6944 * docs/gst/gstreamer-sections.txt:
6949 * gst/gstpluginfeature.c:
6953 doc fixes and additions
6955 2005-11-21 Andy Wingo <wingo@pobox.com>
6957 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
6958 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
6959 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
6960 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6961 private to the basesrc implementation.
6963 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6964 behalf of event function if necessary. It should no longer be
6965 necessary to take the stream lock in pad's event functions. Fixes
6968 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6969 * docs/gst/gstreamer-sections.txt:
6970 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6971 (gst_structure_fixate_field_nearest_double),
6972 (gst_structure_fixate_field_boolean):
6973 * gst/gststructure.h:
6974 * win32/common/libgstreamer.def:
6975 * win32/gstreamer.def:
6977 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6980 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6982 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6983 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6984 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6985 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6986 (gst_fdsrc_uri_handler_init):
6987 * gst/elements/gstfdsrc.h:
6988 Port fd:// URI handler from 0.8 to fdsrc
6990 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6992 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6993 (gst_value_serialize_fourcc):
6995 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6996 consistent with our other format defines (#320324).
6998 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
7000 * gst/gstvalue.c: (gst_value_is_fixed):
7001 Revert previous commit. Value lists are by definition
7002 not fixed, as they are a list of possible values.
7004 2005-11-21 Andy Wingo <wingo@pobox.com>
7006 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
7007 during the stable series if we need it. Fixes #319178.
7009 * gst/gstevent.c (gst_event_new_filler): Removed.
7011 * check/gst/gstevent.c: Update comment about filler events.
7013 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
7015 * gst/gstvalue.c: (gst_value_is_fixed):
7016 Should handle both value arrays and value lists.
7018 2005-11-21 Andy Wingo <wingo@pobox.com>
7020 patch by: Alessandro Dessina <alessandro nnva org>
7022 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7023 functions to access arrays. Fixes #321962.
7025 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
7027 * docs/gst/gstreamer.types:
7028 gst_collectpads_get_type => gst_collect_pads_get_type.
7030 * gst/base/gstbasetransform.c:
7031 Remove unused SIGNAL_HANDOFF enum.
7033 2005-11-21 Andy Wingo <wingo@pobox.com>
7035 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7036 the event type (upstream, downstream, serialized). Renamed
7037 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7038 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7039 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7041 * gst/gstevent.c: Update for new CUSTOM event names.
7043 * check/gst/gstevent.c: Update check for new CUSTOM event names.
7046 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7049 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
7051 * docs/gst/gstreamer-sections.txt:
7052 * win32/common/libgstbase.def:
7053 * win32/libgstbase.def:
7054 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7055 (gst_collect_pads_class_init), (gst_collect_pads_init),
7056 (gst_collect_pads_finalize), (gst_collect_pads_new),
7057 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7058 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7059 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7060 (gst_collect_pads_start), (gst_collect_pads_stop),
7061 (gst_collect_pads_peek), (gst_collect_pads_pop),
7062 (gst_collect_pads_available), (gst_collect_pads_read),
7063 (gst_collect_pads_flush), (gst_collect_pads_event),
7064 (gst_collect_pads_chain):
7065 * gst/base/gstcollectpads.h:
7066 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7067 unimplemented functions as unimplemented. Add padding to
7068 GstCollectData. (#320766, #320423)
7070 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
7073 Improve docs for DURATION message (usage of duration parameter)
7076 2005-11-20 Wim Taymans <wim@fluendo.com>
7078 * check/Makefile.am:
7079 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7083 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7084 (gst_segment_set_seek), (gst_segment_set_newsegment),
7085 (gst_segment_to_stream_time), (gst_segment_to_running_time),
7088 Added segment helper structure and methods. Not fully implemented
7090 Added segment check.
7092 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
7094 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7095 Add a deserialisation test for fractions
7096 * examples/metadata/read-metadata.c: (message_loop),
7097 (make_pipeline), (main):
7098 Fix up metadata reading sample.
7099 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7101 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7102 Don't try and fixate empty caps
7103 * gst/gst_private.h:
7104 Wrap in G_BEGIN_DECLS/G_END_DECLS
7105 * gst/gstvalue.c: (gst_value_collect_fraction),
7106 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7107 (gst_value_transform_string_fraction),
7108 (gst_value_compare_fraction):
7109 Add some extra guards to ensure that we don't end up
7110 with an invalid denominator of 0 in a gstfraction and
7111 that fractions always get reduced.
7113 2005-11-20 Wim Taymans <wim@fluendo.com>
7115 * docs/gst/gstreamer-sections.txt:
7126 2005-11-20 Wim Taymans <wim@fluendo.com>
7128 * docs/design/part-TODO.txt:
7130 Make a proper enum of the flag.
7132 2005-11-19 Wim Taymans <wim@fluendo.com>
7134 * docs/design/part-TODO.txt:
7135 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7136 (gst_format_to_quark), (gst_format_register):
7138 * gst/gstquery.c: (_gst_query_initialize),
7139 (gst_query_type_get_name), (gst_query_type_to_quark),
7140 (gst_query_type_register):
7142 Add type to quark and type to string conversions.
7144 2005-11-19 Andy Wingo <wingo@pobox.com>
7146 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7149 2005-11-19 Wim Taymans <wim@fluendo.com>
7151 * docs/design/part-TODO.txt:
7152 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7153 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7154 (gst_bin_handle_message_func):
7156 Make message handling overridable.
7158 2005-11-19 Andy Wingo <wingo@pobox.com>
7160 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7163 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7165 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7166 is a GstClockTime. Fixes #321710.
7168 * gst/gstclock.h (GstClock): Remove offset property. Add
7169 internal_calibration and external_calibration. Fix padding. Pad
7170 also by GstClockTime so we don't run into problems.
7172 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7173 (gst_clock_get_rate_offset): Remove.
7174 (gst_clock_set_time_adjust): Remove. Fixes #321712.
7177 * gst/gstutils.c (g_static_rec_cond_wait)
7178 (g_static_rec_cond_timed_wait): Removed, no longer needed.
7180 * gst/gstbin.c: Remove terrible continue_state prototype.
7182 * gst/gstelement.h (gst_element_continue_state): Make public.
7185 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7186 by continue_state. Fixes #319389.
7188 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7189 Really fixes #168438. However I don't see anywhere where the
7190 filter function is called... stupid GStreamer...
7192 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7193 don't have a dispose function, so it won't get called when the
7194 object is unreffed, but oh well!
7196 * gst/gstindex.c (gst_index_set_filter_full): New API function,
7197 allows a destroy function to be set so user_data can be freed.
7199 (gst_index_set_filter): Call gst_index_set_filter_full.
7201 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7203 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7204 string should produce an error, given the lack of a way to
7205 represent NULL strings. Fixes #165650.
7208 * gst/gstvalue.c (gst_value_array_append_value)
7209 (gst_value_array_prepend_value, gst_value_array_get_size)
7210 (gst_value_array_get_value): New API, copied from
7211 gst_value_list_*, only operates on arrays.
7212 (gst_value_list_append_value, gst_value_list_prepend_value)
7213 (gst_value_list_concat, gst_value_list_get_size)
7214 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7216 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7217 init_list, because it works on both.
7218 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7219 (gst_value_copy_list_or_array): Renamed from copy_list.
7220 (gst_value_free_list_or_array): Renamed from free_list.
7221 (gst_value_collect_list_or_array): Renamed from collect_list.
7222 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7223 (gst_value_list_or_array_peek_pointer): Renamed from
7225 (_gst_value_array_value_table, _gst_value_list_value_table):
7226 Update value table functions.
7227 (gst_value_compare_list_or_array): Renamed from compare_list.
7229 * gsttaglist.h: Whoops, foreach function returns void. Also fix
7233 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7234 GstTagList*. Fixes #143472.
7236 * gst/gststructure.h: Clarify what the foreach/map functions can
7237 or can't do to their arguments.
7239 2005-11-18 Wim Taymans <wim@fluendo.com>
7241 * gst/gstclock.c: (gst_clock_set_calibration),
7242 (gst_clock_get_calibration):
7244 Calibration can be set with internal time equal to current
7247 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
7253 2005-11-18 Andy Wingo <wingo@pobox.com>
7256 * pkgconfig/gstreamer-net.pc.in:
7257 * pkgconfig/gstreamer-net-uninstalled.pc.in:
7258 * pkgconfig/Makefile.am: Add net pkgconfig files.
7260 2005-11-18 Stefan Kost <ensonic@users.sf.net>
7263 * gst/gstghostpad.c:
7269 2005-11-18 Andy Wingo <wingo@pobox.com>
7271 * gst/net/gstnetclientclock.c: Turn off debugging.
7273 * check/net/gstnetclientclock.c (test_functioning): Assert that the
7274 times connverge somewhat. Can't make a real test.
7276 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7277 integer arithmetic. Return the minimum of the domain, which can be
7278 set as "internal" for gst_clock_set_calibration.
7279 (gst_net_client_clock_observe_times): Call _set_calibration.
7280 (gst_net_client_clock_new): Call _set_calibration instead of
7283 * check/net/gstnetclientclock.c (test_functioning): Use the right
7287 * gst/gstclock.c (gst_clock_get_calibration)
7288 (gst_clock_set_calibration): New functions, obsolete the ones I
7289 added yesterday. Doh. Precision issues mean we have to extrapolate
7290 from a point in the more recent past than 1970.
7291 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7293 (gst_clock_adjust_unlocked): Use the right calibration data.
7295 2005-11-18 Edward Hervey <edward@fluendo.com>
7297 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7298 Also reset the ->current_* values in READY->PAUSED
7300 2005-11-18 Andy Wingo <wingo@pobox.com>
7302 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7303 Whoops, check the right fd. Also add some debugging.
7304 (gst_net_client_clock_observe_times): Adjust for int64 offset.
7305 (do_linear_regression): Add a crapload of debugging. Subtract off
7306 the minimum values from the input series to discard unneeded bits.
7307 Use only int arithmetic. There is still double arithmetic when
7308 calculating the intercept that needs fixing. Return boolean to
7309 indicate success; FALSE would mean the domain or range is too
7310 great. Still needs fixes.
7312 2005-11-18 Wim Taymans <wim@fluendo.com>
7314 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7315 For the current position in stream time, we need to subtract
7318 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7319 Release lock before calling the callback function of async
7322 2005-11-18 Andy Wingo <wingo@pobox.com>
7324 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7325 Port goes all the way to MAXUINT16.
7327 * gst/net/gstnettimeprovider.c: Make the port range the same as
7328 for the kernel: 0 assigns, otherwise ports are less than
7331 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7334 * check/net/gstnetclientclock.c (test_functioning): Add the start
7337 2005-11-18 Wim Taymans <wim@fluendo.com>
7339 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7340 (gst_bin_remove_func), (bin_bus_handler):
7342 Removing a clock provider from a bin, triggers a clock lost message
7343 so that a new clock will be selected.
7344 Adding a clock to a bin triggers a clock provider message.
7345 Make sure we reselect a clock when we received a clock lost message.
7346 Keep a reference to the element that provided the clock.
7348 2005-11-18 Andy Wingo <wingo@pobox.com>
7350 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7351 the clock initially so it produces values around the base time.
7352 (gst_net_client_clock_class_init): Typo fix.
7353 (gst_net_client_clock_thread): Add note on when the socket gets
7356 2005-11-17 Wim Taymans <wim@fluendo.com>
7358 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7359 Free remote and local time arrays.
7361 2005-11-17 Wim Taymans <wim@fluendo.com>
7363 * gst/net/gstnetclientclock.c: (do_linear_regression),
7364 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7365 Fix compilation, uninitialized vars and a forgotten continue.
7367 2005-11-17 Andy Wingo <wingo@pobox.com>
7369 * check/Makefile.am (check_PROGRAMS):
7370 * check/net/gstnetclientclock.c: Add a most minimal test for the
7371 net client clock. More to come later.
7374 * gst/net/Makefile.am: Add netclientclock.
7376 * gst/net/gstnetclientclock.h:
7377 * gst/net/gstnetclientclock.c: New files, implement an untested
7378 GstClock that takes its time from a network time provider.
7379 Implements the algorithm in network-clock.scm.
7381 * tests/network-clock.scm (*window-size*): Rename from
7383 * tests/network-clock.scm (network-time):
7384 * tests/network-clock-utils.scm (q-push): Update callers.
7386 2005-11-17 Wim Taymans <wim@fluendo.com>
7388 * gst/gstbin.c: (gst_bin_provide_clock_func),
7389 (gst_bin_sort_iterator_new):
7390 And unref the child too..
7392 2005-11-17 Wim Taymans <wim@fluendo.com>
7394 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7395 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7396 Refactor the sort iterator so it can be used while holding the
7398 Make clock selection select a clock closest to the source.
7400 2005-11-17 Michael Smith <msmith@fluendo.com>
7402 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7403 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7405 Anonymous structs are a gcc (and some other compilers) extension, so
7406 don't use them. Since this is only for ABI-compatibility, and our
7407 API/ABI freeze is over in a few days, this whole thing will only
7408 last a few days, so don't bother trying to think up a meaningful
7409 name for the struct.
7411 2005-11-17 Andy Wingo <wingo@pobox.com>
7413 * gst/gstclock.h (GstClock): Add rate and offset properties,
7414 preserving ABI stability. Add rate/offset accessors. Will file bug
7415 for the freeze break.
7417 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7418 and offset, trying to keep precision and avoiding
7420 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7421 functions. Make gst_clock_set_time_adjust obsolete.
7422 (gst_clock_set_time_adjust): Note that this function is obsolete.
7425 * gst/base/gstbasetransform.h: Make the ABI-stability hack
7426 greppable by using GST_PADDING-1+1.
7428 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
7430 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7432 * gst/gstmessage.c: (gst_message_parse_clock_lost):
7433 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7435 * gst/gstpadtemplate.h:
7436 * gst/gstpluginfeature.h:
7437 Don't use c++ style comments in headers (#321638).
7439 2005-11-16 Andy Wingo <wingo@pobox.com>
7441 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7444 * check/net/gstnettimeprovider.c: Check to see that the time
7445 provider actually provides times. Works, yo!
7447 2005-11-16 Wim Taymans <wim@fluendo.com>
7449 * check/Makefile.am:
7452 * check/elements/fakesrc.c: (GST_START_TEST):
7453 Set element to NULL before disposing it.
7455 2005-11-16 Andy Wingo <wingo@pobox.com>
7457 * gst/net/Makefile.am:
7459 * gst/net/gstnettimeprovider.c:
7460 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7461 provider, include it from gstnet.h, and add it to the build.
7463 * gst/net/gstnettimepacket.h:
7464 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7465 sending and receiving.
7467 2005-11-16 Wim Taymans <wim@fluendo.com>
7469 * check/Makefile.am:
7470 Enable valgrind check.
7472 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7473 (gst_fake_src_alloc_buffer):
7476 2005-11-16 Wim Taymans <wim@fluendo.com>
7478 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7479 Call parent finalize too.
7481 2005-11-16 Wim Taymans <wim@fluendo.com>
7483 * check/Makefile.am:
7484 Enable valgrind check that should work fine now.
7486 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7487 * gst/gstqueue.c: (gst_queue_init):
7488 Fix memleaks in pad allocation.
7490 2005-11-16 Andy Wingo <wingo@pobox.com>
7492 * gst/net/Makefile.am:
7493 * gst/net/gstnet.h: New part of core to hold network elements and
7494 objects. Put in core because it exposes API that applications want
7495 to use. The library is named libgstnet-tempname right now because
7496 of the existing libgstnet in gst-plugins-base. Solution is
7497 probably to rename the one in plugins-base; will file a bug for
7500 * gst/net/gstnettimeprovider.c:
7501 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7502 get_time call over the network.
7505 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7507 * check/Makefile.am:
7508 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7509 get additions shortly.
7511 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7513 * gst/gstpad.c: (gst_pad_new_from_static_template):
7515 add gst_pad_new_from_static_template functions
7516 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7517 (gst_check_setup_sink_pad):
7518 * gst/elements/gsttee.c: (gst_tee_init):
7521 2005-11-16 Wim Taymans <wim@fluendo.com>
7523 * gst/gstpad.c: (gst_pad_pause_task):
7524 Removed warning, it's not really an error either.
7526 2005-11-16 Wim Taymans <wim@fluendo.com>
7528 * gst/base/gstbasetransform.c:
7529 (gst_base_transform_prepare_output_buf),
7530 (gst_base_transform_event):
7531 Check if the caps are NULL, this can happen if the element
7532 is shutting down and the pad caps are set to NULL.
7534 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7536 * gst/elements/gsttee.c: (gst_tee_init):
7537 fix pad template leak in tee
7539 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7541 * gst/glib-compat.c: (g_value_dup_gst_object):
7542 * gst/glib-compat.h:
7543 * gst/gstpad.c: (gst_pad_set_property):
7544 use gst_object_ref when setting the pad template; this will
7545 trigger the pad template leaks on GLib 2.6 and the slaves
7547 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7549 * gst/glib-compat.c: (gst_flags_get_first_value):
7550 * gst/glib-compat.h:
7551 * gst/gstregistryxml.c:
7552 remove functions copied from GLib 2.6
7554 2005-11-16 Michael Smith <msmith@fluendo.com>
7557 Don't link against VALGRIND_LIBS. That was always the wrong thing to
7558 do, but only breaks with newer valgrind versions. We're not a
7559 valgrind tool, we have no link-time dependencies on libcoregrind.
7561 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7563 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7568 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7570 * gst/base/gstbasesrc.c: (gst_base_src_init):
7571 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7572 * gst/gstqueue.c: (gst_queue_init):
7573 * gst/gstregistryxml.c: (load_feature):
7574 Revert all these unrefs, they don't even pass make check !
7576 2005-11-15 Johan Dahlin <johan@gnome.org>
7578 * gst/base/gstbasesrc.c: (gst_base_src_init):
7579 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7580 * gst/gstqueue.c: (gst_queue_init):
7581 Free pad templates, fixes a couple of leaks.
7583 2005-11-15 Daniel Fischer <dan at f3c dot com>
7585 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7587 * gst/gstpad.c: (gst_pad_get_property):
7588 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7589 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7592 2005-11-15 Wim Taymans <wim@fluendo.com>
7597 2005-11-15 Andy Wingo <wingo@pobox.com>
7599 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7601 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7602 using GST_CLOCK_TIME_NONE to disable base time management.
7603 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7604 time if it was NONE before.
7605 (gst_pipeline_change_state): Only munge the base time if
7606 stream_time != GST_CLOCK_TIME_NONE.
7608 * check/gst/gstpipeline.c (test_base_time): Punt around the
7609 problem of the probe not being called, because that's not the
7610 issue I'm looking at. Add a check that setting stream_time to NONE
7611 disables base time management.
7613 2005-11-15 Wim Taymans <wim@fluendo.com>
7615 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7616 segment_stop == -1 at startup.
7618 * gst/base/gstbasetransform.c: (gst_base_transform_event),
7619 (gst_base_transform_change_state):
7620 Init segment values at start.
7622 2005-11-15 Wim Taymans <wim@fluendo.com>
7624 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7625 0 segment values are 0 in any format.
7627 * gst/base/gstbasetransform.c: (gst_base_transform_event):
7628 * gst/base/gstbasetransform.h:
7629 Parse newsegment correctly in basetransform
7631 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7632 Sync to clock using updated segment values.
7634 2005-11-15 Andy Wingo <wingo@pobox.com>
7636 * check/gst/gstpipeline.c (test_base_time): Add check that the
7637 base time and stream time are reset correctly.
7639 2005-11-15 Wim Taymans <wim@fluendo.com>
7641 * docs/design/part-TODO.txt:
7642 Some more TODO items.
7644 2005-11-15 Andy Wingo <wingo@pobox.com>
7646 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7647 error if the user selected "no clock" as the clocking method.
7649 * check/gst/gstpipeline.c (test_base_time): New test for buffer
7650 timestamps with live capture.
7652 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7653 is 0 but we are a live source, timestamp the buffers using the
7656 2005-11-14 Stefan Kost <ensonic@users.sf.net>
7658 * docs/gst/gstreamer-sections.txt:
7660 * gst/gstghostpad.c:
7665 2005-11-14 Wim Taymans <wim@fluendo.com>
7668 add suppressions from Wim's Debian machine
7670 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
7673 add suppressions from Andy's AMD64 Ubuntu machine
7675 2005-11-14 Andy Wingo <wingo@pobox.com>
7677 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7678 STATE_LOCK not necessary. Fixes #311489.
7680 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7683 * gst/gstindex.c (gst_index_add_object): Note in the docs that
7684 this function is not implemented.
7686 2005-11-14 Julien MOUTTE <julien@moutte.net>
7688 * gst/base/gstbasetransform.c:
7689 (gst_base_transform_prepare_output_buf):
7690 Ref the source pad caps while we need them.
7693 2005-11-11 Wim Taymans <wim@fluendo.com>
7695 * docs/gst/gstreamer-sections.txt:
7696 Added some docs for GstCollectData.
7698 * gst/base/gstadapter.c:
7699 Some small code example fix.
7701 * gst/base/gstcollectpads.c:
7702 * gst/base/gstcollectpads.h:
7705 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
7707 * configure.ac: back to HEAD
7709 === release 0.9.5 ===
7711 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
7714 releasing 0.9.5, "Bike Lunch Day"
7716 2005-11-11 Wim Taymans <wim@fluendo.com>
7718 * gst/gstbuffer.c: (_gst_buffer_copy):
7721 * gst/gstcaps.c: (gst_caps_is_equal):
7723 Make _is_equal fast in the trivial cases.
7725 * gst/gstminiobject.c:
7726 * gst/gstminiobject.h:
7727 More docs. Spifify .h file.
7732 2005-11-11 Wim Taymans <wim@fluendo.com>
7734 * gst/base/gstbasetransform.c:
7735 (gst_base_transform_prepare_output_buf),
7736 (gst_base_transform_handle_buffer):
7738 If we're processing a buffer and need to allocate an output
7739 buffer, we cannot accept a format change. If we did get a
7740 format change, we have to alloc a buffer ourselves of the
7743 2005-11-11 Wim Taymans <wim@fluendo.com>
7745 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7746 While checking the flag for reentrancy in the gstcaps function
7747 is nice to detect recursive invocations, it also makes it
7748 impossible to call getcaps from multiple threads, which must be
7749 possible. So, checking for recursive calls has to go.
7751 2005-11-11 Michael Smith <msmith@fluendo.com>
7753 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7754 Don't sync on buffers that fall partially outside our current
7755 segment. Prevents an assertion failure/abort playing some files.
7757 2005-11-10 Andy Wingo <wingo@pobox.com>
7759 * check/gst/gstbin.c (test_message_state_changed_children): Style
7762 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7763 gst_bus_poll with the signal watch. Ensures that poll and a signal
7764 watch see the same messages.
7766 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7767 a poll and a watch at the same time get the same messages.
7769 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
7771 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7772 * gst/gstcaps.c: (gst_caps_intersect):
7773 Don't call gst_caps_do_simplify - it doesn't respect order of caps
7774 and it's not needed.
7776 2005-11-10 Wim Taymans <wim@fluendo.com>
7778 * docs/design/part-TODO.txt:
7781 2005-11-10 Wim Taymans <wim@fluendo.com>
7783 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7784 * gst/base/gstbasesrc.c: (gst_base_src_wait),
7785 (gst_base_src_do_sync), (gst_base_src_get_range):
7786 Implement clock sync in base class.
7788 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
7790 patch by: Tim-Philipp Müller <tim at centricular dot net>
7792 * gst/gststructure.c: (gst_structure_parse_field),
7793 (gst_structure_from_string):
7794 Forward-port a 0.8 patch to handle escaped spaces in structure string,
7795 so that gst_parse_launch() can deal with spaces in filtered link
7796 caps (fixes #164479)
7797 * check/gst/capslist.h:
7798 * check/gst/gststructure.c: (GST_START_TEST):
7799 add unit tests for this change
7801 2005-11-10 Wim Taymans <wim@fluendo.com>
7803 * docs/gst/gstreamer-sections.txt:
7806 Fix docs, move some STATE macros to private.
7808 2005-11-10 Wim Taymans <wim@fluendo.com>
7810 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7811 Added check for bug #317341
7815 Some more spiffifying.
7817 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7818 Call peer linkfunction if we are a source pad. Totally fixes
7822 Update docs, source pads should call the peer linkfunction
7823 so they can atomically perform the pad link.
7825 2005-11-09 Wim Taymans <wim@fluendo.com>
7829 Uber-spiffy-spiffify some more.
7831 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
7833 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7834 * gst/elements/gstfilesink.c: (gst_file_sink_init):
7835 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7836 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7837 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7838 * gst/gstpad.c: (gst_pad_init):
7839 Use GST_DEBUG_FUNCPTR() more extensively.
7841 2005-11-09 Wim Taymans <wim@fluendo.com>
7843 * gst/gstobject.c: (gst_object_class_init):
7845 Documentation fixes.
7847 2005-11-09 Edward Hervey <edward@fluendo.com>
7849 * gst/gsttypefindfactory.c:
7852 2005-11-09 Edward Hervey <edward@fluendo.com>
7854 * gst/base/gsttypefindhelper.c:
7855 * gst/gsttypefind.c:
7856 * gst/gsttypefind.h:
7859 2005-11-09 Wim Taymans <wim@fluendo.com>
7861 * gst/gstiterator.c:
7868 2005-11-09 Wim Taymans <wim@fluendo.com>
7874 2005-11-09 Wim Taymans <wim@fluendo.com>
7876 * docs/gst/gstreamer-sections.txt:
7877 Moved the message async delivery private lock and cond
7878 to the private section.
7884 2005-11-09 Edward Hervey <edward@fluendo.com>
7886 * docs/gst/gstreamer-sections.txt:
7889 Document GstURIHandler
7891 2005-11-09 Wim Taymans <wim@fluendo.com>
7893 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7894 (gst_iterator_find_custom):
7895 * gst/gstiterator.h:
7898 2005-11-09 Wim Taymans <wim@fluendo.com>
7901 Document another field.
7903 * gst/gststructure.c:
7904 * gst/gststructure.h:
7907 2005-11-09 Wim Taymans <wim@fluendo.com>
7912 2005-11-09 Wim Taymans <wim@fluendo.com>
7914 * docs/gst/gstreamer-sections.txt:
7915 Added some new macros.
7922 2005-11-09 Wim Taymans <wim@fluendo.com>
7924 * docs/design/part-TODO.txt:
7925 Some more items for the TODO
7931 2005-11-09 Andy Wingo <wingo@pobox.com>
7933 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7934 to work on something else now tho...
7936 * gst/base/gstadapter.c: More adapter docs.
7938 * gst/elements/gstfilesink.c (gst_file_sink_start)
7939 (gst_file_sink_stop): New functions, replace the state change
7941 (gst_file_sink_class_init): Hook up the start and stop functions.
7942 (gst_file_sink_base_init): Don't set the state change handler any
7943 more. It was a bit ugly too, being set from here...
7944 (gst_file_sink_get_property, gst_file_sink_set_property):
7946 (gst_file_sink_set_location): More robust check that doesn't call
7949 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
7951 * gst/base/gstbasetransform.c: (gst_base_transform_event):
7952 Hold STREAM_LOCK while pushing newsegment or tag events as well.
7954 2005-11-08 Wim Taymans <wim@fluendo.com>
7956 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7957 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7958 (gst_base_sink_chain), (gst_base_sink_change_state):
7959 * gst/base/gstbasesink.h:
7960 * gst/base/gstbasesrc.h:
7963 Avoid excessive typechecking in macros.
7965 * gst/gstminiobject.c: (gst_mini_object_get_type),
7966 (gst_mini_object_init), (gst_mini_object_new),
7967 (gst_mini_object_free):
7968 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7969 (gst_object_finalize):
7970 Remove cruft code, optimize alloc_trace.
7972 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
7974 * docs/faq/gst-uninstalled:
7975 fix up PS1 for systems that try to reset it
7977 2005-11-07 Wim Taymans <wim@fluendo.com>
7979 * gst/base/gstbasesrc.c: (gst_base_src_init),
7980 (gst_base_src_get_range):
7981 Set the segment_end to -1 initially. Fixed typefind.
7983 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
7985 * gst/base/gstadapter.c:
7986 Debug category should be 'adapter', not 'GstAdapter'.
7988 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7989 (gst_collectpads_class_init), (gst_collectpads_init),
7990 (gst_collectpads_peek), (gst_collectpads_pop),
7991 (gst_collectpads_event), (gst_collectpads_chain):
7992 Add debug category and some debugging output. Use boilerplate
7993 macros. Remove some extraneous words from docs.
7995 2005-11-05 Andy Wingo <wingo@pobox.com>
7997 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
8000 2005-11-04 Stefan Kost <ensonic@users.sf.net>
8002 * docs/gst/gstreamer-sections.txt:
8005 * gst/gstminiobject.h:
8010 2005-11-04 Wim Taymans <wim@fluendo.com>
8012 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8013 Small update to stop at the configured segment_end
8016 2005-11-04 Stefan Kost <ensonic@users.sf.net>
8018 * gst/gstregistry.c:
8019 * gst/gstregistry.h:
8022 2005-11-04 Edward Hervey <edward@fluendo.com>
8024 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8025 Check if we are doing a segment seek and have arrived at the
8026 end of that segment.
8028 2005-11-04 Wim Taymans <wim@fluendo.com>
8030 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8031 Don't leak a mutex unlock in case of an error.
8036 2005-11-04 Wim Taymans <wim@fluendo.com>
8038 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8040 Get the context to wake up only once.
8042 2005-11-03 Wim Taymans <wim@fluendo.com>
8044 * check/states/sinks.c: (GST_START_TEST):
8045 Uncomment fixed check.
8047 * docs/design/part-TODO.txt:
8050 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8051 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8052 (gst_base_sink_get_position):
8053 If we are going to PLAYING, post the right pending state
8054 when we post the intermediate paused message.
8056 * gst/gstelement.c: (gst_element_continue_state),
8057 (gst_element_set_state_func), (gst_element_change_state):
8058 Don't post state changes that were between the same state
8061 2005-11-03 Stefan Kost <ensonic@users.sf.net>
8063 * docs/gst/gstreamer-sections.txt:
8066 * gst/gstminiobject.h:
8069 more docs and doc style fixes
8071 2005-11-03 Stefan Kost <ensonic@users.sf.net>
8073 * docs/gst/gstreamer-sections.txt:
8075 * gst/gstminiobject.c:
8078 2005-11-03 Andy Wingo <wingo@pobox.com>
8080 * check/states/sinks.c (test_livesrc_sink): Add checks that the
8081 state-changed messages actually have the right order and the right
8084 2005-11-03 Wim Taymans <wim@fluendo.com>
8086 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8087 Added some more checks. Specifically the case where NO_PREROLL
8088 elements are in the pipeline.
8090 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8091 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8092 (gst_base_sink_get_position):
8093 Post READY->PAUSED state change messages too.
8094 Fix bug where VOID was posted as pending state...
8096 * gst/gstbin.c: (gst_bin_recalc_state):
8097 use _element_continue_state() to continue the state change.
8099 * gst/gstelement.c: (gst_element_continue_state),
8100 (gst_element_commit_state), (gst_element_set_state_func),
8101 (gst_element_change_state), (gst_element_change_state_func):
8102 Lots of state change cleanups, assign the STATE_RETURN in
8103 a new continue_state() function that also propagates the
8104 last return value from a state change to the app.
8105 Update some debug statements with proper category.
8107 2005-11-03 Wim Taymans <wim@fluendo.com>
8109 * docs/design/part-events.txt:
8110 * docs/design/part-gstpipeline.txt:
8111 * docs/design/part-messages.txt:
8112 * docs/design/part-overview.txt:
8113 * docs/design/part-seeking.txt:
8114 * docs/design/part-states.txt:
8115 * docs/design/part-trickmodes.txt:
8116 * docs/manual/advanced-position.xml:
8120 People think !! is ugly, this looks better.
8122 * gst/gstpad.c: (gst_pad_set_blocked_async):
8123 Remove !! since it's fixed elsewhere now.
8125 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
8127 * gst/gstminiobject.h:
8129 Add !! to _FLAG_IS_SET macros to make the result boolean.
8131 2005-11-03 Edward Hervey <edward@fluendo.com>
8133 * gst/gstpad.c: (gst_pad_set_blocked_async):
8134 comparing a flag and a gboolean rarely returns coherent results...
8135 Added two characters (!!) to make that work correctly.
8137 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
8139 * gst/gstbus.c: (gst_bus_class_init):
8142 * gst/gstqueue.c: (gst_queue_loop):
8143 Don't assume a miniobject that isn't a buffer is an
8144 event (it could be that there is a refcounting
8145 problem somewhere and the pointer is stale and
8146 refers to an already destroyed miniobject).
8148 2005-11-03 Julien MOUTTE <julien@moutte.net>
8150 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8152 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
8154 * docs/manual/advanced-position.xml:
8155 Update seek example and explanations to current 0.9 API.
8157 * gst/elements/gsttypefindelement.c:
8158 (gst_type_find_element_activate):
8159 Remove FIXME comment now that the found caps
8162 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
8164 * gst/gstregistryxml.c: (load_feature):
8165 Add another GST_STR_NULL instance
8167 2005-11-02 Edward Hervey <edward@fluendo.com>
8169 * gst/gstpad.c: (handle_pad_block):
8170 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8172 2005-11-02 Wim Taymans <wim@fluendo.com>
8177 * gst/gstelement.c: (gst_element_commit_state):
8178 Remove unused value.
8180 * gst/gstiterator.c:
8181 Mention that the returned element is reffed in the docs.
8183 2005-11-02 Wim Taymans <wim@fluendo.com>
8185 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8186 (gst_pad_push), (gst_pad_push_event):
8187 Unlock blocked pads when they are flushed.
8189 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
8192 * docs/gst/gstreamer-sections.txt:
8195 * gst/gstregistry.c: (gst_registry_scan_path_level):
8196 fix for a nasty little missed situation where an installed plug-in
8197 which was in the cache did not get overridden by an uninstalled one
8198 which was earlier in the plugin path because the newly created plugin
8199 for the uninstalled one (not in the registry) didn't get its
8200 ->registered set to TRUE
8202 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
8204 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8205 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8206 (gst_collectpads_is_active), (gst_collectpads_collect),
8207 (gst_collectpads_collect_range), (gst_collectpads_start),
8208 (gst_collectpads_stop), (gst_collectpads_peek),
8209 (gst_collectpads_pop), (gst_collectpads_available),
8210 (gst_collectpads_read), (gst_collectpads_flush):
8211 Guard public API with assertions.
8214 Fix docs for gst_pad_set_link_function().
8216 2005-11-02 Johan Dahlin <johan@gnome.org>
8218 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
8219 Unref found_caps after we used it.
8221 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
8223 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8224 Don't try to ref NULL.
8226 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
8228 * win32/common/config.h.in:
8229 provide a GST_FUNCTION that just gives a string for now
8231 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
8233 * win32/common/gstenumtypes.c: (register_gst_object_flags),
8234 (gst_object_flags_get_type), (register_gst_bin_flags),
8235 (gst_bin_flags_get_type), (register_gst_buffer_flag),
8236 (gst_buffer_flag_get_type), (register_gst_bus_flags),
8237 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8238 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8239 (gst_clock_return_get_type), (register_gst_clock_entry_type),
8240 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8241 (gst_clock_flags_get_type), (register_gst_state),
8242 (gst_state_get_type), (register_gst_state_change_return),
8243 (gst_state_change_return_get_type), (register_gst_state_change),
8244 (gst_state_change_get_type), (register_gst_element_flags),
8245 (gst_element_flags_get_type), (register_gst_core_error),
8246 (gst_core_error_get_type), (register_gst_library_error),
8247 (gst_library_error_get_type), (register_gst_resource_error),
8248 (gst_resource_error_get_type), (register_gst_stream_error),
8249 (gst_stream_error_get_type), (register_gst_event_type),
8250 (gst_event_type_get_type), (register_gst_seek_type),
8251 (gst_seek_type_get_type), (register_gst_seek_flags),
8252 (gst_seek_flags_get_type), (register_gst_format),
8253 (gst_format_get_type), (register_gst_index_certainty),
8254 (gst_index_certainty_get_type), (register_gst_index_entry_type),
8255 (gst_index_entry_type_get_type),
8256 (register_gst_index_lookup_method),
8257 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8258 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8259 (gst_index_resolver_method_get_type), (register_gst_index_flags),
8260 (gst_index_flags_get_type), (register_gst_debug_level),
8261 (gst_debug_level_get_type), (register_gst_debug_color_flags),
8262 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8263 (gst_iterator_result_get_type), (register_gst_iterator_item),
8264 (gst_iterator_item_get_type), (register_gst_message_type),
8265 (gst_message_type_get_type), (register_gst_mini_object_flags),
8266 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8267 (gst_pad_link_return_get_type), (register_gst_flow_return),
8268 (gst_flow_return_get_type), (register_gst_activate_mode),
8269 (gst_activate_mode_get_type), (register_gst_pad_direction),
8270 (gst_pad_direction_get_type), (register_gst_pad_flags),
8271 (gst_pad_flags_get_type), (register_gst_pad_presence),
8272 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8273 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8274 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8275 (gst_plugin_error_get_type), (register_gst_plugin_flags),
8276 (gst_plugin_flags_get_type), (register_gst_rank),
8277 (gst_rank_get_type), (register_gst_query_type),
8278 (gst_query_type_get_type), (register_gst_tag_merge_mode),
8279 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8280 (gst_tag_flag_get_type), (register_gst_task_state),
8281 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8282 (gst_alloc_trace_flags_get_type),
8283 (register_gst_type_find_probability),
8284 (gst_type_find_probability_get_type), (register_gst_uri_type),
8285 (gst_uri_type_get_type), (register_gst_parse_error),
8286 (gst_parse_error_get_type):
8287 * win32/common/gstversion.h:
8290 2005-11-01 Luca Ognibene <luogni@tin.it>
8293 fix docs. popt is dead, long live GOption.
8295 2005-10-31 Wim Taymans <wim@fluendo.com>
8300 2005-10-31 Andy Wingo <wingo@pobox.com>
8304 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8306 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8307 need to serialize property notifications on GLib 2.8. GLib 2.6 has
8308 the possibility of deadlocks here if code calling notify() or
8309 set() has a lock that can be taken in another notify handler (ABBA
8310 with class lock and e.g. python GIL state lock).
8312 2005-10-28 Julien MOUTTE <julien@moutte.net>
8314 * gst/gstbus.c: Doc updates.
8316 2005-10-28 Wim Taymans <wim@fluendo.com>
8318 * docs/design/part-TODO.txt:
8319 * gst/gstiterator.c:
8320 * gst/gstsystemclock.c:
8321 * gst/gstsystemclock.h:
8324 2005-10-28 Edward Hervey <edward@fluendo.com>
8326 * docs/gst/gstreamer-docs.sgml:
8327 * docs/gst/gstreamer-sections.txt:
8328 the GstURIType documentation page is private, it only defines GstURIType
8329 which should be defined in the GstURIHandler page
8331 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
8333 * gst/gstbin.c: (gst_bin_class_init):
8336 Documentation updates.
8338 2005-10-28 Wim Taymans <wim@fluendo.com>
8340 * docs/gst/gstreamer-sections.txt:
8343 Documented the clocks.
8345 2005-10-28 Stefan Kost <ensonic@users.sf.net>
8347 * docs/gst/gstreamer-sections.txt:
8348 move some macros to private sections
8349 * gst/gstminiobject.c:
8350 * gst/gstminiobject.h:
8351 add descriptions provided by ds and some more
8353 mark macro as to be removed
8355 2005-10-28 Wim Taymans <wim@fluendo.com>
8357 * docs/design/part-TODO.txt:
8358 Add an item to TODO.
8360 * gst/gstiterator.c: (gst_iterator_fold),
8361 (gst_iterator_find_custom):
8362 * gst/gstiterator.h:
8365 2005-10-28 Wim Taymans <wim@fluendo.com>
8367 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8368 (gst_base_transform_init):
8371 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8372 An EOS event marks the queue as completely filled.
8374 2005-10-27 Wim Taymans <wim@fluendo.com>
8376 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8377 (gst_base_sink_do_sync), (gst_base_sink_get_position):
8378 Some more debugging.
8380 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8381 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8382 (gst_base_transform_event), (gst_base_transform_getrange),
8383 (gst_base_transform_chain):
8384 * gst/base/gstbasetransform.h:
8386 Protect transform and concurrent buffer alloc with a new lock.
8387 Try not to break ABI/API.
8389 2005-10-27 Wim Taymans <wim@fluendo.com>
8391 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8392 (gst_base_src_init), (gst_base_src_query),
8393 (gst_base_src_default_newsegment),
8394 (gst_base_src_configure_segment), (gst_base_src_do_seek),
8395 (gst_base_src_send_event), (gst_base_src_event_handler),
8396 (gst_base_src_pad_get_range), (gst_base_src_loop),
8397 (gst_base_src_unlock), (gst_base_src_default_negotiate),
8398 (gst_base_src_start), (gst_base_src_deactivate),
8399 (gst_base_src_activate_push), (gst_base_src_change_state):
8400 Move some stuff around and cleanup things.
8402 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
8404 * gst/base/gstbasesrc.c: (gst_base_src_query):
8405 Add missing break statements.
8407 2005-10-27 Wim Taymans <wim@fluendo.com>
8409 * check/gst/gstbin.c: (GST_START_TEST):
8410 An extra refcount is taken in basesrc.
8412 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8413 (gst_base_src_get_range), (gst_base_src_pad_get_range),
8414 (gst_base_src_loop):
8415 Small cleanups, check for flushing after being unlocked from the
8416 LIVE_LOCK. take refcounts correctly (not yet everywhere).
8417 Don't send out EOS when going to READY.
8419 2005-10-27 Wim Taymans <wim@fluendo.com>
8421 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8422 (gst_base_sink_get_position):
8425 * gst/gstbin.c: (message_check), (bin_replace_message),
8426 (bin_remove_messages), (is_eos), (gst_bin_add_func),
8427 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8428 (bin_query_duration_init), (bin_query_duration_fold),
8429 (bin_query_duration_done), (bin_query_generic_fold),
8431 * tools/gst-launch.c: (main):
8434 2005-10-26 Stefan Kost <ensonic@users.sf.net>
8436 * examples/controller/audio-example.c: (main):
8437 * examples/queue/queue.c: (event_loop):
8438 * gst/base/gstbasetransform.h:
8439 * gst/gstelement.c: (gst_element_send_event):
8441 * gst/gstpad.c: (gst_pad_send_event):
8444 changing log priority in error situations
8446 2005-10-25 Wim Taymans <wim@fluendo.com>
8448 * gst/gstbin.c: (message_check), (bin_replace_message),
8449 (bin_remove_messages), (is_eos), (gst_bin_add_func),
8450 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8451 (bin_query_duration_init), (bin_query_duration_fold),
8452 (bin_query_duration_done), (bin_query_generic_fold),
8454 Some doc and debug updates.
8455 Cache previously requested query DURATION for speed. invalidate
8456 cached duration if element posts a DURATION message.
8458 2005-10-25 Wim Taymans <wim@fluendo.com>
8460 * docs/design/part-TODO.txt:
8463 * gst/gstbin.c: (message_check), (bin_replace_message),
8464 (bin_remove_messages), (is_eos), (gst_bin_add_func),
8465 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8466 (bin_query_duration_init), (bin_query_duration_fold),
8467 (bin_query_duration_done), (bin_query_generic_fold),
8469 Handle SEGMENT_START/DONE messages correctly.
8470 More evolved query algorithm that handles duration queries
8473 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8474 (gst_element_get_state_func), (gst_element_abort_state),
8475 (gst_element_commit_state), (gst_element_lost_state):
8476 Some more debugging.
8481 2005-10-25 Wim Taymans <wim@fluendo.com>
8483 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8484 Don't use invalid stream_time.
8486 * gst/gstevent.c: (gst_event_new_newsegment):
8487 stream_time in newsegment cannot be undefined.
8489 2005-10-24 Wim Taymans <wim@fluendo.com>
8494 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8496 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8498 2005-10-24 Stefan Kost <ensonic@users.sf.net>
8500 * docs/libs/tmpl/gstdparam.sgml:
8501 * docs/libs/tmpl/gstdplinint.sgml:
8502 * docs/libs/tmpl/gstdpman.sgml:
8503 * docs/libs/tmpl/gstdpsmooth.sgml:
8504 * docs/libs/tmpl/gstunitconvert.sgml:
8507 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
8512 === release 0.9.4 ===
8514 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
8517 releasing 0.9.4, "Tyrannosaurus Rex"
8519 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
8521 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8522 (gst_file_sink_get_current_offset):
8523 Use fseeko() and ftello() if available. When falling back on
8524 lseek() to get the current offset, fflush() first to make sure
8525 everything is up-to-date and we get the right offset.
8527 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
8529 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8530 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8531 * gst/gsterror.c: (_gst_stream_errors_init):
8533 * gst/gstqueue.c: (gst_queue_loop):
8535 remove prematurely added error category and clean up the instances
8537 2005-10-21 Wim Taymans <wim@fluendo.com>
8539 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8540 (gst_base_sink_get_position), (gst_base_sink_query),
8541 (gst_base_sink_change_state):
8542 Simply set the right flag when going to playing, that's all
8543 we need to do instead of calling a function inside the object
8544 lock (that could take the lock as well and deadlock)
8546 2005-10-21 Wim Taymans <wim@fluendo.com>
8548 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8549 (gst_base_src_loop):
8550 Don't warn, the peer element knows what to do best when
8551 the seek failed, it might try something else.
8553 2005-10-21 Wim Taymans <wim@fluendo.com>
8555 * gst/base/gstbasesrc.c: (gst_base_src_init),
8556 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8559 2005-10-21 Wim Taymans <wim@fluendo.com>
8561 * docs/design/part-segments.txt:
8564 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8565 Correctly set caps, even on the subbufer.
8567 2005-10-21 Wim Taymans <wim@fluendo.com>
8569 * docs/gst/gstreamer-docs.sgml:
8570 * docs/gst/gstreamer-sections.txt:
8577 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8581 And 2% more doc coverage.
8583 2005-10-21 Andy Wingo <wingo@pobox.com>
8585 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8588 2005-10-20 Wim Taymans <wim@fluendo.com>
8590 * gst/gsterror.c: (gst_error_get_message):
8593 * gst/gststructure.c:
8598 2005-10-20 Wim Taymans <wim@fluendo.com>
8603 Another 1% more coverage.
8605 2005-10-20 Wim Taymans <wim@fluendo.com>
8607 * docs/gst/gstreamer-sections.txt:
8608 * gst/gstelement.c: (gst_element_get_state_func),
8609 (gst_element_abort_state), (gst_element_commit_state),
8610 (gst_element_lost_state):
8612 * gst/gstquery.c: (gst_query_set_position),
8613 (gst_query_parse_position), (gst_query_set_duration),
8614 (gst_query_parse_duration), (gst_query_new_convert):
8616 Yay! 1% more docs coverage.
8618 2005-10-20 Wim Taymans <wim@fluendo.com>
8621 * gst/gstquery.c: (gst_query_set_position),
8622 (gst_query_parse_position), (gst_query_set_duration),
8623 (gst_query_parse_duration), (gst_query_new_convert):
8625 * gst/gstutils.c: (gst_element_query_convert):
8627 Docs and consistency fixes.
8629 2005-10-20 Wim Taymans <wim@fluendo.com>
8635 2005-10-20 Wim Taymans <wim@fluendo.com>
8637 * gst/gstbin.c: (message_check), (bin_replace_message),
8638 (bin_remove_messages), (is_eos), (gst_bin_add_func),
8639 (update_degree), (gst_bin_sort_iterator_next),
8640 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8641 Reworked the message handling a bit, cache the messages instead of
8642 only the senders. alows us to do more in the future.
8644 2005-10-20 Wim Taymans <wim@fluendo.com>
8646 * docs/design/part-TODO.txt:
8649 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8650 (gst_base_sink_query):
8651 Don't use clock time to report position when in EOS.
8653 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
8655 * tools/gst-inspect.c: (print_interfaces),
8656 (print_element_properties_info), (print_element_info):
8657 Fix interface output with gst-inspect -a; don't print
8658 newlines after double/float properties.
8660 2005-10-20 Wim Taymans <wim@fluendo.com>
8662 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8663 (gst_base_sink_query):
8664 Speed up current position calculation.
8666 * gst/base/gstbasesrc.c: (gst_base_src_query),
8667 (gst_base_src_default_newsegment):
8668 Correctly set stream position in newsegment.
8670 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8671 (update_degree), (gst_bin_sort_iterator_next),
8672 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8673 * gst/gstmessage.c: (gst_message_new_custom):
8674 Clean up debugging info
8676 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8677 (gst_queue_loop), (gst_queue_handle_src_query):
8680 2005-10-19 Wim Taymans <wim@fluendo.com>
8682 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8683 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8684 Fix query handling again.
8686 2005-10-19 Wim Taymans <wim@fluendo.com>
8688 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8689 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8690 * gst/base/gstbasesrc.c: (gst_base_src_query):
8691 * gst/elements/gstfilesink.c: (gst_file_sink_query):
8692 * gst/elements/gsttypefindelement.c:
8693 (gst_type_find_handle_src_query), (find_element_get_length),
8694 (gst_type_find_element_activate):
8697 * gst/gstquery.c: (gst_query_new_position),
8698 (gst_query_set_position), (gst_query_parse_position),
8699 (gst_query_new_duration), (gst_query_set_duration),
8700 (gst_query_parse_duration), (gst_query_set_segment),
8701 (gst_query_parse_segment):
8703 Bundling query position/duration is not a good idea since duration
8704 does not change much and we don't want to recalculate it for every
8705 position query, so they are separated again..
8706 Base value in segment query is not needed.
8708 * gst/gstqueue.c: (gst_queue_handle_src_query):
8709 * gst/gstutils.c: (gst_element_query_position),
8710 (gst_element_query_duration), (gst_pad_query_position),
8711 (gst_pad_query_duration):
8713 Updates for query API change.
8714 Added some docs here and there.
8716 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
8718 * check/gst/gstbin.c: (GST_START_TEST):
8719 * check/gst/gstghostpad.c: (GST_START_TEST):
8720 * check/pipelines/cleanup.c: (GST_START_TEST):
8721 wait on thread to die so we can check refcount correctly
8723 2005-10-18 Wim Taymans <wim@fluendo.com>
8725 * check/pipelines/stress.c: (GST_START_TEST):
8726 Make check a little more time consuming.
8728 2005-10-18 Wim Taymans <wim@fluendo.com>
8730 * check/Makefile.am:
8731 * check/pipelines/stress.c: (GST_START_TEST),
8732 (simple_launch_lines_suite), (main):
8733 Small state change torture test.
8735 * docs/design/part-states.txt:
8736 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8737 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8738 (gst_base_sink_change_state):
8739 Never take state lock from streaming thread, clean up ugly
8740 hacks. Unfortunatly core does not yet support nice ways to
8743 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8745 Start state recalc if a STATE_DIRTY message is posted, but only
8746 on the toplevel bin.
8748 * gst/gstelement.c: (gst_element_sync_state_with_parent),
8749 (gst_element_get_state_func), (gst_element_abort_state),
8750 (gst_element_commit_state), (gst_element_lost_state),
8751 (gst_element_set_state_func), (gst_element_change_state):
8753 State variables are now protected with the LOCK, the state
8754 lock is only used to serialize _set_state().
8756 2005-10-18 Wim Taymans <wim@fluendo.com>
8758 * check/gst/gstbin.c: (GST_START_TEST):
8759 * check/gst/gstmessage.c: (GST_START_TEST):
8760 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8761 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8763 * gst/gstelement.c: (gst_element_abort_state),
8764 (gst_element_commit_state), (gst_element_lost_state):
8765 * gst/gstmessage.c: (gst_message_new_state_changed),
8766 (gst_message_new_state_dirty), (gst_message_new_segment_start),
8767 (gst_message_new_segment_done), (gst_message_new_duration),
8768 (gst_message_parse_state_changed),
8769 (gst_message_parse_segment_start),
8770 (gst_message_parse_segment_done), (gst_message_parse_duration):
8772 * tools/gst-launch.c: (event_loop):
8773 Seriously, this is better than a previous commit as we only need
8774 to notify the fact that an element changed state in a streaming
8775 thread, marking the state of the parents dirty, hence the
8776 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8779 2005-10-18 Wim Taymans <wim@fluendo.com>
8781 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8782 (gst_bin_recalc_func):
8783 * gst/gstelement.c: (gst_element_set_clock),
8784 (gst_element_abort_state), (gst_element_lost_state):
8785 Cleanups, prepare for state change fixes.
8787 2005-10-18 Wim Taymans <wim@fluendo.com>
8790 * gst/gstelement.c: (gst_element_class_init),
8791 (gst_element_set_state), (gst_element_set_state_func):
8793 Pending ABI changes.
8794 GThreadPool in GstBinClass to monitor async state changes.
8795 state_cookie in GstElement to detect concurrent gst/set state.
8796 set_state is now virtual too in case a very complicated element
8797 has to be constructed.
8799 2005-10-18 Wim Taymans <wim@fluendo.com>
8801 * check/gst/gstbin.c: (GST_START_TEST):
8802 * check/gst/gstmessage.c: (GST_START_TEST):
8803 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8804 * gst/gstbin.c: (bin_bus_handler):
8805 * gst/gstelement.c: (gst_element_commit_state),
8806 (gst_element_lost_state):
8807 * gst/gstmessage.c: (gst_message_new_state_changed),
8808 (gst_message_new_segment_start), (gst_message_new_segment_done),
8809 (gst_message_new_duration), (gst_message_parse_state_changed),
8810 (gst_message_parse_segment_start),
8811 (gst_message_parse_segment_done), (gst_message_parse_duration):
8813 * tools/gst-launch.c: (event_loop):
8814 Make messages future proof.
8815 state-change gets a flag if it was a message comming from the
8817 segment-start/stop can also be specified in other formats.
8818 A message to notify an app that a pipeline changed playback
8820 Also fix a GstMessage leak in -launch
8822 2005-10-18 Andy Wingo <wingo@pobox.com>
8824 * gst/gstelement.c (gst_element_dispose): More helpful message.
8826 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
8828 reviewed by: <delete if not using a buddy>
8830 * common/gtk-doc.mak:
8832 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
8834 * gst/gstregistry.c: (gst_registry_scan_path_level):
8835 unref a plug-in we get that was already initialized
8837 2005-10-18 Stefan Kost <ensonic@users.sf.net>
8839 * docs/gst/gstreamer-sections.txt:
8840 * docs/libs/gstreamer-libs-sections.txt:
8845 2005-10-17 Andy Wingo <wingo@pobox.com>
8847 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8850 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8852 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8854 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8855 (gst_element_get_state_func): Better debug message.
8856 (gst_element_commit_state): s/INFO/DEBUG/.
8857 (gst_element_lost_state, gst_element_change_state):
8859 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8860 (gst_message_new_custom): s/INFO/LOG/.
8862 2005-10-17 Michael Smith <msmith@fluendo.com>
8864 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8865 Check if end time is valid using end time, not start time.
8867 2005-10-17 Stefan Kost <ensonic@users.sf.net>
8869 * check/gst-libs/controller.c: (GST_START_TEST),
8870 (gst_controller_suite):
8871 * libs/gst/controller/gstcontroller.c:
8872 (gst_controlled_property_set_interpolation_mode):
8873 * libs/gst/controller/gstcontroller.h:
8874 * libs/gst/controller/gstinterpolation.c:
8875 * testsuite/controller/.cvsignore:
8876 * testsuite/controller/Makefile.am:
8877 * testsuite/controller/interpolator.c:
8878 merge controller testsuites
8880 remove mem-chunk from docs
8882 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
8884 * gst/gstmemchunk.c:
8885 * gst/gstmemchunk.h:
8886 * gst/gsttrashstack.c:
8887 * gst/gsttrashstack.h:
8888 out. get out. you're fired. to the Attic !
8890 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
8892 * gst/gstcaps.c: (gst_caps_intersect):
8893 fix signedness issues in a (hopefully) correct way
8894 * gst/gstelement.c: (gst_element_pads_activate):
8896 * gst/gstobject.c: (gst_object_set_parent):
8899 2005-10-17 Julien MOUTTE <julien@moutte.net>
8901 * gst/gstvalue.h: Fix prototypes.
8903 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8905 * docs/gst/gstreamer-sections.txt:
8906 * gst/gst.c: (gst_version_string):
8908 * gst/gstversion.h.in:
8909 * win32/common/libgstreamer.def:
8910 add gst_version_string ()
8912 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8916 * gst/gst.c: (init_post):
8917 * win32/common/config.h.in:
8919 * gst/gstcaps.c: (gst_caps_intersect):
8920 use gint64, the range could be bigger than a guint
8922 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8925 document potential problem in 2038
8927 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8929 * gst/gstcaps.c: (gst_caps_intersect):
8930 Fix guint j diving under 0
8932 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8935 * win32/common/config.h:
8936 * win32/common/config.h.in:
8937 check for process.h, declares getpid() on Windows
8939 include process.h if we have it
8940 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8941 * gst/gstmemchunk.h:
8942 fix signedness issues
8943 * win32/common/libgstreamer.def:
8946 2005-10-16 Julien MOUTTE <julien@moutte.net>
8948 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8949 fix. Because of unsigned ints, caps intersection was going nuts and
8950 trying to access structures with G_MAXUINT index. That fixes
8951 videotestsrc ! ffmpegcolorspace ! fakesink
8952 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8955 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8958 use the gettext macro
8959 * gst/elements/gstelements.c:
8961 * gst/indexers/gstindexers.c:
8962 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8963 * win32/common/config.h:
8965 * win32/common/config.h.in:
8966 add the template to generate config.h
8967 * win32/common/gstenumtypes.c:
8968 * win32/common/gstversion.h:
8971 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8973 * gst/gst.c: (gst_version):
8974 * gst/gstversion.h.in:
8977 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
8980 Oops, add missing closing bracket.
8982 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8985 use common m4's for argument checking
8987 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
8989 * docs/gst/gstreamer-sections.txt:
8991 Add GST_EVENT_TYPE_NAME() macro.
8993 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8996 * gst/gstpluginfeature.c:
8998 privatize more symbols
9000 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9003 add srcdir, builddir includes to GST_ALL_CFLAGS, since
9004 everything that uses GStreamer API should have the includes
9006 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9008 * docs/gst/gstreamer-sections.txt:
9009 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9011 give each value a _get_type, removes the DATA exports
9013 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9017 remove _gst_registry_auto_load, not used anymore
9018 * gst/gstbin.c: (gst_bin_get_type):
9020 * gst/gstelement.c: (gst_element_get_type):
9022 * gst/gstobject.c: (gst_object_get_type):
9024 * gst/gstpad.c: (gst_pad_get_type):
9026 make _get_type functions similar, fixes data export from library
9028 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9031 correctly make conditionals
9032 * gst/elements/Makefile.am:
9033 * gst/elements/gstelements.c:
9034 fix typo causing fdsrc not to build
9036 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9038 * testsuite/Makefile.am:
9039 * testsuite/bytestream/.cvsignore:
9040 * testsuite/bytestream/Makefile.am:
9041 * testsuite/bytestream/filepadsink.c:
9042 * testsuite/bytestream/gstbstest.c:
9043 * testsuite/bytestream/test1.c:
9044 * testsuite/bytestream/testfile1:
9045 * testsuite/caps/normalisation.c:
9046 * testsuite/caps/random.c: (main):
9047 * testsuite/cleanup/.cvsignore:
9048 * testsuite/cleanup/Makefile.am:
9049 * testsuite/cleanup/cleanup1.c:
9050 * testsuite/cleanup/cleanup2.c:
9051 * testsuite/cleanup/cleanup3.c:
9052 * testsuite/cleanup/cleanup4.c:
9053 * testsuite/cleanup/cleanup5.c:
9054 * testsuite/controller/interpolator.c:
9055 * testsuite/debug/printf_extension.c: (main):
9056 * testsuite/elements/tee.c:
9057 * testsuite/negotiation/.cvsignore:
9058 * testsuite/negotiation/Makefile.am:
9059 * testsuite/negotiation/pad_link.c:
9060 * testsuite/pad/Makefile.am:
9061 * testsuite/pad/chainnopull.c:
9062 * testsuite/pad/getnopush.c:
9063 * testsuite/pad/link.c:
9064 * testsuite/refcounting/sched.c: (create_pipeline):
9065 * testsuite/registry/Makefile.am:
9066 * testsuite/registry/gst-print-formats.c:
9067 * testsuite/schedulers/.cvsignore:
9068 * testsuite/schedulers/142183-2.c:
9069 * testsuite/schedulers/142183.c:
9070 * testsuite/schedulers/143777-2.c:
9071 * testsuite/schedulers/143777.c:
9072 * testsuite/schedulers/147713.c:
9073 * testsuite/schedulers/147819.c:
9074 * testsuite/schedulers/147894-2.c:
9075 * testsuite/schedulers/147894.c:
9076 * testsuite/schedulers/Makefile.am:
9077 * testsuite/schedulers/group_link.c:
9078 * testsuite/schedulers/queue_link.c:
9079 * testsuite/schedulers/relink.c:
9080 * testsuite/schedulers/unlink.c:
9081 * testsuite/schedulers/unref.c:
9082 * testsuite/schedulers/useless_iteration.c:
9083 * testsuite/states/bin.c:
9084 clean out/remove some stuff from the testsuite directories
9086 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9089 check for some headers
9090 * gst/elements/Makefile.am:
9091 * gst/elements/gstelements.c:
9092 don't compile fdsrc without sys/socket.h
9093 * gst/indexers/Makefile.am:
9094 * gst/indexers/gstindexers.c: (plugin_init):
9095 don't compile fileindex without mmap
9097 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9104 * check/Makefile.am:
9105 * docs/gst/Makefile.am:
9106 * examples/helloworld/Makefile.am:
9108 * gst/base/Makefile.am:
9109 * gst/check/Makefile.am:
9110 * gst/elements/Makefile.am:
9111 * gst/indexers/Makefile.am:
9112 * gst/parse/Makefile.am:
9113 * libs/gst/controller/Makefile.am:
9114 * libs/gst/dataprotocol/Makefile.am:
9115 * examples/helloworld/helloworld.c: (event_loop):
9116 compile fixes, though it's not being compiled currently
9118 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
9120 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9121 Add some simple tests for the new taglist date API.
9123 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
9125 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9126 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9127 Beautify 'last-message' output: print 'none' for buffer timestamps
9128 and durations if none is set; improve alignment with next messages.
9130 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
9132 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9133 * gst/gstpluginfeature.h:
9134 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9135 * gst/gstregistry.h:
9136 * docs/gst/gstreamer-sections.txt:
9137 Add new API to check plugin feature version requirements.
9139 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9140 Some basic tests for the above.
9142 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
9144 * gst/gststructure.c: (gst_structure_to_string):
9145 guard against NULL printf - happens when for example
9146 a message structure with GstClock gets serialized
9148 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
9150 * gst/base/gstcollectpads.c: (gst_collectpads_event):
9151 Fix presumable copy'n'pasto.
9153 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
9155 * gst/elements/gstfakesrc.h:
9156 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9157 * gst/elements/gsttypefindelement.c:
9159 * gst/elements/gstfilesink.c: (gst_file_sink_render):
9160 I wonder if this could actually write +2GB files before
9162 2005-10-13 Andy Wingo <wingo@pobox.com>
9164 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9165 Fix Timmeke Waymans bug.
9166 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9167 string of the proper length to gst_caps_from_string. There's a
9168 potential for, before this fix, that this could cause someone
9169 connecting over the network to cause a segfault if the payload is
9172 2005-10-13 Stefan Kost <ensonic@users.sf.net>
9174 * docs/design/draft-push-pull.txt:
9175 * docs/design/part-overview.txt:
9176 * docs/random/TODO-pre-0.9:
9177 * docs/random/old/ChangeLog.gstreamer:
9178 * gst/base/gstpushsrc.c:
9182 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
9184 * gst/glib-compat.c: (gst_flags_get_first_value):
9185 * gst/glib-compat.h:
9186 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9187 (gst_value_compare_double), (gst_value_serialize_flags):
9188 GLib 2.6 g_flags_get_first_value has a bug that triggers an
9191 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
9193 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9194 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9196 * tools/gst-launch.c: (event_loop):
9197 print out clock nicely
9199 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
9201 * docs/gst/gstreamer-sections.txt:
9203 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9204 (gst_tag_list_get_date_index):
9205 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9206 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9208 2005-10-13 Julien MOUTTE <julien@moutte.net>
9210 * gst/base/gstcollectpads.c: (gst_collectpads_event),
9211 (gst_collectpads_chain):
9212 * gst/base/gstcollectpads.h: Handle newsegment and store informations
9215 2005-10-13 Stefan Kost <ensonic@users.sf.net>
9217 * docs/gst/gstreamer-sections.txt:
9220 * tools/gst-inspect.c: (main):
9221 * tools/gst-launch.c: (main):
9222 * tools/gst-run.c: (main):
9223 * tools/gst-xmlinspect.c: (main):
9224 fix GOption context leaks
9227 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
9231 * win32/common/config.h:
9233 * win32/vs6/grammar.dsp:
9234 * win32/vs6/libgstelements.dsp:
9235 * win32/vs6/libgstreamer.dsp:
9238 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
9240 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9241 * gst/base/gstbasesrc.c: (gst_base_src_query):
9242 fix more guint64<->gdouble conversions
9244 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
9247 add win32-update target
9248 * win32/common/gstconfig.h:
9249 * win32/common/gstenumtypes.c:
9250 * win32/common/gstenumtypes.h:
9251 * win32/common/gstversion.h:
9252 add files that visual studio can't generate
9254 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
9257 add a win32-update target
9260 2005-10-12 Wim Taymans <wim@fluendo.com>
9262 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9263 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9264 * gst/gstelement.c: (gst_element_commit_state),
9265 (gst_element_set_state):
9266 Protect flags with proper lock.
9267 unref provided cached clock in dispose.
9269 2005-10-12 Stefan Kost <ensonic@users.sf.net>
9272 * gst/gstminiobject.h:
9274 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9275 removed unused flags from miniobject
9278 2005-10-12 Wim Taymans <wim@fluendo.com>
9280 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9281 (gst_file_sink_event), (gst_file_sink_render):
9282 Flush before seeking.
9284 2005-10-12 Andy Wingo <wingo@pobox.com>
9286 * gst/gst.c (gst_init_check): Ignore unknown options, as has
9287 always been the case.
9289 2005-10-12 Stefan Kost <ensonic@users.sf.net>
9291 * check/gst/gstbin.c: (GST_START_TEST):
9292 * docs/gst/gstreamer-sections.txt:
9293 * gst/base/gstbasesink.c: (gst_base_sink_init):
9294 * gst/base/gstbasesrc.c: (gst_base_src_init),
9295 (gst_base_src_get_range), (gst_base_src_check_get_range),
9296 (gst_base_src_start), (gst_base_src_stop):
9297 * gst/base/gstbasesrc.h:
9298 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9299 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9300 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9304 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9306 * gst/gstelement.c: (gst_element_is_locked_state),
9307 (gst_element_set_locked_state), (gst_element_commit_state),
9308 (gst_element_set_state):
9310 * gst/gstindex.c: (gst_index_init):
9312 * gst/gstminiobject.h:
9313 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9314 (gst_object_set_parent):
9316 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9317 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9319 * gst/gstpadtemplate.h:
9320 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9321 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9322 * gst/gstpipeline.h:
9323 * gst/indexers/gstfileindex.c: (gst_file_index_load),
9324 (gst_file_index_commit):
9325 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9326 * testsuite/pad/link.c: (gst_test_src_init),
9327 (gst_test_filter_init), (gst_test_sink_init):
9328 * testsuite/states/locked.c: (main):
9329 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9330 moved bitshift from macro to enum definition
9332 2005-10-12 Wim Taymans <wim@fluendo.com>
9334 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9335 * gst/elements/gstfilesink.c: (gst_file_sink_event),
9336 (gst_file_sink_render):
9337 Some more debugging info.
9339 2005-10-12 Wim Taymans <wim@fluendo.com>
9341 * docs/design/part-states.txt:
9342 * tools/gst-launch.c: (main):
9344 Revert non-intentional change.
9346 2005-10-12 Wim Taymans <wim@fluendo.com>
9348 * check/gst/gstbin.c: (GST_START_TEST):
9349 * check/gst/gstelement.c: (GST_START_TEST):
9350 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9351 * check/gst/gstghostpad.c: (GST_START_TEST):
9352 * check/gst/gstpipeline.c: (GST_START_TEST):
9353 * check/pipelines/simple_launch_lines.c: (run_pipeline):
9354 * check/states/sinks.c: (GST_START_TEST):
9355 * gst/elements/gsttypefindelement.c: (stop_typefinding):
9356 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9357 (gst_bin_remove_func), (gst_bin_get_state_func),
9358 (gst_bin_recalc_state), (gst_bin_change_state_func),
9360 * gst/gstelement.c: (gst_element_get_state_func),
9361 (gst_element_get_state), (gst_element_abort_state),
9362 (gst_element_commit_state), (gst_element_set_state),
9363 (gst_element_change_state), (gst_element_change_state_func):
9365 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9366 (gst_pipeline_provide_clock_func):
9367 * gst/gstutils.c: (gst_element_link_pads_filtered):
9368 * tools/gst-launch.c: (main):
9369 * tools/gst-typefind.c: (main):
9370 Use GstClockTime in _get_state() instead of GTimeVal.
9371 Remove old code in gstutils.c
9373 2005-10-12 Andy Wingo <wingo@pobox.com>
9375 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9378 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9379 there is no task. Shouldn't affect any code, as nothing in our
9380 plugins checks this return value.
9381 (gst_pad_stop_task): Also take the stream lock if the pad has no
9384 2005-10-12 Wim Taymans <wim@fluendo.com>
9386 * gst/gstpad.c: (pre_activate), (post_activate),
9387 (gst_pad_activate_pull), (gst_pad_activate_push):
9388 Cleanup activation code. Reset old state if
9391 2005-10-12 Wim Taymans <wim@fluendo.com>
9393 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9394 (gst_base_sink_change_state):
9395 No need to prerol after receiving EOS.
9397 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9398 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9399 * gst/elements/gstidentity.c: (gst_identity_event):
9400 Print events more verbosely.
9402 2005-10-12 Wim Taymans <wim@fluendo.com>
9404 * check/Makefile.am:
9405 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9406 * check/states/sinks2.c:
9407 Moved sinks2 testcode in sinks check.
9409 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9410 (gst_bin_remove_func), (gst_bin_recalc_state),
9411 (gst_bin_change_state_func), (bin_bus_handler):
9412 Fix potential race condition when _get_state() iterated over an
9413 ASYNC element right before it posted a state completion.
9416 Do proper cast here.
9418 * gst/gstevent.c: (gst_event_new_newsegment),
9419 (gst_event_parse_newsegment):
9420 A playback rate of 0.0 is not allowed.
9422 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9424 * win32/common/config.h:
9425 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9426 (_trewinddir), (_ttelldir), (_tseekdir):
9427 * win32/common/dirent.h:
9428 * win32/common/gtchar.h:
9429 * win32/common/libgstbase.def:
9430 * win32/common/libgstreamer.def:
9431 * win32/vs6/grammar.dsp:
9432 * win32/vs6/gst_inspect.dsp:
9433 * win32/vs6/gst_launch.dsp:
9434 * win32/vs6/gstreamer.dsw:
9435 * win32/vs6/libgstbase.dsp:
9436 * win32/vs6/libgstelements.dsp:
9437 * win32/vs6/libgstreamer.dsp:
9438 Visual Studio 6 project files, and a new common directory.
9441 2005-10-11 Wim Taymans <wim@fluendo.com>
9443 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9444 (gst_base_sink_do_sync), (gst_base_sink_query),
9445 (gst_base_sink_change_state):
9446 * gst/base/gstbasesink.h:
9447 Correctly parse newsegment info.
9449 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9451 * gst/gst.c: (init_post):
9452 split plugin paths correctly
9454 2005-10-11 Wim Taymans <wim@fluendo.com>
9456 * check/gst/gstevent.c: (GST_START_TEST):
9457 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9458 (gst_base_sink_change_state):
9459 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9460 * gst/base/gstbasetransform.c: (gst_base_transform_event):
9461 * gst/elements/gstfilesink.c: (gst_file_sink_event):
9462 * gst/gstevent.c: (gst_event_new_newsegment),
9463 (gst_event_parse_newsegment):
9465 Added extra flag to newsegment for future API freeze.
9466 Updated check and base elements.
9468 2005-10-11 Julien MOUTTE <julien@moutte.net>
9470 * gst/base/gstcollectpads.c: (gst_collectpads_init),
9471 (gst_collectpads_add_pad), (gst_collectpads_pop),
9472 (gst_collectpads_event), (gst_collectpads_chain):
9473 * gst/base/gstcollectpads.h: Handle EOS correctly.
9475 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9477 * tools/gst-launch.c: (main):
9478 more null protecting
9480 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9482 * gst/gst-i18n-lib.h:
9483 check for ENABLE_NLS, not GETTEXT_PACKAGE
9484 * gst/gstregistry.c: (gst_registry_add_plugin),
9485 (gst_registry_scan_path_level),
9486 (_gst_registry_remove_cache_plugins):
9487 protect possibly NULL strings
9488 * gst/parse/types.h:
9489 config.h already included before
9490 * tools/gst-inspect.c: (main):
9491 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9492 check for ENABLE_NLS, not GETTEXT_PACKAGE
9493 * tools/gst-launch.c: (main):
9494 check for ENABLE_NLS, not GETTEXT_PACKAGE
9496 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9499 if we don't have glib, fail before testing 2.8
9500 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9501 fix a leak, should fix plugins-base testsuite
9503 2005-10-11 Andy Wingo <wingo@pobox.com>
9505 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9506 take the mode we're going to as an arg. Go head and set the mode
9507 and flushing flags now, so that if the activate function starts a
9508 thread all the flags will be in the right state.
9509 (post_activate): Renamed also. Just handle making sure streaming
9510 finishes for the deactivation case, and setting the deactivated
9512 (gst_pad_set_active): Complain loudly if deactivation fails.
9513 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9514 (gst_pad_activate_push): Adapt to pre/post_activate changes,
9515 remove the terrible hack.
9517 2005-10-11 Wim Taymans <wim@fluendo.com>
9519 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9520 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9521 (gst_bin_recalc_state), (gst_bin_change_state_func),
9522 (gst_bin_dispose), (bin_bus_handler):
9524 Prepare to make current EOS message queue more generic.
9527 * gst/gstevent.c: (gst_event_new_newsegment),
9528 (gst_event_parse_newsegment):
9530 Rename base to stream_time.
9535 2005-10-11 Wim Taymans <wim@fluendo.com>
9537 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9538 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9539 (gst_bin_change_state_func), (bin_bus_handler):
9541 Work on proper clock selection.
9543 2005-10-11 Edward Hervey <edward@fluendo.com>
9545 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
9546 * libs/gst/controller/gstcontroller.h:
9547 Added GList* version of _remove_properties() in order to be able to wrap
9550 2005-10-11 Wim Taymans <wim@fluendo.com>
9552 * docs/design/part-states.txt:
9555 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9556 (gst_bin_change_state_func), (bin_bus_handler):
9557 Doc updates. Don't distribute the same clock over and over again.
9563 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9564 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9565 (gst_pad_send_event):
9567 Make probe emission threadsafe again.
9568 Register quarks and move _get_name() from utils.
9571 * gst/gstpipeline.c: (gst_pipeline_class_init),
9572 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9573 Only redistribute the clock of it changed.
9575 * gst/gstsystemclock.h:
9580 Moved the _flow_get_name() to GstPad.
9582 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9584 * check/gst-libs/gdp.c: (GST_START_TEST):
9585 * check/gst/gstcaps.c: (GST_START_TEST):
9586 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9587 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9588 (gst_dp_packet_from_caps):
9589 fix more valgrind warnings before turning up the heat
9591 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9593 * gst/parse/grammar.y:
9594 some cleanup before the hacking
9596 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9598 * gst/base/gstbasesrc.c: (gst_base_src_query):
9600 * gst/gstutils.c: (gst_guint64_to_gdouble),
9601 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9603 externalize, basesrc uses it
9604 obviously the implementation needs testing
9606 2005-10-10 Wim Taymans <wim@fluendo.com>
9608 * tests/sched/Makefile.am:
9609 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9610 (make_pipeline3), (make_pipeline4), (print_elem), (main):
9612 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9614 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9615 apparently converting from guint64 to double is not implemented
9618 2005-10-10 Wim Taymans <wim@fluendo.com>
9620 * check/Makefile.am:
9621 * check/generic/states.c: (GST_START_TEST):
9622 * check/gst/gstbin.c: (GST_START_TEST):
9623 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9624 * check/states/sinks.c: (GST_START_TEST):
9625 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9627 Check fixes, use API as stated in design docs, remove hacks.
9629 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9630 (gst_base_sink_change_state):
9631 Catch stopping our task while we're shutting down.
9633 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9634 (gst_bin_remove_func), (gst_bin_get_state_func),
9635 (gst_bin_recalc_state), (gst_bin_change_state_func),
9638 * gst/gstelement.c: (gst_element_init),
9639 (gst_element_get_state_func), (gst_element_abort_state),
9640 (gst_element_commit_state), (gst_element_lost_state),
9641 (gst_element_set_state), (gst_element_change_state),
9642 (gst_element_change_state_func):
9644 New state change algorithm (see #318116)
9646 * gst/gstpipeline.c: (gst_pipeline_class_init),
9647 (gst_pipeline_init), (gst_pipeline_set_property),
9648 (gst_pipeline_get_property), (do_pipeline_seek),
9649 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9650 * gst/gstpipeline.h:
9651 Remove crude state change hacks.
9656 * tools/gst-launch.c: (main):
9657 Fixes for state change. Needs some more work to fully use the
9660 2005-10-10 Andy Wingo <wingo@pobox.com>
9662 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9664 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9665 this flag, but it's not even in GLib 2.6. Odd. Hack around the
9668 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
9670 * gst/gstiterator.c: (gst_iterator_new):
9671 Fix my previous commit: GTypes passed to gst_iterator_new()
9672 can be fundamental types.
9674 2005-10-10 Wim Taymans <wim@fluendo.com>
9676 * gst/gstelement.c: (gst_element_iterate_pad_list),
9677 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9678 (gst_element_iterate_sink_pads):
9679 Use src/sink pads lists for the respective iterators instead
9682 2005-10-10 Andy Wingo <wingo@pobox.com>
9684 Merged in popt removal + GOption addition patch from Ronald, bug
9687 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9688 GstElement macros around, remove popt-related symbols, add goption
9691 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9693 * docs/gst/Makefile.am:
9694 * docs/libs/Makefile.am: No POPT_CFLAGS.
9696 * examples/manual/Makefile.am:
9697 * docs/manual/basics-init.xml: Doc updates with an example.
9699 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9700 (gst_init), (parse_one_option), (parse_goption_arg):
9701 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9702 bit of hand merging and debugging to get the GOption stuff working
9705 * tests/Makefile.am:
9706 * tools/Makefile.am:
9707 * tools/gst-inspect.c: (main):
9708 * tools/gst-launch.c: (main):
9709 * tools/gst-run.c: (main):
9710 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9712 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
9714 * gst/gstiterator.c: (gst_iterator_new):
9715 Add assertions to make sure passed GType is likely to really
9716 be a GType (as the compiler won't catch it if the size and
9717 GType arguments get mixed up, see #318447).
9719 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
9721 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9723 * gst/gstbin.c: (gst_bin_iterate_sorted):
9724 Pass GType and size arguments to gst_iterator_new() in the right
9725 order (maybe we should make _new() take the GType as first argument
9726 just like _new_list()?) (#318447).
9729 2005-10-10 Wim Taymans <wim@fluendo.com>
9731 * gst/gstelement.c: (gst_element_finalize):
9732 And free the GStaticRecMutex too
9734 2005-10-10 Andy Wingo <wingo@pobox.com>
9736 * gst/gstelement.c (gst_element_init, gst_element_finalize):
9737 Allocate and free the mutex properly.
9739 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9741 (GstElement): The state_lock is now recursive. Rebuild your
9742 plugins, suckers. Old macros adapted.
9744 * docs/gst/gstreamer-sections.txt: Doc updates.
9747 * gst/gstutils.c (g_static_rec_cond_timed_wait)
9748 (g_static_rec_cond_wait): Ported from state changes patch, while
9749 we wait on bug #317802 to be solved in a well-distributed GLib.
9751 * gst/gstelement.c (gst_element_change_state_func): Renamed from
9752 gst_element_change_state, variable name changes.
9753 (gst_element_change_state): Split out of gst_element_set_state in
9754 preparation for the state change merge. Doesn't pay attention to
9755 the 'transition' argument.
9756 (gst_element_set_state): Updates, hopefully purely cosmetic.
9757 (gst_element_sync_state_with_parent): MT-safety. Ported from the
9759 (gst_element_get_state_func): Renamed from get_state, cosmetic
9762 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9764 * gst/elements/gstelements.c:
9765 * win32/GStreamer.vcproj:
9767 * win32/dirent.c: (_tseekdir):
9768 * win32/gst-inspect.vcproj:
9769 * win32/gst-launch.vcproj:
9770 * win32/gstconfig.h:
9771 * win32/gstelements.vcproj:
9772 * win32/gstenumtypes.c: (gst_object_flags_get_type):
9773 * win32/gstreamer.def:
9775 updates for the win32 build (patch from Sebastien Moutte)
9777 2005-10-10 Andy Wingo <wingo@pobox.com>
9779 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9780 gst_bin_get_state, cleaned up (but no logic changes).
9781 (bin_element_is_sink): Comment updates.
9782 (sink_iterator_filter): Remove needless cast.
9783 (gst_bin_iterate_sinks): Doc update.
9784 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9785 cleaned up (but no logic changes).
9787 * check/states/sinks.c (test_src_sink): Cleanups from the state
9789 (test_livesrc_sink): Sync on the state.
9791 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9792 the state change patch.
9794 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9797 * check/gst/gstbin.c: Merge in some style fixes and additional
9798 checks from Wim's state change patch.
9800 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
9802 * gst/base/gsttypefindhelper.c: (helper_find_peek),
9803 (gst_type_find_helper):
9804 Check whether we have the requested data already in our list of
9805 cached buffers before pulling a new buffer; also make the buffer
9806 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9808 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9813 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9814 don't use long long, it's not portable. Replacing with
9815 gint64 seems to work; let's hope no skeletons fall out of the closet.
9817 2005-10-10 Andy Wingo <wingo@pobox.com>
9819 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9821 2005-10-09 Stefan Kost <ensonic@users.sf.net>
9823 * docs/gst/gstreamer-sections.txt:
9828 * gst/gstmessage.c: (gst_message_parse_state_changed):
9831 more docs, fix compilation
9833 2005-10-09 Philippe Khalaf <burger@speedy.org>
9835 Fixed a few forgotten variables on previous commit
9837 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
9839 * gst/base/gsttypefindhelper.c: (helper_find_peek):
9840 Fix evil typefind crasher: getrange() might return a short
9841 buffer at the end of a file, but gst_type_find_peek() must
9842 either return the full data as requested or NULL, but
9843 never a short buffer.
9845 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
9847 * gst/gstmessage.c: (gst_message_new_state_changed),
9848 (gst_message_parse_state_changed):
9850 don't use "new", it's a C++ keyword
9852 2005-10-08 Wim Taymans <wim@fluendo.com>
9854 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9855 * gst/gstelement.c: (gst_element_post_message):
9856 * gst/gstpipeline.c: (gst_pipeline_change_state):
9857 Small docs and debug updates.
9859 2005-10-08 Stefan Kost <ensonic@users.sf.net>
9861 * docs/gst/gstreamer-sections.txt:
9862 * gst/gstelementfactory.c:
9867 2005-10-08 Wim Taymans <wim@fluendo.com>
9869 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9870 (gst_bin_dispose), (bin_bus_handler):
9871 Fix typos, add comments.
9872 Clear EOS list when going to PAUSED from any direction and do it
9873 in a threadsafe way.
9874 Get base time in a threadsafe way too.
9875 Fix confusing debug in the change_state function.
9876 Various other small cleanups.
9878 * gst/gstelement.c: (gst_element_post_message):
9879 Fix very verbose bus posting code.
9881 * gst/gstpipeline.c: (gst_pipeline_class_init),
9882 (gst_pipeline_set_property), (gst_pipeline_get_property),
9883 (gst_pipeline_change_state):
9884 Small ARG_ -> PROP_ cleanup
9886 2005-10-08 Wim Taymans <wim@fluendo.com>
9888 * gst/gstbin.c: (is_eos), (bin_bus_handler):
9889 Do a less CPU demanding EOS check because we can.
9891 2005-10-08 Wim Taymans <wim@fluendo.com>
9893 * libs/gst/dataprotocol/dataprotocol.c:
9894 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9895 (gst_dp_packet_from_event):
9896 * libs/gst/dataprotocol/dataprotocol.h:
9897 * libs/gst/dataprotocol/dp-private.h:
9898 It's about time we bump the version number.
9899 Since event types don't fit in the guint8 anymore describing
9900 the payload type, make payload type 16 bits wide.
9902 2005-10-08 Wim Taymans <wim@fluendo.com>
9904 * docs/design/part-TODO.txt:
9905 * docs/design/part-clocks.txt:
9906 * docs/design/part-events.txt:
9907 * docs/design/part-gstbin.txt:
9908 * docs/design/part-gstelement.txt:
9909 * docs/design/part-gstpipeline.txt:
9910 * docs/design/part-live-source.txt:
9911 * docs/design/part-messages.txt:
9912 * docs/design/part-overview.txt:
9913 * docs/design/part-states.txt:
9916 2005-10-08 Wim Taymans <wim@fluendo.com>
9920 Fix event quark registration.
9921 Add some space between events so we can insert them in the
9924 2005-10-08 Wim Taymans <wim@fluendo.com>
9926 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9927 (gst_base_sink_handle_buffer):
9934 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9935 (gst_queue_set_property), (gst_queue_get_property):
9937 Remove old unused properties.
9939 2005-10-08 Stefan Kost <ensonic@users.sf.net>
9940 * docs/gst/gstreamer-sections.txt:
9943 * gst/gstminiobject.c:
9944 * gst/gstminiobject.h:
9948 lots of new docs and doc fixes
9950 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9952 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9954 * gst/gstregistry.c: (gst_registry_lookup_locked),
9955 (gst_registry_scan_path_level):
9956 * gst/gstregistryxml.c: (load_plugin):
9957 Only ever load one plugin for a given plugin basename.
9958 This ensures correct overriding of GST_PLUGIN_PATH over
9959 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9960 system installed plugins.
9962 2005-10-08 Wim Taymans <wim@fluendo.com>
9964 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9965 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9966 Prepare for doing QOS.
9968 2005-10-08 Wim Taymans <wim@fluendo.com>
9970 * check/gst/gstbin.c: (GST_START_TEST):
9971 * check/pipelines/cleanup.c: (GST_START_TEST):
9972 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9973 Allow new clock message too.
9975 2005-10-08 Wim Taymans <wim@fluendo.com>
9977 * gst/gstmessage.c: (gst_message_new_error),
9978 (gst_message_new_warning), (gst_message_new_tag),
9979 (gst_message_new_state_changed), (gst_message_new_clock_provide),
9980 (gst_message_new_clock_lost), (gst_message_new_new_clock),
9981 (gst_message_new_segment_start), (gst_message_new_segment_done),
9982 (gst_message_parse_state_changed),
9983 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9984 (gst_message_parse_new_clock):
9986 Also carry the clock in question.
9988 2005-10-08 Wim Taymans <wim@fluendo.com>
9990 * gst/gstmessage.c: (gst_message_new_custom),
9991 (gst_message_new_eos), (gst_message_new_error),
9992 (gst_message_new_warning), (gst_message_new_tag),
9993 (gst_message_new_state_changed), (gst_message_new_clock_provide),
9994 (gst_message_new_new_clock), (gst_message_new_segment_start),
9995 (gst_message_new_segment_done), (gst_message_parse_state_changed),
9996 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9999 Added clock related messages.
10001 * gst/gstpipeline.c: (gst_pipeline_change_state):
10002 Post message when the clock changed.
10004 * tools/gst-launch.c: (event_loop):
10007 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
10009 * tools/gst-inspect.c: (print_element_properties_info):
10010 Can't pass NULL strings to g_print() on windows.
10012 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
10014 * docs/Makefile.am:
10015 * docs/gst/Makefile.am:
10016 * docs/gst/gstreamer-docs.sgml:
10017 * docs/gst/running.xml:
10018 * docs/version.entities.in:
10019 add a chapter on running GStreamer.
10020 document GST_DEBUG and GST_PLUGIN* env vars
10022 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
10027 remove PLUGINS_BUILDDIR stuff
10028 * gst/gst.c: (init_post):
10029 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10031 remove, it was condescending and not needed
10033 2005-10-08 Wim Taymans <wim@fluendo.com>
10035 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10036 (gst_base_sink_handle_object), (gst_base_sink_event),
10037 (gst_base_sink_wait), (gst_base_sink_handle_event),
10038 (gst_base_sink_change_state):
10039 * gst/base/gstbasesink.h:
10040 Repost EOS message while going to PLAYING if still EOS.
10041 Make sure that when receiving a FLUSH_START we don't attempt
10042 to sync on the clock anymore.
10044 2005-10-08 Wim Taymans <wim@fluendo.com>
10046 * tools/gst-launch.c: (event_loop):
10047 Better message printout.
10049 2005-10-08 Wim Taymans <wim@fluendo.com>
10051 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10052 (gst_bin_child_proxy_get_children_count):
10053 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10054 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10055 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10056 (gst_child_proxy_set_valist):
10057 * gst/parse/grammar.y:
10058 Make ChildProxy threadsafe and fix mem leaks.
10060 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
10062 * gst/gst.c: (init_post):
10063 debug the GST_PLUGIN_ env vars
10065 2005-10-08 Wim Taymans <wim@fluendo.com>
10067 * check/gst/gstbin.c: (GST_START_TEST):
10068 * check/gst/gstmessage.c: (GST_START_TEST):
10069 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10070 * gst/gstelement.c: (gst_element_commit_state),
10071 (gst_element_lost_state):
10072 * gst/gstmessage.c: (gst_message_new_state_changed),
10073 (gst_message_parse_state_changed):
10074 * gst/gstmessage.h:
10075 * tools/gst-launch.c: (event_loop):
10076 Added extra field to STATE_CHANGE message with the pending
10077 state, which will be different from the new state soon.
10079 2005-10-08 Wim Taymans <wim@fluendo.com>
10081 * gst/gstbus.c: (gst_bus_pop):
10083 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10084 Small cleanups and doc updates.
10086 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
10088 * gst/gst.c: (init_pre):
10089 * gst/gstbin.c: (gst_bin_add_func):
10090 log distributing clocks and base time
10091 * gst/gstregistry.c: (gst_registry_add_plugin),
10092 (gst_registry_scan_path_level), (gst_registry_scan_path):
10093 clean up the debugging output a little
10094 * gst/gstutils.c: (gst_element_state_get_name):
10095 warn about a memleak (I've actually seen this be used, though
10096 it was probably a bug)
10098 2005-10-07 Wim Taymans <wim@fluendo.com>
10100 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10101 (gst_base_src_init), (gst_base_src_default_newsegment),
10102 (gst_base_src_newsegment), (gst_base_src_do_seek),
10103 (gst_base_src_loop), (gst_base_src_start):
10104 * gst/base/gstbasesrc.h:
10105 Make the newsegment event customizable by subclasses.
10107 2005-10-07 Wim Taymans <wim@fluendo.com>
10109 * gst/gstevent.c: (gst_event_new_buffersize),
10110 (gst_event_parse_buffersize):
10112 New event for future idea.
10114 2005-10-07 Andy Wingo <wingo@pobox.com>
10116 * gst/gstelement.c (gst_element_post_message): Doc update.
10118 * docs/gst/gstreamer-sections.txt: Update.
10120 * gst/gstmessage.c (gst_message_new_application): Made into a
10121 function like honest API calls.
10122 (gst_message_new_element): New message type.
10124 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10126 * check/elements/fakesrc.c (test_no_preroll): New check, checks
10127 that setting a live fakesrc to PAUSED returns NO_PREROLL both
10130 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10131 NO_PREROLL from gst_element_change_state to fall through.
10133 2005-10-07 Wim Taymans <wim@fluendo.com>
10135 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10136 (gst_ghost_pad_do_activate_push):
10137 Activating a ghostpad with no internal pad in push mode
10140 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
10143 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10144 Fixes compilation on Windows.
10146 2005-10-07 Michael Smith <msmith@fluendo.com>
10148 * tools/gst-inspect.c:
10149 Print out feature and plugin count at the end when printing out
10152 2005-10-04 Michael Smith <msmith@fluendo.com>
10154 * gst/gsterror.c: (_gst_stream_errors_init):
10155 Add another error string used in a few existing plugins.
10158 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10159 * tools/gst-inspect.c: (print_element_info):
10160 When a feature disappears from a plugin (and the feature exists in
10161 the cached registry file), things went horribly wrong. This isn't a
10162 complete fix, we should actually be removing the 'missing' features
10163 from the features list when we load the actual plugin. That's not
10166 2005-10-04 Johan Dahlin <johan@gnome.org>
10168 * check/gst/gstiterator.c: (GST_START_TEST):
10169 * gst/gstbin.c: (gst_bin_iterate_elements),
10170 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10171 * gst/gstelement.c: (gst_element_iterate_pads):
10172 * gst/gstformat.c: (gst_format_iterate_definitions):
10173 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10174 (gst_iterator_new_list), (gst_iterator_filter):
10175 * gst/gstiterator.h:
10176 * gst/gstquery.c: (gst_query_type_iterate_definitions):
10177 Add a GType to GstIterator, update callsites and tests.
10179 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
10181 * gst/gstpad.c: (gst_pad_event_default_dispatch):
10182 give events a chance to be handled by event probes when the pad
10185 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
10187 * gst/gstevent.c: (gst_event_type_get_name),
10188 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10190 add string representations for event types
10192 2005-10-06 Wim Taymans <wim@fluendo.com>
10194 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10195 Don't use NULL pointers.
10197 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
10199 * gst/gst_private.h:
10201 * gst/gstelement.c:
10203 * gst/gstpluginfeature.c:
10204 widen the debug category in output to fit the biggest one we have
10205 add a bus category and use it
10206 play with the colors
10207 fix up some categories
10209 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
10211 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10212 add push activation of sink ghost pads.
10213 Andye, please verify
10215 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
10217 * gst/gstutils.c: (gst_element_link_pads):
10218 fix a bug in the case where neither element has a pad
10219 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10220 add a test for that case
10222 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
10224 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10225 emit have-data before checking for peers. This allows
10226 for probe handlers to connect elements. This helps autopluggers.
10227 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10229 add six checks, linked/unlinked with no/true/false probe
10231 2005-10-04 Wim Taymans <wim@fluendo.com>
10233 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10234 (gst_fake_sink_event), (gst_fake_sink_preroll),
10235 (gst_fake_sink_render), (gst_fake_sink_change_state):
10236 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10237 (gst_fake_src_get_property), (gst_fake_src_create),
10238 (gst_fake_src_stop):
10239 * gst/elements/gstidentity.c: (gst_identity_stop):
10240 Protect last_message with lock.
10242 2005-10-04 Edward Hervey <edward@fluendo.com>
10245 Added precision in the comments for GST_FORMAT_DEFAULT
10247 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
10249 * tools/gst-launch.c: (main):
10250 Don't try to run erroneous pipelines.
10252 2005-10-04 Julien MOUTTE <julien@moutte.net>
10254 * gst/gstbus.c: We don't need this header.
10256 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
10259 back to development
10261 === release 0.9.3 ===
10263 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
10267 Releasing 0.9.3, "Unregistered"
10269 2005-10-03 Andy Wingo <wingo@pobox.com>
10271 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10272 whereby calling a pad's activatepush() function can start a thread
10273 that starts to push or pull before the pad gets the FLUSHING flag
10274 unset. Hack around it by holding the stream lock until the flag is
10275 set. Need to replace this with a proper solution. Together with
10276 the ghost pad fixes, this fixes mp3 playing/tagreading.
10278 * docs/design/part-gstghostpad.txt: Add a note about activation of
10279 proxy pads outside of ghost pads.
10281 * gst/gstghostpad.c: Implement the ghost pad activation design.
10283 2005-10-02 Andy Wingo <wingo@pobox.com>
10285 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10286 It is volatile, after all.
10288 * docs/design/part-gstghostpad.txt: Flesh out activation with
10291 * gst/base/gstbasesrc.c (gst_base_src_init): Use
10294 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
10297 Fix (unused) AM_CONDITIONAL tests.
10299 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
10301 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10303 * gst/gstutils.c: (gst_pad_query_convert):
10304 Add assertion that makes sure src_val is >=0, just like
10305 gst_query_new_convert() has. (#315895)
10307 2005-09-30 Edward Hervey <edward@fluendo.com>
10309 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10310 Let's not iterate pads we're not interested in, it avoids getting
10311 sky-high refcounts on sinkpad.
10313 2005-09-30 Wim Taymans <wim@fluendo.com>
10315 * gst/gstelement.c: (gst_element_set_state),
10316 (gst_element_change_state):
10317 Small tweak, element in ASYNC remains ASYNC.
10319 2005-09-30 Wim Taymans <wim@fluendo.com>
10321 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10322 Only error is an error.
10324 * gst/gstbin.c: (gst_bin_change_state):
10327 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10328 Also call pad_block in pad alloc.
10330 * gst/gstutils.c: (gst_flow_get_name):
10333 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
10335 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10336 (gst_base_src_get_range):
10337 Fix documentation typos. Add some more debug info.
10339 2005-09-29 David Schleef <ds@schleef.org>
10341 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10342 more end-user friendly.
10343 * tools/gst-inspect.c: (main): Check if command-line argument is
10344 a file and attempt to load that file as a plugin.
10346 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
10348 * check/gst/gstbin.c:
10349 * check/states/sinks.c:
10350 fix tests for the new warning
10351 * check/gst/gstpipeline.c:
10352 add a test for pipeline and bus interaction
10353 * gst/gstelement.c:
10354 elements should be NULL if they get disposed; add a warning if not
10356 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
10359 for 2.6 refcounting, make debug log more correct by printing
10360 the actual refcounts at the time of swap (Wim)
10362 2005-09-29 Andy Wingo <wingo@pobox.com>
10364 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10365 removes signal watches previously added via
10366 gst_bus_add_signal_watch.
10367 (gst_bus_add_signal_watch): Don't return the source id, just store
10368 it on the bus if there wasn't an id already.
10370 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10371 add_signal_watch and remove_signal_watch.
10373 2005-09-29 Edward Hervey <edward@fluendo.com>
10375 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
10376 Better if we actually iterate the list :)
10378 2005-09-29 Wim Taymans <wim@fluendo.com>
10380 * check/gst/gstbin.c: (GST_START_TEST):
10381 Change for new bus API.
10383 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10384 (send_messages), (GST_START_TEST), (gstbus_suite):
10385 Change for new bus signal API.
10387 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10388 (gst_bus_source_prepare), (gst_bus_source_check),
10389 (gst_bus_create_watch), (gst_bus_add_watch_full),
10390 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10391 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10393 Remove support for multiple GSources operating on different
10394 message types as it is too complex and unneeded when using
10396 Added support for receiving signals from the bus.
10398 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
10400 * docs/libs/tmpl/gstdataprotocol.sgml:
10401 * docs/manual/advanced-dataaccess.xml:
10402 * gst/elements/gstcapsfilter.c:
10404 rename filter-caps to caps property
10406 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
10408 * gst/gstvalue.c: (gst_value_deserialize_fraction):
10409 More robust fraction string parsing.
10411 * docs/pwg/appendix-porting.xml:
10412 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10414 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
10416 * gst/gstcaps.c: (gst_caps_do_simplify):
10417 Thou shalt not free a structure and then continue using it
10418 in the next loop iteration.
10420 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10422 Add test case for caps simplification.
10424 2005-09-29 Wim Taymans <wim@fluendo.com>
10426 * check/gst/gstbin.c: (GST_START_TEST):
10429 2005-09-29 Wim Taymans <wim@fluendo.com>
10431 * check/gst/gstbin.c: (GST_START_TEST):
10434 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10435 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10436 (find_element), (gst_bin_sort_iterator_next),
10437 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10438 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10439 (gst_bin_change_state), (gst_bin_dispose):
10440 A bin does not have a bus, it gets the bus from the parent.
10442 * gst/gstelement.c: (gst_element_requires_clock),
10443 (gst_element_provides_clock), (gst_element_is_indexable),
10444 (gst_element_is_locked_state), (gst_element_change_state),
10445 (gst_element_set_bus_func):
10448 * gst/gstpipeline.c: (gst_pipeline_class_init),
10449 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10450 The pipeline provides a bus.
10452 2005-09-28 Johan Dahlin <johan@gnome.org>
10454 * gst/gstmessage.c (gst_message_parse_state_changed): Use
10455 gst_structure_get_enum instead of gst_structure_get_int
10457 * gst/gststructure.c (gst_structure_get_enum): Impl.
10459 * gst/gststructure.h (gst_structure_get_enum): Add
10461 * docs/gst/gstreamer-sections.txt: Ditto
10463 * gst/gstmessage.c (gst_message_new_state_changed): Use
10464 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10465 which does introspection.
10466 Reviewed by Christian Schaller
10468 2005-09-28 Stefan Kost <ensonic@users.sf.net>
10470 * gst/gstinfo.c: (gst_debug_log_default):
10471 don't do dummy g_strdup()s
10472 * libs/gst/controller/gstcontroller.c:
10473 (on_object_controlled_property_changed),
10474 (gst_controlled_property_new), (gst_controller_new_valist),
10475 (gst_controller_new_list),
10476 (gst_controller_remove_properties_valist), (gst_controller_set),
10477 (gst_controller_get), (gst_controller_sync_values),
10478 (gst_controller_get_value_array), (_gst_controller_class_init),
10479 (gst_controller_get_type):
10480 * libs/gst/controller/gstcontroller.h:
10481 * libs/gst/controller/gstinterpolation.c:
10482 (gst_controlled_property_find_timed_value_node):
10483 convert // to /**/ comments
10485 2005-09-28 Wim Taymans <wim@fluendo.com>
10487 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10488 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10489 (gst_bus_sync_signal_handler):
10491 Added async-message and sync-message signals to the bus.
10492 Added helper BusFunc to emit signals for all posted messages.
10494 * gst/gstmessage.c: (gst_message_type_get_name),
10495 (gst_message_type_to_quark), (gst_message_get_type):
10496 * gst/gstmessage.h:
10497 Register quarks for message names.
10499 2005-09-28 Stefan Kost <ensonic@users.sf.net>
10501 * docs/libs/gstreamer-libs-sections.txt:
10502 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10503 (gst_controller_new_list):
10504 * libs/gst/controller/gstcontroller.h:
10505 added another constructor for language bindings
10507 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
10509 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10513 * gst/gstinfo.c: (_gst_debug_init):
10514 slightly more readable color for refcount debugging
10516 2005-09-28 Wim Taymans <wim@fluendo.com>
10518 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10519 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10520 (find_element), (gst_bin_sort_iterator_next),
10521 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10522 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10523 (gst_bin_change_state), (gst_bin_dispose):
10524 Small doc fixes. get_clock -> provide_clock.
10526 * gst/gstelement.c: (gst_element_class_init),
10527 (gst_element_provides_clock), (gst_element_provide_clock),
10528 (gst_element_get_clock), (gst_element_commit_state),
10529 (gst_element_lost_state):
10530 * gst/gstelement.h:
10531 Make get/set_clock() symetric. Add provide_clock vmethod since
10532 that is actually what this function does.
10534 * gst/gstpipeline.c: (gst_pipeline_class_init),
10535 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10536 (gst_pipeline_get_clock):
10537 get_clock -> provide_clock.
10539 2005-09-28 Andy Wingo <wingo@pobox.com>
10541 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10542 lieu of real docs...
10544 * gst/elements/gstfdsrc.c: Cleaned up a bit.
10546 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
10548 * gst/elements/gstcapsfilter.c:
10549 * gst/elements/gstfakesink.c:
10550 * gst/elements/gstfakesrc.c:
10551 * gst/elements/gstfdsink.c:
10552 * gst/elements/gstfdsrc.c:
10553 * gst/elements/gstfilesink.c:
10554 * gst/elements/gstfilesrc.c:
10555 * gst/elements/gstidentity.c:
10556 * gst/elements/gsttee.c:
10557 * gst/elements/gsttypefindelement.c:
10558 Make element details static.
10560 2005-09-28 Wim Taymans <wim@fluendo.com>
10562 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10563 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10564 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10565 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10566 (gst_bin_change_state), (gst_bin_dispose):
10567 Some documentation updates.
10568 Clean up dispose handlers.
10570 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10571 * gst/gstpad.c: (gst_pad_dispose):
10572 Clean up dispose handler.
10574 * gst/gstpipeline.c: (gst_pipeline_change_state):
10575 Removed spurious UNLOCK.
10577 2005-09-27 Stefan Kost <ensonic@users.sf.net>
10579 * docs/gst/gstreamer-sections.txt:
10580 * gst/base/gstbasesrc.h:
10581 * gst/gstelement.h:
10585 * gst/gstpipeline.c:
10586 * gst/gstpipeline.h:
10589 added two new functions to the docs
10590 documents all undocumented GstXXXFlags
10591 completed some incomplete docs
10593 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
10595 * gst/gstbin.c: (gst_bin_dispose):
10596 * gst/gstelement.c: (gst_element_dispose):
10597 remove now useless and leaky resurrection code in dispose
10598 * gst/base/gstbasesrc.c: (gst_base_src_init):
10599 * gst/gstelementfactory.c: (gst_element_factory_create):
10600 * gst/gstobject.c: (gst_object_set_parent):
10603 2005-09-27 Wim Taymans <wim@fluendo.com>
10605 * docs/design/part-TODO.txt:
10608 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10609 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10610 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10611 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10612 (gst_bin_change_state):
10613 * gst/gstelement.h:
10614 Remove element variable, we keep element info in the iterator now.
10616 2005-09-27 Andy Wingo <wingo@pobox.com>
10618 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10621 2005-09-27 Wim Taymans <wim@fluendo.com>
10623 * check/gst/gstbin.c: (GST_START_TEST):
10624 Enable check that works now.
10626 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10627 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10628 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10629 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10630 (gst_bin_change_state):
10632 Redid the state change algorithm using a topological sort algo.
10633 Handles all cases correctly.
10634 Exposed iterator for state change order.
10636 * gst/gstelement.h:
10637 Temp storage for state changes. Need to get rid of this soon.
10639 2005-09-27 Wim Taymans <wim@fluendo.com>
10641 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10642 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10643 (link_fold_func), (gst_pad_proxy_setcaps):
10644 Leak fixes, the fold functions need to unref the passed object and
10645 _get_parent_*() returns ref to parent.
10647 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
10649 * check/gst/gstbuffer.c: (test_make_writable):
10650 Plug leak in test case and fix 'make check-valgrind'
10652 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
10654 * gst/gstbuffer.c: (gst_subbuffer_init):
10655 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10656 works correctly in all circumstances (we could have just copied
10657 the parent buffer's readonly flag, but conceptually it seems
10658 cleaner to mark all subbuffers as read-only). (based on patch
10659 by Alessandro Decina, #314710).
10661 * check/gst/gstbuffer.c: (create_read_only_buffer),
10662 (test_make_writable), (test_subbuffer_make_writable),
10664 Add some tests for gst_buffer_make_writable().
10666 2005-09-27 Wim Taymans <wim@fluendo.com>
10668 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10669 use gst_object_has_ancestor().
10671 * gst/gstobject.c: (gst_object_has_ancestor):
10673 gst_object_has_ancestor() copied from gstbin.c as it is a
10676 * tests/instantiate/create.c: (create_all_elements):
10677 * tests/lat.c: (handoff_src), (handoff_sink):
10678 * tests/sched/runxml.c: (main):
10679 * tests/seeking/seeking1.c: (main):
10680 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10682 Fix compilation of some tests.
10684 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
10687 Remove comment. GST_TYPE_G_ERROR is here to stay,
10688 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10689 (#316961, #300610).
10691 2005-09-26 Wim Taymans <wim@fluendo.com>
10693 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10694 Added check that shows error in state change order.
10696 2005-09-26 Wim Taymans <wim@fluendo.com>
10698 * gst/gstbin.c: (gst_bin_change_state):
10699 Make state change function use 3 queues again, we were
10700 adding elements in the wrong order.
10702 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10705 * gst/gstpad.c: (gst_pad_dispose):
10706 Added some debug info first.
10708 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
10710 * docs/design/draft-push-pull.txt:
10711 * docs/design/part-events.txt:
10712 * docs/design/part-overview.txt:
10713 * docs/design/part-scheduling.txt:
10714 Replace all _pull_region() with _pull_range()
10716 2005-09-26 Andy Wingo <wingo@pobox.com>
10718 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10720 * check/gst-libs/controller.c: Update for controller api change.
10723 * tests/Makefile.am:
10724 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10725 over by GLib bug 118439.
10727 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10728 routines to a function.
10730 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10732 * libs/gst/controller/gsthelper.c:
10733 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10734 (gst_object_sync_values): Renamed from sink_values. Ugh.
10736 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10738 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10739 Renamed from controller_key, as it is exported.
10741 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10743 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
10748 * gst/gstpadtemplate.h:
10751 * gst/gstqueryutils.c:
10752 * gst/gstqueryutils.h:
10753 remove queryutils headers after moving the two used functions
10754 to gstquery. also fixes build problem for gstsiddec
10756 2005-09-26 Michael Smith <msmith@fluendo.com>
10758 * tools/gst-launch.1.in:
10759 Correct documentation in manpage of debug syntax
10761 2005-09-26 Wim Taymans <wim@fluendo.com>
10763 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10764 (gst_base_src_is_seekable), (gst_base_src_change_state):
10765 Some more debugging info.
10767 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10769 * docs/gst/gstreamer-sections.txt:
10770 * gst/base/gstbasetransform.h:
10774 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10776 * docs/gst/.cvsignore:
10777 * docs/gst/tmpl/.cvsignore:
10778 * docs/gst/tmpl/gstpipeline.sgml:
10779 * docs/gst/tmpl/gstplugin.sgml:
10780 * gst/gstpipeline.c:
10783 inlined the last two docs files
10784 removed the tmpl directory from cvs (no more conflicts here!)
10786 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10788 * docs/gst/gstreamer-sections.txt:
10789 * docs/gst/tmpl/.cvsignore:
10790 * docs/gst/tmpl/gstpad.sgml:
10791 * docs/gst/tmpl/gstpadtemplate.sgml:
10793 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10794 (gst_pad_finalize), (gst_pad_set_pad_template):
10796 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10797 (gst_pad_template_class_init), (gst_pad_template_init),
10798 (gst_pad_template_dispose), (name_is_valid),
10799 (gst_static_pad_template_get), (gst_pad_template_new),
10800 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10801 (gst_pad_template_pad_created):
10802 * gst/gstpadtemplate.h:
10803 inlined two more docs
10804 factored gstpadtemplate out of gstpad
10806 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
10808 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10809 (test_children_state_change_order_semi_sink):
10810 Fix test case: we can't rely on a fixed state change order when
10811 going from READY => PAUSED because the sink might commit its
10812 new state first when the first buffer created by the source
10813 reaches the sink before the source has finished its change state.
10814 (Test case still fails at times, see #316856, comment 5 onwards)
10816 2005-09-24 Wim Taymans <wim@fluendo.com>
10818 * docs/design/part-events.txt:
10819 * docs/design/part-gstbus.txt:
10820 * docs/design/part-gstpipeline.txt:
10821 * docs/design/part-messages.txt:
10822 * docs/design/part-overview.txt:
10823 * docs/design/part-segments.txt:
10827 * gst/gstelement.c:
10830 * gst/gstiterator.c:
10831 Various documentation updates.
10833 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
10836 Well, that's embarassing. Luckily we weren't using
10837 GST_CLOCK_DIFF anywhere.
10839 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10841 * common/gtk-doc.mak:
10842 don't fail on building XML, FC4 slave shows a bunch of doc
10843 missing bits that I don't get
10845 * gst/gstpipeline.c:
10846 * gst/gststructure.c:
10849 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
10851 * docs/design/part-gstbin.txt:
10852 * docs/design/part-gstbus.txt:
10854 Add blurb about how the bus goes into flushing mode and
10855 drops all messages when its bin goes from READY into NULL
10858 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10860 * docs/gst/gstreamer-sections.txt:
10861 * gst/gststructure.c: (gst_structure_get_clock_time):
10862 * gst/gststructure.h:
10863 add a method to get a GstClockTime out of a structure
10865 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
10867 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10868 (test_children_state_change_order_semi_sink), (gst_bin_suite):
10869 Added test to check state change order in bins (can still be made
10870 to fail here under heavy disk load; bails out with 'Push on pad
10871 fakesink:sink0, but it was not activated in push mode').
10873 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10874 Fix state change order when there is only a semi sink (#316856)
10876 * gst/gstbus.c: (gst_bus_class_init):
10877 Use _class_peek_parent(), not _class_ref(); fix docs to say
10878 'default main context' instead of 'mainloop' where that is
10881 * gst/gstelement.c: (gst_element_commit_state),
10882 (gst_element_set_state):
10883 Fix typos in debug messages
10885 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10888 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10889 * gst/gstpluginfeature.c:
10891 various doc updates
10892 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10893 change an assert into an error until it gets fixed properly
10895 2005-09-23 Stefan Kost <ensonic@users.sf.net>
10897 * docs/gst/gstreamer-sections.txt:
10898 * docs/gst/tmpl/.cvsignore:
10899 * docs/gst/tmpl/gstelement.sgml:
10900 * docs/gst/tmpl/gstinfo.sgml:
10901 * docs/gst/tmpl/gstobject.sgml:
10902 * gst/gstelement.c:
10903 * gst/gstelement.h:
10906 * gst/gstobject.c: (gst_object_class_init):
10908 inlined 3 more biiiig doc files and added some missing docs on the fly
10910 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10912 * check/gst/.cvsignore:
10913 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10914 * gst/gstregistryxml.c: (load_plugin),
10915 (gst_registry_xml_save_plugin):
10916 put back source in registry. add checks for find_plugin.
10917 * testsuite/states/bin.c: (assert_state), (empty_bin),
10918 (test_adding_one_element), (main):
10919 * testsuite/states/locked.c: (main):
10920 some compile/run fixes
10922 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
10924 * check/gst/gstvalue.c: (GST_START_TEST):
10925 fix leaks in the test itself
10927 2005-09-22 Wim Taymans <wim@fluendo.com>
10929 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10930 (gst_base_sink_send_event), (gst_base_sink_peer_query),
10931 (gst_base_sink_query):
10932 Prepare for more accurate position reporting and query
10935 * gst/gstelement.c: (gst_element_send_event),
10936 (gst_element_set_state):
10939 2005-09-22 Wim Taymans <wim@fluendo.com>
10941 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10942 (gst_query_parse_segment):
10944 More documentation.
10945 Add segment query for future use.
10947 2005-09-22 Wim Taymans <wim@fluendo.com>
10949 * gst/gstbin.c: (gst_bin_add_func):
10950 Some more debug info.
10952 * gst/gstelement.c: (gst_element_send_event):
10953 Simplify send_event
10955 * gst/gstelement.h:
10956 Don't know how flags got broken.
10961 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
10963 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10964 Add simplistic test suite for GST_TYPE_DATE serialisation and
10967 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
10969 * docs/gst/gstreamer-sections.txt:
10970 * gst/gststructure.c: (gst_structure_set_valist),
10971 (gst_structure_get_date):
10972 * gst/gststructure.h:
10973 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10974 (gst_date_copy), (gst_value_compare_date),
10975 (gst_value_serialize_date), (gst_value_deserialize_date),
10976 (gst_value_transform_date_string),
10977 (gst_value_transform_string_date), (_gst_value_initialize):
10979 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10980 bunch of utility functions along with a hack that checks that
10981 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10982 is required. Part of the grand scheme in #170777.
10984 2005-09-22 Andy Wingo <wingo@pobox.com>
10986 * gst/gstconfig.h.in: Psych out gtk-doc.
10988 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10990 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10992 * tools/gst-inspect.c (print_element_list): Plug some
10993 inconsequential leaks.
10995 * gst/gstregistry.c (gst_registry_get_default): Doc.
10997 * check/gst/gstplugin.c:
10998 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10999 * gst/gstelementfactory.c (gst_element_factory_create):
11000 * gst/gstindexfactory.c (gst_index_factory_create): Update for
11003 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
11004 (gst_plugin_feature_load): Doc, don't eat refs.
11006 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
11007 (gst_plugin_list_free): Doc.
11008 (gst_plugin_load_file): Doc updates.
11010 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11011 accessors returning refcounted objects, return a ref.
11013 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11014 accessor for caps. IDEMPOTENCE. Oh yes.
11016 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
11018 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
11020 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11021 (_gst_debug_register_funcptr):
11022 Add mutex to serialise access to the hash table with
11023 the function pointer => function name string mapping;
11024 make that hash table static scope (#316809).
11026 * gst/registries/.cvsignore:
11027 Remove left-over file.
11029 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
11031 * docs/pwg/appendix-porting.xml:
11032 And something about newsegment events and caps-on-buffers to
11033 the porting guide (feel free to improve).
11035 2005-09-21 Andy Wingo <wingo@pobox.com>
11037 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11038 data and event probes on the same pad.
11039 (test_buffer_probe_once): Test that removing probes from within
11040 the probe functions works.
11042 2005-09-21 Andy Wingo <wingo@pobox.com>
11044 * check/gst/gstutils.c: New file.
11045 (test_buffer_probe_n_times): A simple buffer probe test. More to
11048 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11049 have-data::buffer, not have-data.
11050 (gst_pad_add_event_probe): Likewise for have-data::event.
11051 (gst_pad_add_data_probe): More docs. The part about 'resolving the
11052 peer' isn't quite right yet though.
11053 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
11054 (gst_pad_remove_data_probe): Change to take the guint handler_id
11055 as their arg, not the function+data, which is more glib-like.
11057 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11058 the signal emission to indicate if the data is a buffer or an
11060 (gst_pad_get_type): Initialize buffer and event quarks.
11061 (gst_pad_class_init): have-data is now a detailed signal, yes it
11064 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
11066 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11067 * gst/gstutils.c: (gst_util_set_value_from_string),
11068 (gst_util_set_object_arg):
11069 Don't put functional code in g_return_if_fail() or
11070 g_return_val_if_fail() statements, otherwise things will
11071 break when G_DISABLE_CHECKS is defined during compilation.
11073 2005-09-21 Stefan Kost <ensonic@users.sf.net>
11075 * docs/gst/tmpl/.cvsignore:
11076 * docs/gst/tmpl/gstvalue.sgml:
11079 inlied another one and added some obvious docs
11081 2005-09-21 Wim Taymans <wim@fluendo.com>
11083 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11084 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11085 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11086 (gst_fdsrc_get_property), (gst_fdsrc_create):
11087 * gst/elements/gstfdsrc.h:
11088 Properly implement fdsrc. Removed signal and timeout,
11089 better implemented somewhere else.
11091 2005-09-21 Stefan Kost <ensonic@users.sf.net>
11093 * docs/gst/tmpl/.cvsignore:
11094 * docs/gst/tmpl/gstimplementsinterface.sgml:
11095 * gst/gstinterface.c:
11098 2005-09-21 Stefan Kost <ensonic@users.sf.net>
11100 * docs/gst/gstreamer-sections.txt:
11101 * docs/gst/tmpl/.cvsignore:
11102 * docs/gst/tmpl/gstenumtypes.sgml:
11103 remove obsolete doc file
11105 2005-09-21 David Schleef <ds@schleef.org>
11107 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11108 little beer, fix a little leak.
11110 2005-09-21 Stefan Kost <ensonic@users.sf.net>
11112 * docs/gst/gstreamer-docs.sgml:
11113 * docs/gst/gstreamer-sections.txt:
11114 * docs/gst/tmpl/.cvsignore:
11118 * gst/gstelement.h:
11119 * gst/gstindex.c: (gst_index_class_init):
11121 * gst/gstindexfactory.c: (gst_index_factory_get_type),
11122 (gst_index_factory_class_init), (gst_index_factory_init),
11123 (gst_index_factory_finalize), (gst_index_factory_new),
11124 (gst_index_factory_destroy), (gst_index_factory_find),
11125 (gst_index_factory_create), (gst_index_factory_make):
11126 * gst/gstindexfactory.h:
11127 * gst/gstpluginfeature.c:
11128 * gst/gstpluginfeature.h:
11129 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11130 more docs inlined, splitted gstindex.{c,h}
11132 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
11134 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11137 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
11139 * gst/elements/gstfilesink.c: (gst_file_sink_init):
11140 Set sync to FALSE by default.
11142 2005-09-20 Wim Taymans <wim@fluendo.com>
11144 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11145 (gst_base_sink_init):
11146 Make sync property settable from subclass.
11148 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11149 (gst_fake_sink_change_state):
11150 Set sync to FALSE by default.
11152 2005-09-20 Wim Taymans <wim@fluendo.com>
11154 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11155 * tools/gst-launch.c: (main):
11156 The timeout handler should have lower priority than the source
11157 so we don't timeout before popping a message with 0 timeout.
11158 Dump error messages after failed state change.
11160 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
11162 * tools/gst-inspect.c: (print_element_properties_info):
11165 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
11167 * check/gst/gstevent.c:
11168 * gst/elements/gstfakesink.c:
11169 * gst/elements/gstfakesink.h:
11170 remove the sync property from fakesink.
11171 has the side effect of setting sync TRUE
11172 for fakesink, which is a change. Anyone who knows how
11173 to fix this nicely in a GObject-y way, feel free.
11175 2005-09-20 Stefan Kost <ensonic@users.sf.net>
11177 * docs/gst/gstreamer-docs.sgml:
11178 remove probe refsection
11180 2005-09-20 Stefan Kost <ensonic@users.sf.net>
11182 * check/Makefile.am:
11183 disable valgrinding the controller test again
11184 * docs/gst/gstreamer-sections.txt:
11185 update for api-changes
11187 2005-09-20 Wim Taymans <wim@fluendo.com>
11189 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11190 (gst_base_sink_set_property), (gst_base_sink_get_property),
11191 (gst_base_sink_do_sync):
11192 * gst/base/gstbasesink.h:
11193 Added sync property to basesink to disable clock sync.
11195 2005-09-20 Andy Wingo <wingo@pobox.com>
11197 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11198 eating the caller's refcount.
11200 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
11201 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11204 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11205 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11206 of GLib 2.8 public, so we can know which refcount to check in
11209 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11210 (gst_object_init): Only set the gst refcount if we're going ahead
11211 with the refcount hack.
11213 2005-09-20 Stefan Kost <ensonic@users.sf.net>
11215 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11216 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11217 more leaks plumbed, added more debug-logging
11221 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
11223 * gst/gstmessage.c:
11224 remove include of gstmemchunk.h
11226 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
11228 * gst/gstclock.c: (_gst_clock_id_free):
11229 Commit from the Political Party For More Atomic CVS Commits,
11230 so that people don't waste too much of their day fishing
11231 out obvious leaks out of massive commits.
11232 Oh, and fix a pretty damn obvious leak in the memchunk
11235 2005-09-20 Stefan Kost <ensonic@users.sf.net>
11237 * check/Makefile.am:
11238 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11239 plug mem-leak, re-add to valgrindable tests
11241 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
11244 unbreak the build for those who have chronic arthritis
11245 and typing "make check" is just too taxing on the hands
11247 2005-09-20 Andy Wingo <wingo@pobox.com>
11249 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11250 really want it out, you should fix plugins at the same time.
11252 2005-09-19 Stefan Kost <ensonic@users.sf.net>
11255 * docs/gst/gstreamer-sections.txt:
11257 added missing symbols to api docs
11258 disable ref-count hack if we have glib >= 2.8
11260 2005-09-19 David Schleef <ds@schleef.org>
11262 * docs/gst/Makefile.am: Ignore a few more internal headers
11263 * docs/gst/gstreamer-docs.sgml: Remove old sections
11264 * docs/gst/gstreamer-sections.txt: Remove old sections
11265 * docs/gst/tmpl/gstobject.sgml: update
11266 * docs/gst/tmpl/gstplugin.sgml: update
11267 * docs/gst/tmpl/gstpluginfeature.sgml: update
11268 * docs/random/ds/0.9-suggested-changes: update.
11269 * gst/Makefile.am: remove memchunk and trashstack, since they're
11271 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11272 * gst/gst.h: don't include some headers
11273 * gst/gstchildproxy.c: add gstmarshal.h
11274 * gst/gstclock.c: Don't use memchunks
11275 * gst/gstminiobject.c: Add some docs
11276 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11277 * gst/gstobject.h: same
11278 * gst/gstplugin.c: include gstmacros.h
11279 * gst/gstplugin.h: don't include gstmacros.h, since it's private
11280 * gst/gstquery.c: don't use memchunks
11281 * gst/gstregistry.c: rename gst_registry_deinit()
11282 * gst/gstregistry.h: same
11284 2005-09-19 David Schleef <ds@schleef.org>
11286 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11287 * docs/libs/gstreamer-libs-sections.txt:
11288 * docs/libs/tmpl/gstgetbits.sgml:
11289 * docs/libs/tmpl/gstputbits.sgml:
11291 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
11293 * win32/gstenumtypes.c:
11294 * win32/gstenumtypes.h:
11297 2005-09-19 Wim Taymans <wim@fluendo.com>
11299 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11300 Automatically PAUSE and RESUME a pipeline when a flushing seek
11303 2005-09-19 Andy Wingo <wingo@pobox.com>
11305 * gst/gstregistry.h: Spacing fixen.
11307 2005-09-19 Wim Taymans <wim@fluendo.com>
11309 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11310 Handle state change failure more correctly.
11312 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
11314 * check/Makefile.am:
11315 * check/pipelines/cleanup.c: (run_pipeline):
11316 * check/pipelines/simple_launch_lines.c: (run_pipeline),
11318 enable cleanup again after fixing the leak
11320 some more info on docs
11322 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
11324 * check/Makefile.am:
11325 re-enable tests now that leaks are plugged
11327 * check/gst/gstbin.c:
11328 * check/gst/gstpipeline.c:
11329 add some more tests while fixing leaks
11330 * common/check.mak:
11331 make sure binaries are uptodate when valgrinding/gdbing
11333 * gst/gstelementfactory.c:
11334 remove a ref too many, and add a FIXME for when we get
11335 round to disposing of classes
11337 fix the refcounting when loading a plugin from a file and
11338 the code pretends that the pointer is the same even though
11339 of course it can change
11340 * gst/gstpluginfeature.c:
11341 unref plugins marked cached (a bit confusing as a name)
11342 as the docs state should be done
11343 various doc additions to explain refcounting
11344 * gst/gstregistry.c:
11345 * gst/gstregistryxml.c:
11348 2005-09-19 Wim Taymans <wim@fluendo.com>
11350 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11351 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11352 (send_messages), (GST_START_TEST), (gstbus_suite):
11353 * check/gst/gstpipeline.c: (GST_START_TEST):
11354 * check/pipelines/cleanup.c: (run_pipeline):
11355 * check/pipelines/simple_launch_lines.c: (run_pipeline),
11357 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11358 (gst_bus_source_check), (gst_bus_source_dispatch),
11359 (gst_bus_create_watch), (gst_bus_add_watch_full),
11360 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11362 * tools/gst-launch.c: (event_loop):
11363 * tools/gst-md5sum.c: (event_loop):
11364 GstBusHandler -> GstBusFunc, return value has the same meaning as
11365 any other GSource (FALSE == remove source).
11366 _add_watch() and _add_watch_full() now take a MessageType mask to
11367 only handle specific types of messages.
11368 _poll() returns the GstMessage instead of the message type to avoid
11370 _have_pending() takes a MessageType mask now too.
11371 Added testsuite for multiple bus watches.
11372 Fix testsuites and applications for new bus API.
11374 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
11376 * check/Makefile.am:
11377 mark a bunch of the tests as to fix until we fix them
11379 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
11381 * common/check.mak:
11382 use GST_PLUGIN settings for valgrind tests as well, so we're
11383 valgrinding the correct thing
11384 * gst/gst.c: (init_post):
11387 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
11389 * gst/gst.c: (init_post), (gst_deinit):
11390 * gst/gstelementfactory.c: (gst_element_factory_class_init),
11391 (gst_element_factory_finalize), (gst_element_factory_cleanup):
11392 * gst/gstindex.c: (gst_index_factory_class_init),
11393 (gst_index_factory_finalize):
11394 * gst/gstobject.c: (gst_object_dispose):
11395 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11396 (gst_plugin_load_file), (gst_plugin_desc_free):
11397 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11398 (gst_plugin_feature_finalize):
11399 * gst/gstregistry.c: (gst_registry_class_init),
11400 (gst_registry_init), (gst_registry_finalize),
11401 (gst_registry_get_default), (gst_registry_deinit):
11402 * gst/gstregistry.h:
11403 * gst/gstregistryxml.c: (load_feature), (load_plugin):
11404 various cleanups and memleak plugging. make valgrind is happy now.
11406 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
11408 * common/check.mak:
11409 add a check-valgrind target
11411 2005-09-18 David Schleef <ds@schleef.org>
11413 * tools/gst-inspect.c: Revert the GOption code.
11415 2005-09-17 David Schleef <ds@schleef.org>
11417 * check/Makefile.am: Fix environment variables.
11418 * check/gst/gstplugin.c: Fix for API changes.
11419 * tools/gst-inspect.c: Fix for API changes.
11420 * tools/gst-xmlinspect.c: Fix for API changes.
11421 * gst/gstelementfactory.c:
11424 * gst/gstpluginfeature.c:
11425 * gst/gstpluginfeature.h:
11426 * gst/gstregistry.c:
11427 * gst/gstregistry.h:
11428 * gst/gstregistryxml.c:
11429 * gst/gsttypefind.c:
11430 * gst/gsttypefindfactory.c:
11431 * gst/indexers/gstfileindex.c:
11432 * gst/indexers/gstmemindex.c:
11433 * gst/schedulers/Makefile.am:
11434 Change registry to keep track of both plugins and features,
11435 removing the feature tracking from plugins themselves.
11437 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
11439 * check/Makefile.am:
11440 * tools/gst-register.1.in:
11441 remove gst-register
11443 2005-09-15 David Schleef <ds@schleef.org>
11445 * check/gst/gstplugin.c:
11446 * gst/gstelementfactory.c:
11448 * gst/gstpluginfeature.c:
11449 * gst/gstregistry.c:
11450 Getting tired of debugging. Disabled all the unreffing of
11451 plugins and features, which fixes the segfaults, but of
11452 course leaks like crazy. At least playbin works.
11454 2005-09-15 David Schleef <ds@schleef.org>
11456 * check/gst/gstplugin.c: (register_check_elements),
11457 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11459 * gst/elements/gsttypefindelement.c: Fix refcounting.
11460 * gst/gsttypefind.c:
11461 * gst/gsttypefindfactory.c:
11462 * gst/gsttypefindfactory.h:
11464 2005-09-15 David Schleef <ds@schleef.org>
11466 * gst/gstindex.c: get refcounting correct.
11467 * gst/gstregistry.c: Handle the case where a feature/plugin is
11470 2005-09-15 David Schleef <ds@schleef.org>
11472 * check/Makefile.am:
11473 * check/gst/gstplugin.c: Add test
11474 * gst/gstplugin.c: Fix problems noticed by testsuite
11476 * gst/gstregistry.c:
11477 * gst/gstregistry.h:
11479 2005-09-15 David Schleef <ds@schleef.org>
11481 * gst/gstplugin.c: Implement semi-decent recounting and locking
11482 in plugins and plugin features.
11484 * gst/gstpluginfeature.c:
11485 * gst/gstpluginfeature.h:
11486 * gst/gstregistry.c:
11488 2005-09-15 Michael Smith <msmith@fluendo.com>
11490 * gst/gstregistry.c: (gst_registry_get_feature_list):
11491 Implement this. Makes oggdemux work; decodebin still broken.
11493 2005-09-14 David Schleef <ds@schleef.org>
11495 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11497 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11498 * gst/check/Makefile.am:
11499 * libs/gst/controller/Makefile.am:
11500 * libs/gst/dataprotocol/Makefile.am:
11502 2005-09-14 David Schleef <ds@schleef.org>
11504 * configure.ac: Remove getbits library. Nothing uses it, and
11505 it should be in something like liboil if someone did want
11507 * libs/gst/Makefile.am:
11508 * libs/gst/getbits/Makefile.am:
11509 * libs/gst/getbits/gbtest.c:
11510 * libs/gst/getbits/getbits.c:
11511 * libs/gst/getbits/getbits.h:
11512 * libs/gst/getbits/gstgetbits_generic.c:
11513 * libs/gst/getbits/gstgetbits_i386.s:
11514 * libs/gst/getbits/gstgetbits_inl.h:
11516 2005-09-14 David Schleef <ds@schleef.org>
11518 * gst/Makefile.am: Dist glib-compat.h
11520 2005-09-14 David Schleef <ds@schleef.org>
11522 * configure.ac: Remove gst/registries, since it's no longer used.
11523 * gst/registries/Makefile.am:
11524 * gst/registries/gstlibxmlregistry.c:
11525 * gst/registries/gstlibxmlregistry.h:
11526 * gst/registries/gstxmlregistry.c:
11527 * gst/registries/gstxmlregistry.h:
11528 * gst/registries/registrytest.c:
11530 2005-09-14 David Schleef <ds@schleef.org>
11532 * gst/glib-compat.h:
11533 * gst/gstregistryxml.c:
11534 Convergence is near. Seriously.
11536 2005-09-14 David Schleef <ds@schleef.org>
11538 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11539 * gst/glib-compat.h:
11540 Attempt #4 to appease the buildbots.
11542 2005-09-14 David Schleef <ds@schleef.org>
11544 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11547 2005-09-14 David Schleef <ds@schleef.org>
11549 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11552 2005-09-14 David Schleef <ds@schleef.org>
11554 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11557 2005-09-14 David Schleef <ds@schleef.org>
11559 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11560 * gst/glib-compat.h: Add some functions that are in newer versions
11561 of glib than we care to require.
11562 * gst/gstregistryxml.c: Use them.
11564 2005-09-14 David Schleef <ds@schleef.org>
11566 * po/POTFILES.in: remove gst-register.c
11568 2005-09-14 David Schleef <ds@schleef.org>
11570 * docs/gst/gstreamer-docs.sgml:
11571 * docs/gst/gstreamer-sections.txt:
11572 * docs/gst/gstreamer.types:
11573 * docs/gst/tmpl/gstelement.sgml:
11574 * docs/gst/tmpl/gstplugin.sgml:
11575 * docs/gst/tmpl/gstpluginfeature.sgml:
11576 Documentation updates for registry changes.
11578 2005-09-14 David Schleef <ds@schleef.org>
11580 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11581 because we don't require glib-2.8.
11583 2005-09-14 David Schleef <ds@schleef.org>
11585 * gst/gstregistryxml.c: Added. Essentially moved out of the
11586 registries directory.
11588 2005-09-14 David Schleef <ds@schleef.org>
11590 * check/Makefile.am:
11591 * check/generic/states.c:
11595 * gst/gst_private.h:
11596 * gst/gstelementfactory.c:
11601 * gst/gstpluginfeature.c:
11602 * gst/gstpluginfeature.h:
11603 * gst/gstregistry.c:
11604 * gst/gstregistry.h:
11605 * gst/gstregistrypool.c: remove
11606 * gst/gstregistrypool.h: remove
11607 * gst/gsttypefind.c:
11608 * gst/gsttypefindfactory.c:
11610 * tools/Makefile.am:
11611 * tools/gst-compprep.c:
11612 * tools/gst-inspect.c:
11613 * tools/gst-register.c: remove
11614 * tools/gst-xmlinspect.c:
11615 Registry rewrite. Changes registry from being a file created
11616 by a tool into a simple cache file created automatically by
11617 libgstreamer. Removed gst-register (because it's no longer
11618 needed). Remove registry pools, because we only have one
11619 registry implementation (XML). Fix up other subsystems as
11622 2005-09-13 Michael Smith <msmith@fluendo.com>
11624 * gst/gstconfig.h.in:
11625 Don't Use windows linking attributes for MinGW. Fixes #316157
11627 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
11629 * gst/gstutils.c: (set_state_async_thread_func),
11630 (gst_element_set_state_async):
11631 Apparently people think it's better if this function doesn't
11632 try to set the state to whatever state was asked for on the first
11633 call to this function for any object. Seriously.
11635 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
11637 * check/gst/gstpipeline.c: (GST_START_TEST):
11638 * docs/gst/gstreamer-sections.txt:
11639 * gst/gstutils.c: (set_state_async_thread_func),
11640 (gst_element_set_state_async):
11642 add a "gst_element_set_state_async" method that
11643 sets the state and starts a thread to make sure the state
11644 change completes as best as it can
11646 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
11648 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11649 codify design+behaviour in testsuite after discussion
11651 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
11653 * docs/gst/tmpl/gstelement.sgml:
11654 * docs/manual/appendix-quotes.xml:
11656 * gst/gstelement.c: (gst_element_set_state):
11659 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
11661 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11662 (gst_base_transform_prepare_output_buf),
11663 (gst_base_transform_handle_buffer):
11664 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11665 (gst_capsfilter_prepare_buf):
11666 Remove the requirement for sub-classes to call the parent
11667 implementation of prepare_output_buffer with a wrapper function.
11669 * gst/gsttaglist.h:
11670 * gst/gsttagsetter.h:
11671 Fix #define wrapper
11673 2005-09-11 Stefan Kost <ensonic@users.sf.net>
11675 * docs/gst/gstreamer-sections.txt:
11678 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
11680 * docs/gst/gstreamer-sections.txt:
11681 * docs/gst/tmpl/gstelement.sgml:
11682 * docs/gst/tmpl/gstplugin.sgml:
11683 * gst/gstminiobject.c:
11685 docs now stop throwing warnings
11687 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
11689 * docs/gst/gstreamer-sections.txt:
11690 * docs/gst/gstreamer.types:
11691 * docs/gst/tmpl/gstpad.sgml:
11692 * docs/gst/tmpl/gsttypes.sgml:
11693 * gst/base/gstadapter.h:
11694 * gst/base/gstbasesink.h:
11695 * gst/base/gstbasesrc.h:
11701 * gst/gstelement.h:
11703 * gst/gstmessage.h:
11705 * gst/gststructure.c:
11706 * gst/registries/gstlibxmlregistry.h:
11707 various documentation fixes
11709 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
11711 * docs/gst/gstreamer-sections.txt:
11712 * docs/gst/tmpl/gstvalue.sgml:
11713 rearrange gstvalue section
11714 * gst/gstutils.c: (gst_element_state_get_name):
11716 * gst/gstvalue.c: (_gst_value_initialize):
11720 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
11722 * check/gst-libs/controller.c:
11723 Header include fix.
11724 * gst/base/gstbasetransform.c:
11725 (gst_base_transform_default_prepare_buf),
11726 (gst_base_transform_handle_buffer):
11727 * gst/base/gstbasetransform.h:
11728 Some more basetransform changes and fixes to enable sub-classes
11729 that modify buffer metadata only.
11730 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11731 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11732 (gst_capsfilter_prepare_buf):
11733 If the output pad has fixed allowed caps and input buffers
11734 don't have any, set the fixed caps on outgoing buffers.
11736 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
11737 * check/elements/identity.c: (GST_START_TEST):
11738 Make the error a little clearer when the test fails because
11739 identity made a copy of the buffer.
11740 * docs/gst/gstreamer-sections.txt:
11741 New symbols in gstbasetransform.h
11742 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11743 (gst_base_transform_init), (gst_base_transform_transform_size),
11744 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11745 (gst_base_transform_default_prepare_buf),
11746 (gst_base_transform_get_unit_size),
11747 (gst_base_transform_buffer_alloc),
11748 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11749 (gst_base_transform_change_state),
11750 (gst_base_transform_set_passthrough),
11751 (gst_base_transform_set_in_place),
11752 (gst_base_transform_is_in_place):
11753 * gst/base/gstbasetransform.h:
11754 Change BaseTransform to separate in_place operate from same_caps
11755 output. in_place implies that the element can perform the transform
11756 on incoming buffers in-place, even if the caps on the output are
11758 Sub-class elements can now implement special buffer allocation
11759 methods for outgoing buffers if they wish to.
11760 Big documentation addition.
11761 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11762 * gst/elements/gstelements.c:
11763 Changes for basetransform modifications.
11764 * gst/elements/Makefile.am:
11765 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11766 Compile fix. Extra debug output.
11768 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11770 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11772 add tests for valid pad naming
11773 * gst/check/gstcheck.c: (gst_check_log_message_func),
11774 (gst_check_log_critical_func):
11776 remove printing of code, it is fragile when the code contains
11777 % and the line number is enough info
11778 * gst/check/gstcheck.h:
11779 * gst/gstpad.c: (gst_pad_template_new):
11782 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11785 say what CHECK flags we use
11786 * docs/libs/gstreamer-libs.types:
11787 * libs/gst/controller/Makefile.am:
11788 * libs/gst/controller/gst-controller.c:
11789 * libs/gst/controller/gst-controller.h:
11790 * libs/gst/controller/gst-helper.c:
11791 * libs/gst/controller/gst-interpolation.c:
11792 * libs/gst/controller/gstcontroller.c:
11793 * libs/gst/controller/gsthelper.c:
11794 * libs/gst/controller/gstinterpolation.c:
11795 * tools/gst-inspect.c: (print_plugin_info):
11796 we don't use dashes in header names
11798 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11800 * check/Makefile.am:
11801 * check/gst/.cvsignore:
11802 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11803 (gst_pipeline_suite), (main):
11804 adding a test for pipelines and state changes
11805 * gst/gstutils.c: (get_state_func):
11807 * gstreamer.spec.in:
11810 2005-09-08 Michael Smith <msmith@fluendo.com>
11812 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11813 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11814 (gst_file_src_is_seekable), (gst_file_src_get_size),
11815 (gst_file_src_start):
11816 * gst/elements/gstfilesrc.h:
11817 Various fixes for unseekable, unmmapable, and non-normal files, so
11818 that fallback to read() rather than mmap() works.
11819 * gst/gstevent.c: (gst_event_new_newsegment):
11820 Allow newsegment events with segment_start == segment_end, as will
11821 correctly happen if you use filesrc on a zero-size file, for
11824 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
11826 * gst/gstplugin.c: (gst_plugin_load_file):
11827 Call g_module_close when we don't load the module
11829 * gst/registries/gstlibxmlregistry.c:
11830 (gst_xml_registry_get_property):
11831 Port leak fix from 0.8
11833 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11835 * docs/gst/gstreamer-docs.sgml:
11836 * docs/gst/tmpl/.cvsignore:
11837 * docs/gst/tmpl/gsttrace.sgml:
11838 * docs/gst/tmpl/gsttrashstack.sgml:
11841 * gst/gstelement.h:
11843 * gst/gstmessage.c:
11844 * gst/gstmessage.h:
11847 * gst/gsttaginterface.c:
11848 * gst/gsttaginterface.h:
11849 * gst/gsttaglist.c:
11850 * gst/gsttaglist.h:
11851 * gst/gsttagsetter.c:
11852 * gst/gsttagsetter.h:
11855 * gst/gsttrashstack.c:
11856 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11857 inlined docs for gsttrace, gsttrashstack
11859 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11862 * gst/elements/gstbufferstore.h:
11863 * gst/elements/gsttypefindelement.c:
11864 * gst/elements/gsttypefindelement.h:
11866 * gst/gsttypefind.c:
11867 * gst/gsttypefind.h:
11868 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11869 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11870 (gst_type_find_factory_dispose),
11871 (gst_type_find_factory_unload_thyself),
11872 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11873 (gst_type_find_factory_get_caps),
11874 (gst_type_find_factory_get_extensions),
11875 (gst_type_find_factory_call_function):
11876 * gst/gsttypefindfactory.h:
11877 * gst/registries/gstlibxmlregistry.c:
11878 * gst/registries/gstxmlregistry.c:
11879 splitted gsttypefind into gsttypefind, gsttypefindfactory
11881 2005-09-07 Andy Wingo <wingo@pobox.com>
11883 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11884 condition whereby the pad's task function is entered before the
11885 pad_mode variable was set.
11887 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
11889 * gst/gstpad.c: (gst_pad_alloc_buffer):
11890 Catch misbehaving pad_alloc functions that don't
11891 set up caps and do it for them.
11893 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11895 * check/pipelines/simple_launch_lines.c: (run_pipeline):
11896 test for pipe!=NULL
11897 * docs/gst/tmpl/.cvsignore:
11898 * docs/gst/tmpl/gstmemchunk.sgml:
11899 * docs/gst/tmpl/gstparse.sgml:
11900 * docs/gst/tmpl/gsttaglist.sgml:
11901 * docs/gst/tmpl/gsttagsetter.sgml:
11902 * docs/gst/tmpl/gsttypefind.sgml:
11903 * docs/gst/tmpl/gsttypefindfactory.sgml:
11904 * gst/gstmemchunk.c:
11907 * gst/gsttaginterface.c:
11908 * gst/gsttypefind.c:
11909 * gst/gsttypefind.h:
11912 === release 0.9.2 ===
11914 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
11919 releasing 0.9.2, "South"
11921 2005-09-05 Andy Wingo <wingo@pobox.com>
11923 * gst/registries/gstxmlregistry.h:
11924 * gst/registries/gstxmlregistry.c: Um... resurrect...
11926 * gst/registries/gstxmlregistry.h:
11927 * gst/registries/gstxmlregistry.c: and update to newer API.
11928 Incidentally they should be a bit faster now that they don't have
11931 2005-09-05 Andy Wingo <wingo@pobox.com>
11933 * gst/registries/gstxmlregistry.h:
11934 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11935 replaced by the libxml registry a while back
11937 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
11939 * docs/gst/tmpl/gstplugin.sgml:
11940 * gst/elements/gstelements.c:
11942 * gst/gstplugin.c: (gst_plugin_register_func),
11943 (gst_plugin_desc_copy), (gst_plugin_desc_free),
11944 (gst_plugin_get_source):
11946 * gst/registries/gstlibxmlregistry.c: (load_plugin),
11947 (gst_xml_registry_save_plugin):
11948 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11949 (gst_xml_registry_save_plugin):
11950 * tools/gst-inspect.c: (print_plugin_info):
11951 add a "source" plugin description field, to represent the source
11952 module this plugin is a part of. By default GST_PLUGIN_DEFINE
11953 will set it to PACKAGE, which is automake's idea of the name of
11954 the source project.
11956 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
11961 * docs/Makefile.am:
11962 * docs/faq/Makefile.am:
11963 * docs/gst/tmpl/gstelement.sgml:
11964 * docs/gst/tmpl/gsttypes.sgml:
11965 * docs/htmlinstall.mak:
11966 * docs/manual/Makefile.am:
11967 * docs/pwg/Makefile.am:
11968 reorganize doc build a little
11969 split out docbook and gtk-doc stuff
11970 have two separate --enable's and enable them through autogen
11971 but disable by default in configure (to be similar to other
11973 * gstreamer.spec.in:
11974 clean up docs install
11992 translation updates
11994 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
11996 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11999 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12000 (gst_fake_sink_change_state):
12001 Make state change function thread-safe.
12003 * gst/gstpad.c: (gst_pad_alloc_buffer):
12004 Set offset on generic buffer allocated by fallback.
12006 2005-09-03 Stefan Kost <ensonic@users.sf.net>
12008 * docs/gst/gstreamer-sections.txt:
12009 * docs/gst/tmpl/gstelement.sgml:
12011 * libs/gst/controller/gst-controller.c:
12012 (gst_controlled_property_set_interpolation_mode),
12013 (gst_controlled_property_new),
12014 (gst_controller_find_controlled_property):
12015 run the wingo-magic script against the docs
12017 2005-09-02 Stefan Kost <ensonic@users.sf.net>
12019 * docs/gst/gstreamer-docs.sgml:
12020 * docs/gst/gstreamer-sections.txt:
12021 * docs/gst/tmpl/.cvsignore:
12022 * docs/gst/tmpl/gstelementdetails.sgml:
12023 * docs/gst/tmpl/gstelementfactory.sgml:
12026 * gst/gstelementfactory.c:
12027 * gst/gstelementfactory.h:
12028 merged elementdetails docs into elementfactory docs
12031 2005-09-02 Andy Wingo <wingo@pobox.com>
12033 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12034 consider this enum an enum and not a flags.
12036 2005-09-02 Stefan Kost <ensonic@users.sf.net>
12038 * docs/gst/gstreamer-docs.sgml:
12039 * docs/gst/tmpl/.cvsignore:
12040 * docs/gst/tmpl/gstghostpad.sgml:
12041 * docs/gst/tmpl/gstiterator.sgml:
12042 * docs/gst/tmpl/gstmacros.sgml:
12043 * docs/gst/tmpl/gstrealpad.sgml:
12044 * docs/gst/tmpl/gstregistry.sgml:
12045 * docs/gst/tmpl/gstregistrypool.sgml:
12046 * docs/gst/tmpl/gststructure.sgml:
12047 * docs/gst/tmpl/gstsystemclock.sgml:
12048 * docs/gst/tmpl/gsttrace.sgml:
12049 * gst/gstghostpad.c:
12051 * gst/gstmemchunk.c:
12052 * gst/gstmemchunk.h:
12054 * gst/gstregistry.c:
12055 * gst/gstregistrypool.c:
12056 * gst/gststructure.c:
12057 * gst/gstsystemclock.c:
12060 2005-09-02 Andy Wingo <wingo@pobox.com>
12062 * gst/gstelement.h (GstState): Renamed from GstElementState,
12063 changed to be a normal enum instead of flags.
12064 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12065 munged to be GST_STATE_CHANGE_*.
12066 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12067 work with the new state representation.
12068 (GstStateChange): New enumeration of possible state transitions.
12069 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12070 (GstElementClass::change_state): Pass the GstStateChange along as
12071 an argument. Helps language bindings, so they don't have to use
12072 tricky lock-needing macros like GST_STATE_CHANGE ().
12074 * scripts/update-states (file): New script. Run it on a file to
12075 update it for state naming and API changes. Updates files in
12078 * All files updated for the new API.
12080 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
12082 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12083 * gst/gstutils.c: (gst_util_set_value_from_string),
12084 (gst_util_set_object_arg):
12085 fix a bunch of unchecked return values
12086 * tools/gst-complete.c: (main):
12087 * gstreamer.spec.in:
12090 2005-09-01 Wim Taymans <wim@fluendo.com>
12092 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12093 (gst_base_sink_event), (gst_base_sink_do_sync),
12094 (gst_base_sink_handle_event):
12095 * gst/base/gstbasesink.h:
12096 Handle newsegments more correctly.
12101 * gst/gstevent.c: (gst_event_new_newsegment):
12102 A newsegment cannot have a start_time of -1
12104 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
12106 * win32/gstenumtypes.c:
12107 * win32/gstenumtypes.h:
12110 2005-08-31 Stefan Kost <ensonic@users.sf.net>
12112 * libs/gst/controller/gst-controller.c:
12113 (gst_controlled_property_set_interpolation_mode),
12114 (gst_controlled_property_new):
12115 fixed boolean again
12117 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
12119 * docs/faq/gst-uninstalled:
12124 * gst/gstutils.c: (gst_element_link_filtered):
12126 add gst_element_link_filtered
12128 2005-08-31 Stefan Kost <ensonic@users.sf.net>
12130 * docs/gst/gstreamer-docs.sgml:
12131 * docs/gst/gstreamer-sections.txt:
12132 * docs/gst/tmpl/.cvsignore:
12133 * docs/gst/tmpl/gsterror.sgml:
12134 * docs/gst/tmpl/gstfilter.sgml:
12135 * docs/gst/tmpl/gsturihandler.sgml:
12136 * docs/gst/tmpl/gsturitype.sgml:
12137 * docs/gst/tmpl/gstutils.sgml:
12138 * docs/gst/tmpl/gstxml.sgml:
12143 * gst/gsturitype.c:
12146 inlined more docs, fixed double id-ref
12148 2005-08-31 Wim Taymans <wim@fluendo.com>
12150 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12151 (gst_base_transform_handle_buffer):
12152 Passthrough elements don't need the caps as they don't care.
12154 2005-08-31 Wim Taymans <wim@fluendo.com>
12156 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12157 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12158 Don't leak refcounts on buffers.
12160 2005-08-31 Wim Taymans <wim@fluendo.com>
12162 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12163 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12164 (gst_base_transform_chain), (gst_base_transform_change_state):
12165 * gst/base/gstbasetransform.h:
12166 Handle the case where we are not negotiated more gracefully.
12168 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
12170 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12171 (gst_file_src_map_region):
12172 Set READONLY flag on mmap'ed buffers, otherwise
12173 gst_buffer_make_writable() won't work properly (#314708).
12175 2005-08-31 Wim Taymans <wim@fluendo.com>
12177 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12178 passthrough elements can even do inplace on non writable
12179 buffers (as they don't touch them).
12181 2005-08-31 Stefan Kost <ensonic@users.sf.net>
12183 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12184 (gst_test_mono_source_set_property),
12185 (gst_test_mono_source_class_init), (GST_START_TEST),
12186 (gst_controller_suite):
12187 more tests (hehe I have the most)
12189 describe popping messages whenusing mulltiple sources
12190 * libs/gst/controller/gst-controller.c:
12191 (gst_controlled_property_set_interpolation_mode),
12192 (gst_controlled_property_new):
12193 * libs/gst/controller/gst-controller.h:
12194 * libs/gst/controller/gst-interpolation.c:
12195 implement boolean properties
12197 2005-08-31 Wim Taymans <wim@fluendo.com>
12199 * gst/gstminiobject.c: (gst_mini_object_ref):
12200 Cannot assert that the refcount has to be positive
12201 since a disposed object can be resurrected.
12203 2005-08-31 Wim Taymans <wim@fluendo.com>
12205 * gst/gstpad.c: (gst_pad_init):
12206 Revert change, need to first fix badly behaving
12209 2005-08-30 Wim Taymans <wim@fluendo.com>
12211 * check/elements/fakesrc.c: (setup_fakesrc):
12212 * check/elements/identity.c: (setup_identity):
12213 Activate pads before using them.
12215 2005-08-30 Wim Taymans <wim@fluendo.com>
12217 * gst/base/gstadapter.c: (gst_adapter_flush):
12218 Flushing out 0 bytes is ok for this function.
12220 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12221 no newsegment gives a warning and sets the start/stop to
12224 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12225 (gst_base_transform_set_passthrough):
12228 * gst/gstminiobject.c: (gst_mini_object_ref):
12229 Check refcount here too.
12231 * gst/gstpad.c: (gst_pad_init):
12232 Pads are initially flushing and refusing data.
12234 * gst/gstutils.c: (gst_element_link_pads_filtered):
12235 When adding a capsfilter element make sure it has the
12236 same state as the parent bin.
12238 2005-08-30 Stefan Kost <ensonic@users.sf.net>
12240 * docs/gst/tmpl/.cvsignore:
12241 * docs/gst/tmpl/gstformat.sgml:
12242 * docs/gst/tmpl/gstversion.sgml:
12246 * gst/gstversion.h.in:
12247 more docs and two more inlined
12249 2005-08-30 Wim Taymans <wim@fluendo.com>
12251 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12252 Don't sync to clock.
12254 2005-08-30 Stefan Kost <ensonic@users.sf.net>
12256 * docs/gst/gstreamer-sections.txt:
12257 ultral33t func10ns deserve to appear in the docs actually
12258 * docs/gst/tmpl/.cvsignore:
12259 * docs/gst/tmpl/gstcompat.sgml:
12260 * docs/gst/tmpl/gstconfig.sgml:
12261 * gst/check/gstcheck.c:
12263 * gst/gstconfig.h.in:
12266 2005-08-30 Stefan Kost <ensonic@users.sf.net>
12268 * docs/gst/tmpl/.cvsignore:
12269 * docs/gst/tmpl/gstquery.sgml:
12270 * docs/gst/tmpl/gstutils.sgml:
12273 inlined and extended docs
12275 2005-08-30 Stefan Kost <ensonic@users.sf.net>
12277 * check/gst-libs/controller.c: (GST_START_TEST),
12278 (gst_controller_suite):
12280 * docs/gst/tmpl/gstutils.sgml:
12281 * docs/libs/gstreamer-libs-sections.txt:
12282 * docs/libs/tmpl/gstdataprotocol.sgml:
12284 * examples/controller/audio-example.c: (main):
12285 controller example works now
12288 * tools/gst-inspect.c: (print_element_properties_info):
12289 show param spec flags
12291 2005-08-29 Andy Wingo <wingo@pobox.com>
12293 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12295 2005-08-28 Andy Wingo <wingo@pobox.com>
12297 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12298 as having two arguments instead of just one. Allows superclasses
12299 to access information on subclasses -- see the terrible for() loop
12300 in gtype.c:g_type_create_instance for the reason why. All callers
12303 2005-08-27 Stefan Kost <ensonic@users.sf.net>
12305 * docs/design/part-messages.txt:
12307 * docs/gst/tmpl/.cvsignore:
12308 * docs/gst/tmpl/gstcaps.sgml:
12309 * docs/gst/tmpl/gstclock.sgml:
12315 * gst/gstmessage.c:
12316 added descriptions for bus and message
12317 inline caps and clock docs
12319 2005-08-27 Stefan Kost <ensonic@users.sf.net>
12321 * gst/gstmessage.c:
12322 * gst/gstmessage.h:
12325 2005-08-27 Stefan Kost <ensonic@users.sf.net>
12327 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12330 2005-08-26 Andy Wingo <wingo@pobox.com>
12332 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12333 element_set_state's return val.
12334 (test_2_elements): Add test that's been disabled for months.
12336 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12337 can-activate-pull properties.
12339 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12340 can-activate-pull properties. Implement is_seekable so fakesrc can
12341 operate in pull mode.
12343 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12345 (gst_base_sink_activate, gst_base_sink_activate_pull)
12346 (gst_base_sink_activate_push): Make activation mode choosing work.
12348 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12349 is right. Make pull mode work. Post an eos before pausing in pull
12351 (gst_base_sink_change_state): Pay attention to the core's
12352 change_state() return val.
12354 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12355 has-getrange properties. Cleanups.
12357 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12358 has_getrange and replace with can_activate_pull and
12361 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12362 locking comments. Remove has_loop, has_chain and replace with
12363 can_activate_pull and can_activate_push.
12365 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
12368 * examples/Makefile.am:
12369 * examples/metadata/Makefile.am:
12370 * examples/metadata/read-metadata.c: (message_loop),
12371 (have_pad_handler), (make_pipeline), (print_tag), (main):
12372 Add metadata reading example that loops over a list of filenames,
12373 dumping any tags found.
12375 * gst/gstbus.c: (gst_bus_dispose):
12376 * gst/gstelement.c: (gst_element_dispose):
12377 Release a few potentially-held references in dispose.
12379 2005-08-26 Stefan Kost <ensonic@users.sf.net>
12381 * docs/gst/tmpl/gstminiobject.sgml:
12382 do *not* add tmpl/*.sgml files to CVS!
12384 2005-08-26 Stefan Kost <ensonic@users.sf.net>
12386 * libs/gst/bytestream/.cvsignore:
12387 * libs/gst/bytestream/Makefile.am:
12388 * libs/gst/bytestream/adapter.c:
12389 * libs/gst/bytestream/adapter.h:
12390 * libs/gst/bytestream/bytestream.c:
12391 * libs/gst/bytestream/bytestream.h:
12392 * libs/gst/bytestream/filepad.c:
12393 * libs/gst/bytestream/filepad.h:
12394 removing obsolete files
12396 2005-08-26 Stefan Kost <ensonic@users.sf.net>
12398 * docs/gst/gstreamer-docs.sgml:
12399 * docs/libs/gstreamer-libs-docs.sgml:
12400 disabed additional index entries again, as this makes docs-gen just
12401 slow and they aren't useful yet
12402 * docs/libs/gstreamer-libs-sections.txt:
12403 little -section.txt cleanup for libs
12405 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
12407 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12408 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12409 fix up some debugging
12410 (gst_base_transform_get_unit_size),
12411 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12412 (gst_base_transform_handle_buffer):
12413 * gst/base/gstbasetransform.h:
12414 handle and store timed NEWSEGMENT events so that subclasses that
12415 calculate time by counting samples have a segment_start time they
12416 need to add to their timestamps - see audioresample
12418 2005-08-26 Stefan Kost <ensonic@users.sf.net>
12421 removed ';' from the end of macro defs
12422 * docs/gst/gstreamer-docs.sgml:
12423 * docs/gst/gstreamer-sections.txt:
12424 * docs/gst/tmpl/.cvsignore:
12426 * gst/gstelement.c: (gst_element_class_init),
12427 (gst_element_set_state), (activate_pads),
12428 (gst_element_save_thyself):
12429 * gst/gstevent.c: (gst_event_new_newsegment):
12431 * gst/gstiterator.c:
12432 * gst/gstiterator.h:
12435 * gst/gstutils.c: (gst_pad_query_convert):
12437 fixed parameter name mismatches between source, header and docs
12438 added some more docs, resolved the last batch of unused elements in
12439 docs (now someone needs to doc them)
12441 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
12443 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12444 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12445 don't walk through the plugins backwards. Where is all this
12446 reversed logic coming from ?
12448 2005-08-25 Wim Taymans <wim@fluendo.com>
12450 * gst/base/gstbasetransform.c: (gst_base_transform_init),
12451 (gst_base_transform_transform_size),
12452 (gst_base_transform_configure_caps),
12453 (gst_base_transform_get_unit_size),
12454 (gst_base_transform_buffer_alloc),
12455 (gst_base_transform_change_state):
12456 * gst/base/gstbasetransform.h:
12457 Cache caps unit_size.
12458 Make sure we cannot negotiate up and downstream at the
12461 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
12463 * gst/gst.c: (init_pre), (init_post):
12464 register the installed plugin path after the env var
12465 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12466 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12467 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12468 directories, so the tests can prefer uninstalled over installed
12470 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
12472 * gst/base/gstbasetransform.h:
12477 2005-08-25 Wim Taymans <wim@fluendo.com>
12479 * gst/gstbin.c: (bin_bus_handler):
12480 Be a bit more conservative about the posted message.
12482 * gst/gstbus.c: (gst_bus_post):
12483 Some cleanups, warn wrong return values.
12485 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
12487 * check/gst/gstbin.c: (GST_START_TEST):
12488 * gst/gstbin.c: (bin_bus_handler):
12489 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12490 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12491 (gst_message_new_warning), (gst_message_new_tag),
12492 (gst_message_new_state_changed), (gst_message_new_segment_start),
12493 (gst_message_new_segment_done), (gst_message_new_custom):
12494 * gst/gstmessage.h:
12495 * tools/gst-launch.c: (event_loop):
12496 * tools/gst-md5sum.c: (event_loop):
12497 Revert unpopular change for GST_MESSAGE_SRC to GObject.
12499 2005-08-25 Wim Taymans <wim@fluendo.com>
12501 * check/generic/states.c: (GST_START_TEST):
12502 Cleanup can be done at the end.
12504 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12505 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12506 (gst_task_get_state), (gst_task_start), (gst_task_pause):
12507 Oh boy.. Thanks for finding this, Thomas.
12509 2005-08-25 Stefan Kost <ensonic@users.sf.net>
12511 * docs/gst/gstreamer.types:
12512 added missing types
12514 2005-08-25 Stefan Kost <ensonic@users.sf.net>
12516 * docs/gst/gstreamer-docs.sgml:
12517 * docs/gst/gstreamer-sections.txt:
12518 * docs/gst/tmpl/.cvsignore:
12520 * gst/gstiterator.c:
12522 * gst/registries/gstxmlregistry.h:
12523 added missing classes and symbols (123 more to go)
12524 removed removed symbols from section file
12525 fixed many doc-comments
12527 2005-08-24 Wim Taymans <wim@fluendo.com>
12529 * check/generic/states.c: (GST_START_TEST):
12530 Make sure all tasks are stopped.
12532 * check/gst/gstbin.c: (GST_START_TEST):
12533 Unref after usage for proper valgrinding.
12535 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12536 Really wait for the task to stop before destroying the
12539 * gst/gstqueue.c: (gst_queue_sink_activate_push),
12540 (gst_queue_src_activate_push):
12541 Small cleanups. Don't stop the task when we did not start
12544 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12545 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12546 (gst_task_get_state), (gst_task_start), (gst_task_pause),
12549 Protect the stream lock with the object lock.
12550 Disallow setting the stream lock when running.
12551 Add cleanup_all to wait for the threadpool to finish.
12552 Remove code to autoallocate a mutex if none was provided.
12553 Add _join() to wait for a task to stop.
12554 Protect the thread pool with a global lock.
12556 2005-08-24 Wim Taymans <wim@fluendo.com>
12558 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12559 (gst_base_sink_get_times), (gst_base_sink_do_sync),
12560 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12561 * gst/base/gstbasesink.h:
12562 Handle newsegment events correctly.
12563 Drop buffers out of the segment range.
12565 2005-08-22 Andy Wingo <wingo@pobox.com>
12567 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12568 macro, implements an interface and gstimplementsinterface for a
12571 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
12573 * check/Makefile.am:
12574 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12575 add a test that does a bunch of state changes on elements
12576 needs some fixing for valgrind
12577 * check/states/sinks.c: (gst_object_suite):
12580 add prototype for gst_caps_is_equal_fixed
12582 * gst/gstregistrypool.c:
12585 2005-08-24 Andy Wingo <wingo@pobox.com>
12587 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12588 convert a negative value. Doesn't make much sense. Mostly this is
12589 here to force callers to ensure -1 maps to -1.
12591 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
12593 * docs/pwg/advanced-types.xml:
12594 Well done to Michael for catching my deliberate introduction
12595 of this spelling mistake.
12596 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12597 * gst/gstelement.h:
12598 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12599 unlink pads before removing the element from the bin.
12601 2005-08-24 Andy Wingo <wingo@pobox.com>
12603 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12604 the same thing as GST_DEBUG=*:4.
12605 (parse_debug_level, parse_debug_category): New helper parsers.
12607 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
12609 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12610 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12611 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12612 (gst_base_transform_buffer_alloc),
12613 (gst_base_transform_handle_buffer):
12614 use gboolean return values and pointers to size so we can use the
12615 full GST_BUFFER_SIZE range (guint) for buffer sizes
12616 use GstPadDirection for transform_caps
12617 * gst/base/gstbasetransform.h:
12618 rename get_size to get_unit_size since that's what it is
12619 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12620 use GstPadDirection for transform_caps
12621 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12623 cleanup and debugging
12625 2005-08-24 Stefan Kost <ensonic@users.sf.net>
12627 * gst/gstelement.c: (gst_element_class_init),
12628 (gst_element_set_state), (activate_pads),
12629 (gst_element_save_thyself):
12630 * tools/gst-compprep.c: (main):
12631 * tools/gst-inspect.c: (print_element_properties_info):
12632 * tools/gst-xmlinspect.c: (print_element_properties):
12633 Fixed long standing mem-leak
12635 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
12637 * check/gst/gstbin.c: (GST_START_TEST):
12638 * gst/gstbin.c: (bin_bus_handler):
12639 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12640 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12641 (gst_message_new_warning), (gst_message_new_tag),
12642 (gst_message_new_state_changed), (gst_message_new_segment_start),
12643 (gst_message_new_segment_done), (gst_message_new_custom):
12644 * gst/gstmessage.h:
12645 * tools/gst-launch.c: (event_loop):
12646 * tools/gst-md5sum.c: (event_loop):
12647 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12648 that applications can sensibly post custom messages with references
12649 to their own objects.
12651 2005-08-24 Andy Wingo <wingo@pobox.com>
12653 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12656 2005-08-24 Wim Taymans <wim@fluendo.com>
12658 * gst/base/gstbasetransform.c: (gst_base_transform_init),
12659 (gst_base_transform_transform_caps),
12660 (gst_base_transform_transform_size),
12661 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12662 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12663 (gst_base_transform_handle_buffer):
12664 * gst/base/gstbasetransform.h:
12665 Many fixes and new features added by Thomas. Can now also do
12666 transforms with variable sizes and a custom fixate_caps function.
12668 2005-08-24 Wim Taymans <wim@fluendo.com>
12670 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12674 Cast to ClockTime before formatting to time.
12679 2005-08-24 Stefan Kost <ensonic@users.sf.net>
12681 * check/gst-libs/controller.c: (GST_START_TEST),
12682 (gst_controller_suite):
12683 * docs/gst/tmpl/gstcaps.sgml:
12684 * docs/gst/tmpl/gstghostpad.sgml:
12685 * docs/gst/tmpl/gstquery.sgml:
12686 * docs/gst/tmpl/gstutils.sgml:
12687 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12688 (gst_object_sink_values), (gst_object_get_value_arrays),
12689 (gst_object_get_value_array):
12690 gracefully handle helper method calls to objects that are not beeing
12691 controlled, added test case for that
12693 2005-08-23 Wim Taymans <wim@fluendo.com>
12695 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12696 (gst_event_new_newsegment), (gst_event_parse_newsegment),
12697 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12698 (gst_event_parse_qos), (gst_event_new_seek),
12699 (gst_event_parse_seek):
12701 Some more debugging output and doc cleanups.
12703 * gst/gstqueue.c: (gst_queue_handle_sink_event):
12704 Fix possible deadlock.
12706 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12708 * docs/gst/gstreamer-docs.sgml:
12709 * docs/gst/gstreamer-sections.txt:
12710 * docs/gst/gstreamer.types:
12711 * docs/gst/tmpl/.cvsignore:
12714 * gst/gstelement.c:
12716 added 100 symbols from gstreamer-unused.txt to the right sections
12717 fixed more broken comments
12718 added GstBus to docs
12720 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12722 * docs/gst/gstreamer-sections.txt:
12723 * docs/gst/tmpl/.cvsignore:
12724 * docs/gst/tmpl/gstbin.sgml:
12725 * docs/gst/tmpl/gstbuffer.sgml:
12726 * gst/base/gstbasesrc.c:
12727 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12730 * tools/gst-launch.1.in:
12731 inlined more doc comments, added missing comments and fixed comments
12734 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
12736 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12740 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12742 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12743 * gst/gststructure.h:
12744 add a fixate function for booleans; add a FIXME that these func
12745 names should probably be gst_structure_fixate_*
12747 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12749 * docs/gst/gstreamer-docs.sgml:
12750 * docs/gst/gstreamer-sections.txt:
12752 * gst/gstbin.c: (gst_bin_get_type),
12753 (gst_bin_child_proxy_get_child_by_index),
12754 (gst_bin_child_proxy_get_children_count),
12755 (gst_bin_child_proxy_init):
12756 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12757 (gst_child_proxy_get_child_by_index),
12758 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12759 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12760 (gst_child_proxy_get), (gst_child_proxy_set_property),
12761 (gst_child_proxy_set_valist), (gst_child_proxy_set),
12762 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12763 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12764 * gst/gstchildproxy.h:
12765 * gst/parse/grammar.y:
12766 * tools/gst-inspect.c: (print_interfaces),
12767 (print_element_properties_info), (print_element_info):
12768 ported gstchildproxy over from 0.8
12769 ported gst-inspect fixes and enhancements over from 0.8
12771 2005-08-22 Wim Taymans <wim@fluendo.com>
12773 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12774 (gst_base_transform_handle_buffer):
12775 Also call the transform function if we have ANY caps.
12777 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12780 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
12782 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12783 Don't pretend to handle seek events if the source is not seekable
12785 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
12787 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12788 Remove extra parameter to debug output
12790 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12791 (gst_base_src_do_seek), (gst_base_src_activate_push):
12792 Fix seek event handling.
12794 * gst/gstpipeline.c: (gst_pipeline_change_state):
12795 * gst/gstqueue.c: (gst_queue_handle_sink_event),
12796 (gst_queue_src_activate_push):
12797 Don't start the src pad task on FLUSH_STOP if the pad
12801 2005-08-22 Wim Taymans <wim@fluendo.com>
12803 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12804 Added check for gst_static_caps_get() refcounting.
12806 2005-08-22 Wim Taymans <wim@fluendo.com>
12808 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12809 Make _static_caps_get() refcounting sane.
12811 * gst/gstelement.c: (gst_element_set_state):
12812 Add g_return_val_if_fail() to protect against segfaults.
12814 2005-08-22 Stefan Kost <ensonic@users.sf.net>
12816 * docs/gst/tmpl/gstevent.sgml:
12819 inlined remaining docs, added missing doc comments
12821 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
12823 * check/gst/gstbin.c: (GST_START_TEST):
12824 since we don't know when preroll is done, use refcount range
12826 * gst/check/gstcheck.h:
12827 add macro for checking refcount range
12829 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
12831 * check/Makefile.am:
12832 clean up environment for when registry gets built versus
12833 when actual tests are run; valgrind seems to not report
12834 leaks if GST_PLUGIN_PATH is set to some specific values
12835 * check/gst/gstbin.c: (GST_START_TEST):
12836 add more refcounting checks; maybe this exposes a
12838 * common/check.mak:
12839 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12840 * gst/check/gstcheck.h:
12841 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12842 (gst_bin_change_state):
12843 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12844 add/fix debugging/whitespace
12846 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
12848 * check/gst/gstevent.c: (event_probe), (test_event),
12850 Er, don't call gst_bin_watch_for_state_change you idiot.
12852 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
12854 * check/Makefile.am:
12855 Use CHECK_CFLAGS and CHECK_LIBS
12856 * check/gst/gstevent.c: (event_probe), (test_event),
12859 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12860 (gst_base_src_start), (gst_base_src_stop),
12861 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12862 (gst_base_src_change_state):
12863 Sprinkle gst_base_src_stop liberally around error paths to fix
12864 problems reusing a source after failed state changes.
12865 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12866 (helper_find_suggest), (gst_type_find_helper):
12867 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12869 * docs/gst/tmpl/gstevent.sgml:
12870 Migrate part of the docs from the SGML file. Wait for ensonic to
12871 tell me how I did it wrong ;)
12872 * tools/gst-typefind.c: (main):
12873 Extra robustness to state changes between files.
12875 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
12877 * check/Makefile.am:
12878 don't valgrind the controller test - it's leaking - Stefan, HELP
12879 * gst/check/gstcheck.c: (gst_check_message_error),
12880 (gst_check_chain_func), (gst_check_setup_element),
12881 (gst_check_teardown_element), (gst_check_setup_src_pad),
12882 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12883 (gst_check_teardown_sink_pad):
12884 * gst/check/gstcheck.h:
12885 add a bunch of methods to set up elements, and src and sink pads
12886 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12887 * check/elements/identity.c: (setup_identity), (cleanup_identity),
12890 * gst/gstmessage.c:
12892 whitespace/doc fixes
12894 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12896 * gst/gstelement.h:
12897 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12898 be handled by the application and not always printed as well
12900 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12902 * check/Makefile.am:
12904 * gst/check/gstcheck.c: (gst_check_message_error):
12905 * gst/check/gstcheck.h:
12906 add a fail_unless_equals_int
12907 add fail_unless for error messages
12909 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12911 * check/Makefile.am:
12913 * common/Makefile.am:
12914 * common/check.mak:
12916 factor out some of the common stuff so we can use it
12918 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12920 * check/Makefile.am:
12921 * check/gst/gstiterator.c: (GST_START_TEST):
12922 * check/gst/gstsystemclock.c: (GST_START_TEST),
12923 (gst_systemclock_suite):
12924 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12926 valgrind more tests
12928 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12930 * check/elements/.cvsignore:
12931 * check/elements/gstfakesrc.c:
12932 rename to name of element
12933 * check/elements/identity.c: (chain_func), (event_func),
12934 (setup_identity), (cleanup_identity), (GST_START_TEST),
12935 (identity_suite), (main):
12936 add a test for identity
12937 * check/Makefile.am:
12938 * pkgconfig/Makefile.am:
12939 * pkgconfig/gstreamer-check.pc.in:
12940 * pkgconfig/gstreamer-check-uninstalled.pc.in:
12944 move the check stuff to a library that gets installed
12945 * check/gst-libs/controller.c: (GST_START_TEST):
12946 * check/gst-libs/gdp.c:
12947 * check/gst/gst.c: (GST_START_TEST):
12948 * check/gst/gstbin.c:
12949 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12950 * check/gst/gstbus.c:
12951 * check/gst/gstcaps.c: (GST_START_TEST):
12952 * check/gst/gstelement.c:
12953 * check/gst/gstghostpad.c:
12954 * check/gst/gstiterator.c:
12955 * check/gst/gstmessage.c:
12956 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12957 * check/gst/gstobject.c:
12958 * check/gst/gstpad.c: (GST_START_TEST):
12959 * check/gst/gststructure.c: (GST_START_TEST):
12960 * check/gst/gstsystemclock.c: (GST_START_TEST),
12961 (gst_systemclock_suite):
12962 * check/gst/gsttag.c: (gst_tag_suite):
12963 * check/gst/gstvalue.c:
12964 * check/pipelines/cleanup.c:
12965 * check/pipelines/simple_launch_lines.c:
12966 * check/states/sinks.c:
12967 change include statement
12969 * docs/gst/gstreamer-sections.txt:
12970 * docs/gst/tmpl/gstpad.sgml:
12971 document more pad stuff
12972 * gst/gstminiobject.c: (gst_mini_object_ref),
12973 (gst_mini_object_unref):
12976 2005-08-19 Stefan Kost <ensonic@users.sf.net>
12978 * docs/gst/tmpl/gst.sgml:
12980 eliminate another tmpl file, fix spelling in the long-description
12982 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12984 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12985 (test_event), (timediff), (gstevents_suite):
12986 Should fix build on 64-bit arch's
12988 2005-08-18 Andy Wingo <wingo@pobox.com>
12990 Make sure that when a pipeline goes to PLAYING, that data has
12991 actually hit the sink.
12993 * check/states/sinks.c (test_sink): A sink that doesn't get any
12994 data shouldn't return SUCCESS for going to either PLAYING or
12995 PAUSED. Test also the return values on the way back down.
12997 * gst/gstelement.c (gst_element_set_state): When changing the
12998 state of an element currently changing state asynchronously, go to
12999 lost-state after commiting the pending state. Makes future calls
13000 to get_state continue to return ASYNC.
13002 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
13003 ASYNC when going to PLAYING if we still don't have preroll, as can
13004 happen with live sources.
13006 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
13008 * docs/pwg/advanced-types.xml:
13009 Hack long paragraph into 2 chunks as a workaround for buggy
13010 jadetex version in sid and breezy that loops infinitely and
13013 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
13015 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13016 (test_event), (timediff), (gstevents_suite):
13017 Provide more error margin in clock measurements to allow for
13018 g_get_current_time inaccuracies.
13020 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
13022 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13023 (test_event), (timediff), (gstevents_suite):
13024 Fix error message output so I might be able to tell why the
13025 test works here but fails on the build farm.
13027 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
13029 * check/Makefile.am:
13030 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13031 (test_event), (timediff), (gstevents_suite), (main):
13034 * docs/design/part-seeking.txt:
13035 Spelling correction
13037 * docs/gst/tmpl/gstevent.sgml:
13038 * docs/gst/tmpl/gstfakesrc.sgml:
13041 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13042 Treat a buffer-without-newsegment the same as a receiving
13043 a newsegment not in time format, and disable syncing to the clock
13046 * gst/gstbus.c: (gst_bus_set_sync_handler):
13047 Assert if anyone tries to replace the existing sync_handler for bus,
13048 as only the owner should be setting it.
13051 Have a fixed set of custom event enums with events identified by
13052 their structure name (as in 0.8), rather than a free-for-all
13053 allowing collisions between enum values from different plugins.
13055 * gst/gstpad.c: (gst_pad_class_init):
13058 * gst/gstqueue.c: (gst_queue_handle_sink_event):
13059 Handle out-of-band downstream events from the sending thread.
13061 2005-08-17 Andy Wingo <wingo@pobox.com>
13063 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13064 play-timeout==0 to mean no timeout at all. In that case, don't
13065 bother with a get_state or a warning, just return directly, even
13068 * gst/base/gstbasetransform.c: Debug changes.
13071 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13072 ensure bins post state change messages. A bit of a hack but I can't
13073 think of a way to avoid it.
13075 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13077 2005-08-16 Andy Wingo <wingo@pobox.com>
13079 * gst/base/gstadapter.h:
13080 * gst/base/gstadapter.c (gst_adapter_take): New function, like
13081 peek() but you own the data. Not terribly efficient atm.
13083 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13085 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13086 (gst_element_found_tags):
13088 Add two utility functions for tag handling.
13090 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13092 * docs/manual/advanced-dataaccess.xml:
13093 * docs/manual/basics-helloworld.xml:
13094 Fix docs to use _bin_add() before _link(), which fixes the examples
13095 with recent core versions (reported by Madhan Raj M
13096 <raj_madan@rediffmail.com>, #313199).
13098 2005-08-16 Wim Taymans <wim@fluendo.com>
13100 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13101 Added subtract checks.
13103 * docs/design/part-events.txt:
13104 Some more docs about newsegment
13106 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13109 * gst/gstcaps.c: (gst_caps_to_string):
13110 Add comments, cleanups.
13112 * gst/gstelement.c: (gst_element_save_thyself):
13115 * gst/gstvalue.c: (gst_value_collect_int_range),
13116 (gst_string_unwrap), (gst_value_union_int_int_range),
13117 (gst_value_union_int_range_int_range),
13118 (gst_value_intersect_int_int_range),
13119 (gst_value_intersect_int_range_int_range),
13120 (gst_value_intersect_double_double_range),
13121 (gst_value_intersect_double_range_double_range),
13122 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13123 (gst_value_subtract_int_range_int),
13124 (gst_value_subtract_double_range_double),
13125 (gst_value_subtract_double_range_double_range),
13126 (gst_value_subtract_from_list), (gst_value_subtract_list),
13127 (gst_value_can_compare), (gst_value_compare_fraction):
13128 Cleanups, add comments, remove unneeded asserts.
13130 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
13132 * tools/gst-launch.c: (event_loop):
13133 don't convert NULL structures to strings
13135 2005-08-15 Stefan Kost <ensonic@users.sf.net>
13137 * docs/gst/gstreamer-sections.txt:
13138 made some defines private
13139 * docs/gst/tmpl/gstconfig.sgml:
13140 * docs/gst/tmpl/gstqueue.sgml:
13141 * docs/gst/tmpl/gsttaglist.sgml:
13142 * docs/gst/tmpl/gsttypes.sgml:
13143 * docs/gst/tmpl/gstutils.sgml:
13144 * docs/pwg/appendix-porting.xml:
13145 * gst/base/gstbasesink.h:
13146 * gst/base/gstbasesrc.c:
13147 * gst/base/gstbasesrc.h:
13148 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13149 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13150 * gst/gstelement.c: (gst_element_class_init):
13151 * gst/gstpad.c: (gst_pad_class_init):
13152 * gst/gstqueue.c: (gst_queue_class_init):
13153 * gst/gstxml.c: (gst_xml_class_init):
13154 documented all undocumented signal inline
13155 * libs/gst/controller/gst-controller.h:
13158 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13160 * docs/pwg/appendix-porting.xml:
13161 Document _set_link_function -> _set_setcaps_function.
13163 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
13165 * check/Makefile.am:
13166 add a .check target for running the check
13167 * check/gst-libs/controller.c: (GST_START_TEST):
13169 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13170 complete checks for gstbuffer; would be nice if I could get the
13171 gcov stuff to work so I can see if I actually completed gstbuffer.c
13172 * check/gstcheck.h:
13173 add ASSERT_BUFFER_REFCOUNT
13175 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
13177 * docs/gst/gstreamer-sections.txt:
13178 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13180 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13181 spew out a warning if a tag that is already registered
13182 is re-registered, unless it is re-registered with a
13183 different type (#308438).
13185 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
13187 * docs/pwg/appendix-porting.xml:
13188 * docs/pwg/building-state.xml:
13189 Add some paragraphs about state changes in 0.9 to the PWG
13190 and the porting guide, in particular about the new meaning
13191 of GST_STATE_PAUSED and how to write state change functions
13192 with concurrent access by multiple threads in mind.
13194 2005-08-11 Stefan Kost <ensonic@users.sf.net>
13196 * docs/gst/gstreamer-docs.sgml:
13197 * docs/libs/gstreamer-libs-docs.sgml:
13198 added deprecation and since indexes
13199 * libs/gst/controller/gst-controller.c:
13200 * libs/gst/controller/gst-helper.c:
13204 2005-08-11 Wim Taymans <wim@fluendo.com>
13206 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13207 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13208 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13209 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13210 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13211 (gst_ghost_pad_set_target):
13212 Actually implement (re)setting the target on a ghostpad
13213 as described in the docs.
13215 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
13217 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13218 Check whether GST_DEBUG_NO_COLOR environment variable is
13219 set and disable coloured debug output if that is the case.
13221 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
13223 * gst/base/gsttypefindhelper.c: (helper_find_peek),
13224 (gst_type_find_helper):
13225 The memory returned by gst_type_find_peek() needs to
13226 stay valid until the end of a typefind function, and
13227 typefind functions may keep results from different
13228 offsets around, so we can't just unref the buffer from
13229 the previous _peek(), but have to save all buffers
13230 returned by _peek() until typefinding is done and only
13233 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
13235 * docs/gst/gstreamer-sections.txt:
13237 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13239 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13241 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13242 Fix a pretty good memleak.
13244 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
13246 * gst/gstiterator.h:
13247 Fix wrong include and 'make distcheck'.
13249 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13251 * gst/gstbin.c: (bin_bus_handler):
13252 Use gst_element_post_message() instead.
13254 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
13256 * gst/base/gstadapter.h:
13257 * gst/base/gstbasesink.h:
13258 * gst/base/gstbasesrc.h:
13259 * gst/base/gstbasetransform.h:
13260 * gst/base/gstcollectpads.h:
13261 * gst/base/gstpushsrc.h:
13262 * gst/gstiterator.h:
13263 Add padding to our base elements' class and instance structs and
13264 to GstIterator (you will need to rebuild all plugins and apps!)
13266 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13268 * gst/gstbin.c: (bin_bus_handler):
13269 Make default message forwarding from child->bus to bin->bus
13270 threadsafe and make it not emit warnings if the parent has no bus.
13272 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13274 * gst/gstelement.c: (activate_pads):
13275 On paused->ready, set pad->caps to NULL, as is the documented
13276 behaviour in this state change. Fixes playback of series of
13277 media files when visualization is enabled in Totem.
13279 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13281 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13282 Allow NULL as filter-caps (which means "any").
13284 2005-08-05 Stefan Kost <ensonic@users.sf.net>
13286 * docs/libs/gstreamer-libs-sections.txt:
13287 * libs/gst/controller/gst-controller.c:
13288 * libs/gst/controller/gst-controller.h:
13289 * libs/gst/controller/gst-helper.c:
13290 adding more entries to the docs and fix small doc-bugs
13292 2005-08-05 Stefan Kost <ensonic@users.sf.net>
13294 * docs/gst/gstreamer-docs.sgml:
13295 * docs/gst/gstreamer-sections.txt:
13296 * docs/gst/gstreamer.types:
13297 * docs/gst/tmpl/gstbasesink.sgml:
13298 * docs/gst/tmpl/gstbasesrc.sgml:
13299 * docs/gst/tmpl/gstbasetransform.sgml:
13300 * docs/gst/tmpl/gstfakesrc.sgml:
13301 * gst/base/gstcollectpads.c:
13302 * gst/base/gstcollectpads.h:
13303 * libs/gst/controller/gst-controller.c:
13304 * libs/gst/controller/gst-controller.h:
13305 * libs/gst/controller/gst-helper.c:
13306 * libs/gst/controller/gst-interpolation.c:
13307 * libs/gst/controller/lib.c:
13308 added long/short desc for controller docs
13309 added collectpads base class docs
13310 added correct includes to base-class docs
13312 2005-08-05 Stefan Kost <ensonic@users.sf.net>
13314 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13315 (gst_test_mono_source_set_property),
13316 (gst_test_mono_source_class_init), (GST_START_TEST),
13317 (gst_controller_suite):
13318 * docs/gst/gstreamer-docs.sgml:
13319 * docs/gst/gstreamer-sections.txt:
13320 * docs/gst/gstreamer.types:
13321 * docs/libs/gstreamer-libs-docs.sgml:
13322 * docs/libs/gstreamer-libs-sections.txt:
13323 * gst/base/gstadapter.c:
13324 * libs/gst/controller/gst-controller.c:
13325 (gst_controlled_property_new), (gst_controlled_property_free),
13326 (gst_controller_new_valist),
13327 (gst_controller_remove_properties_valist),
13328 (gst_controller_sink_values), (_gst_controller_finalize):
13329 * libs/gst/controller/gst-controller.h:
13330 * libs/gst/controller/gst-helper.c:
13331 (gst_object_control_properties), (gst_object_uncontrol_properties),
13332 (gst_object_get_controller), (gst_object_set_controller),
13333 (gst_object_sink_values), (gst_object_get_value_arrays),
13334 (gst_object_get_value_array):
13335 more tests (and fixes) for the controller
13336 more docs for the controller
13337 integrated companies docs for the adapter
13339 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
13341 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13342 (GST_START_TEST), (fakesrc_suite):
13343 add tests for sizetype
13345 2005-08-04 Andy Wingo <wingo@pobox.com>
13347 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13348 fixes buffer_alloc proxying among other things.
13350 * gst/base/gstbasetransform.c:
13351 * gst/base/gstbasetransform.h:
13352 Revert patch to gstbasetransform from 7-28 removing
13355 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13356 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13357 Semantics changed, should return not the size of the output buffer
13358 but the byte size of a buffer with a given caps.
13360 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13362 (gst_base_transform_configure_caps): Don't set out_size here: (in,
13363 out) are not the pad caps until setcaps finishes.
13364 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13365 not-in-place case as well. Deal with changing from in-place to
13366 not-in-place within calling pad_alloc_buffer. Still a bit
13367 concerned about the overhead here...
13369 2005-08-03 Andy Wingo <wingo@pobox.com>
13371 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13372 fixating is an error.
13374 2005-08-04 Edward Hervey <edward@fluendo.com>
13376 * gst/base/gstadapter.h:
13377 Added gst_adapter_get_type() to the header
13379 2005-08-03 Stefan Kost <ensonic@users.sf.net>
13381 * check/Makefile.am:
13382 * check/gst-libs/controller.c:
13383 * libs/gst/controller/gst-controller.c:
13384 (gst_controller_new_valist):
13385 added check test suite for the controller
13386 * gst/base/gstpushsrc.c:
13389 2005-08-03 Stefan Kost <ensonic@users.sf.net>
13391 * docs/gst/Makefile.am:
13392 * docs/gst/gstreamer-docs.sgml:
13393 * docs/gst/gstreamer-sections.txt:
13394 * docs/gst/gstreamer.types:
13395 * docs/gst/tmpl/gstfakesrc.sgml:
13397 * gst/base/gstbasesink.c:
13398 * gst/base/gstbasesink.h:
13399 * gst/base/gstbasesrc.c:
13400 * gst/base/gstbasesrc.h:
13401 * gst/base/gstbasetransform.c:
13402 * gst/base/gstpushsrc.c:
13403 * gst/base/gstpushsrc.h:
13404 add short/long description docs to base classes
13405 add pushsrc to the docs
13406 remove consolidated doc fragments
13408 2005-08-03 Stefan Kost <ensonic@users.sf.net>
13411 * docs/libs/Makefile.am:
13412 * docs/libs/gstreamer-libs-docs.sgml:
13413 * docs/libs/gstreamer-libs-sections.txt:
13414 * docs/libs/gstreamer-libs.types:
13415 * examples/Makefile.am:
13416 * examples/controller/.cvsignore:
13417 * examples/controller/Makefile.am:
13418 * examples/controller/audio-example.c: (main):
13419 * libs/gst/Makefile.am:
13420 * libs/gst/controller/.cvsignore:
13421 * libs/gst/controller/Makefile.am:
13422 * libs/gst/controller/gst-controller.c:
13423 (on_object_controlled_property_changed), (gst_timed_value_compare),
13424 (gst_timed_value_find),
13425 (gst_controlled_property_set_interpolation_mode),
13426 (gst_controlled_property_new), (gst_controlled_property_free),
13427 (gst_controller_find_controlled_property),
13428 (gst_controller_new_valist), (gst_controller_new),
13429 (gst_controller_remove_properties_valist),
13430 (gst_controller_remove_properties), (gst_controller_set),
13431 (gst_controller_set_from_list), (gst_controller_unset),
13432 (gst_controller_get), (gst_controller_get_all),
13433 (gst_controller_sink_values), (gst_controller_get_value_arrays),
13434 (gst_controller_get_value_array),
13435 (gst_controller_set_interpolation_mode),
13436 (_gst_controller_finalize), (_gst_controller_init),
13437 (_gst_controller_class_init), (gst_controller_get_type):
13438 * libs/gst/controller/gst-controller.h:
13439 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13440 (g_object_uncontrol_properties), (g_object_get_controller),
13441 (g_object_set_controller), (g_object_sink_values),
13442 (g_object_get_value_arrays), (g_object_get_value_array):
13443 * libs/gst/controller/gst-interpolation.c:
13444 (gst_controlled_property_find_timed_value_node),
13445 (interpolate_none_get), (interpolate_trigger_get),
13446 (interpolate_trigger_get_value_array):
13447 * libs/gst/controller/lib.c: (gst_controller_init):
13448 * pkgconfig/Makefile.am:
13449 * pkgconfig/gstreamer-control-uninstalled.pc.in:
13450 * pkgconfig/gstreamer-control.pc.in:
13451 * testsuite/Makefile.am:
13452 * testsuite/controller/.cvsignore:
13453 * testsuite/controller/Makefile.am:
13454 * testsuite/controller/interpolator.c: (main):
13455 added controller code
13456 removed dparam pc files
13458 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
13459 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13460 (gst_collectpads_stop):
13461 Broadcast the condition when shutting down, to make sure we wake all
13462 threads up. Shut down pads on finalize, for safety.
13464 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
13465 * gst/base/gstbasetransform.c: (gst_base_transform_init),
13466 (gst_base_transform_handle_buffer),
13467 (gst_base_transform_change_state):
13468 Handle PAUSED->READY->PAUSED transition after negotiation
13470 * gst/gstmessage.c: (gst_message_init):
13471 Extra piece of debug for new messages.
13473 2005-08-01 Stefan Kost <ensonic@users.sf.net>
13476 * docs/gst/tmpl/gstbasesrc.sgml:
13477 * docs/gst/tmpl/gstelement.sgml:
13478 * docs/gst/tmpl/gstevent.sgml:
13479 * docs/gst/tmpl/gstfakesrc.sgml:
13480 * docs/gst/tmpl/gstformat.sgml:
13481 * docs/gst/tmpl/gstghostpad.sgml:
13482 * docs/gst/tmpl/gstpad.sgml:
13483 * docs/gst/tmpl/gstquery.sgml:
13484 * docs/gst/tmpl/gststructure.sgml:
13485 * docs/gst/tmpl/gsttaglist.sgml:
13486 * docs/gst/tmpl/gstvalue.sgml:
13487 * docs/libs/gstreamer-libs-docs.sgml:
13488 * docs/libs/gstreamer-libs-sections.txt:
13489 * docs/libs/gstreamer-libs.types:
13490 * libs/gst/Makefile.am:
13491 * libs/gst/control/.cvsignore:
13492 * libs/gst/control/Makefile.am:
13493 * libs/gst/control/control.c:
13494 * libs/gst/control/control.h:
13495 * libs/gst/control/dparam.c:
13496 * libs/gst/control/dparam.h:
13497 * libs/gst/control/dparam_smooth.c:
13498 * libs/gst/control/dparam_smooth.h:
13499 * libs/gst/control/dparamcommon.h:
13500 * libs/gst/control/dparammanager.c:
13501 * libs/gst/control/dparammanager.h:
13502 * libs/gst/control/dplinearinterp.c:
13503 * libs/gst/control/dplinearinterp.h:
13504 * libs/gst/control/unitconvert.c:
13505 * libs/gst/control/unitconvert.h:
13506 * testsuite/Makefile.am:
13507 * testsuite/dynparams/.cvsignore:
13508 * testsuite/dynparams/Makefile.am:
13509 * testsuite/dynparams/dparamstest.c:
13510 * tools/Makefile.am:
13511 * tools/gst-inspect.c: (print_element_info), (main):
13512 * tools/gst-xmlinspect.c: (print_element_info), (main):
13513 deactivate and remove dparams (libgstcontrol)
13515 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
13517 * gst/elements/gsttypefindelement.c:
13518 (gst_type_find_element_have_type), (gst_type_find_element_init),
13519 (stop_typefinding), (gst_type_find_element_handle_event),
13520 (gst_type_find_element_chain), (gst_type_find_element_getrange):
13521 * gst/elements/gsttypefindelement.h:
13522 Set caps on all outgoing buffers, not just the first one.
13524 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
13526 * gst/elements/gsttypefindelement.c:
13527 (gst_type_find_element_have_type),
13528 (gst_type_find_element_check_set_buffer_caps),
13529 (gst_type_find_element_init), (stop_typefinding),
13530 (gst_type_find_element_handle_event),
13531 (gst_type_find_element_chain), (gst_type_find_element_getrange):
13532 * gst/elements/gsttypefindelement.h:
13533 Set caps on first outgoing buffer when we've found the type.
13535 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
13537 * docs/gst/gstreamer-docs.sgml:
13538 * docs/gst/gstreamer-sections.txt:
13539 * docs/gst/tmpl/gstscheduler.sgml:
13540 * docs/gst/tmpl/gstschedulerfactory.sgml:
13541 Remove some old cruft from docs.
13543 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
13546 Fix inline docs for GstPadLinkReturn.
13548 * gst/gststructure.c: (gst_structure_has_name):
13549 * gst/gststructure.h:
13550 * docs/gst/gstreamer-sections.txt:
13551 New API: gst_structure_has_name().
13553 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
13556 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13557 and _LARGEFILE_SOURCE in config.h as required. Do not
13558 export those flags in our .pc files any longer (#142209).
13560 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13562 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13563 (gst_file_sink_do_seek), (gst_file_sink_event),
13564 (gst_file_sink_get_current_offset), (gst_file_sink_render):
13565 Redo seek/tell calls with large file support in mind; add some
13566 debugging messages; add log message that tells us when large
13567 file support is unavailable or not enabled for some reason.
13569 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13570 Add log message that tells us when large file support
13571 is unavailable or not enabled for some reason.
13573 2005-07-29 Wim Taymans <wim@fluendo.com>
13575 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13576 Added test for removing an element with ghostpad from a bin.
13577 Fixed test as current implementation does the right thing.
13579 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13580 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13581 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13582 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13583 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13584 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13585 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13586 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13587 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13588 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13589 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13590 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13591 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13592 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13593 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13594 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13595 * gst/gstghostpad.h:
13596 Clean up ghostpads, remove properties for internal stuff.
13599 Prepare for switching targets, not all use cases work yet.
13601 2005-07-29 Wim Taymans <wim@fluendo.com>
13603 * docs/design/part-gstghostpad.txt:
13606 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13607 (gst_bin_remove_func):
13608 Unlinking pads while holding the bin LOCK is not a good
13611 * gst/gstpad.c: (gst_pad_class_init),
13612 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13613 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13614 No prob setting template after creating the pad.
13616 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
13618 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13619 (gst_bus_peek), (gst_bus_source_dispatch),
13620 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13621 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13622 gst_bus_poll may be called from other threads. Handle
13623 this nicely by not making poll_data disappear off the
13624 stack once gst_bus_poll returns.
13625 gst_bus_peek now increments the refcount on the returned
13628 2005-07-29 Wim Taymans <wim@fluendo.com>
13630 * docs/design/part-gstghostpad.txt:
13631 Overview of current GhostPad datastructures and use
13632 cases for changing the target.
13634 2005-07-28 Wim Taymans <wim@fluendo.com>
13636 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13637 Added checks for hierarchy consistency whan adding linked
13640 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13641 Added check to test element scheduling without bin/pipeline.
13643 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13644 First add elements to bin, then link.
13646 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13647 (gst_bin_remove_func):
13648 Unlink pads from elements added/removed from bin to maintain
13649 hierarchy consistency.
13651 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13653 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13654 (gst_base_transform_handle_buffer):
13655 * gst/base/gstbasetransform.h:
13656 Remove broken delay_configure (fixes renegotiation of software
13657 scaling pipelines); remove some leftover printf()s.
13659 2005-07-28 Wim Taymans <wim@fluendo.com>
13661 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13662 Added some more tests for wrong hierarchy
13664 * docs/design/part-overview.txt:
13667 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13670 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13671 (gst_element_dispose):
13672 Some more cleanups.
13674 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13675 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13676 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13677 (gst_pad_set_caps), (gst_pad_send_event):
13678 Check for correct hierarchy when linking pads. Moving to
13679 strict requirement for ghostpads when linking elements in
13683 Clean ups. Added WRONG_HIERARCHY return value.
13685 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13687 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13688 Better debug if no transform is possible.
13690 2005-07-27 Wim Taymans <wim@fluendo.com>
13692 * docs/random/wtay/network-transp:
13693 Some old doc I had.
13695 2005-07-27 Wim Taymans <wim@fluendo.com>
13697 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13698 (gst_dp_event_from_packet):
13699 Fix serialization of seek events.
13701 2005-07-27 Wim Taymans <wim@fluendo.com>
13703 * check/gst-libs/gdp.c: (GST_START_TEST):
13704 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13705 Fix compilation and fix event serialization.
13707 2005-07-27 Wim Taymans <wim@fluendo.com>
13710 * docs/design/part-TODO.txt:
13711 * docs/design/part-events.txt:
13714 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13715 (gst_base_sink_event), (gst_base_sink_do_sync),
13716 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13717 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13718 (gst_base_src_do_seek), (gst_base_src_event_handler),
13719 (gst_base_src_loop):
13720 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13721 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13722 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13723 (gst_base_transform_event), (gst_base_transform_handle_buffer),
13724 (gst_base_transform_set_passthrough),
13725 (gst_base_transform_is_passthrough):
13726 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13727 * gst/elements/gstfilesink.c: (gst_file_sink_event):
13733 * gst/gstelement.c: (gst_element_seek):
13734 * gst/gstelement.h:
13735 Update gst_element_seek.
13737 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13738 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13739 (gst_event_new_flush_start), (gst_event_new_flush_stop),
13740 (gst_event_new_eos), (gst_event_new_newsegment),
13741 (gst_event_parse_newsegment), (gst_event_new_tag),
13742 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13743 (gst_event_parse_qos), (gst_event_new_seek),
13744 (gst_event_parse_seek), (gst_event_new_navigation):
13746 Make GstEvent use GstStructure. Add parsing code, make sure the
13747 API is sufficiently generic.
13748 Mark possible directions of events and serialization.
13750 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13751 (_gst_message_copy), (gst_message_new_segment_start),
13752 (gst_message_new_segment_done), (gst_message_new_custom),
13753 (gst_message_parse_segment_start),
13754 (gst_message_parse_segment_done):
13757 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13758 (gst_pad_set_caps), (gst_pad_send_event):
13759 Update for new events.
13760 Catch events sent in wrong directions.
13762 * gst/gstqueue.c: (gst_queue_link_src),
13763 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13764 (gst_queue_handle_src_query):
13769 Remove event code from this file.
13771 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13772 (gst_dp_event_from_packet):
13775 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13777 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13778 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13779 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13780 Make debugging actually useful.
13782 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13784 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13785 (gst_pad_fixate_caps):
13786 Implement default fixation once again, so that gst_pad_fixate()
13787 actually does anything at all. This probably needs to be some
13788 sort of a last resort, and use profile-based fixation first, but
13789 since that doesn't exist yet, this is the best we have. Fixes
13790 visualization in Totem.
13792 2005-07-22 Wim Taymans <wim@fluendo.com>
13794 * docs/design/part-events.txt:
13797 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13798 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13799 (gst_base_sink_activate_pull):
13800 Some more comments.
13802 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13803 (gst_fake_src_create):
13804 Fix handoff marshall.
13806 * gst/elements/gstidentity.c: (gst_identity_class_init),
13807 (gst_identity_transform_ip):
13808 We're a real inplace element.
13810 * gst/gstbus.c: (gst_bus_post):
13811 Added some comments.
13813 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13814 * tests/muxing/case1.c: (main):
13815 * tests/sched/dynamic-pipeline.c: (main):
13816 * tests/sched/interrupt1.c: (main):
13817 * tests/sched/interrupt2.c: (main):
13818 * tests/sched/interrupt3.c: (main):
13819 * tests/sched/runxml.c: (main):
13820 * tests/sched/sched-stress.c: (main):
13821 * tests/seeking/seeking1.c: (event_received), (main):
13822 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13824 * tests/threadstate/threadstate3.c: (main):
13825 * tests/threadstate/threadstate4.c: (main):
13826 * tests/threadstate/threadstate5.c: (main):
13829 2005-07-21 Wim Taymans <wim@fluendo.com>
13831 * docs/design/part-seeking.txt:
13832 Some small additions.
13834 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13835 (gst_base_sink_get_times), (gst_base_sink_do_sync),
13836 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13837 * gst/base/gstbasesink.h:
13838 discont values are gint64, handle the math correctly.
13840 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13841 Make the basesrc report error if the source pad is not linked.
13843 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13844 (gst_queue_loop), (gst_queue_handle_src_query),
13845 (gst_queue_src_activate_push):
13846 Make queue collect data even if the srcpad is not linked.
13847 Start pushing out data as soon as it is linked.
13849 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13851 Added gst_flow_get_name() to ease error reporting.
13853 2005-07-20 Wim Taymans <wim@fluendo.com>
13855 * gst/gstmessage.c: (gst_message_new_segment_start),
13856 (gst_message_new_segment_done), (gst_message_parse_segment_start),
13857 (gst_message_parse_segment_done):
13858 * gst/gstmessage.h:
13859 Added a bunch of messages for advanced seeking.
13861 * gst/parse/grammar.y:
13862 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13863 (gst_dpman_state_changed):
13864 Fix some new-pad -> pad-added signals
13866 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13868 * docs/manual/appendix-porting.xml:
13869 * docs/pwg/appendix-porting.xml:
13870 Document new-pad/state-change signal renames and the FixedList
13873 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13875 * docs/manual/advanced-autoplugging.xml:
13876 * docs/manual/basics-helloworld.xml:
13877 * docs/manual/basics-pads.xml:
13878 * docs/random/ds/0.9-suggested-changes:
13879 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13880 * gst/gstelement.h:
13884 * gst/gststructure.c: (gst_structure_value_get_generic_type),
13885 (gst_structure_parse_array), (gst_structure_parse_value):
13886 * gst/gstvalue.c: (gst_type_is_fixed),
13887 (gst_value_list_prepend_value), (gst_value_list_append_value),
13888 (gst_value_list_get_size), (gst_value_list_get_value),
13889 (gst_value_transform_array_string), (gst_value_serialize_array),
13890 (gst_value_deserialize_array), (gst_value_intersect_array),
13891 (gst_value_is_fixed), (_gst_value_initialize):
13893 GstElement::new-pad -> pad-added, GstElement::state-change ->
13894 state-changed, GstValueFixedList -> GstValueArray, add format and
13895 flags as their own arguments in gst_element_seek() (should improve
13896 "bindeability"), remove function generators since they don't work
13897 under a whole bunch of compilers (they were deprecated already
13900 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13902 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13903 (_gst_debug_register_funcptr):
13905 Fix illegal cast on some platforms (#309253).
13907 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13909 * gst/gstmessage.c: (gst_message_new_custom):
13910 * gst/gstmessage.h:
13911 Add _new_custom, make _new_application a macro to _new_custom.
13913 2005-07-20 Wim Taymans <wim@fluendo.com>
13915 * gst/base/gstbasesrc.c: (gst_base_src_init),
13916 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13917 * gst/base/gstbasesrc.h:
13918 Add a gboolean to decide when to push out a discont.
13920 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13921 (gst_queue_loop), (gst_queue_handle_src_query),
13922 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13923 (gst_queue_set_property), (gst_queue_get_property):
13926 * tests/threadstate/threadstate1.c: (main):
13927 Make a thread test compile and run... very silly..
13930 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13932 * docs/manual/appendix-porting.xml:
13933 Mention removal of libgstgconf-0.9.la and existence of gconf
13936 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13938 * docs/pwg/advanced-clock.xml:
13939 * docs/pwg/appendix-porting.xml:
13940 * docs/pwg/intro-preface.xml:
13941 * docs/pwg/other-base.xml:
13942 * docs/pwg/other-manager.xml:
13943 * docs/pwg/other-nton.xml:
13944 * docs/pwg/other-ntoone.xml:
13945 * docs/pwg/other-oneton.xml:
13946 * docs/pwg/pwg.xml:
13947 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13948 demuxer), remove n-to-n (was never written), fix some code examples
13949 and links and update the porting section to include all this.
13951 2005-07-19 Wim Taymans <wim@fluendo.com>
13953 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13954 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13955 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13956 (gst_queue_src_activate_push), (gst_queue_change_state),
13957 (gst_queue_get_property):
13959 Propagate GstFlowReturn more intelligently upstream and output
13960 an ERROR/EOS when streaming stopped due to fatal error.
13962 2005-07-19 Wim Taymans <wim@fluendo.com>
13964 * tools/gst-launch.c: (check_intr), (event_loop), (main):
13965 Don't block forever for the state change to complete, the
13966 pipeline already did with a sensible timeout.
13968 2005-07-19 Wim Taymans <wim@fluendo.com>
13970 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13971 Make sure we never call the create function is we
13974 2005-07-19 Andy Wingo <wingo@pobox.com>
13976 * gst/parse/parse.l: Attempt to solve bug #172815.
13978 2005-07-19 Wim Taymans <wim@fluendo.com>
13980 * docs/design/part-clocks.txt:
13981 * docs/design/part-events.txt:
13982 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13983 Small docs updates.
13984 Only update the seeking values when we are not
13987 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
13989 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13990 Oops, ignore the result of gst_pad_push_event here.
13992 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
13994 * gst/base/gstbasesrc.c: (gst_base_src_loop),
13995 (gst_base_src_activate_push):
13996 Send discont event from the loop function, as pads
13997 aren't activated yet in the activate_push handler.
13999 * gst/gstbin.c: (bin_bus_handler):
14000 Don't leak element name.
14002 2005-07-18 Andy Wingo <wingo@pobox.com>
14004 * configure.ac: Use AS_LIBTOOL_TAGS.
14006 2005-07-18 Wim Taymans <wim@fluendo.com>
14008 * docs/gst/gstreamer.types:
14009 Remove deleted types.
14011 2005-07-18 Wim Taymans <wim@fluendo.com>
14013 * check/elements/gstfakesrc.c: (GST_START_TEST):
14016 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14017 (init_popt_callback):
14019 * gst/gst_private.h:
14020 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14021 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14024 * gst/gstconfig.h.in:
14025 * gst/gstelement.c: (gst_element_class_init),
14026 (gst_element_set_base_time), (gst_element_get_base_time),
14027 (iterator_fold_with_resync), (gst_element_change_state),
14028 (gst_element_dispose), (gst_element_get_bus):
14029 * gst/gstelement.h:
14030 * gst/gstelementfactory.h:
14031 * gst/gsterror.c: (_gst_core_errors_init):
14034 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14036 * gst/gstinfo.c: (_gst_debug_init):
14037 * gst/gstmessage.c: (_gst_message_copy):
14038 * gst/gstmessage.h:
14039 * gst/gstminiobject.h:
14042 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14043 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14046 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14047 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14048 (gst_pipeline_get_last_stream_time):
14049 * gst/gstpipeline.h:
14050 * gst/gstpluginfeature.h:
14052 * gst/gstscheduler.c:
14053 * gst/gstscheduler.h:
14054 * gst/gststructure.h:
14055 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14056 (gst_task_finalize), (gst_task_func), (gst_task_create),
14057 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14058 (gst_task_stop), (gst_task_pause):
14060 * gst/gsttypefind.h:
14062 * gst/registries/gstlibxmlregistry.c: (load_feature),
14063 (gst_xml_registry_load), (gst_xml_registry_save_feature):
14064 * gst/registries/gstxmlregistry.c:
14065 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14066 * gst/schedulers/threadscheduler.c:
14067 * libs/gst/control/dparammanager.h:
14068 * tools/gst-inspect.c: (print_element_list),
14069 (print_plugin_features), (print_element_features):
14070 * tools/gst-xmlinspect.c: (print_element_list),
14071 (print_plugin_info), (main):
14072 Removed plugable schedulers.
14073 Removed Scheduler/Manager from elements.
14074 Removed gsttypes.h, rearranged includes.
14075 Removed dependency pad<->element, element<>pipeline, and
14076 various others, fix includes.
14077 implement gst_pad_get_parent() with gst_object_get_parent()
14078 Make GstTask sefcontained.
14079 Fix _get_state() on GstBin, it did not return ASYNC with a 0
14081 Fix endless loop in iterator_fold_with_resync.
14084 2005-07-18 Wim Taymans <wim@fluendo.com>
14090 2005-07-18 Wim Taymans <wim@fluendo.com>
14093 No more cothreads.h
14095 2005-07-18 Wim Taymans <wim@fluendo.com>
14099 Let's remove these.
14101 2005-07-18 Wim Taymans <wim@fluendo.com>
14103 * docs/design/part-dynamic.txt:
14104 * docs/design/part-events.txt:
14105 * docs/design/part-seeking.txt:
14106 Some more docs in the works.
14108 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14109 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14110 (gst_base_transform_setcaps), (gst_base_transform_get_size),
14111 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14112 (gst_base_transform_handle_buffer),
14113 (gst_base_transform_sink_activate_push),
14114 (gst_base_transform_src_activate_pull),
14115 (gst_base_transform_set_passthrough),
14116 (gst_base_transform_is_passthrough):
14119 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14122 * gst/gstevent.c: (gst_event_finalize):
14125 * gst/gstutils.c: (gst_element_unlink),
14126 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14127 (gst_pad_proxy_setcaps):
14129 Add _get_parent_element() to get a pads parent as an element.
14131 2005-07-18 Wim Taymans <wim@fluendo.com>
14133 * check/gst/gstbin.c: (GST_START_TEST):
14136 2005-07-18 Wim Taymans <wim@fluendo.com>
14138 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14139 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14140 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14141 (gst_base_sink_event), (gst_base_sink_do_sync),
14142 (gst_base_sink_chain), (gst_base_sink_loop),
14143 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14144 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14146 Fix logic for returning ASYNC when not prerolled.
14148 2005-07-18 Wim Taymans <wim@fluendo.com>
14150 * gst/gstqueue.c: (gst_queue_handle_sink_event):
14151 Fix nasty refcount bug.
14153 2005-07-16 Philippe Khalaf <burger@speedy.org>
14155 * gst/elements/gstfdsrc.c:
14156 * gst/elements/gstfdsrc.h:
14157 * gst/elements/gstelements.c:
14158 * gst/elements/Makefile.am:
14159 Ported fdsrc to 0.9.
14161 2005-07-16 Wim Taymans <wim@fluendo.com>
14163 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14164 (gst_base_sink_do_sync):
14167 2005-07-16 Wim Taymans <wim@fluendo.com>
14169 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14170 (gst_base_sink_event), (gst_base_sink_get_times),
14171 (gst_base_sink_do_sync), (gst_base_sink_change_state):
14172 * gst/base/gstbasesink.h:
14173 Store and use discont values when syncing buffers as described
14176 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14177 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14178 (gst_base_src_activate_push):
14179 Push discont event when starting.
14181 * gst/elements/gstidentity.c: (gst_identity_transform):
14184 * gst/gstbin.c: (gst_bin_change_state):
14185 Small cleanups in base_time distribution.
14187 * gst/gstelement.c: (gst_element_set_base_time),
14188 (gst_element_get_base_time), (gst_element_change_state):
14189 * gst/gstelement.h:
14190 Added methods for the base_time of the element.
14193 * gst/gstpipeline.c: (gst_pipeline_send_event),
14194 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14195 (gst_pipeline_get_last_stream_time):
14196 * gst/gstpipeline.h:
14198 Handle seeking as described in design doc, remove stream_time
14200 Cleanups clock and stream_time selection code. Added accessors
14201 for the stream_time.
14204 2005-07-16 Andy Wingo <wingo@pobox.com>
14206 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14209 2005-07-16 Wim Taymans <wim@fluendo.com>
14211 * check/gst/gstbin.c: (GST_START_TEST):
14212 Make elements silent as the deep_notify refs the
14213 parent, which might make the test fail.
14215 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14216 Don't hold the lock for too long.
14218 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
14220 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14221 Don't unref the caps we passed to gst_caps_make_writable() after
14222 passing them. gst_caps_make_writable() will do that for us.
14224 2005-07-15 Andy Wingo <wingo@pobox.com>
14226 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14229 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14230 own marshalling function for the handoff signal. Properly type the
14231 buffer as a buffer. Fixes some warnings. Should do a more general
14233 (gst_identity_class_init): Plug into the right marshaller.
14235 2005-07-15 Wim Taymans <wim@fluendo.com>
14237 * docs/design/part-TODO.txt:
14238 * docs/design/part-clocks.txt:
14239 * docs/design/part-element-sink.txt:
14240 * docs/design/part-events.txt:
14241 * docs/design/part-gstpipeline.txt:
14242 Updated docs, mostly DISCONT related.
14244 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
14246 * docs/pwg/building-pads.xml:
14247 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14249 2005-07-15 Andy Wingo <wingo@pobox.com>
14251 * tools/gst-typefind.c: Update, add copyright block.
14253 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14254 Normalize and truncate caps before fixation.
14257 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14258 discards all but the first structure from its argument.
14260 2005-07-15 Wim Taymans <wim@fluendo.com>
14262 * gst/base/gstbasetransform.c: (gst_base_transform_init),
14263 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14264 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14265 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14266 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14267 (gst_base_transform_chain), (gst_base_transform_change_state),
14268 (gst_base_transform_set_passthrough),
14269 (gst_base_transform_is_passthrough):
14270 * gst/base/gstbasetransform.h:
14271 Make passthrough work using the bufferpools.
14272 Changed API a bit, subclasses have to write into a buffer
14273 provided by the base class.
14274 More debug info in nego functions.
14276 * gst/elements/gstidentity.c: (gst_identity_init),
14277 (gst_identity_transform):
14278 Port to new base class.
14280 2005-07-15 Wim Taymans <wim@fluendo.com>
14282 * gst/gstmessage.c: (gst_message_new_state_changed):
14283 * tools/gst-launch.c: (event_loop), (main):
14284 Totally dump messages in -launch with the -m option.
14285 Fix message name for State messages,
14287 2005-07-14 Wim Taymans <wim@fluendo.com>
14289 * gst/base/gstbasesrc.c: (gst_base_src_loop):
14290 Post error messages on errors.
14292 2005-07-14 Wim Taymans <wim@fluendo.com>
14294 * gst/gstcaps.c: (gst_caps_do_simplify):
14298 Define error for stream stopped.
14300 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14301 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14302 Do proper return values.
14304 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14305 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14306 (gst_pad_get_range):
14307 Better return values.
14310 Reorganise return values, add macro to check for fatal errors.
14312 * gst/gstqueue.c: (gst_queue_chain):
14313 Return proper GstFlowReturn values,
14315 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
14317 * docs/gst/gstreamer-sections.txt:
14318 * docs/gst/gstreamer.types:
14319 * docs/gst/tmpl/gst.sgml:
14320 * docs/gst/tmpl/gstbasesink.sgml:
14321 * docs/gst/tmpl/gstbasesrc.sgml:
14322 * docs/gst/tmpl/gstbasetransform.sgml:
14323 * docs/gst/tmpl/gstbin.sgml:
14324 * docs/gst/tmpl/gstbuffer.sgml:
14325 * docs/gst/tmpl/gstcaps.sgml:
14326 * docs/gst/tmpl/gstclock.sgml:
14327 * docs/gst/tmpl/gstcompat.sgml:
14328 * docs/gst/tmpl/gstconfig.sgml:
14329 * docs/gst/tmpl/gstelement.sgml:
14330 * docs/gst/tmpl/gstelementdetails.sgml:
14331 * docs/gst/tmpl/gstelementfactory.sgml:
14332 * docs/gst/tmpl/gstenumtypes.sgml:
14333 * docs/gst/tmpl/gsterror.sgml:
14334 * docs/gst/tmpl/gstevent.sgml:
14335 * docs/gst/tmpl/gstfakesink.sgml:
14336 * docs/gst/tmpl/gstfakesrc.sgml:
14337 * docs/gst/tmpl/gstfilesink.sgml:
14338 * docs/gst/tmpl/gstfilesrc.sgml:
14339 * docs/gst/tmpl/gstfilter.sgml:
14340 * docs/gst/tmpl/gstformat.sgml:
14341 * docs/gst/tmpl/gstghostpad.sgml:
14342 * docs/gst/tmpl/gstimplementsinterface.sgml:
14343 * docs/gst/tmpl/gstindex.sgml:
14344 * docs/gst/tmpl/gstindexfactory.sgml:
14345 * docs/gst/tmpl/gstinfo.sgml:
14346 * docs/gst/tmpl/gstiterator.sgml:
14347 * docs/gst/tmpl/gstmacros.sgml:
14348 * docs/gst/tmpl/gstmemchunk.sgml:
14349 * docs/gst/tmpl/gstminiobject.sgml:
14350 * docs/gst/tmpl/gstobject.sgml:
14351 * docs/gst/tmpl/gstpad.sgml:
14352 * docs/gst/tmpl/gstpadtemplate.sgml:
14353 * docs/gst/tmpl/gstparse.sgml:
14354 * docs/gst/tmpl/gstpipeline.sgml:
14355 * docs/gst/tmpl/gstplugin.sgml:
14356 * docs/gst/tmpl/gstpluginfeature.sgml:
14357 * docs/gst/tmpl/gstquery.sgml:
14358 * docs/gst/tmpl/gstqueue.sgml:
14359 * docs/gst/tmpl/gstregistry.sgml:
14360 * docs/gst/tmpl/gstregistrypool.sgml:
14361 * docs/gst/tmpl/gstscheduler.sgml:
14362 * docs/gst/tmpl/gstschedulerfactory.sgml:
14363 * docs/gst/tmpl/gststructure.sgml:
14364 * docs/gst/tmpl/gstsystemclock.sgml:
14365 * docs/gst/tmpl/gsttaglist.sgml:
14366 * docs/gst/tmpl/gsttagsetter.sgml:
14367 * docs/gst/tmpl/gsttrace.sgml:
14368 * docs/gst/tmpl/gsttrashstack.sgml:
14369 * docs/gst/tmpl/gsttypefind.sgml:
14370 * docs/gst/tmpl/gsttypefindfactory.sgml:
14371 * docs/gst/tmpl/gsttypes.sgml:
14372 * docs/gst/tmpl/gsturihandler.sgml:
14373 * docs/gst/tmpl/gsturitype.sgml:
14374 * docs/gst/tmpl/gstutils.sgml:
14375 * docs/gst/tmpl/gstvalue.sgml:
14376 * docs/gst/tmpl/gstversion.sgml:
14377 * docs/gst/tmpl/gstxml.sgml:
14378 * docs/libs/tmpl/gstcontrol.sgml:
14379 * docs/libs/tmpl/gstdataprotocol.sgml:
14380 * docs/libs/tmpl/gstdparam.sgml:
14381 * docs/libs/tmpl/gstdplinint.sgml:
14382 * docs/libs/tmpl/gstdpman.sgml:
14383 * docs/libs/tmpl/gstdpsmooth.sgml:
14384 * docs/libs/tmpl/gstgetbits.sgml:
14385 * docs/libs/tmpl/gstunitconvert.sgml:
14386 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14387 (gst_push_src_base_init), (gst_push_src_class_init),
14388 (gst_push_src_init), (gst_push_src_create):
14389 * gst/base/gstpushsrc.h:
14390 * gst/elements/gstelements.c:
14391 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14392 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14393 (gst_fake_sink_init), (gst_fake_sink_set_property),
14394 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14395 (gst_fake_sink_event), (gst_fake_sink_preroll),
14396 (gst_fake_sink_render), (gst_fake_sink_change_state):
14397 * gst/elements/gstfakesink.h:
14398 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14399 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14400 (gst_fake_src_base_init), (gst_fake_src_class_init),
14401 (gst_fake_src_init), (gst_fake_src_event_handler),
14402 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14403 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14404 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14405 (gst_fake_src_create_buffer), (gst_fake_src_create),
14406 (gst_fake_src_start), (gst_fake_src_stop):
14407 * gst/elements/gstfakesrc.h:
14408 * gst/elements/gstfilesink.c: (_do_init),
14409 (gst_file_sink_base_init), (gst_file_sink_class_init),
14410 (gst_file_sink_init), (gst_file_sink_dispose),
14411 (gst_file_sink_set_location), (gst_file_sink_set_property),
14412 (gst_file_sink_get_property), (gst_file_sink_open_file),
14413 (gst_file_sink_close_file), (gst_file_sink_query),
14414 (gst_file_sink_event), (gst_file_sink_render),
14415 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14416 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14417 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14418 * gst/elements/gstfilesink.h:
14419 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14420 (gst_file_src_class_init), (gst_file_src_init),
14421 (gst_file_src_finalize), (gst_file_src_set_location),
14422 (gst_file_src_set_property), (gst_file_src_get_property),
14423 (gst_file_src_map_region), (gst_file_src_map_small_region),
14424 (gst_file_src_create_mmap), (gst_file_src_create_read),
14425 (gst_file_src_create), (gst_file_src_is_seekable),
14426 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14427 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14428 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14429 (gst_file_src_uri_handler_init):
14430 * gst/elements/gstfilesrc.h:
14431 more autistic cleanliness in functions/names/defines
14433 2005-07-13 Andy Wingo <wingo@pobox.com>
14435 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14436 source couldn't negotiate.
14438 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14442 * gst/gstutils.c (gst_element_link_pads_filtered): New old
14443 function. I am channeling Hades. Put your boots on suckers!!!
14445 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
14447 * testsuite/caps/Makefile.am:
14448 * testsuite/caps/value_compare.c:
14449 * testsuite/caps/value_intersect.c:
14450 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14451 move two testsuite apps over to the check dir
14453 2005-07-12 Wim Taymans <wim@fluendo.com>
14455 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14456 Added more debug info in the negotiate process.
14458 * gst/gstmessage.h:
14459 Prepare for segment playback.
14461 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14467 * tools/gst-launch.c: (main):
14468 NULL pipeline on errors.
14470 2005-07-12 Andy Wingo <wingo@pobox.com>
14472 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14473 not it comes from a malloc region. Make sure our copy gets freed.
14475 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
14477 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14478 * check/gst/gstmessage.c: (GST_START_TEST):
14479 * check/gst/gststructure.c: (GST_START_TEST),
14480 (gst_structure_suite), (main):
14482 * gst/gstelement.c: (gst_element_message_full):
14483 clean up GError and debug string now that they get copied
14484 * gst/gstmessage.c: (gst_message_new_error),
14485 (gst_message_new_warning), (gst_message_parse_error),
14486 (gst_message_parse_warning):
14487 use GST_TYPE_G_ERROR for structure_new, and take copies of
14488 arguments, so that we don't mess up refcounting
14490 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
14492 * check/Makefile.am:
14493 add per-test valgrind targets
14494 * check/gst-libs/gdp.c: (GST_START_TEST),
14495 (gst_data_protocol_suite), (main):
14498 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
14500 * check/Makefile.am:
14501 instate more valgrindable tests
14502 * check/elements/gstfakesrc.c: (chain_func), (event_func),
14503 (GST_START_TEST), (fakesrc_suite):
14504 * check/gst/gstpad.c: (GST_START_TEST):
14505 * check/gst/gststructure.c: (GST_START_TEST):
14507 * docs/gst/tmpl/gstminiobject.sgml:
14508 * gst/gstpad.c: (gst_pad_finalize):
14509 fix the static mutex leak
14511 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
14513 * check/Makefile.am:
14514 add two more tests for valgrinding
14515 * check/gst/gstvalue.c: (GST_START_TEST):
14516 test refcount of deserialized buffer, found a leak
14517 * docs/gst/gstreamer-docs.sgml:
14518 * docs/gst/gstreamer-sections.txt:
14519 * docs/gst/gstreamer.types:
14520 * docs/gst/tmpl/gstminiobject.sgml:
14521 add miniobject to docs
14522 * gst/gstminiobject.c:
14524 * gst/gstvalue.c: (gst_value_deserialize_buffer),
14525 (gst_string_unwrap):
14526 fix a hard-to-find invalid write for one of the tests
14527 fix a leak for deserialized buffers
14529 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14531 * docs/pwg/advanced-events.xml:
14532 * docs/pwg/advanced-request.xml:
14533 * docs/pwg/advanced-scheduling.xml:
14534 * docs/pwg/appendix-porting.xml:
14535 * docs/pwg/building-boiler.xml:
14536 * docs/pwg/intro-preface.xml:
14537 * docs/pwg/other-ntoone.xml:
14538 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14539 of example code and explanation for pad activation, loop() and
14540 getrange() functions and a bit more. Remove old comments pointing
14542 * examples/pwg/Makefile.am:
14543 Add loop/getrange examples.
14545 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
14548 check for valgrind binary + some fixes
14550 valgrind suppressions for the tests
14551 * check/Makefile.am:
14552 add a valgrind: target that valgrinds the unit tests
14553 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14554 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14555 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14556 * check/gst/gstghostpad.c:
14558 * check/gst/gstdata.c:
14560 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14561 (thread_unref), (gst_mini_object_suite), (main):
14563 * gst/gst.c: (gst_deinit):
14565 add a method to clean up.
14566 * gst/gstsystemclock.c: (gst_system_clock_dispose),
14567 (gst_system_clock_obtain):
14568 allow for disposing the system clock.
14569 * tools/gst-launch.c: (main):
14572 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
14574 * docs/gst/tmpl/gstbasesrc.sgml:
14575 * docs/gst/tmpl/gstfakesrc.sgml:
14576 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14577 (gst_base_src_init), (gst_base_src_set_property),
14578 (gst_base_src_get_property), (gst_base_src_get_range),
14579 (gst_base_src_start):
14580 * gst/base/gstbasesrc.h:
14581 add num-buffers property
14582 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14583 (gst_fakesrc_init), (gst_fakesrc_set_property),
14584 (gst_fakesrc_get_property), (gst_fakesrc_create),
14585 (gst_fakesrc_start):
14586 remove num-buffers property
14588 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14590 * docs/gst/gstreamer-sections.txt:
14591 * docs/gst/tmpl/gstbasesink.sgml:
14592 * docs/gst/tmpl/gstbasesrc.sgml:
14593 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14594 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14595 (gst_base_sink_finalize), (gst_base_sink_set_clock),
14596 (gst_base_sink_set_property), (gst_base_sink_get_property),
14597 (gst_base_sink_handle_object), (gst_base_sink_event),
14598 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14599 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14600 (gst_base_sink_loop), (gst_base_sink_deactivate),
14601 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14602 (gst_base_sink_change_state):
14603 * gst/base/gstbasesink.h:
14604 * gst/base/gstbasesrc.h:
14605 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14606 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14607 (gst_filesink_init):
14608 more macro splitting
14610 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14612 * gst/gstelement.c: (gst_element_get_bus):
14614 * tools/gst-launch.c: (check_intr), (event_loop):
14617 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14619 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14622 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14624 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14625 (gst_base_src_finalize):
14626 add finalize method and clean up properly
14627 * gst/gstpipeline.c: (gst_pipeline_dispose):
14630 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
14632 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14634 add more things to check
14635 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14636 * gst/gstelement.c:
14639 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
14641 * check/elements/gstfakesrc.c: (chain_func), (event_func),
14642 (GST_START_TEST), (fakesrc_suite):
14643 * check/gst-libs/gdp.c: (GST_START_TEST):
14644 * check/gst/gst.c: (GST_START_TEST):
14645 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14646 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14647 * check/gst/gstbus.c: (GST_START_TEST):
14648 * check/gst/gstcaps.c: (GST_START_TEST):
14649 * check/gst/gstdata.c: (GST_START_TEST):
14650 * check/gst/gstelement.c: (GST_START_TEST):
14651 * check/gst/gstghostpad.c: (GST_START_TEST):
14652 * check/gst/gstiterator.c: (GST_START_TEST):
14653 * check/gst/gstmessage.c: (GST_START_TEST):
14654 * check/gst/gstobject.c: (GST_START_TEST):
14655 * check/gst/gstpad.c: (GST_START_TEST):
14656 * check/gst/gststructure.c: (GST_START_TEST):
14657 * check/gst/gstsystemclock.c: (GST_START_TEST),
14658 (gst_systemclock_suite):
14659 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14660 * check/gst/gstvalue.c: (GST_START_TEST):
14661 * check/pipelines/cleanup.c: (GST_START_TEST):
14662 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14663 * check/states/sinks.c: (GST_START_TEST):
14664 * check/gstcheck.c: (gst_check_init):
14665 * check/gstcheck.h:
14666 add debugging category
14667 use GST_START_TEST now, so we add a debug line
14669 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
14671 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14672 add test for state change message on a bin
14673 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14675 * gst/gstbin.c: (gst_bin_init):
14676 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14677 * gst/gstelement.c: (gst_element_post_message),
14678 (gst_element_set_state):
14679 * gst/gstelementfactory.c: (gst_element_factory_create):
14680 * gst/gstmessage.c: (gst_message_new):
14681 * gst/gstscheduler.c:
14682 various debugging additions and cleanups
14684 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14686 * check/Makefile.am:
14687 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14689 adding tests for elements
14690 * gst/gstelement.c: (gst_element_dispose):
14692 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14694 * gst/registries/gstlibxmlregistry.c: (load_feature):
14695 plug more leaks. A simple gst_init() now is leakfree, yay.
14697 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14699 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14700 (gst_xml_registry_load):
14701 plug another memleak
14703 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14706 use GST_SET_ERROR_CFLAGS
14707 * docs/faq/cvs.xml:
14708 change to ERROR_CFLAGS
14710 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14713 make GST_ERROR_CFLAGS overridable and re-enable Werror
14714 * docs/faq/cvs.xml:
14715 add a note about error CFLAGS
14716 * docs/gst/tmpl/gstfakesrc.sgml:
14717 * gst/elements/gstfakesrc.c:
14718 comment out some unused code
14719 * gst/gst.c: (split_and_iterate):
14720 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14724 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
14726 * common/Makefile.am:
14727 * common/gtk-doc.mak:
14728 * docs/gst/Makefile.am:
14729 factor out gtk-doc.mak
14731 2005-07-07 Wim Taymans <wim@fluendo.com>
14733 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14734 (gst_thread_scheduler_dispose):
14735 Unlock the STREAM_LOCK completely.
14737 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
14739 * check/Makefile.am:
14740 * check/elements/.cvsignore:
14741 * check/elements/gstfakesrc.c: (chain_func), (event_func),
14742 (START_TEST), (fakesrc_suite), (main):
14743 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14744 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14745 (gst_fakesrc_create), (gst_fakesrc_start):
14746 * gst/elements/gstfakesrc.h:
14747 adding a first element test
14749 2005-07-07 Andy Wingo <wingo@pobox.com>
14751 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14754 2005-07-07 Wim Taymans <wim@fluendo.com>
14760 2005-07-07 Wim Taymans <wim@fluendo.com>
14762 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14763 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14764 Allow subclasses to implement their own negotiation.
14766 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14768 * docs/design/part-gstbin.txt:
14769 * docs/design/part-gstpipeline.txt:
14770 Update design notes to reflect the movement of
14771 responsibility for bus handling from GstPipeline to
14774 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14777 Remove unnecessary queue2/3/4 examples.
14779 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14781 * examples/Makefile.am:
14782 * examples/helloworld/helloworld.c: (event_loop), (main):
14783 * examples/queue/queue.c: (event_loop), (main):
14784 * examples/queue2/queue2.c: (main):
14785 Update a couple of the examples to work again.
14787 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14788 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14789 Spelling corrections and extra debug.
14791 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14792 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14793 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14795 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14796 (gst_pipeline_change_state):
14797 * gst/gstpipeline.h:
14798 Move the bus handler for children to the GstBin, and create a
14799 separate bus for receiving messages from children to the one the
14800 bus sends 'upwards' on.
14802 2005-07-06 Wim Taymans <wim@fluendo.com>
14805 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14806 (gst_base_sink_handle_object), (gst_base_sink_loop),
14807 (gst_base_sink_change_state):
14808 * gst/base/gstbasesink.h:
14809 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14810 (gst_base_src_init), (gst_base_src_setcaps),
14811 (gst_base_src_getcaps), (gst_base_src_loop),
14812 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14813 (gst_base_src_start), (gst_base_src_change_state):
14814 * gst/base/gstbasesrc.h:
14815 Make basesrc negotiate.
14816 Handle the case where preroll fails in basesink.
14819 2005-07-06 Wim Taymans <wim@fluendo.com>
14821 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14822 Implement the fixate function.
14823 Clean up acceptcaps.
14825 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14827 * docs/pwg/building-filterfactory.xml:
14828 * docs/pwg/pwg.xml:
14829 Remove never-written filter-factory chapter; I'll add the various
14830 base classes to part 4 ("other element types") later on.
14832 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14834 * docs/pwg/advanced-negotiation.xml:
14835 * docs/pwg/building-boiler.xml:
14836 * docs/pwg/building-pads.xml:
14837 * docs/pwg/pwg.xml:
14838 * examples/pwg/Makefile.am:
14839 Add a chapter on caps negotiation, simplify the original code
14840 samples a bit w.r.t. caps negotiation, add link to the advanced
14841 section. Add a bunch of examples showing different use cases of
14842 different types of caps negotiation. Upstream renegotiation isn't
14843 fully documented yet since nobody knows how that works.
14845 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
14847 * check/gst/gstpad.c:
14848 * check/gstcheck.c:
14849 * gst/gstpad.c: (gst_pad_get_internal_links_default):
14850 if pad has no parent, return NULL as list of internal links
14852 2005-07-05 Andy Wingo <wingo@pobox.com>
14854 * gst/elements/gstfilesrc.c:
14855 * gst/elements/gstfakesrc.c:
14856 * gst/base/gstpushsrc.c:
14857 * gst/base/gstbasesrc.h:
14858 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14860 2005-07-05 Stefan Kost <ensonic@users.sf.net>
14863 better report generation target (lcov needs a patch)
14865 2005-07-05 Andy Wingo <wingo@pobox.com>
14867 * gst/elements, testsuite: Null if we got it...
14869 2005-07-05 Wim Taymans <wim@fluendo.com>
14872 * libs/gst/dataprotocol/Makefile.am:
14873 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14874 * libs/gst/dataprotocol/dataprotocol.h:
14875 * pkgconfig/Makefile.am:
14876 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14877 * pkgconfig/gstreamer-dataprotocol.pc.in:
14878 Ported dataprotol to 0.9.
14879 Added pkgconfig files.
14881 2005-07-05 Andy Wingo <wingo@pobox.com>
14883 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14884 Default to returning TRUE for the case when tranform_caps returns
14885 a fixed caps, like for identity or volume.
14887 * check/gst/gstbus.c (pound_bus_with_messages):
14888 * check/gst/gstmessage.c (START_TEST):
14889 * check/pipelines/simple_launch_lines.c (got_handoff): Application
14890 message API change.
14892 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14893 logic weaks here: always run transform_caps, trying passthrough
14894 operation only if the original caps intersects with the transform.
14896 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14897 source and sink caps.
14899 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14900 Intersect the peer caps with the pad template before going into
14902 (gst_base_transform_transform_caps): More debugging.
14904 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14907 2005-07-04 Edward Hervey <edward@fluendo.com>
14911 (gst_pad_add_*_probe): now returns the signal id for better wrapping
14914 2005-07-04 Andy Wingo <wingo@pobox.com>
14916 * check/gst/gstpad.c: Only set explicit caps on pads.
14918 2005-07-01 Andy Wingo <wingo@pobox.com>
14920 * tests/network-clock.scm: Commentary update.
14922 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14923 Didn't really make sense, not implementable with basetransform,
14925 (gst_identity_transform): Unref inbuf via make_writable. Feeble
14926 attempt at implementing the sync property, needs an unlock method.
14928 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14929 New func, by default returns the same caps (the identity
14931 (gst_base_transform_getcaps): Uses transform_caps to return
14932 something sensible.
14933 (gst_base_transform_setcaps): Complicated logic to get caps on
14934 both pads, even if they are different, and to call set_caps once
14935 for every time both pads get their caps set.
14936 (gst_base_transform_handle_buffer): Give the ref to the transform
14937 function. Allows in-place modification of the buffer.
14939 * gst/base/gstbasetransform.h (transform_caps): New class method.
14940 Given caps on one side, what can I do on the other.
14941 (set_caps): Take two caps, one for each side of the element.
14944 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14945 caps in place. This is safe because we can check the mutability of
14946 the caps, and a good idea because fixate functions are just called
14947 as a matter of last resort. (Not actually implemented.)
14948 (gst_pad_set_caps): If the caps we're setting is actually the same
14949 as the existing pad caps, just update the pointer without calling
14950 setcaps. Assert that caps is either NULL or fixed, as per the
14953 * gst/gstghostpad.c: Update for fixate changes.
14955 2005-07-02 Andy Wingo <wingo@pobox.com>
14958 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14959 two refcounts makes it immutable, which is enough. Doc more.
14961 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
14963 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14964 Put the mini_object into GValue as a mini_object,
14965 not a gpointer, since that's how we declared
14968 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14970 * examples/pwg/Makefile.am:
14971 Fix buildbot again.
14973 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14975 * docs/pwg/building-testapp.xml:
14977 * examples/pwg/Makefile.am:
14980 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14983 * examples/Makefile.am:
14984 * examples/pwg/Makefile.am:
14985 * examples/pwg/extract.pl:
14986 Enable building the PWG examples.
14987 * docs/pwg/advanced-interfaces.xml:
14988 Add URI interface stub.
14989 * docs/pwg/advanced-types.xml:
14990 * docs/pwg/other-autoplugger.xml:
14991 * docs/pwg/appendix-porting.xml:
14992 * docs/pwg/pwg.xml:
14993 Add porting guide (mostly stubs), remove autoplugging (see ADM).
14994 * docs/pwg/building-boiler.xml:
14995 * docs/pwg/building-chainfn.xml:
14996 * docs/pwg/building-pads.xml:
14997 * docs/pwg/building-props.xml:
14998 * docs/pwg/building-state.xml:
14999 * docs/pwg/building-testapp.xml:
15000 Update the building-*.xml parts for 0.9 changes. All examples
15001 code blocks compile in examples/pwg/*.
15003 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15005 * docs/manual/advanced-autoplugging.xml:
15006 * docs/manual/appendix-checklist.xml:
15007 * docs/manual/appendix-integration.xml:
15008 * docs/manual/highlevel-components.xml:
15009 Fix playbin/decodebin examples, update docs a bit, mention bus
15010 instead of signals in various places, mention kmplayer and
15011 kaffeine since they have a working GStreamer backend in the KDE
15014 2005-06-30 Wim Taymans <wim@fluendo.com>
15017 * docs/design/draft-ghostpads.txt:
15018 * docs/design/draft-push-pull.txt:
15019 * docs/design/draft-query.txt:
15020 * docs/design/part-TODO.txt:
15021 * docs/design/part-query.txt:
15022 Added CHANGES-0.9 doc, updated status of other docs.
15027 2005-06-30 Wim Taymans <wim@fluendo.com>
15029 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15030 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15031 (gst_base_sink_change_state):
15032 * gst/base/gstbasesink.h:
15033 Some tweaks, only EOS and a buffer complete a preroll.
15035 2005-06-30 Andy Wingo <wingo@pobox.com>
15037 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15038 activate_push down to the internal pad as well.
15040 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
15042 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15044 * gst/gsttaginterface.c:
15045 Some documentation fixes (#307394 and #307397).
15047 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
15049 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15051 * gst/gstvalue.c: (gst_value_intersect_list):
15052 Fix memleak (#309125).
15054 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15056 * docs/manual/advanced-dataaccess.xml:
15057 Fix fakesrc example to compile; doesn't work, bug somewhere...?
15058 * docs/manual/basics-pads.xml:
15059 Add reference for filtered caps to above chapter.
15061 2005-06-30 Wim Taymans <wim@fluendo.com>
15063 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15064 (gst_bin_change_state):
15066 Lame attempt at making the state change function a bit
15069 2005-06-30 Wim Taymans <wim@fluendo.com>
15071 * docs/design/part-clocks.txt:
15072 * docs/design/part-element-sink.txt:
15073 * docs/design/part-events.txt:
15074 * docs/design/part-preroll.txt:
15075 * docs/design/part-states.txt:
15076 Some more tweeks and additions to the docs.
15078 2005-06-30 Wim Taymans <wim@fluendo.com>
15080 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15081 (default_have_data), (gst_pad_class_init), (gst_pad_init),
15082 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15083 (gst_pad_check_pull_range), (gst_pad_get_range),
15084 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15086 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15087 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15088 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15089 (gst_pad_remove_buffer_probe):
15090 Removed atomic operations, use existing LOCK.
15091 Move exception handling out of main code path.
15093 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15095 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15096 (silly_return_true_function), (gst_pad_class_init),
15097 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15098 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15099 (gst_pad_send_event):
15100 Fix accumulator, add default value by using _emitv() instead
15101 of _emit() for signal emission.
15103 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15105 * docs/manual/advanced-dataaccess.xml:
15106 * examples/manual/Makefile.am:
15108 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15111 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
15113 * gst/elements/gstfilesink.c: (gst_filesink_render):
15114 Simplify code so that we don't have to handle short
15115 writes and return GST_FLOW_ERROR if an error occured.
15117 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15119 * docs/gst/gstreamer-docs.sgml:
15120 Remove probes more.
15122 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15124 * docs/gst/gstreamer-sections.txt:
15125 * docs/gst/tmpl/gstpad.sgml:
15126 * docs/gst/tmpl/gstprobe.sgml:
15128 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15129 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15130 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15131 (gst_pad_push_event), (gst_pad_send_event):
15133 * gst/gstutils.c: (gst_pad_add_data_probe),
15134 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15135 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15136 (gst_pad_remove_buffer_probe):
15138 Remove old probes, add new g-signal-based probes and some utility
15141 2005-06-29 Edward Hervey <edward@fluendo.com>
15143 * gst/gstelementfactory.c:
15146 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15147 the definition to the header file.
15149 2005-06-29 Andy Wingo <wingo@pobox.com>
15151 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15152 plugins from the source directory.
15154 2005-06-29 Wim Taymans <wim@fluendo.com>
15156 * docs/gst/tmpl/gstbuffer.sgml:
15157 * docs/gst/tmpl/gstclock.sgml:
15158 Some fixings for blantently wrong text.
15160 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
15162 * check/Makefile.am:
15163 * gst/gst.c: (add_path_func), (init_pre):
15164 * gst/gstregistry.c: (gst_registry_add_path):
15165 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15166 only scan the GST_PLUGIN_PATH locations, and not add
15169 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
15171 * docs/gst/gstreamer-sections.txt:
15172 * docs/gst/tmpl/gstbasesrc.sgml:
15173 * gst/gstelement.c:
15174 * gst/gstelement.h:
15179 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15181 * docs/manual/advanced-autoplugging.xml:
15182 Fix autoplugging example.
15184 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15186 * docs/manual/advanced-autoplugging.xml:
15187 * docs/manual/mime-world.fig:
15188 Try to get autoplugging working, fix type detection. Fix text
15189 in hello-world image.
15191 2005-06-29 Wim Taymans <wim@fluendo.com>
15193 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15194 (gst_base_sink_change_state):
15198 map SIGNAL and BROADCAST to the right function.
15201 Remove redundant braces.
15203 * gst/gstpad.c: (gst_pad_set_caps):
15204 Don't call setcaps function when reseting caps to NULL.
15206 * gst/gstsystemclock.c: (gst_system_clock_dispose),
15207 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15208 (gst_system_clock_id_unschedule):
15209 Use BROADCAST as this is what we do.
15211 2005-06-29 Wim Taymans <wim@fluendo.com>
15213 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15214 We are actually prerolling before commiting the state
15217 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15219 * docs/manual/advanced-clocks.xml:
15220 * docs/manual/advanced-interfaces.xml:
15221 * docs/manual/advanced-metadata.xml:
15222 * docs/manual/advanced-position.xml:
15223 * docs/manual/advanced-schedulers.xml:
15224 * docs/manual/advanced-threads.xml:
15225 * docs/manual/appendix-porting.xml:
15226 * docs/manual/basics-bins.xml:
15227 * docs/manual/basics-bus.xml:
15228 * docs/manual/basics-elements.xml:
15229 * docs/manual/basics-helloworld.xml:
15230 * docs/manual/basics-pads.xml:
15231 * docs/manual/highlevel-components.xml:
15232 * docs/manual/manual.xml:
15233 * docs/manual/thread.fig:
15234 Update (until threads/scheduling) Application Development Manual;
15235 remove GstThread, add GstBus, add simple porting checklist, add
15236 documentation for tag writing, clocks, make all examples until this
15237 part compile and run.
15238 * examples/manual/Makefile.am:
15239 Update from changes to Application Development Manual; add bus
15240 example, remove thread example.
15242 2005-06-28 Wim Taymans <wim@fluendo.com>
15244 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15245 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15246 (gst_bus_source_dispatch):
15247 Add debugging messages.
15248 Make internal methods static.
15249 Handle the case where the bus is flushed in the handler.
15251 * gst/gstelement.c: (gst_element_get_bus):
15252 Fix refcount in _get_bus();
15254 * gst/gstpipeline.c: (gst_pipeline_change_state),
15255 (gst_pipeline_get_clock_func):
15256 Clock refcounting fixes.
15257 Handle the case where preroll timed out more gracefully.
15259 * gst/gstsystemclock.c: (gst_system_clock_dispose):
15260 Clean up the internal thread in dispose. This is needed
15261 for subclasses that actually get disposed.
15263 * gst/schedulers/threadscheduler.c:
15264 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15265 (gst_thread_scheduler_dispose):
15266 Free thread pool in dispose.
15268 2005-06-28 Andy Wingo <wingo@pobox.com>
15270 * tests/network-clock-utils.scm (debug, print-event): New utils.
15272 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15273 (*packet-loss*): Unified loss probability.
15274 (network-time): Report out-of-band events.
15276 * tests/plot-data: Add support for out-of-band events. Hack it
15277 into this script instead of passing it down the pipe; should fix
15280 2005-06-28 Wim Taymans <wim@fluendo.com>
15282 * docs/gst/gstreamer.types:
15283 * docs/gst/tmpl/gstbasesrc.sgml:
15284 * docs/gst/tmpl/gstpad.sgml:
15287 2005-06-28 Wim Taymans <wim@fluendo.com>
15289 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15290 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15291 (gst_proxy_pad_do_fixatecaps):
15292 Correctly proxy the check_pull_range function.
15294 2005-06-28 Andy Wingo <wingo@pobox.com>
15296 * tests/network-clock.scm: Removed need for slib.
15298 2005-06-28 Wim Taymans <wim@fluendo.com>
15300 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15301 (gst_basesink_preroll_queue_flush):
15302 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15303 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15304 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15305 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15306 (gst_proxy_pad_set_property):
15309 * gst/gstqueue.c: (gst_queue_init):
15310 The deprecated pad loop function is removed now.
15312 2005-06-28 Andy Wingo <wingo@pobox.com>
15314 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15315 New parameters, simulate network packet loss.
15317 * tests/network-clock-utils.scm: Initialize the RNG.
15319 2005-06-28 Wim Taymans <wim@fluendo.com>
15321 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15322 (gst_basesink_event), (gst_basesink_deactivate):
15323 Flushing the preroll queue always needs to unlock the waiters.
15325 2005-06-28 Edward Hervey <edward@fluendo.com>
15327 * gst/gstpipeline.c: (gst_pipeline_send_event):
15328 Wheen a seek was successful on a pipeline, set the stream_time to the
15329 seek offset in order to have a synchronized stream_time.
15331 2005-06-28 Wim Taymans <wim@fluendo.com>
15333 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15334 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15335 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15336 (gst_proxy_pad_do_fixatecaps):
15337 Call wrapper function instead of just calling the function
15338 pointers. This takes care of any locking and whatmore.
15340 2005-06-28 Wim Taymans <wim@fluendo.com>
15342 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15343 (gst_pad_pull_range):
15345 CONNECTED -> LINKED.
15347 2005-06-28 Andy Wingo <wingo@pobox.com>
15349 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15350 source-munging commit!!!
15352 * gst/gstobject.c (gst_object_unref, gst_object_ref)
15353 (gst_object_sink): Take gpointer arguments, not GstObject --
15354 avoids casts. Like GLib.
15356 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15359 2005-06-27 Andy Wingo <wingo@pobox.com>
15361 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15364 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15365 returns a sorted copy of the trace list.
15366 (gst_alloc_trace_print_live): New API, only prints traces with
15367 live objects. Sort the list.
15368 (gst_alloc_trace_print_all): Sort the list.
15369 (gst_alloc_trace_print): Align columns.
15371 * gst/elements/gstttypefindelement.c:
15372 * gst/elements/gsttee.c:
15373 * gst/base/gstbasesrc.c:
15374 * gst/base/gstbasesink.c:
15375 * gst/base/gstbasetransform.c:
15376 * gst/gstqueue.c: Adapt for pad activation changes.
15378 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15380 (gst_pipeline_dispose): Drop ref on sched.
15382 * gst/gstpad.c (gst_pad_init): Set the default activate func.
15383 (gst_pad_activate_default): Push mode by default.
15384 (pre_activate_switch, post_activate_switch): New stubs, things to
15385 do before and after switching activation modes on pads.
15386 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15387 the pad's activate function to choose which mode to activate.
15388 Shortcut on deactivation and call the right function directly.
15389 (gst_pad_activate_pull): New API, (de)activates a pad in pull
15391 (gst_pad_activate_push): New API, same for push mode.
15392 (gst_pad_set_activate_function)
15393 (gst_pad_set_activatepull_function)
15394 (gst_pad_set_activatepush_function): Setters for new API.
15396 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15397 Trace all miniobjects.
15398 (gst_mini_object_make_writable): Unref the arg if we copy, like
15399 gst_caps_make_writable.
15401 * gst/gstmessage.c (_gst_message_initialize): No trace init.
15403 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
15404 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15405 Adapt for new pad API.
15407 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15409 * gst/gstelement.h:
15410 * gst/gstelement.c (gst_element_iterate_src_pads)
15411 (gst_element_iterate_sink_pads): New API functions.
15413 * gst/gstelement.c (iterator_fold_with_resync): New utility,
15414 should fold into gstiterator.c in some form.
15415 (gst_element_pads_activate): Simplified via use of fold and
15416 delegation of decisions to gstpad->activate.
15418 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15421 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15422 class once in init, like gstmessage. Didn't run into this issue
15423 but it seems correct. Don't initialize a trace, gstminiobject does
15426 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15427 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15429 (assert_live_count): New util function, uses alloc traces to check
15432 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15433 To be modified when unlink drops the internal pad.
15435 2005-06-27 Wim Taymans <wim@fluendo.com>
15437 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15438 (gst_bin_change_state):
15439 Cleanup the get_state() function a little, make sure it
15440 iterates the same set of elements.
15441 Added stub iterate_state_order().
15443 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
15445 * docs/gst/gstreamer-docs.sgml:
15446 * docs/gst/gstreamer-sections.txt:
15447 * docs/gst/gstreamer.types:
15448 * docs/gst/tmpl/gstbasesink.sgml:
15449 * docs/gst/tmpl/gstbasesrc.sgml:
15450 * docs/gst/tmpl/gstbasetransform.sgml:
15451 * docs/gst/tmpl/gstelement.sgml:
15452 * docs/gst/tmpl/gstiterator.sgml:
15453 * gst/base/gstbasesrc.c:
15454 * gst/base/gstbasesrc.h:
15455 * gst/base/gstbasetransform.h:
15456 * gst/gstelement.c:
15457 * gst/gstiterator.h:
15458 adding basetransform and iterator docs
15460 2005-06-27 Andy Wingo <wingo@pobox.com>
15462 * docs/design/part-activation.txt: Notes on how activation should
15463 work -- not quite implemented yet.
15465 2005-06-25 Wim Taymans <wim@fluendo.com>
15467 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15468 At least get the chain function correct, needs more
15471 2005-06-25 Wim Taymans <wim@fluendo.com>
15473 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15474 (gst_basesink_handle_object), (gst_basesink_event),
15475 (gst_basesink_do_sync), (gst_basesink_handle_event),
15476 (gst_basesink_change_state):
15478 Right, two problems here: ghostpads don't take locks and
15479 glib _rec_mutex_lock_full() with depth==0 still locks.
15480 Catch illegal locking and g_warn them.
15482 2005-06-25 Wim Taymans <wim@fluendo.com>
15484 * check/states/sinks.c: (START_TEST), (gst_object_suite):
15485 Have to check for completion now...
15487 2005-06-25 Wim Taymans <wim@fluendo.com>
15489 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15490 (gst_basesink_handle_object), (gst_basesink_event),
15491 (gst_basesink_do_sync), (gst_basesink_handle_event),
15492 (gst_basesink_change_state):
15494 Unlock STREAM_LOCK whatever the recursion was.
15496 2005-06-25 Wim Taymans <wim@fluendo.com>
15498 * gst/base/gstbasesink.c: (gst_basesink_set_property),
15499 (gst_basesink_preroll_queue_empty),
15500 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15501 (gst_basesink_event), (gst_basesink_do_sync),
15502 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15503 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15504 (gst_basesink_change_state):
15505 Reworked the base sink, handle event and buffer serialisation
15506 correctly and removed possible deadlock.
15507 Handle EOS correctly.
15509 2005-06-25 Wim Taymans <wim@fluendo.com>
15511 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15512 (gst_pipeline_change_state):
15513 * tools/gst-launch.c: (check_intr), (event_loop), (main):
15514 Allow elements to post EOS in the state change function.
15515 Fix up -launch, make it exit the poll loop when the
15516 pipeline actually changed state.
15517 Fix up warning parsing in -launch.
15519 2005-06-25 Wim Taymans <wim@fluendo.com>
15521 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15522 (gst_tee_sink_activate):
15523 Core takes STREAM_LOCK for us now.
15525 2005-06-25 Wim Taymans <wim@fluendo.com>
15527 * gst/gstelement.c: (gst_element_get_state_func),
15528 (gst_element_set_state):
15529 * gst/gstelement.h:
15530 * gst/gstmessage.c: (gst_message_parse_error),
15531 (gst_message_parse_warning):
15532 Keep track of current target state while performing a state
15533 change so that subclasses can do something interesting.
15534 Fix parsing of warning/error messages when GError is NULL.
15536 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
15538 * docs/gst/Makefile.am:
15539 * docs/gst/gstreamer-docs.sgml:
15540 * docs/gst/gstreamer-sections.txt:
15541 * docs/gst/gstreamer.types:
15542 * docs/gst/tmpl/gstbasesink.sgml:
15543 * docs/gst/tmpl/gstbasesrc.sgml:
15544 * docs/gst/tmpl/gstbin.sgml:
15545 * docs/gst/tmpl/gstcompat.sgml:
15546 * docs/gst/tmpl/gstfakesink.sgml:
15547 * docs/gst/tmpl/gstfakesrc.sgml:
15548 * docs/gst/tmpl/gstfilesink.sgml:
15549 * docs/gst/tmpl/gstfilesrc.sgml:
15550 * docs/gst/tmpl/gstindex.sgml:
15551 * docs/manual/appendix-quotes.xml:
15552 * gst/base/gstbasesrc.h:
15553 * gst/elements/gstfakesrc.h:
15554 * gst/gstmessage.h:
15555 start pulling in base classes and elements in our docs
15557 2005-06-24 Stefan Kost <ensonic@users.sf.net>
15559 * docs/gst/Makefile.am:
15560 * docs/libs/Makefile.am:
15561 fixed make distcheck with gtk-doc 1.3
15563 2005-06-23 Wim Taymans <wim@fluendo.com>
15565 * gst/gstelement.c: (gst_element_get_state_func),
15566 (gst_element_set_state), (gst_element_change_state):
15567 When the state did not change, also report NO_PREROLL
15570 2005-06-23 Wim Taymans <wim@fluendo.com>
15572 * gst/gstpad.c: (gst_pad_event_default):
15573 * gst/gstqueue.c: (gst_queue_loop):
15574 No unsafe task pausing please.
15576 2005-06-23 Wim Taymans <wim@fluendo.com>
15578 * gst/schedulers/threadscheduler.c:
15579 (gst_thread_scheduler_task_start),
15580 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15581 Ref the task before pushing it on the threadpool. This
15582 makes sure that we have a ref when the threadfunction is
15585 2005-06-23 Andy Wingo <wingo@pobox.com>
15587 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15588 offset is greater than the file's size.
15590 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
15591 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15592 * gst/gstobject.c (gst_object_class_init): Make the class lock
15593 recursive. Wim won't let me drop deep_notify. Decodebin works
15594 again, whoopdy doo.
15596 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15597 internal pad, and hacks accordingly. Doesn't do it on the target
15598 pad because we change its caps. Probably catches all cases of
15600 (gst_ghost_pad_set_property): Connect to notify::caps as
15603 * tests/network-clock.scm (plot-simulation): Pipe data to the
15604 elite python skript.
15606 * tests/network-clock-utils.scm (define-parameter): New macro,
15607 defines a parameter that can be set via the command line.
15608 (set-parameter!, parse-parameter-arguments): Command line args
15611 * tests/plot-data: Simple matplotlib-based plotter, takes input on
15614 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
15616 * gst/elements/gsttypefindelement.c:
15617 (gst_type_find_element_handle_event):
15618 Don't restart typefinding on a discont.
15619 * gst/gstelement.c: (gst_element_set_state):
15620 Debug spelling fix.
15621 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15622 Allow changing mode of an active pad.
15623 Debug output fixes.
15624 * gst/registries/gstlibxmlregistry.c: (load_feature):
15625 Don't cast a static pad template to a normal pad template.
15627 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
15629 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15630 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15631 remove gst_strtoll completely, since it didn't actually do
15632 anything more than what g_ascii_strtoull already does.
15633 check for range errors when deserializing
15634 do a cast for the unsigned cases; but further fixing needs
15635 a decision on what the interpretation of "(int)" and
15636 deserialization should be for values that fall outside the
15637 type's boundaries (ie, refuse, or interpret as casting)
15639 2005-06-23 Wim Taymans <wim@fluendo.com>
15641 * check/Makefile.am:
15642 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15643 * docs/design/part-live-source.txt:
15644 * docs/design/part-states.txt:
15645 * gst/base/gstbasesrc.c: (gst_basesrc_init),
15646 (gst_basesrc_set_live), (gst_basesrc_is_live),
15647 (gst_basesrc_get_range), (gst_basesrc_activate),
15648 (gst_basesrc_change_state):
15649 * gst/base/gstbasesrc.h:
15650 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15651 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15652 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15653 * gst/gstelement.c: (gst_element_get_state_func),
15654 (gst_element_set_state):
15655 * gst/gstelement.h:
15657 * tools/gst-launch.c: (event_loop), (main):
15658 Added support for live sources and other elements that
15660 Updated design docs, added live-source design doc.
15661 Implemented live source functionality in basesrc
15662 Fix error condition in _bin_get_state()
15663 Implement live source handling in -launch.
15664 Added check for live sources.
15665 Fixed case in GstBin where elements were changed state
15669 2005-06-23 Andy Wingo <wingo@pobox.com>
15671 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15672 borken refcounting.
15674 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15675 gst_caps_replace takes care of this for us.
15677 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15678 gst_pad_set_caps on the target, not just its setcaps() function.
15680 * tests/network-clock.scm:
15681 * tests/network-clock-utils.scm: A network clock simulator.
15682 Something of an algorithmic testbed before doing something in C.
15684 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
15686 * check/Makefile.am:
15687 * check/gst/capslist.h:
15688 copy over from 0.8, and add two with bitmasks specified with
15690 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15691 add test to parse everything from capslist.h
15692 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15694 add test for structure deserialization
15695 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15696 add tests for deserialization of strings to int types
15697 * gst/gststructure.c: (gst_structure_nth_field_name):
15698 * gst/gststructure.h:
15699 add a way to get the name of a field referenced by index
15700 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15701 instead of checking if the resulting long long lies between
15702 min and max, we check if the long long would fit into
15703 a number of bytes for the final type.
15704 This fixes cases where a string represents 2^32 - 1, which
15705 when cast to int would be the (valid) -1, but is bigger than
15708 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
15710 * gst/parse/grammar.y:
15711 add a log line for type deserialization
15713 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
15715 * check/gst/gstvalue.c: (START_TEST):
15716 * gst/gstvalue.c: (gst_value_deserialize):
15717 return long long, not int, so gint64 deserialization actually
15718 works. Is there any flag that makes the compiler check this ?
15721 2005-06-22 Wim Taymans <wim@fluendo.com>
15724 Added convenience macros for setting buffers in GValue.
15726 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
15728 * check/gst/.cvsignore:
15729 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15730 add a test deserializing int64, and comment part out because
15733 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
15735 * check/Makefile.am:
15736 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15737 * testsuite/Makefile.am:
15738 * testsuite/caps/Makefile.am:
15739 * testsuite/caps/value_serialize.c:
15740 * testsuite/test_gst_init.c:
15741 move a value_serialize test over
15743 2005-06-20 Wim Taymans <wim@fluendo.com>
15748 * gst/gstvalue.c: (gst_value_compare_buffer),
15749 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15750 (gst_value_compare_flags), (gst_value_serialize_flags),
15751 (gst_value_deserialize_flags), (_gst_value_initialize):
15752 Fix serialisation of buffers, they are not boxed types anymore
15754 2005-06-20 Wim Taymans <wim@fluendo.com>
15756 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15757 Testcase to show error in buffer-on-caps serialisation.
15759 2005-06-20 Andy Wingo <wingo@pobox.com>
15761 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15762 will be adding to later.
15764 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15765 if its socks fill with rocks.
15766 (gst_system_clock_obtain): Set the name on object construction.
15767 Avoid double-checked locking.
15769 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
15771 * gst/gsturi.c: (gst_element_make_from_uri):
15772 Fix potential endless loop.
15774 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15776 * check/Makefile.am:
15778 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15780 move over from testsuite dir and clean up
15783 * testsuite/Makefile.am:
15784 * testsuite/tags/.cvsignore:
15785 * testsuite/tags/Makefile.am:
15786 * testsuite/tags/merge.c:
15787 remove testsuite/tags
15789 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15791 * docs/gst/gstreamer-sections.txt:
15792 * docs/gst/tmpl/gstenumtypes.sgml:
15793 * win32/gstenumtypes.c:
15794 clean up documentation build a little
15796 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15798 * check/gstcheck.h:
15799 add macros for checking refcounts on objects and caps
15800 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15801 add some more unit tests
15802 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15803 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15804 fix leaked refcounts (I hope :)) so unittest works
15808 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15810 * configure.ac: back to HEAD
15812 === release 0.9.1 ===
15814 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
15820 2005-06-17 Andy Wingo <wingo@pobox.com>
15822 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15823 assert; it's always possible that the pad gets deactivated in
15824 between the checks in gstpad.c and the implementation. Rely on
15825 finish_preroll() to return a FLUSHING or similar instead of on the
15828 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15829 clock and post an EOS message if we come out of finish_preroll in
15832 2005-06-16 David Schleef <ds@schleef.org>
15834 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15835 (gst_capsfilter_set_property): Allow NULL as possible value
15836 for filter_caps property, indicating GST_CAPS_ANY.
15838 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
15840 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15842 * gst/schedulers/Makefile.am:
15844 * gstreamer.spec.in:
15847 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
15849 * gstreamer.spec.in:
15852 2005-06-08 Andy Wingo <wingo@pobox.com>
15854 * gst/gstutils.c: RPAD fixes all around.
15855 (gst_element_link_pads): Refcounting fixes.
15857 * tools/gst-inspect.c:
15858 * tools/gst-xmlinspect.c:
15860 * gst/base/gsttypefindhelper.c:
15861 * gst/base/gstbasesink.c:
15862 * gst/gstqueue.c: RPAD fixes.
15864 * gst/gstghostpad.h:
15865 * gst/gstghostpad.c: New ghost pad implementation as full proxy
15866 pads. The tricky thing is they provide both source and sink
15867 interfaces, since they proxy the internal pad for the external
15868 pad, and vice versa. Implement with lower-level ProxyPad objects,
15869 with the interior proxy pad as a child of the exterior ghost pad.
15870 Should write a doc on this.
15872 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15873 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15876 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15877 pads are real pads. No ghost pads in this file. Not documenting
15878 the myriad s/RPAD/PAD/ and REALIZE fixes.
15879 (gst_pad_class_init): Add properties for "direction" and
15880 "template". Both are construct-only, so they can't change during
15881 the life of the pad. Fixes properly deriving from GstPad.
15882 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15883 derived objects, just set properties when creating the objects via
15885 (gst_pad_get_parent): Implement as a function, return NULL if the
15886 parent is not an element.
15887 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15888 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15890 * gst/gstobject.c (gst_object_class_init): Make name a construct
15891 property. Don't set it in the object init.
15893 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15894 with UNKNOWN direction.
15895 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15896 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15897 (gst_element_remove_pad): Remove ghost-pad special cases.
15898 (gst_element_pads_activate): Remove rpad cruft.
15900 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15901 catch the pad's-parent-not-an-element case.
15903 * gst/gst.h: Include gstghostpad.h.
15905 * gst/gst.c (init_post): No more real, ghost pads.
15907 * gst/Makefile.am: Add gstghostpad.[ch].
15909 * check/Makefile.am:
15910 * check/gst/gstbin.c:
15911 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15912 into a bin creates ghost pads, and that the refcounts are right.
15913 Partly moved from gstbin.c.
15915 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15917 * check/gst-libs/.cvsignore:
15918 * check/gst/.cvsignore:
15919 * check/pipelines/.cvsignore:
15921 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15922 (START_TEST), (cleanup_suite), (main):
15923 add some tests related to cleanup after running pipelines
15925 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15927 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15928 add a testsuite for GstBuffer
15930 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15932 * gst/gstminiobject.h:
15933 add defines for accessing the refcount
15935 2005-06-03 Stefan Kost <ensonic@users.sf.net>
15937 * Makefile.am: added support for html unit test coverage reports
15939 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
15941 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15942 Free existing caps if the capsfilter changes. Add a FIXME about
15943 setting those caps on the pads.
15945 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15946 Before adding a ghost pad to a parent bin, check that there isn't
15947 already one for the element on the bin. Prevents infinite recursion
15948 when using decodebin in parse pipelines. Andy says he'll rewrite the
15949 way this works anyway, so ignore the hack.
15951 2005-06-02 Andy Wingo <wingo@pobox.com>
15953 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15954 file size, pass it on to the type find helper.
15956 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15957 segment_start and segment_end properly according to the seek
15958 method. Segment_end is still a bit flaky because offset can be
15959 negative for CUR and END cases, but it takes -1 as an "unset"
15962 2005-06-02 Wim Taymans <wim@fluendo.com>
15964 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15965 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15966 (gst_basesink_activate):
15967 * gst/base/gstbasesink.h:
15968 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15969 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15970 (gst_pad_query), (gst_pad_start_task):
15972 * gst/gstqueue.c: (gst_queue_bufferalloc),
15973 (gst_queue_handle_sink_event), (gst_queue_chain):
15974 Bufferalloc: return GstFlowReturn to more accuratly report
15975 why allocation failed.
15977 2005-06-02 Wim Taymans <wim@fluendo.com>
15979 * gst/gstpipeline.c: (gst_pipeline_send_event):
15980 Take snapshot of state without blocking.
15982 2005-06-02 Wim Taymans <wim@fluendo.com>
15984 * docs/design/part-TODO.txt:
15985 * docs/design/part-caps.txt:
15986 * docs/design/part-clocks.txt:
15987 * docs/design/part-negotiation.txt:
15988 * docs/design/part-preroll.txt:
15991 2005-05-30 Wim Taymans <wim@fluendo.com>
15993 * gst/elements/gstidentity.c: (gst_identity_event),
15994 (gst_identity_transform), (gst_identity_get_property):
15995 Protect last_message property as it is accessed from
15998 2005-05-30 Wim Taymans <wim@fluendo.com>
16000 * gst/gstelement.c: (gst_element_init),
16001 (gst_element_pads_activate), (gst_element_change_state):
16002 Slicker pad activation code.
16004 2005-05-30 Wim Taymans <wim@fluendo.com>
16007 * gst/gstelement.h:
16008 * gst/gstelementfactory.h:
16010 Move elementfactory methods to separate .h file.
16012 2005-05-30 Wim Taymans <wim@fluendo.com>
16014 * docs/design/part-overview.txt:
16015 * gst/gstsystemclock.h:
16016 Small typo fixes, doc updates.
16018 2005-05-30 Wim Taymans <wim@fluendo.com>
16020 * gst/gst.c: (gst_init_get_popt_table), (init_post),
16021 (init_popt_callback):
16022 Remove cpu-opt flag.
16024 2005-05-30 Wim Taymans <wim@fluendo.com>
16026 * gst/gstbuffer.c: (gst_subbuffer_finalize),
16027 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16029 Avoid typechecking in places where not needed.
16030 Added accessor for malloc_data.
16032 2005-05-30 Wim Taymans <wim@fluendo.com>
16034 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16035 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16036 (gst_pad_configure_sink), (gst_pad_configure_src),
16037 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16038 (gst_pad_start_task):
16039 Propagate errors from _set_caps() in configure_src/sink
16040 functions instead of returning TRUE.
16041 FLUSH events can travel up and downstream
16044 2005-05-30 Wim Taymans <wim@fluendo.com>
16046 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16047 (gst_basesink_activate):
16048 Handle EOS in preroll.
16050 2005-05-30 Wim Taymans <wim@fluendo.com>
16052 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16053 (gst_queue_loop), (gst_queue_handle_src_event):
16054 Remove old pieces of code
16055 Flushing the queue in an upstream event is a very bad idea.
16057 2005-05-26 Andy Wingo <wingo@pobox.com>
16059 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16060 gst_value_set_mini_object so as to add a ref on the object (which
16061 will be removed when the value is unset).
16063 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16064 arg type in ::handoff.
16066 * gst/gstelement.c (gst_element_change_state): Also deactivate
16067 pads in READY->NULL, just in case the element didn't make it to
16068 PAUSED. Wingo tested, Wim approved.
16070 2005-05-26 Wim Taymans <wim@fluendo.com>
16072 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16073 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16074 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16075 A flushing pad cannot be used to alloc_buffer from.
16077 2005-05-26 Wim Taymans <wim@fluendo.com>
16079 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16080 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16081 (gst_bus_source_dispatch), (gst_bus_source_finalize),
16082 (gst_bus_create_watch), (gst_bus_add_watch_full):
16084 Implement a real GSource and use g_main_context_wakeup() to
16085 signal new messages instead of the socketpair.
16087 2005-05-25 Wim Taymans <wim@fluendo.com>
16089 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16090 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16091 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16092 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16093 (gst_pad_send_event), (gst_pad_start_task):
16094 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16095 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16096 (gst_queue_sink_activate), (gst_queue_src_activate),
16097 (gst_queue_change_state):
16099 Fix state changes for non sinks. We now change sinks, then elements
16100 with unconnected srcpads, then the rest.
16101 More efficient queue unlocking in flush and state changes.
16102 Set the pad activate mode even if it does not have an activate
16105 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16107 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16108 Don't go in pull mode for non-seekable sources.
16109 * gst/elements/gsttypefindelement.h:
16110 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16111 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16112 (free_entry), (stop_typefinding),
16113 (gst_type_find_element_handle_event), (find_peek),
16114 (gst_type_find_element_chain), (do_pull_typefind),
16115 (gst_type_find_element_change_state):
16116 Allow typefinding (w/o seeking) in push-mode, simplified version
16117 of what was in 0.8.
16118 * gst/gstutils.c: (gst_buffer_join):
16120 gst_buffer_join() from 0.8.
16122 2005-05-25 Wim Taymans <wim@fluendo.com>
16124 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16125 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16126 (gst_pad_send_event), (gst_pad_start_task):
16127 Disable attempt at mode switching until it is figured out.
16129 2005-05-25 Wim Taymans <wim@fluendo.com>
16131 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16132 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16133 (gst_basesink_finish_preroll), (gst_basesink_chain),
16134 (gst_basesink_loop), (gst_basesink_activate),
16135 (gst_basesink_change_state):
16136 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16137 (gst_basesrc_get_range), (gst_basesrc_loop),
16138 (gst_basesrc_activate):
16139 * gst/elements/gsttee.c: (gst_tee_sink_activate):
16140 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16141 (gst_real_pad_init), (gst_real_pad_set_property),
16142 (gst_real_pad_get_property), (gst_pad_set_active),
16143 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16144 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16145 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16146 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16147 (gst_pad_event_default_dispatch), (gst_pad_event_default),
16148 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16149 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16150 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16151 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16152 (gst_pad_stop_task):
16154 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16155 (gst_queue_loop), (gst_queue_src_activate):
16156 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16157 (gst_task_get_state):
16159 * gst/schedulers/threadscheduler.c:
16160 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16161 Implement gst_pad_pause/start/stop_task(), take STREAM lock
16163 Remove ACTIVE pad flag, use FLUSHING everywhere
16164 Added _pad_chain(), _pad_get_range() to call chain/getrange
16166 Add locks around IS_FLUSHING when reading.
16167 Take STREAM lock in chain(), get_range() functions so plugins
16168 don't need to take it anymore.
16172 2005-05-25 Wim Taymans <wim@fluendo.com>
16174 * tools/gst-launch.c: (event_loop):
16175 Unref message after using its contents instead of
16178 2005-05-24 Wim Taymans <wim@fluendo.com>
16180 * docs/design/draft-ghostpads.txt:
16181 * docs/design/draft-push-pull.txt:
16182 * docs/design/draft-query.txt:
16183 * docs/design/part-overview.txt:
16184 Docs updates, added general overview doc.
16186 2005-05-21 David Schleef <ds@schleef.org>
16188 * docs/gst/tmpl/old/GstBin.sgml:
16189 * docs/gst/tmpl/old/GstBuffer.sgml:
16190 * docs/gst/tmpl/old/GstCaps.sgml:
16191 * docs/gst/tmpl/old/GstClock.sgml:
16192 * docs/gst/tmpl/old/GstCompat.sgml:
16193 * docs/gst/tmpl/old/GstData.sgml:
16194 * docs/gst/tmpl/old/GstElement.sgml:
16195 * docs/gst/tmpl/old/GstEvent.sgml:
16196 * docs/gst/tmpl/old/GstIndex.sgml:
16197 * docs/gst/tmpl/old/GstStructure.sgml:
16198 * docs/gst/tmpl/old/GstTag.sgml:
16199 * docs/gst/tmpl/old/cothreads.sgml:
16200 * docs/gst/tmpl/old/cothreads_compat.sgml:
16201 * docs/gst/tmpl/old/gettext.sgml:
16202 * docs/gst/tmpl/old/gobject2gtk.sgml:
16203 * docs/gst/tmpl/old/grammar.tab.sgml:
16204 * docs/gst/tmpl/old/gst-i18n-app.sgml:
16205 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16206 * docs/gst/tmpl/old/gst_private.sgml:
16207 * docs/gst/tmpl/old/gstaggregator.sgml:
16208 * docs/gst/tmpl/old/gstarch.sgml:
16209 * docs/gst/tmpl/old/gstatomic_impl.sgml:
16210 * docs/gst/tmpl/old/gstbufferstore.sgml:
16211 * docs/gst/tmpl/old/gstdata_private.sgml:
16212 * docs/gst/tmpl/old/gstdisksink.sgml:
16213 * docs/gst/tmpl/old/gstdisksrc.sgml:
16214 * docs/gst/tmpl/old/gstelementfactory.sgml:
16215 * docs/gst/tmpl/old/gstextratypes.sgml:
16216 * docs/gst/tmpl/old/gstfakesink.sgml:
16217 * docs/gst/tmpl/old/gstfakesrc.sgml:
16218 * docs/gst/tmpl/old/gstfdsink.sgml:
16219 * docs/gst/tmpl/old/gstfdsrc.sgml:
16220 * docs/gst/tmpl/old/gstfilesink.sgml:
16221 * docs/gst/tmpl/old/gstfilesrc.sgml:
16222 * docs/gst/tmpl/old/gsthttpsrc.sgml:
16223 * docs/gst/tmpl/old/gstidentity.sgml:
16224 * docs/gst/tmpl/old/gstindexfactory.sgml:
16225 * docs/gst/tmpl/old/gstmarshal.sgml:
16226 * docs/gst/tmpl/old/gstmd5sink.sgml:
16227 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16228 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16229 * docs/gst/tmpl/old/gstpadtemplate.sgml:
16230 * docs/gst/tmpl/old/gstpipefilter.sgml:
16231 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16232 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16233 * docs/gst/tmpl/old/gstshaper.sgml:
16234 * docs/gst/tmpl/old/gstspider.sgml:
16235 * docs/gst/tmpl/old/gstspideridentity.sgml:
16236 * docs/gst/tmpl/old/gststatistics.sgml:
16237 * docs/gst/tmpl/old/gsttee.sgml:
16238 * docs/gst/tmpl/old/gsttimecache.sgml:
16239 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16240 * docs/gst/tmpl/old/gstxmlregistry.sgml:
16241 * docs/gst/tmpl/old/gthread-cothreads.sgml:
16242 * docs/gst/tmpl/old/types.sgml:
16243 I didn't intend to add these or check them in.
16245 2005-05-19 David Schleef <ds@schleef.org>
16247 * configure.ac: Use -no-common everywhere. In a sane world, it
16248 would be the default in libtool, because without it, you can't
16249 build DLLs on Windows.
16250 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16251 * docs/gst/gstreamer-sections.txt:
16252 * docs/gst/tmpl/gstcpu.sgml:
16253 * docs/gst/tmpl/gstdata.sgml:
16254 * docs/gst/tmpl/gstthread.sgml:
16256 2005-05-19 David Schleef <ds@schleef.org>
16258 * gst/gstminiobject.c: (gst_value_set_mini_object),
16259 (gst_value_take_mini_object), (gst_value_get_mini_object):
16260 * gst/gstminiobject.h: Add GValue set/get functions.
16262 2005-05-19 Wim Taymans <wim@fluendo.com>
16264 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16265 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16266 (gst_subbuffer_init), (gst_buffer_is_span_fast):
16268 * gst/gstbus.c: (gst_bus_post):
16269 * gst/gstelement.c: (gst_element_get_random_pad):
16270 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16271 Make subbufer unref the parent in finalize.
16272 some more debugging info.
16275 2005-05-19 Wim Taymans <wim@fluendo.com>
16277 * gst/base/gstbasesink.c: (gst_basesink_class_init),
16278 (gst_basesink_init), (gst_basesink_finalize),
16279 (gst_basesink_activate), (gst_basesink_change_state):
16280 Don't free preroll queue too early.
16282 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16286 Hi, I'm outdated. Please shoot me.
16288 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16290 * gst/gstpipeline.c: (gst_pipeline_send_event):
16291 Do not access variables after they have been deleted.
16293 2005-05-19 Wim Taymans <wim@fluendo.com>
16295 * tools/gst-inspect.c: (print_plugin_features):
16296 A plugin feature does unfortunatly not use the
16299 2005-05-18 Wim Taymans <wim@fluendo.com>
16301 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16302 Port _span() functions to new subbuffers.
16304 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16306 * gst/gstbin.c: (gst_bin_add_func):
16307 Fix clock settery in bins when adding kids after the clock has
16310 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16312 * gst/elements/gstidentity.c: (gst_identity_class_init):
16313 Workaround until signals support GstMiniObject.
16315 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
16318 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16320 2005-05-18 Wim Taymans <wim@fluendo.com>
16322 * gst/base/Makefile.am:
16323 * gst/base/gstadapter.c: (gst_adapter_base_init),
16324 (gst_adapter_class_init), (gst_adapter_init),
16325 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16326 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16327 (gst_adapter_flush), (gst_adapter_available),
16328 (gst_adapter_available_fast):
16329 * gst/base/gstadapter.h:
16330 Ported and added adapter to the base classes.
16332 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16335 * gst/gstmessage.c:
16336 Make sure the class is reffed/unreffed once before threads can be
16337 used. Fixes #304551.
16339 2005-05-17 Wim Taymans <wim@fluendo.com>
16341 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16342 (gst_basesink_chain_unlocked), (gst_basesink_activate):
16343 * gst/gstminiobject.c: (gst_mini_object_get_type),
16344 (gst_mini_object_free):
16345 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16346 (gst_pad_push), (gst_pad_push_event):
16347 * gst/gstqueue.c: (gst_queue_change_state):
16348 Don't queue buffers in basesink when we are flushing.
16349 Unref buffer when flushing in basesink.
16350 Flush queue when going to READY
16351 Unref buffer when _push() returns an error.
16352 Don't free MiniObject instance when refcount is incremented
16353 in _finalize() so that we can recover objects.
16355 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
16357 * docs/manual/advanced-schedulers.xml:
16358 * docs/manual/appendix-checklist.xml:
16359 * docs/pwg/advanced-clock.xml:
16360 * docs/pwg/advanced-interfaces.xml:
16361 * docs/pwg/advanced-request.xml:
16362 * docs/pwg/advanced-types.xml:
16363 * docs/pwg/intro-preface.xml:
16364 * examples/plugins/example.c: (gst_example_get_type),
16365 (gst_example_class_init), (gst_example_chain),
16366 (gst_example_set_property), (gst_example_get_property),
16367 (gst_example_change_state), (plugin_init):
16368 * examples/plugins/example.h:
16371 2005-05-17 Wim Taymans <wim@fluendo.com>
16373 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16374 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16375 * gst/gstqueue.c: (gst_queue_change_state):
16376 Clear queue when going to READY.
16377 Remove IN_SETCAPS flag too.
16379 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
16381 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16382 Remove implicit cast from gboolean to GstElementStateReturn;
16383 make sure we still return failure in paused => ready case if
16384 the parent class fails to change state and our own stop
16387 2005-05-17 Wim Taymans <wim@fluendo.com>
16389 * tools/gst-launch.c: (event_loop):
16390 Message was unreffed too soon.
16392 2005-05-16 Andy Wingo <wingo@pobox.com>
16394 * gst/gstbin.c (sink_iterator_filter): Err... um...
16396 * check/gst/gstbin.c (test_ghost_pads): New test for the
16397 ghosting-if-elements-not-in-same-bin behavior.
16399 2005-05-16 David Schleef <ds@schleef.org>
16401 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16402 accessing refcount directly.
16404 2005-05-15 David Schleef <ds@schleef.org>
16406 * check/Makefile.am: remove GstData checks
16407 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16408 * gst/Makefile.am: add miniobject, remove data
16409 * gst/gst.h: add miniobject, remove data
16410 * gst/gstdata.c: remove
16411 * gst/gstdata.h: remove
16412 * gst/gstdata_private.h: remove
16413 * gst/gsttypes.h: remove GstEvent and GstMessage
16414 * gst/gstelement.c: (gst_element_post_message): fix for API changes
16415 * gst/gstmarshal.list: change BOXED -> OBJECT
16417 Implement GstMiniObject.
16418 * gst/gstminiobject.c:
16419 * gst/gstminiobject.h:
16421 Modify to be subclasses of GstMiniObject.
16422 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16423 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16424 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16425 (gst_subbuffer_get_type), (gst_subbuffer_init),
16426 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16429 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16430 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16431 (_gst_event_copy), (gst_event_new):
16433 * gst/gstmessage.c: (_gst_message_initialize),
16434 (gst_message_get_type), (gst_message_class_init),
16435 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16436 (gst_message_new), (gst_message_new_error),
16437 (gst_message_new_warning), (gst_message_new_tag),
16438 (gst_message_new_state_changed), (gst_message_new_application):
16439 * gst/gstmessage.h:
16440 * gst/gstprobe.c: (gst_probe_perform),
16441 (gst_probe_dispatcher_dispatch):
16443 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16444 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16445 (_gst_query_copy), (gst_query_new):
16447 Update elements for GstData -> GstMiniObject changes
16449 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16450 (gst_queue_chain), (gst_queue_loop):
16451 * gst/elements/gstbufferstore.c:
16452 (gst_buffer_store_add_buffer_func),
16453 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16454 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16455 (gst_fakesink_render):
16456 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16457 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16458 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16459 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16460 (gst_filesrc_create_read):
16461 * gst/elements/gstidentity.c: (gst_identity_class_init):
16462 * gst/elements/gsttypefindelement.c:
16463 (gst_type_find_element_src_event), (free_entry_buffers),
16464 (gst_type_find_element_handle_event):
16465 * libs/gst/dataprotocol/dataprotocol.c:
16466 (gst_dp_header_from_buffer):
16467 * libs/gst/dataprotocol/dataprotocol.h:
16468 * libs/gst/dataprotocol/dp-private.h:
16470 2005-05-15 David Schleef <ds@schleef.org>
16472 * gst/elements/gstelements.c: Don't include headers that were
16475 2005-05-15 David Schleef <ds@schleef.org>
16477 * gst/elements/Makefile.am: Remove some elements that don't
16478 need to be in the core (or even exist at all).
16479 * gst/elements/gstaggregator.c:
16480 * gst/elements/gstaggregator.h:
16481 * gst/elements/gstmd5sink.c:
16482 * gst/elements/gstmd5sink.h:
16483 * gst/elements/gstmultifilesrc.c:
16484 * gst/elements/gstmultifilesrc.h:
16485 * gst/elements/gstpipefilter.c:
16486 * gst/elements/gstpipefilter.h:
16487 * gst/elements/gstshaper.c:
16488 * gst/elements/gstshaper.h:
16489 * gst/elements/gststatistics.c:
16490 * gst/elements/gststatistics.h:
16491 * po/POTFILES.in: Remove above files.
16493 2005-05-14 Andy Wingo <wingo@pobox.com>
16495 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16496 so as to get the refs right.
16497 (sink_iterator_filter): New function, wraps bin_element_is_sink,
16498 unreffing objects that don't pass the filter.
16500 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16501 gst_element_set_bus.
16502 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16503 normal cases, this will destroy the bus.
16505 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16508 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16511 2005-05-13 Andy Wingo <wingo@pobox.com>
16513 * gst/gstutils.c (gst_element_link_pads): Instead of calling
16514 gst_pad_link, call pad_link_maybe_ghosting,
16515 (pad_link_maybe_ghosting): Links pads, making sure that the
16516 elements being linked are in the same bin.
16517 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16518 Helpers for pad_link_maybe_ghosting.
16520 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
16523 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16525 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
16527 * docs/design/part-element-source.txt:
16530 2005-05-12 Wim Taymans <wim@fluendo.com>
16532 * gst/base/gstbasesink.c: (gst_basesink_init),
16533 (gst_basesink_activate):
16534 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16535 (gst_basesrc_is_seekable):
16536 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16537 (bin_element_is_sink), (gst_bin_change_state):
16538 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16539 * gst/gstelement.h:
16540 Identify sinks by their flag to avoid overly complicated
16542 Do state changes even for elements not reachable from the
16544 BaseSink is a sink now :)
16545 Some more debugging info in the basesrc.
16548 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16550 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16551 Implement _query on a bin, similar to _send_event.
16553 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
16555 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16556 Discont event offset format should be GST_FORMAT_BYTES,
16557 not GST_FORMAT_TIME.
16559 2005-05-12 Wim Taymans <wim@fluendo.com>
16561 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16562 Same fix as Ronald's but without the signal.
16564 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16566 * gst/gstutils.c: (gst_element_query_position):
16567 No, an element is not a pad.
16569 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16571 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16572 (gst_bin_get_state):
16573 If a child is removed from a bin while we remove the child from
16574 the bin and while we're retrieving its state, signal this to the
16575 get_state function so we abort the wait (instead of waiting for
16576 a timeout) and can immediately re-iterate over all other elements.
16578 2005-05-12 Wim Taymans <wim@fluendo.com>
16580 * gst/base/Makefile.am:
16581 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16582 (gst_basesrc_start):
16583 * gst/base/gstbasesrc.h:
16584 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16585 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16586 (gst_pushsrc_init), (gst_pushsrc_create):
16587 * gst/base/gstpushsrc.h:
16588 Added is_seekable to BaseSrc
16589 Added simple PushSrc.
16591 2005-05-11 Wim Taymans <wim@fluendo.com>
16593 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16594 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16595 (gst_element_link_pads), (gst_element_query_position),
16596 (gst_element_query_convert), (intersect_caps_func),
16597 (gst_pad_query_position), (gst_pad_query_convert):
16598 Fix refcounting in utils function.
16599 No point in trying to activate a pad when it's added, it could
16600 be added from the state change function and then we deadlock, the
16601 element has to decide what to do.
16603 2005-05-10 Andy Wingo <wingo@pobox.com>
16605 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16606 *all* the arguments.
16608 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16609 stream lock if it's a FLUSH_DONE; normal flushes don't get the
16610 lock (according to the docs -- if this is wrong change the docs).
16612 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16613 flush messages in the NULL state.
16615 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16616 message immediately and return.
16617 (gst_bus_set_flushing): New function. If a bus is flushing, it
16618 flushes out any queued messages and immediately unrefs new
16619 messages. This is so when an element goes to NULL, all of the
16620 unhandled messages coming from it can be freed, and their
16621 references to the element dropped. In other words: message source
16622 ref considered harmful :P
16624 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16625 we're finished with it.
16627 * gst/gstmessage.c (gst_message_new_state_changed):
16629 2005-05-10 Wim Taymans <wim@fluendo.com>
16631 * gst/gstvalue.c: (gst_value_compare_flags),
16632 (gst_value_serialize_flags), (gst_value_deserialize_flags),
16633 (_gst_value_initialize):
16634 Added flags serialize/deserialize/compare code.
16636 2005-05-09 Andy Wingo <wingo@pobox.com>
16638 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16639 Intersect the peer's caps with our caps.
16641 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16643 * gst/base/gsttypefindhelper.c: (helper_find_peek):
16644 * gst/elements/gsttypefindelement.c: (find_peek):
16645 Handle negative offsets better. Fixes decodebin.
16647 2005-05-09 Wim Taymans <wim@fluendo.com>
16649 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16650 (gst_base_transform_event):
16651 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16652 Implement accept_caps.
16653 Fix silly lock/unlock mismatch in base class.
16655 2005-05-09 Wim Taymans <wim@fluendo.com>
16657 * docs/design/draft-push-pull.txt:
16658 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16659 * gst/elements/gstfilesink.c: (gst_filesink_init),
16660 (gst_filesink_query):
16661 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16662 (gst_type_find_handle_src_query), (find_element_get_length):
16663 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16664 * gst/gstelement.h:
16665 * gst/gstmessage.c:
16666 * gst/gstmessage.h:
16667 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16668 (gst_real_pad_get_caps_unlocked),
16669 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16670 (gst_pad_event_default_dispatch), (gst_pad_event_default),
16671 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16672 (gst_real_pad_dispose), (gst_real_pad_finalize),
16673 (gst_pad_load_and_link), (gst_pad_save_thyself),
16674 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16675 (gst_pad_check_pull_range), (gst_pad_pull_range),
16676 (gst_pad_template_get_type), (gst_pad_template_class_init),
16677 (gst_pad_template_init), (gst_pad_template_dispose),
16678 (name_is_valid), (gst_static_pad_template_get),
16679 (gst_pad_template_new), (gst_static_pad_template_get_caps),
16680 (gst_pad_template_get_caps), (gst_pad_set_element_private),
16681 (gst_pad_get_element_private), (gst_pad_start_task),
16682 (gst_pad_pause_task), (gst_pad_stop_task),
16683 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16684 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16685 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16686 (gst_ghost_pad_new):
16688 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16689 (gst_query_new_position), (gst_query_set_position),
16690 (gst_query_parse_position), (gst_query_new_convert),
16691 (gst_query_set_convert), (gst_query_parse_convert):
16693 * gst/gstqueryutils.c:
16694 * gst/gstqueryutils.h:
16695 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16696 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16697 (gst_queue_handle_src_query):
16698 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16699 (gst_element_query_position), (gst_element_query_convert),
16700 (intersect_caps_func), (gst_pad_query_position),
16701 (gst_pad_query_convert):
16703 * tools/gst-inspect.c: (print_pad_info):
16704 * tools/gst-xmlinspect.c: (print_element_info):
16705 Remove old query functions. Ported old code.
16706 Added position/convert helper functions to gstutils.
16707 Reordered gstpad.c code, grouping relevant things.
16708 Remove gst_message_new(), always need to speficy a specific
16712 2005-05-09 Andy Wingo <wingo@pobox.com>
16714 * gst/gstiterator.h: Add some includes.
16716 * gst/gstqueryutils.h: Include more headers.
16719 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16720 some uses of gst_pad_query.
16722 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16723 NULL out parameters.
16724 (gst_query_new_position): New proc, allocates a new position
16727 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16728 gstqueryutils.c to the build.
16730 * gst/gststructure.c (gst_structure_set_valist): Implement with
16731 the generic G_VALUE_COLLECT.
16733 2005-05-08 Edward Hervey <bilboed@bilboed.com>
16735 * gst/Makefile.am: (gst_headers):
16736 Added gstqueryutils.h to the list of headers to install, that was
16737 a 'nachty' move wingo :)
16739 2005-05-06 Andy Wingo <wingo@pobox.com>
16742 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16743 GstData, init a memchunk.
16744 (standard_definitions): Add a few query types, deprecate a few.
16745 (gst_query_get_type): New proc.
16746 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16748 (gst_query_new_application, gst_query_get_structure): New public
16751 * docs/design/draft-query.txt: Removed LINKS from the query types,
16752 because all the rest can be dispatched to other pads -- seemed
16753 ugly to have a query that couldn't be dispatched. internal_links
16754 is fine as a pad method.
16756 * gst/gstpad.h: Add query2 as a pad method, add the new functions
16757 in gstpad.c, but maintain binary compatibility for the moment.
16758 Will fix before 0.9 is out.
16760 * gst/gstqueryutils.c:
16761 * gst/gstqueryutils.h: New files, implement 3 methods for each
16762 query type: parse_query, parse_response, and set. Probably need an
16765 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16767 * gst/elements/gstfilesink.c (gst_filesink_query2):
16768 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16769 query_types, and formats methods.
16771 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16772 (gst_pad_set_query2_function): New functions.
16773 (gst_real_pad_init): Set query2_default as the default query2
16774 function. Basically just dispatches to internally linked pads.
16778 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16779 without using the atomic operations. Only one thread can possibly
16780 be accessing the data at this point. Changed so as to avoid
16781 gst_atomic operations.
16783 2005-05-06 Wim Taymans <wim@fluendo.com>
16785 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16786 Also set caps if we use the fallback buffer alloc.
16788 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
16790 * docs/gst/Makefile.am:
16791 * docs/gst/gstreamer-docs.sgml:
16792 * docs/gst/gstreamer-sections.txt:
16793 * docs/gst/tmpl/gstatomic.sgml:
16794 * docs/gst/tmpl/gstmemchunk.sgml:
16795 * testsuite/elements/struct_i386.h:
16796 * win32/GStreamer.vcproj:
16798 Purge GstAtomic stuff from docs and win32 makefiles as well
16800 2005-05-06 Wim Taymans <wim@fluendo.com>
16802 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16803 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16804 * gst/gstpad.c: (gst_pad_peer_get_caps):
16805 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16806 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16807 (gst_queue_src_activate), (gst_queue_change_state):
16809 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16810 (intersect_caps_func):
16811 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16812 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16813 Some fixes for the peer_get_caps() change.
16815 2005-05-06 Wim Taymans <wim@fluendo.com>
16817 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16818 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16819 (gst_basesink_activate):
16820 Actually do something with error codes returned from the push
16823 2005-05-06 Wim Taymans <wim@fluendo.com>
16825 * docs/design/part-element-sink.txt:
16826 * docs/design/part-element-source.txt:
16827 * gst/base/gstbasesink.c: (gst_basesink_class_init),
16828 (gst_basesink_event), (gst_basesink_activate):
16829 * gst/base/gstbasesink.h:
16830 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16831 (gst_basesrc_activate):
16832 * gst/base/gstbasesrc.h:
16833 * gst/gstelement.c: (gst_element_pads_activate):
16834 Some more documentation.
16835 Fixed scheduling decision in _pads_activate().
16837 2005-05-05 Andy Wingo <wingo@pobox.com>
16839 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16842 2005-05-05 Wim Taymans <wim@fluendo.com>
16844 * gst/base/Makefile.am:
16845 * gst/base/gstbasesink.h:
16846 * gst/base/gstbasesrc.c: (gst_basesrc_init),
16847 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16848 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16849 (gst_collectpads_class_init), (gst_collectpads_init),
16850 (gst_collectpads_finalize), (gst_collectpads_new),
16851 (gst_collectpads_set_function), (gst_collectpads_add_pad),
16852 (find_pad), (gst_collectpads_remove_pad),
16853 (gst_collectpads_is_active), (gst_collectpads_collect),
16854 (gst_collectpads_collect_range), (gst_collectpads_start),
16855 (gst_collectpads_stop), (gst_collectpads_peek),
16856 (gst_collectpads_pop), (gst_collectpads_available),
16857 (gst_collectpads_read), (gst_collectpads_flush),
16858 (gst_collectpads_chain):
16859 * gst/base/gstcollectpads.h:
16860 * gst/elements/Makefile.am:
16861 * gst/elements/gstelements.c:
16862 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16863 (gst_fakesink_get_times), (gst_fakesink_event),
16864 (gst_fakesink_preroll), (gst_fakesink_render):
16865 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16866 (gst_filesink_init), (gst_filesink_set_location),
16867 (gst_filesink_open_file), (gst_filesink_close_file),
16868 (gst_filesink_pad_query), (gst_filesink_event),
16869 (gst_filesink_render), (gst_filesink_change_state):
16870 * gst/elements/gstfilesink.h:
16871 Added object to help in making collect pad based elements.
16873 Make event function in sink baseclass return gboolean.
16875 2005-05-05 Wim Taymans <wim@fluendo.com>
16877 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16878 (gst_bin_get_by_name):
16880 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16881 (gst_clock_finalize):
16882 * gst/gstdata.c: (gst_data_replace):
16884 * gst/gstelement.c: (gst_element_request_pad),
16885 (gst_element_pads_activate):
16886 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16887 (gst_object_unref):
16888 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16889 (gst_pad_set_checkgetrange_function),
16890 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16891 (gst_pad_check_pull_range), (gst_pad_pull_range),
16892 (gst_static_pad_template_get_caps), (gst_pad_start_task),
16893 (gst_pad_pause_task), (gst_pad_stop_task):
16894 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16895 (gst_element_request_pad), (gst_pad_proxy_getcaps):
16896 Fix name lookup in GstBin.
16897 Added _data_replace() function and _buffer_replace()
16898 Use finalize method to clean up clock.
16899 Fix refcounting on request pads.
16900 Fix pad schedule mode error.
16901 Some more object refcounting debug info,
16904 2005-05-04 Andy Wingo <wingo@pobox.com>
16906 * check/Makefile.am:
16907 * docs/gst/tmpl/gstatomic.sgml:
16908 * docs/gst/tmpl/gstplugin.sgml:
16909 * gst/base/gstbasesink.c: (gst_basesink_activate):
16910 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16911 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16912 (gst_basesrc_query), (gst_basesrc_set_property),
16913 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16914 (gst_basesrc_activate):
16915 * gst/base/gstbasesrc.h:
16916 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16917 (gst_base_transform_src_activate):
16918 * gst/elements/gstelements.c:
16919 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16920 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16921 * gst/elements/gsttee.c: (gst_tee_sink_activate):
16922 * gst/elements/gsttypefindelement.c: (find_element_get_length),
16923 (gst_type_find_element_checkgetrange),
16924 (gst_type_find_element_activate):
16925 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16926 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16927 (gst_caps_load_thyself):
16928 * gst/gstelement.c: (gst_element_pads_activate),
16929 (gst_element_save_thyself), (gst_element_restore_thyself):
16930 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16931 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16933 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16934 (gst_xml_parse_file), (gst_xml_parse_memory),
16935 (gst_xml_get_element), (gst_xml_make_element):
16936 * gst/indexers/gstfileindex.c: (gst_file_index_load),
16937 (_file_index_id_save_xml), (gst_file_index_commit):
16938 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16939 (read_enum), (load_pad_template), (load_feature), (load_plugin),
16941 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16942 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16943 * tools/gst-complete.c: (main):
16944 * tools/gst-compprep.c: (main):
16945 * tools/gst-inspect.c: (print_element_properties_info):
16946 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16947 * tools/gst-xmlinspect.c: (print_element_properties):
16950 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
16952 * gst/gstplugin.c: (gst_plugin_check_module),
16953 (gst_plugin_check_file), (gst_plugin_load_file):
16954 apply patch from #172526 to make register work on MacOSX
16956 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16958 * docs/gst/tmpl/gstconfig.sgml:
16959 * gst/gstconfig.h.in:
16960 move documentation for some symbols. Add doc for GST_PTR_FORMAT
16961 * testsuite/debug/printf_extension.c: (main):
16962 Do not use GST_PTR_FORMAT on pointers to types with
16963 sizeof < sizeof(gpointer). Fixes test on 64-bit
16964 * testsuite/elements/property.h:
16965 use correct printf format
16967 2005-05-02 Wim Taymans <wim@fluendo.com>
16969 * docs/design/draft-push-pull.txt:
16970 * docs/design/draft-query.txt:
16971 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16972 (gst_basesrc_start):
16973 Added draft for new query API.
16974 Added draft for better selecting scheduling methods.
16975 Make basesrc ignore length if the subclass does not support
16978 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16981 possible fixes for automake-1.5 - _LIBADD is reserved
16983 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16985 * docs/faq/Makefile.am:
16986 * docs/manual/Makefile.am:
16987 * docs/manuals.mak:
16988 * docs/pwg/Makefile.am:
16990 possible fixes for automake-1.5
16992 2005-04-28 Wim Taymans <wim@fluendo.com>
16994 * gst/base/gstbasesink.c: (gst_basesink_base_init),
16995 (gst_basesink_pad_getcaps), (gst_basesink_init),
16996 (gst_basesink_do_sync):
16997 * gst/gstclock.c: (gst_clock_entry_new):
16998 * gst/gstevent.c: (gst_event_discont_get_value):
16999 * gst/gstpipeline.c: (pipeline_bus_handler),
17000 (gst_pipeline_change_state):
17001 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17002 Better debugging of clocking info.
17003 Allow NULL values when getting discont values.
17005 2005-04-27 Wim Taymans <wim@fluendo.com>
17007 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17008 * check/gst/gstpad.c: (gst_pad_suite):
17009 Increase timeout for checks.
17011 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17013 * check/Makefile.am:
17014 fix the broken rule for cleanup. Apparently this rule is
17015 only needed on FC2, so maybe this warrants further autotool
17018 2005-04-26 Wim Taymans <wim@fluendo.com>
17020 * gst/gsttrashstack.h:
17021 Ooohh. a nasty one! After having a failed pop() from the stack,
17022 it's possible that the stack is empty. In that case, don't
17023 follow the NULL pointer.
17025 2005-04-25 Wim Taymans <wim@fluendo.com>
17027 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17028 (gst_pad_set_checkgetrange_function),
17029 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17030 (gst_pad_check_pull_range), (gst_pad_pull_range),
17031 (gst_static_pad_template_get_caps), (gst_pad_start_task),
17032 (gst_pad_pause_task), (gst_pad_stop_task):
17033 * gst/gstplugin.c: (gst_plugin_load):
17035 Remove gst_library_load as it does more harm than good with
17036 the new g_module flags.
17037 Revert bogus caps template check in pad linking, pad caps
17038 are important when linking not the template, which is more
17039 general than the current caps.
17041 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17043 * gst/autoplug/.cvsignore:
17044 * gst/autoplug/Makefile.am:
17045 * gst/autoplug/gstsearchfuncs.c:
17046 * gst/autoplug/gstsearchfuncs.h:
17047 * gst/autoplug/gstspider.c:
17048 * gst/autoplug/gstspider.h:
17049 * gst/autoplug/gstspideridentity.c:
17050 * gst/autoplug/gstspideridentity.h:
17051 * gst/autoplug/spidertest.c:
17054 2005-04-25 Wim Taymans <wim@fluendo.com>
17056 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17057 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17058 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17059 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17061 Added stubs for unimplemented functions.
17063 2005-04-24 David Schleef <ds@schleef.org>
17065 * gst/gstpad.h: Disable some unimplemented functions. Wim,
17068 2005-04-24 David Schleef <ds@schleef.org>
17070 Convert everything from GstAtomicInt to g_atomic_int_*, and
17075 * gst/gstatomic_impl.h:
17083 * gst/gstdata_private.h:
17087 * gst/gstmessage.c:
17090 * gst/gststructure.c:
17091 * gst/gststructure.h:
17092 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17095 2005-04-24 David Schleef <ds@schleef.org>
17097 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17098 make the regressions tests work. Remove some code that is no
17100 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17101 Disable warning for pads without templates.
17103 2005-04-24 David Schleef <ds@schleef.org>
17105 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
17106 functions that handle filtered links.
17107 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17109 * gst/gstutils.c: Fix/remove utility functions that handle
17112 * gst/gstvalue.c: Add serialization/deserialization of caps
17113 * gst/parse/grammar.y: Ignore filtered caps when linking. This
17114 requires fixing so that the filter caps notation creates
17115 a capsfilter element and sets the filter_caps property. I
17116 think everyone probably wants to keep the shorthand notation.
17117 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17118 * docs/gst/tmpl/gstpad.sgml:
17120 * gst/elements/gstelements.c: Register capsfilter element.
17121 * gst/Makefile.am: fix spacing
17122 * docs/random/ds/0.9-suggested-changes: random
17124 2005-04-23 David Schleef <ds@schleef.org>
17126 * gst/elements/Makefile.am:
17127 * gst/elements/gstcapsfilter.c: New element that acts like an
17128 identity, but filters caps. Will eventually replace filtered
17129 caps in pad linking.
17130 * gst/gstutils.c: (gst_element_create_all_pads): New function
17131 to create all the ALWAYS pads that are registered with an
17132 element class. This functionality should eventually be
17133 merged in with GstElement initialization.
17135 * testsuite/trigger/README: part of trigger test code that should
17136 have been checked in a long time ago.
17138 2005-04-23 David Schleef <ds@schleef.org>
17140 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
17141 needed with new versions of libtool (nobody will confirm this),
17142 and hard to carry around.
17143 * gst/autoplug/Makefile.am:
17144 * gst/base/Makefile.am:
17145 * gst/elements/Makefile.am:
17146 * gst/indexers/Makefile.am:
17147 * gst/schedulers/Makefile.am:
17148 * libs/gst/bytestream/Makefile.am:
17149 * libs/gst/control/Makefile.am:
17150 * libs/gst/dataprotocol/Makefile.am:
17151 * libs/gst/getbits/Makefile.am:
17153 2005-04-21 Wim Taymans <wim@fluendo.com>
17155 * docs/design/draft-push-pull.txt:
17156 * docs/design/part-MT-refcounting.txt:
17157 * docs/design/part-TODO.txt:
17158 * docs/design/part-caps.txt:
17159 * docs/design/part-events.txt:
17160 * docs/design/part-gstbus.txt:
17161 * docs/design/part-gstpipeline.txt:
17162 * docs/design/part-messages.txt:
17163 * docs/design/part-push-pull.txt:
17164 * docs/design/part-query.txt:
17167 2005-04-21 Wim Taymans <wim@fluendo.com>
17169 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17170 (gst_message_new), (gst_message_new_error),
17171 (gst_message_new_warning), (gst_message_new_tag),
17172 (gst_message_new_state_changed), (gst_message_new_application),
17173 (gst_message_get_structure):
17174 * gst/gstmessage.h:
17175 * gst/gststructure.c: (gst_structure_set_parent_refcount),
17176 (gst_structure_copy_conditional):
17177 Use parent refcount in GstMessage to ensure GstStructure
17179 Cleaned up headers a bit.
17182 2005-04-20 Wim Taymans <wim@fluendo.com>
17184 * gst/base/gstbasesink.c: (gst_basesink_base_init),
17185 (gst_basesink_pad_getcaps), (gst_basesink_init),
17186 (gst_basesink_chain_unlocked):
17187 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17188 (gst_type_find_helper):
17189 * gst/elements/gsttypefindelement.c:
17190 (gst_type_find_element_have_type), (gst_type_find_element_init),
17191 (stop_typefinding), (gst_type_find_element_handle_event),
17192 (find_suggest), (gst_type_find_element_chain),
17193 (gst_type_find_element_checkgetrange),
17194 (gst_type_find_element_getrange), (do_typefind),
17195 (gst_type_find_element_activate):
17196 * gst/gstbuffer.c: (_gst_buffer_sub_free),
17197 (gst_buffer_default_free), (gst_buffer_default_copy),
17198 (gst_buffer_set_caps):
17199 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17200 (gst_caps_replace):
17201 * gst/gstmessage.c: (gst_message_new),
17202 (gst_message_new_state_changed):
17203 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17204 (gst_pad_set_checkgetrange_function),
17205 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17206 (gst_pad_set_caps), (gst_pad_check_pull_range),
17207 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17209 * gst/gsttypefind.c: (gst_type_find_register):
17210 Make gst_caps_replace() work like other _replace() functions.
17211 Use _caps_replace() where possible.
17212 Make sure _message_new() initialises its field.
17213 Add gst_static_pad_template_get_caps()
17216 2005-04-18 Andy Wingo <wingo@pobox.com>
17218 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17219 on the peer, not the pad. I think that was a typo. Pass an extra
17220 arg to see if random access is possible. Activate the pads as
17221 PULL_RANGE if possible.
17223 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17225 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
17226 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17229 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17231 * docs/faq/using.xml:
17232 Add note on gstreamer-properties (#154996).
17234 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17236 * docs/random/bbb/optional-properties:
17237 Some analysis on optional properties.
17239 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17241 * docs/gst/tmpl/gstelementfactory.sgml:
17242 * gst/gstelement.h:
17243 * gst/gstelementfactory.c: (gst_element_factory_init),
17244 (gst_element_factory_cleanup), (gst_element_register),
17245 (__gst_element_factory_add_static_pad_template),
17246 (gst_element_factory_get_static_pad_templates),
17247 (gst_element_factory_can_src_caps),
17248 (gst_element_factory_can_sink_caps):
17249 * gst/registries/Makefile.am:
17250 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17251 (gst_xml_registry_class_init), (gst_xml_registry_init),
17252 (gst_xml_registry_new), (gst_xml_registry_set_property),
17253 (gst_xml_registry_get_property), (get_time), (make_dir),
17254 (gst_xml_registry_get_perms_func),
17255 (plugin_times_older_than_recurse), (plugin_times_older_than),
17256 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17257 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17258 (add_to_char_array), (read_string), (read_uint), (read_enum),
17259 (load_pad_template), (load_feature), (load_plugin), (load_paths),
17260 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17261 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17262 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17263 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17264 (gst_xml_registry_rebuild):
17265 * gst/registries/gstlibxmlregistry.h:
17266 * tools/gst-compprep.c: (main):
17267 * tools/gst-inspect.c: (print_pad_templates_info):
17268 * tools/gst-xmlinspect.c: (print_element_info):
17269 Use libxml2 for registry parsing, use staticpadtemplates in
17270 elementfactories. Makes gst_init() +/- 10x faster.
17272 2005-04-12 Wim Taymans <wim@fluendo.com>
17274 * gst/base/Makefile.am:
17275 * gst/base/gstbasesink.c: (gst_basesink_base_init),
17276 (gst_basesink_pad_getcaps), (gst_basesink_init),
17277 (gst_basesink_event), (gst_basesink_change_state):
17278 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17279 (gst_basesrc_init), (gst_basesrc_query),
17280 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17281 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17282 (gst_basesrc_check_get_range), (gst_basesrc_loop),
17283 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17284 (gst_basesrc_stop), (gst_basesrc_activate),
17285 (gst_basesrc_change_state):
17286 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17287 (helper_find_suggest), (gst_type_find_helper):
17288 * gst/base/gsttypefindhelper.h:
17289 * gst/elements/Makefile.am:
17290 * gst/elements/gstelements.c:
17291 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17292 (gst_fakesink_get_times), (gst_fakesink_event),
17293 (gst_fakesink_preroll), (gst_fakesink_render):
17294 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17295 (gst_fakesrc_init), (gst_fakesrc_event_handler),
17296 (gst_fakesrc_get_property), (gst_fakesrc_create),
17297 (gst_fakesrc_start), (gst_fakesrc_stop):
17298 * gst/elements/gstfakesrc.h:
17299 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17300 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17301 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17302 (gst_filesrc_create_read), (gst_filesrc_create),
17303 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17304 (gst_filesrc_start):
17305 * gst/elements/gsttypefindelement.c:
17306 (gst_type_find_element_have_type), (gst_type_find_element_init),
17307 (start_typefinding), (stop_typefinding), (push_buffer_store),
17308 (gst_type_find_element_handle_event),
17309 (gst_type_find_element_chain),
17310 (gst_type_find_element_checkgetrange),
17311 (gst_type_find_element_getrange), (do_typefind),
17312 (gst_type_find_element_activate),
17313 (gst_type_find_element_change_state):
17314 * gst/elements/gsttypefindelement.h:
17315 * gst/gstpipeline.c: (pipeline_bus_handler):
17316 Added typefind helper.
17317 Small preroll fix in the base sink.
17318 Disable typefind code in basesrc.
17319 Crude port of typefindelement.
17323 2005-04-11 Wim Taymans <wim@fluendo.com>
17325 * check/gst/gstbus.c: (gstbus_suite):
17326 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17327 * check/gstcheck.h:
17328 Fix up the timeout so that the test does not fail.
17330 2005-04-06 Wim Taymans <wim@fluendo.com>
17333 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17334 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17335 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17336 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17337 (gst_basesrc_check_get_range), (gst_basesrc_loop),
17338 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17339 (gst_basesrc_stop), (gst_basesrc_activate),
17340 (gst_basesrc_change_state), (basesrc_find_peek),
17341 (basesrc_find_suggest), (gst_basesrc_type_find):
17342 * gst/base/gstbasesrc.h:
17343 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17344 (gst_filesrc_class_init), (gst_filesrc_init),
17345 (gst_filesrc_finalize), (gst_filesrc_set_location),
17346 (gst_filesrc_set_property), (gst_filesrc_get_property),
17347 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17348 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17349 (gst_filesrc_create_read), (gst_filesrc_create),
17350 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17351 * gst/elements/gstfilesrc.h:
17352 * gst/gstelement.c: (gst_element_get_state_func),
17353 (gst_element_lost_state), (gst_element_pads_activate):
17354 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17355 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17356 (gst_pad_pull_range):
17358 More work on the generic source base class, implement seeking,
17360 Make filesrc extend the base source class.
17361 Added gst_pad_set_checkgetrange_function to GstPad.
17363 2005-04-06 Andy Wingo <wingo@pobox.com>
17365 * pkgconfig/gstreamer-base.pc.in:
17366 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17368 * pkgconfig/Makefile.am:
17369 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17371 2005-04-04 Wim Taymans <wim@fluendo.com>
17373 * gst/base/Makefile.am:
17375 * gst/base/gstbasesink.c: (gst_basesink_base_init),
17376 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17377 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17378 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17379 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17380 (gst_basesrc_base_init), (gst_basesrc_class_init),
17381 (gst_basesrc_init), (gst_basesrc_get_formats),
17382 (gst_basesrc_get_query_types), (gst_basesrc_query),
17383 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17384 (gst_basesrc_set_property), (gst_basesrc_get_property),
17385 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17386 (gst_basesrc_loop), (gst_basesrc_activate),
17387 (gst_basesrc_change_state):
17388 * gst/base/gstbasesrc.h:
17389 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17390 (gst_fakesrc_class_init), (gst_fakesrc_init),
17391 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17392 (gst_fakesrc_get_property), (gst_fakesrc_create):
17393 * gst/elements/gstfakesrc.h:
17394 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17395 (gst_filesrc_open_file), (gst_filesrc_loop),
17396 (gst_filesrc_activate), (filesrc_find_peek),
17397 (gst_filesrc_type_find):
17398 Made base source class, make fakesrc extend it.
17399 Add comments to basesink class.
17400 Some filesrc cleanup.
17402 2005-03-31 David Schleef <ds@schleef.org>
17404 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17405 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17406 expected to link against libgstreamer.
17407 * gst/base/Makefile.am: link against libgstreamer
17408 * gst/elements/Makefile.am: same
17410 2005-03-31 Andy Wingo <wingo@pobox.com>
17412 * tests/instantiate/Makefile.am:
17413 * tests/instantiate/caps.c: Add test to test speed of caps copy
17416 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17417 GMemChunk to be fair.
17419 * gst/gsttrashstack.h: Remove warning about using the fallback
17420 trash stack implementation, it's still faster than malloc.
17422 2005-03-30 Andy Wingo <wingo@pobox.com>
17424 * tests/complexity.c: Add a copyright.
17426 2005-03-31 Wim Taymans <wim@fluendo.com>
17428 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17429 (gst_base_transform_class_init), (gst_base_transform_init),
17430 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17431 (gst_base_transform_get_property),
17432 (gst_base_transform_sink_activate),
17433 (gst_base_transform_src_activate),
17434 (gst_base_transform_change_state):
17435 * gst/base/gstbasetransform.h:
17436 * gst/elements/gstidentity.c: (gst_identity_class_init),
17437 (gst_identity_event), (gst_identity_check_perfect),
17438 (gst_identity_transform), (gst_identity_start),
17439 (gst_identity_stop):
17440 Added start/stop methods to transform base class so subclasses
17441 don't need to deal with state changes even.
17443 2005-03-31 Wim Taymans <wim@fluendo.com>
17445 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17446 (gst_event_new_discontinuous), (gst_event_discont_get_value):
17448 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17449 (gst_pad_pull_range):
17450 Added rate to the discont event to prepare for variable speed
17451 and reverse playback.
17453 2005-03-29 David Schleef <ds@schleef.org>
17456 * testsuite/trigger/Makefile.am:
17457 * testsuite/trigger/trigger.c: A little example program to show
17458 how trigger-based elements can work.
17460 2005-03-29 Wim Taymans <wim@fluendo.com>
17462 * gst/base/Makefile.am:
17464 * gst/base/gstbasesink.c: (gst_basesink_get_type),
17465 (gst_basesink_base_init), (gst_basesink_class_init),
17466 (gst_basesink_pad_getcaps), (gst_basesink_init),
17467 (gst_basesink_activate), (gst_basesink_change_state):
17468 * gst/base/gstbasesink.h:
17469 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17470 (gst_base_transform_base_init), (gst_base_transform_finalize),
17471 (gst_base_transform_class_init), (gst_base_transform_init),
17472 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17473 (gst_base_transform_event), (gst_base_transform_getrange),
17474 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17475 (gst_base_transform_set_property),
17476 (gst_base_transform_get_property),
17477 (gst_base_transform_sink_activate),
17478 (gst_base_transform_src_activate),
17479 (gst_base_transform_change_state):
17480 * gst/base/gstbasetransform.h:
17481 * gst/elements/gstidentity.c: (gst_identity_finalize),
17482 (gst_identity_class_init), (gst_identity_init),
17483 (gst_identity_event), (gst_identity_check_perfect),
17484 (gst_identity_transform), (gst_identity_set_property),
17485 (gst_identity_get_property), (gst_identity_change_state):
17486 * gst/elements/gstidentity.h:
17487 * gst/gstelement.c: (gst_element_get_state_func),
17488 (gst_element_lost_state), (gst_element_pads_activate):
17489 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17490 (gst_pad_check_pull_range), (gst_pad_pull_range):
17492 Simplify pad activation.
17493 Added function to check if pull_range can be performed.
17494 Error out when pulling inactive or flushing pads.
17495 Removed const from refcounted types as it does not make sense.
17496 Simplify pad templates in basesink
17497 Added base class for simple 1-to-1 transforms.
17498 Make identity subclass the base transform.
17500 2005-03-29 Andy Wingo <wingo@pobox.com>
17502 * docs/libs/gstreamer-libs-overrides.txt:
17503 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17504 really don't understand what's going on, but like whatever. I want
17507 * docs/gst/Makefile.am:
17508 * docs/libs/Makefile.am: Dist the overrides files.
17510 * check/Makefile.am (clean-local): Remove .libs directories.
17512 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17513 elements to EXTRA_DIST, so po/ files are happy.
17515 * po/POTFILES.in: Er, remove it here.
17517 * po/POTFILES: Remove gstspider.c.
17519 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17521 * docs/libs/gstreamer-libs-docs.sgml:
17522 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17525 * tests/complexity.c (main): Set the length of the preroll queue
17526 on the sinks to prevent a lockup.
17528 * libs/gst/dataprotocol/Makefile.am:
17529 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17530 the same as the one in check/gst-libs/gdp.c.
17532 * po/, docs/gst/: Commit automatic changes to docs and po files.
17534 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17535 the versioned libgstbase.
17537 * check/Makefile.am: Depend on an unversioned gst-register, seems
17538 to make autoconf happier.
17540 * gst/base/Makefile.am: Make libgstbase a versioned lib.
17542 2005-03-28 Wim Taymans <wim@fluendo.com>
17545 * docs/design/part-gstelement.txt:
17546 * docs/design/part-negotiation.txt:
17547 * docs/design/part-preroll.txt:
17548 * docs/design/part-scheduling.txt:
17549 * docs/design/part-states.txt:
17551 * gst/base/Makefile.am:
17553 * gst/base/gstbasesink.c: (gst_basesink_get_template),
17554 (gst_basesink_base_init), (gst_basesink_class_init),
17555 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17556 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17557 (gst_basesink_set_pad_functions),
17558 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17559 (gst_basesink_set_property), (gst_basesink_get_property),
17560 (gst_base_sink_get_template), (gst_base_sink_get_caps),
17561 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17562 (gst_basesink_preroll_queue_push),
17563 (gst_basesink_preroll_queue_empty),
17564 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17565 (gst_basesink_event), (gst_basesink_get_times),
17566 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17567 (gst_basesink_chain_unlocked), (gst_basesink_chain),
17568 (gst_basesink_loop), (gst_basesink_activate),
17569 (gst_basesink_change_state):
17570 * gst/base/gstbasesink.h:
17571 * gst/elements/Makefile.am:
17572 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17573 (gst_fakesink_class_init), (gst_fakesink_init),
17574 (gst_fakesink_set_property), (gst_fakesink_get_property),
17575 (gst_fakesink_get_times), (gst_fakesink_event),
17576 (gst_fakesink_preroll), (gst_fakesink_render),
17577 (gst_fakesink_change_state):
17578 * gst/elements/gstfakesink.h:
17579 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17580 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17581 * gst/gstelement.c: (gst_element_add_pad),
17582 (gst_element_get_state_func), (gst_element_abort_state),
17583 (gst_element_commit_state), (gst_element_lost_state),
17584 (gst_element_set_state), (gst_element_pads_activate):
17585 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17586 * gst/gstpipeline.c: (gst_pipeline_send_event),
17587 (gst_pipeline_change_state):
17588 Added state change code.
17589 Added/updated docs.
17590 Added sink base class, make fakesink extend the base class.
17591 Small cleanups in GstPipeline.
17593 2005-03-26 David Schleef <ds@schleef.org>
17595 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
17596 is broken and should be implemented in a different library.
17597 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17598 * gst/gst.h: remove gstcpu.h
17599 * gst/gstcpu.c: remove
17600 * gst/gstcpu.h: remove
17601 * gst/Makefile.am.future: Remove this file. It's ancient.
17603 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17605 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17606 (gst_bin_send_event):
17607 Add default event/set_manager handlers. The set_manager handler
17608 takes care that the manager is distributed over kids that were
17609 already in the bin before the manager was set. The event handler
17610 is a utility virtual function that sends the event over all sinks,
17611 so that gst_element_send_event (bin, event); has the expected
17613 * gst/gstpad.c: (gst_pad_event_default):
17614 Re-install default event handling for discontinuities, so that
17615 seeking works without requiring hacks in applications or extra
17617 * gst/gstpipeline.c: (gst_pipeline_class_init),
17618 (gst_pipeline_send_event):
17619 Half hack, half utility: set a pipeline to PAUSED for seek events,
17620 since that is the only way we can guarantee a/v sync. Means that
17621 you can do gst_element_seek (pipeline, method, pos); on a pipeline
17622 and it "just works".
17624 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17626 * gst/gstpipeline.c: (gst_pipeline_use_clock):
17627 Lock/unlock mismatch.
17629 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
17631 * docs/faq/gst-uninstalled:
17632 add gst-plugins-base
17633 * docs/gst/Makefile.am:
17634 don't error out until docs are fixed
17635 * docs/gst/gstreamer.types:
17638 2005-03-22 Wim Taymans <wim@fluendo.com>
17640 * check/Makefile.am:
17641 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17642 * gst/gststructure.c: (gst_structure_set_valist),
17643 (gst_structure_copy_conditional):
17644 Activated more tests.
17645 Added message test.
17646 Added G_TYPE_POINTER to GstStructure.
17649 2005-03-22 Wim Taymans <wim@fluendo.com>
17651 * docs/design/part-TODO.txt:
17652 * docs/design/part-events.txt:
17653 * docs/design/part-gstbin.txt:
17654 * docs/design/part-gstbus.txt:
17655 * docs/design/part-gstpipeline.txt:
17656 * docs/design/part-messages.txt:
17658 * gst/gstmessage.c:
17661 2005-03-21 Wim Taymans <wim@fluendo.com>
17663 * gst/gstbus.c: (gst_bus_post):
17664 Fix copy-and-paste error.
17666 2005-03-21 Wim Taymans <wim@fluendo.com>
17668 * check/Makefile.am:
17670 * gst/elements/Makefile.am:
17671 * gst/elements/gstelements.c:
17672 * gst/elements/gstfakesink.c: (gst_fakesink_init),
17673 (gst_fakesink_event), (gst_fakesink_chain):
17674 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17675 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17676 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17677 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17678 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17679 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17680 (gst_fakesrc_loop), (gst_fakesrc_activate),
17681 (gst_fakesrc_change_state):
17682 * gst/elements/gstfakesrc.h:
17683 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17684 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17685 (gst_filesrc_open_file), (gst_filesrc_loop),
17686 (gst_filesrc_activate), (gst_filesrc_change_state),
17687 (filesrc_find_peek), (filesrc_find_suggest),
17688 (gst_filesrc_type_find):
17689 * gst/elements/gstidentity.c: (gst_identity_finalize),
17690 (gst_identity_class_init), (gst_identity_init),
17691 (gst_identity_proxy_getcaps), (identity_queue_push),
17692 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17693 (gst_identity_getrange), (gst_identity_chain),
17694 (gst_identity_sink_loop), (gst_identity_src_loop),
17695 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17696 (gst_identity_set_property), (gst_identity_get_property),
17697 (gst_identity_change_state):
17698 * gst/elements/gstidentity.h:
17699 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17700 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17701 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17702 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17703 (gst_tee_sink_activate):
17704 * gst/elements/gsttee.h:
17705 * gst/gst.c: (gst_register_core_elements), (init_post):
17707 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17708 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17709 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17710 (gst_bin_change_state):
17712 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17713 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17714 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17715 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17716 (gst_bus_set_sync_handler), (gst_bus_create_watch),
17717 (bus_watch_callback), (bus_watch_destroy),
17718 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17719 (poll_timeout), (gst_bus_poll):
17723 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17724 (gst_element_post_message), (gst_element_message_full),
17725 (gst_element_get_state_func), (gst_element_get_state),
17726 (gst_element_abort_state), (gst_element_commit_state),
17727 (gst_element_lost_state), (gst_element_set_state),
17728 (gst_element_pads_activate), (gst_element_change_state),
17729 (gst_element_dispose), (gst_element_set_manager_func),
17730 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17731 (gst_element_set_manager), (gst_element_get_manager),
17732 (gst_element_set_bus), (gst_element_get_bus),
17733 (gst_element_set_scheduler), (gst_element_get_scheduler):
17734 * gst/gstelement.h:
17735 * gst/gstevent.c: (gst_event_new_segment_seek),
17736 (gst_event_new_flush):
17738 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17739 (_gst_message_free), (gst_message_get_type), (gst_message_new),
17740 (gst_message_new_eos), (gst_message_new_error),
17741 (gst_message_new_warning), (gst_message_new_tag),
17742 (gst_message_new_state_changed), (gst_message_new_application),
17743 (gst_message_get_structure), (gst_message_parse_tag),
17744 (gst_message_parse_state_changed), (gst_message_parse_error),
17745 (gst_message_parse_warning):
17746 * gst/gstmessage.h:
17747 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17748 (gst_real_pad_set_property), (gst_pad_set_active),
17749 (gst_pad_is_active), (gst_pad_set_blocked_async),
17750 (gst_pad_set_blocked), (gst_pad_is_blocked),
17751 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17752 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17753 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17754 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17755 (gst_pad_link_filtered), (gst_pad_relink_filtered),
17756 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17757 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17758 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17759 (gst_pad_set_caps), (gst_pad_configure_sink),
17760 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17761 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17762 (gst_real_pad_dispose), (gst_real_pad_finalize),
17763 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17764 (gst_pad_event_default_dispatch), (gst_pad_event_default),
17765 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17767 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17768 (pipeline_bus_handler), (gst_pipeline_change_state),
17769 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17770 * gst/gstpipeline.h:
17772 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17773 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17774 (gst_queue_link_src), (gst_queue_bufferalloc),
17775 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17776 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17777 (gst_queue_loop), (gst_queue_handle_src_event),
17778 (gst_queue_handle_src_query), (gst_queue_src_activate),
17779 (gst_queue_change_state):
17781 * gst/gstscheduler.c: (gst_scheduler_init),
17782 (gst_scheduler_dispose), (gst_scheduler_create_task),
17783 (gst_scheduler_factory_create):
17784 * gst/gstscheduler.h:
17785 * gst/gststructure.c: (gst_structure_get_type),
17786 (gst_structure_copy_conditional):
17787 * gst/gststructure.h:
17788 * gst/gsttaginterface.h:
17789 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17790 (gst_task_init), (gst_task_dispose), (gst_task_create),
17791 (gst_task_get_state), (gst_task_start), (gst_task_stop),
17797 * gst/schedulers/Makefile.am:
17798 * gst/schedulers/cothreads_compat.h:
17799 * gst/schedulers/entryscheduler.c:
17800 * gst/schedulers/faircothreads.c:
17801 * gst/schedulers/faircothreads.h:
17802 * gst/schedulers/fairscheduler.c:
17803 * gst/schedulers/gstbasicscheduler.c:
17804 * gst/schedulers/gstoptimalscheduler.c:
17805 * gst/schedulers/gthread-cothreads.h:
17806 * gst/schedulers/threadscheduler.c:
17807 (gst_thread_scheduler_task_get_type),
17808 (gst_thread_scheduler_task_class_init),
17809 (gst_thread_scheduler_task_init),
17810 (gst_thread_scheduler_task_start),
17811 (gst_thread_scheduler_task_stop),
17812 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17813 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17814 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17815 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17817 * libs/gst/Makefile.am:
17818 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17819 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17820 (gst_file_pad_parent_set):
17821 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17822 (gst_dp_event_from_packet):
17823 * tests/complexity.c: (main):
17824 * tests/mass_elements.c: (main):
17825 * testsuite/states/locked.c: (message_received), (main):
17826 * testsuite/states/parent.c: (main):
17827 * tools/gst-inspect.c: (print_element_flag_info),
17828 (print_implementation_info), (print_pad_info):
17829 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17831 * tools/gst-md5sum.c: (event_loop), (main):
17832 * tools/gst-typefind.c: (main):
17833 * tools/gst-xmlinspect.c: (print_element_info):
17835 Added GstBus for mainloop integration.
17836 Added GstMessage for sending notifications on the bus.
17837 Added GstTask as an abstraction for pipeline entry points.
17839 Removed Schedulers.
17840 Simplified GstQueue for multithreaded core.
17841 Made _link threadsafe, removed old capsnego.
17842 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17843 Added pad blocking functions.
17844 Reworked scheduling functions in GstPad to prepare for
17845 scheduling updates soon.
17846 Moved events out of data stream.
17847 Simplified GstEvent types.
17848 Added return values to push/pull.
17849 Removed clocking from GstElement.
17850 Added prototypes for state change function for next merge.
17851 Removed iterate from bins and state change management.
17852 Fixed some elements, disabled others for now.
17853 Fixed -inspect and -launch.
17854 Added check for GstBus.
17856 2005-03-10 Wim Taymans <wim@fluendo.com>
17858 * docs/design/part-MT-refcounting.txt:
17859 * docs/design/part-clocks.txt:
17860 * docs/design/part-gstelement.txt:
17861 * docs/design/part-gstobject.txt:
17862 * docs/design/part-standards.txt:
17863 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17864 (gst_bin_remove_func), (gst_bin_remove):
17868 * testsuite/clock/clock1.c: (main):
17869 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17871 * testsuite/dlopen/loadgst.c: (do_test):
17872 * testsuite/refcounting/bin.c: (add_remove_test1),
17873 (add_remove_test2), (main):
17874 * testsuite/refcounting/element.c: (main):
17875 * testsuite/refcounting/element_pad.c: (main):
17876 * testsuite/refcounting/pad.c: (main):
17877 * tools/gst-launch.c: (sigint_handler_sighandler):
17878 * tools/gst-typefind.c: (main):
17880 Added doc about clock.
17881 removed gst_bin_iterate_recurse_up(), marked methods
17883 Fix more testsuites.
17885 2005-03-09 Wim Taymans <wim@fluendo.com>
17887 * gst/gstpad.c: (gst_pad_get_direction),
17888 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17889 (gst_pad_collect_valist):
17890 * testsuite/bins/interface.c: (main):
17891 * testsuite/caps/audioscale.c: (test_caps):
17892 * testsuite/caps/caps.c: (test1), (test2), (test3):
17893 * testsuite/caps/deserialize.c: (main):
17894 * testsuite/caps/enumcaps.c: (main):
17895 * testsuite/caps/filtercaps.c: (main):
17896 * testsuite/caps/intersect2.c: (main):
17897 * testsuite/caps/random.c: (main):
17898 * testsuite/caps/renegotiate.c: (my_fixate), (main):
17899 * testsuite/caps/sets.c: (check_caps):
17900 * testsuite/caps/simplify.c: (check_caps), (main):
17901 * testsuite/caps/subtract.c: (check_caps):
17902 Fix _pad_get_direction wrt ghostpads.
17903 Fix caps testsuite.
17905 2005-03-09 Wim Taymans <wim@fluendo.com>
17907 * check/Makefile.am:
17908 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17909 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17910 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17911 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17912 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17913 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17914 (gst_bin_remove), (gst_bin_iterate_recurse_up),
17915 (bin_element_is_sink), (gst_bin_iterate_sinks),
17916 (gst_bin_iterate_all_by_interface):
17918 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17919 (gst_element_change_state), (gst_element_dispose),
17920 (gst_element_finalize), (gst_element_set_loop_function):
17921 * gst/gstelement.h:
17922 * gst/gstiterator.c: (find_custom_fold_func):
17923 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17924 (gst_pad_collectv), (gst_pad_collect_valist),
17925 (gst_pad_template_new):
17926 * gst/gstpipeline.c: (gst_pipeline_class_init),
17927 (gst_pipeline_dispose), (gst_pipeline_set_property),
17928 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17929 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17930 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17932 * gst/schedulers/entryscheduler.c:
17933 * gst/schedulers/gstbasicscheduler.c:
17934 (gst_basic_scheduler_cothreaded_chain),
17935 (gst_basic_scheduler_chain_add_element):
17936 * testsuite/bins/interface.c: (main):
17938 Added GstSystemClock test.
17939 Implemented clock distribution code in GstBin.
17940 Implemented iterate sinks method for future use.
17941 Rearranged gstelement.h
17942 Fix GstIterator comparison bug.
17943 Moved some code to GstPipeline, mostly clocking related.
17945 2005-03-09 Wim Taymans <wim@fluendo.com>
17948 * gst/gst_private.h:
17949 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17950 (gst_bin_remove_func), (gst_bin_remove),
17951 (gst_bin_get_by_name_recurse_up):
17952 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17953 (gst_clock_id_compare_func), (gst_clock_id_wait),
17954 (gst_clock_id_wait_async), (gst_clock_init),
17955 (gst_clock_adjust_unlocked), (gst_clock_get_time):
17956 * gst/gstelement.h:
17957 * gst/gstinfo.c: (_gst_debug_init):
17959 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17960 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17962 Bump version number, we're now 0.9.0
17963 Add future debugging category.
17964 Fix NULL _unref() in _get_by_name_recurse_up
17965 Rearrange gstpad.h.
17968 2005-03-08 Wim Taymans <wim@fluendo.com>
17970 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17971 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17972 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17973 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17974 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17975 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17976 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17977 * gst/elements/gstidentity.c: (gst_identity_class_init):
17978 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17979 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17980 * gst/elements/gstshaper.c: (gst_shaper_class_init):
17981 * gst/elements/gststatistics.c: (gst_statistics_class_init):
17982 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17984 * gst/gstelement.c: (gst_element_class_init),
17985 (gst_element_base_class_init), (gst_element_init),
17986 (gst_element_get_random_pad), (gst_element_wait_state_change),
17987 (gst_element_change_state), (gst_element_dispose),
17988 (gst_element_finalize), (gst_element_set_loop_function):
17989 * gst/gstelement.h:
17990 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17991 * gst/gstthread.c: (gst_thread_class_init),
17992 (gst_thread_release_children_locks), (gst_thread_change_state):
17993 * gst/schedulers/gstbasicscheduler.c:
17994 (gst_basic_scheduler_loopfunc_wrapper),
17995 (gst_basic_scheduler_chain_wrapper),
17996 (gst_basic_scheduler_src_wrapper),
17997 (gst_basic_scheduler_remove_element):
17998 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17999 Remove threadsafe properties. Fix elements because GObject
18000 complains when installing a property before declaring a
18001 set/get_property handler.
18002 Rearrange gstelement.h file, use STATE macros for state locks.
18003 Free mutexes in the finalize method instead of dispose.
18005 2005-03-08 Wim Taymans <wim@fluendo.com>
18007 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18008 * gst/gstthread.c: (gst_thread_release_children_locks):
18009 Added parentage check.
18010 Fix build og GstThread again.
18012 2005-03-08 Wim Taymans <wim@fluendo.com>
18014 * docs/design/part-MT-refcounting.txt:
18015 * docs/design/part-conventions.txt:
18016 * docs/design/part-gstobject.txt:
18017 * docs/design/part-relations.txt:
18018 * docs/design/part-standards.txt:
18019 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18020 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18021 (gst_bin_get_by_name), (gst_bin_get_by_interface),
18022 (gst_bin_iterate_all_by_interface):
18025 * gst/gstelement.c: (gst_element_class_init),
18026 (gst_element_change_state), (gst_element_set_loop_function):
18027 * gst/gstelement.h:
18028 * gst/gstiterator.c:
18029 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18030 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18031 (gst_object_dispatch_properties_changed), (gst_object_set_name),
18032 (gst_object_set_parent), (gst_object_unparent),
18033 (gst_object_check_uniqueness):
18035 Docs updates, clean up some headers.
18037 2005-03-07 Wim Taymans <wim@fluendo.com>
18039 * check/.cvsignore:
18040 * check/Makefile.am:
18041 * check/gst-libs/.cvsignore:
18042 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18043 * check/gst/.cvsignore:
18044 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18045 (START_TEST), (gstbus_suite), (main):
18046 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18047 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18048 (gst_data_suite), (main):
18049 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18050 (add_fold_func), (gstiterator_suite), (main):
18051 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18052 (thread_name_object), (thread_name_object_default),
18053 (gst_object_name_compare), (gst_object_suite), (main):
18054 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18055 (gst_pad_suite), (main):
18056 * check/gstcheck.c: (gst_check_log_message_func),
18057 (gst_check_log_critical_func), (gst_check_init):
18058 * check/gstcheck.h:
18059 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18060 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18063 2005-03-07 Wim Taymans <wim@fluendo.com>
18065 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18066 (gst_list_iterator_next), (gst_list_iterator_resync),
18067 (gst_list_iterator_free), (gst_iterator_new_list),
18068 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18069 (gst_iterator_free), (gst_iterator_push), (filter_next),
18070 (filter_resync), (filter_uninit), (filter_free),
18071 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18072 (gst_iterator_foreach), (find_custom_fold_func),
18073 (gst_iterator_find_custom):
18074 * gst/gstiterator.h:
18075 Added missing files.
18077 2005-03-07 Wim Taymans <wim@fluendo.com>
18081 * docs/design/part-MT-refcounting.txt:
18082 * docs/design/part-conventions.txt:
18083 * docs/design/part-gstobject.txt:
18084 * docs/design/part-relations.txt:
18085 * examples/mixer/mixer.c: (main):
18086 * examples/thread/thread.c: (eos), (main):
18088 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18089 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18090 (gst_spider_plug_from_srcpad):
18091 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18092 (gst_spider_identity_change_state),
18093 (gst_spider_identity_sink_loop_type_finding):
18094 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18095 * gst/elements/gstidentity.c: (gst_identity_init):
18096 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18097 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18098 * gst/elements/gsttypefindelement.c: (free_entry):
18101 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18102 (gst_bin_set_clock_func), (gst_bin_auto_clock),
18103 (gst_bin_set_index), (gst_bin_set_element_sched),
18104 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18105 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18106 (gst_bin_iterate_elements), (iterate_child_recurse),
18107 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18108 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18109 (compare_interface), (gst_bin_get_by_interface),
18110 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18112 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18113 (gst_buffer_default_free), (gst_buffer_default_copy),
18114 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18115 (gst_buffer_create_sub):
18117 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18118 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18119 (gst_caps_unref), (gst_static_caps_get),
18120 (gst_caps_remove_and_get_structure), (gst_caps_append),
18121 (gst_caps_append_structure), (gst_caps_remove_structure),
18122 (gst_caps_copy_nth), (gst_caps_set_simple),
18123 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18124 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18125 (gst_caps_structure_intersect_field), (gst_caps_intersect),
18126 (gst_caps_structure_subtract_field), (gst_caps_subtract),
18127 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18128 (gst_caps_structure_figure_out_union),
18129 (gst_caps_switch_structures), (gst_caps_do_simplify),
18130 (gst_caps_replace), (gst_caps_from_string),
18131 (gst_caps_copy_conditional):
18133 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18134 (_gst_clock_id_free), (gst_clock_id_unref),
18135 (gst_clock_id_compare_func), (gst_clock_id_wait),
18136 (gst_clock_id_wait_async), (gst_clock_class_init),
18137 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18138 (gst_clock_get_time), (gst_clock_set_time_adjust),
18139 (gst_clock_set_property), (gst_clock_get_property):
18142 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18143 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18145 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18146 (gst_element_requires_clock), (gst_element_provides_clock),
18147 (gst_element_set_clock), (gst_element_clock_wait),
18148 (gst_element_wait), (gst_element_set_time_delay),
18149 (gst_element_is_indexable), (gst_element_add_pad),
18150 (gst_element_add_ghost_pad), (gst_element_remove_pad),
18151 (pad_compare_name), (gst_element_get_static_pad),
18152 (gst_element_request_pad), (gst_element_get_request_pad),
18153 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18154 (gst_element_class_get_pad_template_list),
18155 (gst_element_class_get_pad_template), (gst_element_error_func),
18156 (gst_element_get_random_pad), (gst_element_get_event_masks),
18157 (gst_element_send_event), (gst_element_seek),
18158 (gst_element_get_query_types), (gst_element_query),
18159 (gst_element_get_formats), (gst_element_convert),
18160 (gst_element_is_locked_state), (gst_element_set_locked_state),
18161 (gst_element_sync_state_with_parent), (gst_element_change_state),
18162 (gst_element_finalize), (gst_element_yield),
18163 (gst_element_interrupt), (gst_element_set_scheduler),
18164 (gst_element_get_scheduler), (gst_element_set_loop_function):
18165 * gst/gstelement.h:
18167 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18168 (gst_format_get_by_nick), (gst_format_get_details),
18169 (gst_format_iterate_definitions):
18171 * gst/gstindex.c: (gst_index_gtype_resolver):
18174 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18175 (gst_mem_chunk_free):
18176 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18177 (gst_object_ref), (gst_object_unref), (gst_object_sink),
18178 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18179 (gst_object_dispatch_properties_changed),
18180 (gst_object_set_name_default), (gst_object_set_name),
18181 (gst_object_get_name), (gst_object_set_name_prefix),
18182 (gst_object_get_name_prefix), (gst_object_set_parent),
18183 (gst_object_get_parent), (gst_object_unparent),
18184 (gst_object_check_uniqueness), (gst_object_save_thyself),
18185 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18186 (gst_object_set_property), (gst_object_get_property),
18187 (gst_object_get_path_string):
18189 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18190 (gst_real_pad_init), (gst_real_pad_get_property),
18191 (gst_pad_custom_new), (gst_pad_get_direction),
18192 (gst_pad_set_active), (gst_pad_is_active),
18193 (gst_pad_set_event_function), (gst_pad_is_linked),
18194 (gst_pad_link_free), (gst_pad_link_intersect),
18195 (gst_pad_link_fixate), (gst_pad_set_caps),
18196 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18197 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18198 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18199 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18200 (gst_pad_get_caps), (gst_pad_peer_get_caps),
18201 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18202 (gst_pad_realize), (gst_pad_get_allowed_caps),
18203 (gst_real_pad_dispose), (gst_real_pad_finalize),
18204 (gst_pad_collectv), (gst_pad_collect_valist),
18205 (gst_pad_template_dispose), (gst_pad_template_new),
18206 (gst_pad_get_internal_links):
18208 * gst/gstpipeline.c: (gst_pipeline_dispose),
18209 (gst_pipeline_change_state):
18210 * gst/gstpipeline.h:
18212 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18213 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18214 * gst/gstpluginfeature.h:
18215 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18216 * gst/gstquery.c: (_gst_query_type_initialize),
18217 (gst_query_type_register), (gst_query_type_get_by_nick),
18218 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18220 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18221 * gst/gstscheduler.c: (gst_scheduler_add_element),
18222 (gst_scheduler_factory_create):
18223 * gst/gststructure.c: (gst_structure_set_parent_refcount),
18224 (gst_structure_free), (gst_structure_set_name),
18225 (gst_structure_id_set_value), (gst_structure_set_value),
18226 (gst_structure_set_valist), (gst_structure_remove_field),
18227 (gst_structure_remove_fields),
18228 (gst_structure_remove_fields_valist),
18229 (gst_structure_remove_all_fields), (gst_structure_foreach),
18230 (gst_structure_map_in_place),
18231 (gst_caps_structure_fixate_field_nearest_int),
18232 (gst_caps_structure_fixate_field_nearest_double):
18233 * gst/gststructure.h:
18234 * gst/gstsystemclock.c: (gst_system_clock_class_init),
18235 (gst_system_clock_init), (gst_system_clock_dispose),
18236 (gst_system_clock_async_thread),
18237 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18238 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18239 * gst/gstsystemclock.h:
18240 * gst/gsttag.c: (gst_tag_list_add_value_internal),
18241 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18242 * gst/gsttaginterface.c:
18243 * gst/gstthread.c: (gst_thread_dispose),
18244 (gst_thread_release_children_locks), (gst_thread_change_state),
18245 (gst_thread_main_loop):
18246 * gst/gsttrashstack.h:
18247 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18249 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18250 (gst_element_request_pad), (gst_element_get_pad_from_template),
18251 (gst_element_request_compatible_pad),
18252 (gst_element_get_compatible_pad_filtered),
18253 (gst_element_get_compatible_pad), (gst_element_state_get_name),
18254 (gst_element_link_pads_filtered), (gst_element_link_filtered),
18255 (gst_element_link_many), (gst_element_link),
18256 (gst_element_link_pads), (gst_element_unlink_pads),
18257 (gst_element_unlink_many), (gst_element_unlink),
18258 (gst_pad_can_link_filtered), (gst_pad_can_link),
18259 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18260 (gst_object_default_error), (gst_bin_add_many),
18261 (gst_bin_remove_many), (gst_element_populate_std_props),
18262 (gst_element_class_install_std_props), (gst_buffer_merge),
18263 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18264 (link_fold_func), (gst_pad_proxy_setcaps):
18266 * gst/gstvalue.c: (gst_value_deserialize_string):
18267 * gst/parse/grammar.y:
18268 * gst/schedulers/gstbasicscheduler.c:
18269 (gst_basic_scheduler_cothreaded_chain),
18270 (gst_basic_scheduler_chain_recursive_add),
18271 (gst_basic_scheduler_pad_link):
18272 * gst/schedulers/gstoptimalscheduler.c:
18273 (get_group_schedule_function),
18274 (gst_opt_scheduler_state_transition),
18275 (gst_opt_scheduler_add_element), (element_get_reachables_func):
18276 * libs/gst/bytestream/bytestream.c:
18277 * libs/gst/dataprotocol/dataprotocol.c:
18278 (gst_dp_header_from_buffer):
18281 * tests/threadstate/threadstate2.c: (eos):
18282 * tools/gst-compprep.c: (main):
18283 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18284 (print_pad_info), (print_children_info):
18285 * tools/gst-launch.c: (idle_func), (main):
18286 * tools/gst-md5sum.c: (idle_func), (main):
18287 * tools/gst-xmlinspect.c: (print_element_info):
18288 First THREADED backport attempt, focusing on adding locks and
18289 making sure the API is threadsafe. Needs more work. More docs
18292 2005-02-24 Andy Wingo <wingo@pobox.com>
18294 * tests/bench-complexity.scm:
18295 * tests/complexity.gnuplot: New files, good for running complexity
18298 * tests/Makefile.am:
18299 * tests/complexity.c: New test, sets up N elements, at each level
18300 teeing into M streams per element. Eeeenteresting.
18302 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18303 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18304 running bench-mass_elements.scm.
18306 * tests/bench-mass_elements.scm: New script, runs mass_elements
18307 for various numbers of identities, outputting the results to a
18308 file. Requires guile 1.6. Just for testing.
18310 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
18312 * gst/schedulers/fairscheduler.c:
18313 compile with debug disabled
18315 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
18318 hunting season on 0.9 is now OPEN