1 2006-07-08 Andy Wingo <wingo@pobox.com>
3 * tools/gst-launch.c (main): Handle err == NULL.
5 * gst/gst.c (init_post, ensure_current_registry)
6 (ensure_current_registry_forking)
7 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
8 factoring out the registry scanning into separate functions. Don't
9 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
10 Better environment var name/interface suggestions accepted.
12 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
14 * gst/gstobject.c: (gst_object_set_name_default),
15 (gst_object_set_name):
16 Random micro-optimisation: don't use a hash table
17 with strings as keys and the usual strdup/strcmp
18 involved, but rather just use the GQuark of the
19 type name as key, since it needs to be looked up
20 anyway to get the type name string.
22 * tests/check/gst/gstobject.c: (GST_START_TEST):
25 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
27 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
28 (gst_bin_iterate_all_by_interface):
29 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
30 GTypes are gulongs and thus the top 4 bytes might be cut
31 off on some platforms when doing GPOINTER_TO_INT, leading
32 to invalid GTypes and bad things happening.
33 Also add a check to make sure the type passed in is really
36 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
41 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
45 * gst-element-check.m4:
46 * gst-element-check.m4.in:
47 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
48 instead of the unversioned gst-inspect (#324176, #168659).
50 2006-07-06 Wim Taymans <wim@fluendo.com>
53 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
56 2006-07-06 Wim Taymans <wim@fluendo.com>
58 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
59 (gst_base_src_wait), (gst_base_src_update_length),
60 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
61 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
62 (gst_base_src_loop), (gst_base_src_start),
63 (gst_base_src_activate_pull):
65 blocksize == 0 now means the default blocksize when working in push
67 Remove some pointless asserts in _wait function.
68 Fix offset/length calculations and EOS handling. We can now pull 0
69 bytes as well, which is allowed.
70 use _check_get_range() to decide if we can operate in _pull based
72 Fix refcounting leak when check_get_range function was not
74 API GstBaseSrc::blocksize range can be 0 too now (default)
76 * tests/check/elements/filesrc.c: (GST_START_TEST),
78 Added check to test _get_range() behaviour.
80 2006-07-06 Wim Taymans <wim@fluendo.com>
82 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
83 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
86 Lots of comments and docs added to the pad functions.
87 Flesh out the expected behaviour of the get_range() functions.
89 2006-07-06 Wim Taymans <wim@fluendo.com>
98 Remove comma at end of enumerator list.
100 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
102 * win32/common/libgstbase.def:
103 * win32/common/libgstdataprotocol.def:
104 * win32/common/libsgtreamer.def:
105 Add new exported functions.
107 2006-07-05 Wim Taymans <wim@fluendo.com>
109 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
110 Add some more docs here and there.
112 2006-07-05 Wim Taymans <wim@fluendo.com>
114 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
115 (gst_base_sink_loop), (gst_base_sink_get_position):
116 When operating in pull mode update the offset so that we
119 2006-07-05 Wim Taymans <wim@fluendo.com>
121 * gst/gstregistryxml.c: (read_string):
122 Avoid strdup. (will happen in libxml, but hey!)
127 2006-07-05 Wim Taymans <wim@fluendo.com>
129 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
130 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
132 No point in checking if the size of the subbuffer > 0, the
133 code handles it correclty as demonstrated by unit test.
134 Also add a unit test for the zero sized _new_and_alloc and
135 _copy. Fixes #346663.
137 2006-07-05 Wim Taymans <wim@fluendo.com>
139 * libs/gst/base/gstbasetransform.c:
140 (gst_base_transform_prepare_output_buffer),
141 (gst_base_transform_buffer_alloc),
142 (gst_base_transform_handle_buffer):
143 Make sure the buffer we pass to transform_ip has a refcount of
144 1 and thus is writable. Fixes #343196
146 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
148 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
149 (gst_file_src_init), (gst_file_src_set_property),
150 (gst_file_src_get_property), (gst_file_src_map_region):
151 * plugins/elements/gstfilesrc.h:
152 Add "sequential" property, off by default, to use madvise and hint
153 to the kernel that sequential access is desired.
154 Touch all retrieved pages by default to ensure they are pulled
155 into memory. (Closes #345720)
157 2006-07-03 Wim Taymans <wim@fluendo.com>
159 * docs/design/part-block.txt:
160 * docs/design/part-dynamic.txt:
163 2006-07-03 Wim Taymans <wim@fluendo.com>
165 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
166 (gst_caps_unref), (gst_static_caps_get),
167 (gst_caps_append_structure):
168 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
169 Use GSlice when the glib we build against is >= 2.10
171 2006-07-03 Wim Taymans <wim@fluendo.com>
173 * gst/gstelement.c: (gst_element_pads_activate):
174 Small cleanup in pad activation code.
176 2006-07-03 Wim Taymans <wim@fluendo.com>
178 Patch by: Peter Kjellerstedt <pkj at axis dot com>
180 * gst/gst-i18n-app.h:
181 * gst/gst-i18n-lib.h:
182 * tools/gst-inspect.c: (print_signal_info):
183 The attached patch will make the inclusion of gettext.h unconditional in
184 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
185 libintl.h in tools/gst-inspect.c.
186 This allows use of --disable-nls again and fixes #344642.
188 2006-07-03 Edward Hervey <edward@fluendo.com>
190 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
191 Implement pad blocking on events according to part-block.txt.
192 More comments on behaviour.
193 * tests/check/gst/gstevent.c: (test_event):
194 Send event to peer pad of blocked pad (else it will block).
196 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
198 * libs/gst/check/gstcheck.c: (gst_check_message_error),
199 (gst_check_run_suite):
200 if we get the wrong message, give us the types as string
201 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
203 * tests/check/elements/filesrc.c: (GST_START_TEST):
204 add a test for trying to open a non-existing file
206 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
208 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
209 add a test for adding self
211 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
213 * libs/gst/check/gstcheck.h:
214 add some assert_ as alias for fail_unless_*
215 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
216 increase test coverage
218 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
221 include lcov.mak for lcov coverage generation
225 2006-07-02 Edward Hervey <edward@fluendo.com>
227 * tests/check/elements/.cvsignore:
230 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
233 don't set CFLAGS and friends for gcov, done from GST_GCOV now
234 * tests/check/Makefile.am:
237 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
239 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
240 remove gst_caps_simplify; it was not declared and not used
241 and deprecated in 0.8
243 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
245 * docs/faq/gst-uninstalled:
246 don't put empty paths on PYTHONPATH
247 * docs/gst/gstreamer-sections.txt:
248 remove some symbols that are not there
250 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
252 * gst/gstcaps.c: (gst_caps_compare_structures):
254 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
255 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
258 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
260 * libs/gst/dataprotocol/Makefile.am:
261 build dataprotocol test by linking to the lib, instead of
262 compiling the source, so we get coverage
263 * tests/check/Makefile.am:
264 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
265 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
266 add a test for filesrc
268 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
270 * tests/check/gst/gststructure.c: (GST_START_TEST),
271 (gst_structure_suite):
272 Push coverage from 59.04% to 70.00%
274 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
276 * tests/check/Makefile.am:
277 gst-inspect every element; this makes sure that we also get
278 coverage on element's get/set functions
280 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
283 set CFLAGS and friends to -O0 if gcov is being used
286 * libs/gst/base/Makefile.am:
287 * libs/gst/check/Makefile.am:
288 * libs/gst/controller/Makefile.am:
289 * libs/gst/dataprotocol/Makefile.am:
290 * libs/gst/net/Makefile.am:
291 * plugins/elements/Makefile.am:
292 * plugins/indexers/Makefile.am:
293 add makefile rules to generate gcov data and clean up
294 * tests/check/Makefile.am:
295 add a coverage target that generates an html overview
298 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
300 * tests/check/elements/fakesink.c:
301 * tests/check/elements/fakesrc.c:
302 * tests/check/elements/fdsrc.c:
303 * tests/check/elements/identity.c:
304 * tests/check/generic/sinks.c: (gst_sinks_suite):
305 * tests/check/generic/states.c:
306 * tests/check/gst/gst.c:
307 * tests/check/gst/gstabi.c:
308 * tests/check/gst/gstbin.c:
309 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
310 * tests/check/gst/gstbus.c: (gst_bus_suite):
311 * tests/check/gst/gstcaps.c: (GST_START_TEST):
312 * tests/check/gst/gstelement.c:
313 * tests/check/gst/gstevent.c: (gst_event_suite):
314 * tests/check/gst/gstghostpad.c:
315 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
316 * tests/check/gst/gstmessage.c: (gst_message_suite):
317 * tests/check/gst/gstminiobject.c:
318 * tests/check/gst/gstobject.c:
319 * tests/check/gst/gstpad.c:
320 * tests/check/gst/gstpipeline.c:
321 * tests/check/gst/gstplugin.c:
322 * tests/check/gst/gstquery.c: (gst_query_suite):
323 * tests/check/gst/gstsegment.c: (gst_segment_suite):
324 * tests/check/gst/gststructure.c:
325 * tests/check/gst/gstsystemclock.c:
326 * tests/check/gst/gsttag.c:
327 * tests/check/gst/gsttask.c: (gst_task_suite):
328 * tests/check/gst/gstutils.c:
329 * tests/check/gst/gstvalue.c:
330 * tests/check/libs/adapter.c:
331 * tests/check/libs/basesrc.c:
332 * tests/check/libs/collectpads.c:
333 * tests/check/libs/controller.c:
334 * tests/check/libs/gdp.c: (gst_dp_suite):
335 * tests/check/libs/gstnetclientclock.c:
336 * tests/check/libs/gstnettimeprovider.c:
337 * tests/check/libs/libsabi.c: (libsabi_suite):
338 * tests/check/libs/typefindhelper.c:
339 * tests/check/pipelines/cleanup.c:
340 * tests/check/pipelines/parse-launch.c:
341 * tests/check/pipelines/simple-launch-lines.c:
342 * tests/check/pipelines/stress.c: (stress_suite):
345 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
347 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
348 * libs/gst/check/gstcheck.h:
349 create a macro and function so that the simple unit test
350 case can be just one macro to create main()
352 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
354 * gst/gstbin.c: (gst_bin_restore_thyself):
355 * gst/gstxml.c: (gst_xml_make_element):
356 Fix deserialisation from XML. Set parent manually
357 instead of using gst_bin_add(), since gst_bin_add()
358 will unlink all pads of the element being added.
361 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
363 Patch by: Peter Kjellerstedt <pkj at axis com>
365 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
366 Fix missing g_strdup() and double free when using the
367 --gst-plugin-load command line option (#346097).
369 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
372 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
374 * libs/gst/net/gstnetclientclock.c:
375 * libs/gst/net/gstnettimeprovider.c:
376 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
378 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
380 * docs/manual/advanced-dataaccess.xml:
381 Fix buffer probe example compilation in
384 2006-06-22 Edward Hervey <edward@fluendo.com>
386 * gst/gstelement.c: (gst_element_pads_activate):
387 We need to deactivate src pads first and then sink pads.
388 The reason is the src pads might be blocking while holding the streaming
389 lock, so we need to deactivate them first so that deactivating the sink
390 pads doesn't block (since it will require the streaming lock).
392 2006-06-22 Wim Taymans <wim@fluendo.com>
394 * libs/gst/base/gstbasetransform.c:
395 (gst_base_transform_buffer_alloc):
396 Forgot to remove two unneeded unrefs.
397 Simplify a check _is_equal allready checks the obvious case.
399 2006-06-22 Wim Taymans <wim@fluendo.com>
401 * docs/design/part-block.txt:
402 Some docs about what pad_block should do.
404 2006-06-22 Wim Taymans <wim@fluendo.com>
406 * gst/gstcaps.c: (gst_caps_replace):
407 Fix crasher when passed NULL. Doc clarification.
408 Optimize for the trivial case.
410 * gst/gstpipeline.c: (gst_pipeline_change_state):
413 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
414 Small documentation cleanup.
416 * libs/gst/base/gstbasetransform.c:
417 (gst_base_transform_buffer_alloc):
418 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
419 is what we need and it avoids a whole lot of redundant
422 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
424 Patch by: Philip Jägenstedt <philip at lysator liu se>
426 * docs/manual/advanced-dataaccess.xml:
427 Fix 'Embedding static elements' section to use
428 GST_PLUGIN_DEFINE_STATIC (#345607).
430 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
432 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
433 Attempt to 'fix' spuriously failing test case: it seems like the
434 timeout of half a second is simply too small when the system is under
435 load otherwise, and the timeout doesn't really seem to serve any
436 particular purpose here. Give the pipeline a few seconds to preroll
437 first, and then give it another half a second to go from PAUSED to
438 PLAYING and marshal the message into the main thread.
440 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
442 * tools/gst-feedback-m.m:
443 Don't only use unversioned tools, try versioned tools as well
446 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
448 * gst/gstbus.c: (gst_bus_class_init):
449 Fix some typos, make docs more explicit.
451 2006-06-20 Wim Taymans <wim@fluendo.com>
453 * tests/check/gst/gstghostpad.c: (block_callback),
454 (GST_START_TEST), (gst_ghost_pad_suite):
455 Added some more ghostpad tests, mainly blocking
458 2006-06-16 Wim Taymans <wim@fluendo.com>
460 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
461 (gst_file_sink_close_file), (gst_file_sink_do_seek),
462 (gst_file_sink_event), (gst_file_sink_render):
463 * plugins/elements/gstfilesink.h:
464 Check if we can seek in the file instead of assuming
465 we always can. Post an error when we are asked to seek in a
466 non-seekable file (like a fifo). Fixes #343312.
469 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
471 * tools/gst-launch.1.in:
472 Un-garble (fourcc) bit in filtered caps section.
474 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
476 * docs/manual/advanced-autoplugging.xml:
477 * docs/manual/basics-helloworld.xml:
478 * docs/manual/highlevel-components.xml:
479 Don't leak bus reference in sample code.
481 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
484 Add default for new --enable-plugin-docs switch.
487 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
491 Use new ENABLE_PLUGIN_DOCS conditional.
493 2006-06-14 Wim Taymans <wim@fluendo.com>
495 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
496 Make it clear with a FIXME and a real define what the #if 0
499 2006-06-14 Wim Taymans <wim@fluendo.com>
501 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
502 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
503 * libs/gst/base/gstbasetransform.c:
504 (gst_base_transform_sink_eventfunc):
505 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
506 Don't randomly and silently reset a segment when the format
507 changes as this is a bug somewhere upstream. Fixes #330379.
509 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
511 Patch by: Wouter Paesen <wouter at kangaroot net>
513 * libs/gst/controller/gstcontroller.c:
514 (gst_controlled_property_new):
515 Fix controlling of float properties (#344849).
517 * tests/check/libs/controller.c:
518 (gst_test_mono_source_get_property),
519 (gst_test_mono_source_set_property),
520 (gst_test_mono_source_class_init), (GST_START_TEST):
521 While we're at it, add some float stuff to unit test.
523 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
526 * docs/images/gdp-header.svg:
528 * docs/libs/Makefile.am:
529 * docs/libs/gdp-header.png:
530 * libs/gst/dataprotocol/dataprotocol.c:
531 add it to the API docs
532 * docs/manual/intro-motivation.xml:
535 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
537 * gst/gst.c: (scan_and_update_registry), (init_post):
538 If the fork()'ed child process can't write the updated registry cache
539 file to disk for some reason, make it exit with a failure exit code,
540 so that the parent can then re-scan the plugins itself and update the
541 registry structures in memory and work with that (rather than failing
542 when creating elements because seemingly no plugins are available).
543 Refactor registry scanning code into separate function for this and
544 also separate fork() and non-fork() code paths. Fixes #344748.
546 2006-06-13 Wim Taymans <wim@fluendo.com>
548 * docs/manual/advanced-dataaccess.xml:
549 Fix wrong PluginDesc. Fixes #344755.
551 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
553 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
554 Fix silly bug that prevented us from creating
555 ~/.gstreamer-0.10 and writing the registry in one
556 go (the first call to g_mkstemp() would overwrite the
557 placeholder in the template string, so the second call
558 to g_mkstemp() after creating the missing directory
559 would then error out with 'invalid argument').
561 2006-06-13 Edward Hervey <edward@fluendo.com>
563 * gst/gst.c: (init_post):
566 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
568 * gst/glib-compat-private.h:
571 * gst/gstvalue.c: (gst_value_serialize_flags):
572 remove GLib 2.6 compatibility code
574 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
576 * gst/parse/Makefile.am:
577 Fix build with 'make -j N' even more (#340016).
579 2006-06-12 Wim Taymans <wim@fluendo.com>
581 * docs/gst/gstreamer-sections.txt:
584 2006-06-12 Wim Taymans <wim@fluendo.com>
586 * gst/gstsegment.c: (gst_segment_set_duration),
587 (gst_segment_set_last_stop), (gst_segment_set_seek),
588 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
589 (gst_segment_to_running_time), (gst_segment_clip):
590 Use G_UNLIKELY to help the compiler a bit.
592 2006-06-12 Wim Taymans <wim@fluendo.com>
594 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
596 * gst/gstevent.c: (gst_event_get_type):
598 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
600 constify quark registration strings. Fixes #344115
601 Avoid unneeded type checking is _pad_push() by internally
602 calling gst_pad_chain_unchecked().
604 2006-06-12 Wim Taymans <wim@fluendo.com>
606 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
607 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
608 (gst_subbuffer_finalize), (gst_buffer_create_sub),
609 (gst_buffer_is_span_fast), (gst_buffer_span):
610 Init _type for consistency.
611 Use _FLAGS macro to avoid type check.
612 Avoid unneeded type checks in subbufer code.
614 2006-06-12 Wim Taymans <wim@fluendo.com>
616 * gst/gst.c: (gst_debug_help):
617 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
618 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
619 (gst_plugin_feature_list_free):
620 * gst/gstregistry.c: (gst_registry_add_plugin),
621 (gst_registry_add_feature), (gst_registry_plugin_filter),
622 (gst_registry_feature_filter), (gst_registry_find_plugin),
623 (gst_registry_find_feature), (gst_registry_get_plugin_list),
624 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
625 * gst/gstregistryxml.c: (load_feature),
626 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
627 * gst/gstminiobject.c: (gst_mini_object_unref),
628 (gst_mini_object_replace), (gst_value_mini_object_free),
629 (gst_value_mini_object_copy):
630 Use _CAST macros to avoid unneeded type checking.
631 Added some more G_UNLIKELY.
633 2006-06-12 Wim Taymans <wim@fluendo.com>
636 Avoid unneeded type checking.
637 API: GST_BUFFER_IS_DISCONT
639 * gst/gstminiobject.h:
640 Avoid type check in flag accessor.
642 * gst/gstelementfactory.h:
644 * gst/gstpluginfeature.h:
646 API: GST_ELEMENT_FACTORY_CAST
648 API: GST_PLUGIN_FEATURE_CAST
650 2006-06-12 Wim Taymans <wim@fluendo.com>
652 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
654 Add G_UNLIKELY in type registration.
655 Avoid type check in _ref/_unref since that is also
658 2006-06-12 Wim Taymans <wim@fluendo.com>
660 * gst/gsterror.c: (gst_g_error_get_type):
661 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
662 (gst_static_pad_template_get_type):
663 * gst/gsttaglist.c: (gst_tag_list_get_type):
664 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
665 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
666 * gst/gsturi.c: (gst_uri_handler_get_type):
667 * gst/gstvalue.c: (gst_date_get_type):
668 * gst/gstxml.c: (gst_xml_get_type):
669 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
670 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
671 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
672 Add G_UNLIKELY in type registration.
674 2006-06-12 Wim Taymans <wim@fluendo.com>
676 * tools/gst-inspect.c: (print_signal_info):
677 Properly print enum values.
679 2006-06-12 Wim Taymans <wim@fluendo.com>
681 * gst/gstinfo.c: (gst_debug_set_active),
682 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
684 Add some G_[UN]LIKELY.
685 Maintain __gst_debug_min to avoid formatting the arguments of
686 debug messages that will be dropped anyway to avoid a lot of
687 overhead from the debugging system.
689 2006-06-11 Stefan Kost <ensonic@users.sf.net>
693 add missing files containing translatable strings, tell intltool about
696 2006-06-11 Stefan Kost <ensonic@users.sf.net>
698 * tests/check/libs/.cvsignore:
699 add test-binary to ignore list
701 2006-06-11 Stefan Kost <ensonic@users.sf.net>
703 * docs/libs/gstreamer-libs-docs.sgml:
704 reorder (put dp into a chapter) and indent
706 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
711 === release 0.10.8 ===
713 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
716 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
718 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
720 * gst/gst.c: (init_post):
721 move pid declaration to declaration block
723 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
725 * gst/gst.c: (init_post):
726 use _exit() instead of exit() in our forked child; this ensures
727 that none of the registered exit handlers from whatever is using
728 GStreamer get executed. This fixes gnome-mixer-applet failing
729 to load, because ORBit would shut down.
730 Spotted by: Edward Hervey <edward@fluendo.com>
731 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
734 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
739 === release 0.10.7 ===
741 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
744 releasing 0.10.7, "Soepeke, ik zie ou"
746 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
769 * win32/common/config.h:
772 2006-06-07 Wim Taymans <wim@fluendo.com>
774 * gst/gstindex.c: (gst_index_gtype_resolver):
775 * tools/gst-xmlinspect.c: (print_plugin_info):
776 Fix leak spotted by coverity checker. Fixes #343827
777 Fix another other leak found by paolo borelli.
779 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
781 * libs/gst/dataprotocol/dataprotocol.c:
782 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
783 (gst_dp_version_get_type), (gst_dp_init),
784 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
785 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
786 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
787 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
788 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
789 (gst_dp_packetizer_free):
790 * libs/gst/dataprotocol/dataprotocol.h:
791 API: add a GstDPPacketizer object, and create/free functions
792 API: add GstDPVersion enum
793 Add 1.0 event function that uses the string serialization
794 Serialize more useful buffer flags
797 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
799 * tests/check/Makefile.am:
800 * tests/check/gst/gstabi.c:
801 * tests/check/gst/struct_ppc64.h:
802 * tests/check/libs/libsabi.c:
803 * tests/check/libs/struct_ppc64.h:
804 add ppc64 structure sizes
806 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
808 * tests/check/Makefile.am:
809 * tests/check/gst/gstabi.c:
810 * tests/check/gst/struct_x86_64.h:
811 * tests/check/libs/libsabi.c:
812 * tests/check/libs/struct_x86_64.h:
813 generate and add structure size lists for x86_64
815 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
817 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
818 * libs/gst/check/gstcheck.h:
819 factor out the method from tests that checks size of structures,
820 and add code to generate the header containing these sizes
821 * tests/check/gst/gstabi.c: (GST_START_TEST):
822 * tests/check/gst/struct_i386.h:
823 * tests/check/libs/libsabi.c: (GST_START_TEST):
824 * tests/check/libs/struct_i386.h:
827 2006-06-06 Michael Smith <msmith@fluendo.com>
830 Don't use c++-style comments, fixes #343929
832 2006-06-05 Edward Hervey <edward@fluendo.com>
835 plugin_paths is not used if we build without registry support.
837 * gst/gstsegment.c: (gst_segment_copy):
838 _copy() was always returning NULL...
840 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
842 * libs/gst/dataprotocol/dataprotocol.c:
843 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
844 (gst_dp_packet_from_event):
847 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
849 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
850 make sure we unset caps
852 2006-06-02 Michael Smith <msmith@fluendo.com>
854 * libs/gst/check/gstcheck.c: (gst_check_init),
855 (gst_check_chain_func):
856 * libs/gst/check/gstcheck.h:
857 Add a cond/mutex to the check support lib, signal this whenever we
858 add to the buffers list. This will allow tests to not busy-wait on
861 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
863 * libs/gst/dataprotocol/dataprotocol.c:
864 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
865 (gst_dp_packet_from_event):
866 factor out some common header init code
868 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
870 * docs/libs/gstreamer-libs-sections.txt:
871 * docs/libs/tmpl/gstdataprotocol.sgml:
872 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
873 * libs/gst/dataprotocol/dataprotocol.h:
874 API: make gst_dp_crc() public
876 2006-06-01 Stefan Kost <ensonic@users.sf.net>
878 * plugins/indexers/gstindexers.c: (plugin_init):
879 conditionally register fileindexer (fixes #343598)
881 2006-06-01 Stefan Kost <ensonic@users.sf.net>
883 * gst/gsttagsetter.h:
884 Can't cast ifaces to a class
886 * libs/gst/net/gstnetclientclock.h:
887 * libs/gst/net/gstnettimeprovider.h:
888 * plugins/elements/gstfakesink.h:
889 * plugins/elements/gstfakesrc.h:
890 * plugins/elements/gstfdsink.h:
891 * plugins/elements/gstfdsrc.h:
892 * plugins/elements/gstfilesink.h:
893 * plugins/elements/gstfilesrc.h:
894 * plugins/elements/gstidentity.h:
895 * plugins/elements/gstqueue.h:
896 * plugins/elements/gsttee.h:
897 * plugins/indexers/gstfileindex.c:
898 * plugins/indexers/gstmemindex.c:
899 * tests/old/examples/plugins/example.h:
900 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
902 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
904 * libs/gst/dataprotocol/dataprotocol.c:
905 (gst_dp_header_from_buffer):
906 make sure we zero the whole ABI-compatible area
908 2006-06-01 Wim Taymans <wim@fluendo.com>
910 Patch by: Alessandro Decina <alessandro at nnva dot org>
912 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
913 Make sure the EOS flag is cleared from pads after a flush
914 or stop. Fixes #343538.
916 * tests/check/libs/collectpads.c: (GST_START_TEST),
917 (gst_collect_pads_suite):
918 Added test for collectpads reusage after EOS.
920 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
923 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
924 * win32/common/libgstbase.def:
925 export gst_collect_pads_set_flushing
926 * win32/common/libgstreamer.def:
927 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
928 gst_value_fraction_multiply
929 * win32/vs6/gst_inspect.dsp:
930 add a link to intl.lib
932 2006-05-30 Wim Taymans <wim@fluendo.com>
934 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
935 (gst_collect_pads_chain):
936 Handle the case where a pad is removed from the collection
937 that could cause the other pads to become collectable.
939 2006-05-30 Wim Taymans <wim@fluendo.com>
942 Clarify the use of _release_request_pad() and
943 _get_request_pad() a bit better.
945 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
946 (gst_adapter_take_buffer):
947 Fix some doc and comment typos.
949 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
951 * docs/gst/gstreamer-sections.txt:
952 * docs/libs/gstreamer-libs-sections.txt:
955 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
957 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
958 Add debug that can be enabled using a #define at the top of the file,
959 for dumping stats about how late/early we were when waking up from
960 waiting on the clock.
962 2006-05-30 Wim Taymans <wim@fluendo.com>
964 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
965 When rebuilding the pad list, don't leak the previous list.
967 2006-05-30 Wim Taymans <wim@fluendo.com>
969 Patch by: Lutz Mueller <lutz at topfrose dot de>
971 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
972 (gst_base_src_get_query_types), (gst_base_src_update_length):
973 Publish supported query types.
974 Update last_stop field in get_range mode so the position
975 query works. Fixes #342321.
977 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
979 * docs/gst/gstreamer-sections.txt:
980 * gst/gsttaglist.c: (_gst_tag_initialize):
982 API: add GST_TAG_PREVIEW_IMAGE (#343341).
984 2006-05-30 Wim Taymans <wim@fluendo.com>
986 Patch by: Alessandro Decina <alessandro at nnva dot org>
988 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
989 Unlock mutex when removing an unknown pad.
992 * tests/check/Makefile.am:
993 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
994 (push_event), (setup), (teardown), (GST_START_TEST),
995 (gst_collect_pads_suite), (main):
996 Added collecpads check, disabled for now as check crashes for
999 2006-05-29 Wim Taymans <wim@fluendo.com>
1001 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1002 Don't leak pads lists.
1004 2006-05-29 Wim Taymans <wim@fluendo.com>
1006 * docs/libs/gstreamer-libs-sections.txt:
1007 * libs/gst/base/gstcollectpads.c:
1008 (gst_collect_pads_set_flushing_unlocked),
1009 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1010 (gst_collect_pads_stop):
1011 * libs/gst/base/gstcollectpads.h:
1012 API: gst_collect_pads_set_flushing()
1013 Added api to set the pads to flushing, useful for seeking
1014 code in elements using collectpads.
1015 Clear segment when receiving a flush.
1017 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
1019 * gst/gst.c: (add_path_func), (init_post):
1020 Don't scan registry paths passed via --gst-plugin-path immediately
1021 (will crash, because absolutely nothing is set up and no types are
1022 registered etc.); do this later in init_post(). Fixes #343057.
1024 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
1026 * gst/gst.c: (init_post):
1027 if we have fork, fork while reading/rebuilding the registry
1028 so the parent doesn't take the hit of having all plugins loaded
1029 in memory. Fixes #342777.
1031 Check if we have fork()
1032 * win32/common/config.h.in:
1035 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
1037 * plugins/elements/gstelements.c:
1038 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1039 (gst_file_src_init), (gst_file_src_set_property),
1040 (gst_file_src_get_property), (gst_file_src_start):
1041 * plugins/elements/gstfilesrc.h:
1042 API: GstFileSrc::use-mmap
1044 Add a use-mmap property to enable easier testing of all code paths.
1045 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1046 in the absence of gnomevfssrc. (Closes #340501)
1048 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
1050 * tools/gst-inspect.c:
1051 Add missing include, removes warning of ngettext not being defined on
1054 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
1056 * gst/gstvalue.c: (gst_value_deserialize_fraction):
1057 Handle NULL input and output pointers silently as a failed conversion,
1058 rather than g_warnings.
1060 2006-05-25 Wim Taymans <wim@fluendo.com>
1062 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1063 Initialize variable before using. Fixes #342820.
1065 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
1067 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1068 Fix off-by-one bug that would only allow peeks of N-1 bytes
1069 from the start even if the buffer to typefind on contains
1070 in fact N bytes of data (makes vorbis typefinding from a
1071 vorbis identification header buffer work).
1073 * tests/check/Makefile.am:
1074 * tests/check/libs/.cvsignore:
1075 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1076 (gst_typefindhelper_suite), (main), (foobar_typefind),
1078 Add very basic unit test for gst_type_find_helper_for_buffer()
1079 that checks for the problem fixed above.
1081 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
1083 * tools/gst-inspect.c: (print_interfaces),
1084 (print_element_properties_info), (print_element_list), (main):
1085 add more translatable strings
1087 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
1089 Patch by: Julien Moutte <julien at moutte net>
1091 * docs/gst/gstreamer-sections.txt:
1092 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1094 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1095 (gst_fake_sink_preroll):
1096 * plugins/elements/gstfakesink.h:
1097 API: Add new GstFakeSink::preroll-handoff signal (#337100).
1099 2006-05-23 Wim Taymans <wim@fluendo.com>
1101 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1103 Added _CUSTOM error and success GstFlowReturn that can be
1104 used be elements internally.
1105 Added macro to check for SUCCESS flowreturns.
1106 API: GST_FLOW_CUSTOM_SUCCESS
1107 API: GST_FLOW_CUSTOM_ERROR
1108 API: GST_FLOW_IS_SUCCESS
1110 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1111 Added check for GstFlowReturn sanity.
1113 2006-05-23 Wim Taymans <wim@fluendo.com>
1115 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1117 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1118 (gst_collect_pads_event):
1119 clear/reset segment info in FLUSH_STOP.
1122 2006-05-22 Stefan Kost <ensonic@users.sf.net>
1124 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1125 (gst_collect_pads_check_collected):
1126 Flush queued buffer on _stop(), fixes playing again (#342454)
1128 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
1130 * tests/check/gst/gststructure.c: (GST_START_TEST),
1131 (gst_structure_suite):
1132 add a test for a complete structure
1134 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
1136 * docs/faq/developing.xml:
1138 * docs/faq/troubleshooting.xml:
1139 * docs/faq/using.xml:
1140 Some minor FAQ updates that won't change the fact that
1141 our FAQ is badly structured, full of information hardly
1142 anyone new to GStreamer needs to know and lacking lots
1143 of information people constantly ask for.
1145 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
1147 * gst/gstpad.c: (gst_pad_set_caps):
1148 Short-circuit gst_pad_set_caps if setting the existing
1149 caps pointer again, and avoid printing debug and
1150 reffing/unreffing the caps.
1152 * plugins/elements/gstqueue.c: (gst_queue_push_one):
1153 There's actually no need to set the caps before pushing -
1154 the acceptcaps method will handle it anyway.
1156 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
1158 * docs/gst/gstreamer-sections.txt:
1159 * win32/common/libgstreamer.def:
1160 * gst/gstutils.c: (gst_element_seek_simple):
1162 API: add gst_element_seek_simple() (#342238).
1164 2006-05-18 Edward Hervey <edward@fluendo.com>
1166 * gst/gsttypefind.c: (gst_type_find_get_type):
1167 * gst/gsttypefind.h:
1168 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1169 registered for GstTypeFind pointers. This allows wrapping the structure
1170 in bindings (i.e. gst-python).
1172 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
1174 * gst/gsttagsetter.c:
1175 Docs additions and fixes (see #339918).
1177 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
1179 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1180 The caps intersection algorithm can produce multiple copies of the
1181 caps. Until that is fixed, we need to simplify the result to be
1182 sure whether the allowed caps are fixed or not.
1184 * plugins/elements/gstqueue.c: (gst_queue_init),
1185 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1186 (gst_queue_push_one):
1187 Proxied buffer alloc should not set the caps on the source pad.
1188 When pushing buffers, we always accept the caps change that triggers.
1189 This prevents negotiation errors caused by caps changing mid-stream
1190 and then being refused on our source pad (because upstream is now
1191 refusing those caps).
1193 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
1195 * tests/examples/helloworld/helloworld.c: (main):
1196 Must plug audioconvert and audioresample between decoder
1199 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
1201 * gst/gstregistryxml.c: (read_string), (load_pad_template),
1202 (load_feature), (load_plugin):
1203 Allow empty strings for some of the plugin fields so we don't
1204 drop valid plugin entries that were written out correctly
1207 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
1209 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1210 Use g_remove and g_rename instead of remove and rename that don't
1211 handle utf8 characters. rename was failing for users who had specific
1212 characters in their name then the registry was built at each
1214 * win32/vs6/gst_inspect.dsp:
1215 * win32/vs6/gst_launch.dsp:
1216 * win32/vs6/libgstbase.dsp:
1217 * win32/vs6/libgstcoreelements.dsp:
1218 * win32/vs6/libgstreamer.dsp:
1219 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
1220 build of libgstreamer and clean unused libraries in projects link
1223 2006-05-17 Edward Hervey <edward@fluendo.com>
1225 * plugins/elements/gstqueue.c: (gst_queue_push_one):
1226 The queue is not responsible for pushing an EOS when receiving a fatal
1227 flow error. It's up to the real element driving the pipeline to do that.
1229 2006-05-16 Edward Hervey <edward@fluendo.com>
1231 * plugins/elements/gstqueue.c: (gst_queue_push_one):
1232 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1233 buffer returned a fatal error. It should just send an EOS and stop
1235 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1236 when pushing buffers on the queue and will be able to handle the event.
1238 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
1240 * docs/manual/basics-bins.xml:
1241 * docs/manual/basics-init.xml:
1242 Fix typos and minor errors in sample code (#341856).
1244 2006-05-16 Wim Taymans <wim@fluendo.com>
1246 * docs/design/part-qos.txt:
1247 Fix indexes in formulas to make more sense.
1249 2006-05-15 Wim Taymans <wim@fluendo.com>
1251 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1252 Don't report POSITION based on clock time if sync is
1255 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
1258 Add cast to make compiler happy - refcount variable was a gint
1259 in GstObject but is a guint in GObject and g_atomic_int_get()
1262 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
1264 * gst/parse/Makefile.am:
1265 chain commands using &&, which also makes parallel make work
1267 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
1269 * docs/gst/gstreamer-sections.txt:
1275 === release 0.10.6 ===
1277 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
1280 releasing 0.10.6, "Take the cannoli"
1282 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
1284 * tools/gst-launch.c: (print_tag):
1285 Fix use of uninitialized variable in the hypothetical
1286 case that some broken plugin creates a GST_TAG_IMAGE
1287 tag containing a NULL buffer (#341667).
1289 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
1291 * tools/gst-launch.c: (print_tag):
1292 Print something more intelligible for image tags when
1293 using the -t switch (#341556).
1295 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
1300 define GST_MAJORMINOR so we have it available in win32/common/config.h
1301 Possibly remove it from our Makefile.am files later
1302 * win32/common/config.h:
1303 * win32/common/config.h.in:
1304 added GST_MAJORMINOR
1305 * win32/common/gstenumtypes.c: (register_gst_resource_error):
1306 * win32/common/gstversion.h:
1309 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
1312 Update win32 files listing.
1313 * win32/common/gstversion.h:
1314 Add GST_MAJORMINOR definition.
1315 * win32/common/libgstreamer.def:
1316 Add new exported functions.
1318 2006-05-12 Michael Smith <msmith@fluendo.com>
1320 * gst/gstplugin.c: (gst_plugin_load_file):
1321 If an so file has no plugin entry point, unload the module.
1323 2006-05-11 Wim Taymans <wim@fluendo.com>
1325 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1326 (gst_queue_set_property):
1327 Don't forget to signal the _chain or _loop function
1328 when the queue size or thresholds change since that might
1329 cause them to make progres again.
1331 2006-05-11 Stefan Kost <ensonic@users.sf.net>
1333 * gst/gstclock.c: (gst_clock_class_init):
1334 * gst/gstindex.c: (gst_index_class_init):
1335 * gst/gstobject.c: (gst_object_class_init):
1336 * gst/gstpad.c: (gst_pad_class_init):
1337 * gst/gstpipeline.c: (gst_pipeline_class_init):
1338 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1339 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1340 * libs/gst/base/gstbasetransform.c:
1341 (gst_base_transform_class_init):
1342 * libs/gst/net/gstnetclientclock.c:
1343 (gst_net_client_clock_class_init):
1344 * libs/gst/net/gstnettimeprovider.c:
1345 (gst_net_time_provider_class_init):
1346 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1347 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1348 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1349 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1350 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1351 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1352 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1353 * plugins/elements/gstidentity.c: (gst_identity_class_init):
1354 * plugins/elements/gsttee.c: (gst_tee_class_init):
1355 * tests/old/examples/plugins/example.c: (gst_example_class_init):
1356 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1357 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1359 2006-05-11 Wim Taymans <wim@fluendo.com>
1361 * gst/gstbuffer.c: (_gst_buffer_initialize):
1362 Register subbufer along with the buffer type so that
1363 it does not accidentally gets registered from N
1364 different streaming threads in a non threadsafe way.
1366 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
1371 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1372 gst_event_ref() and gst_message_ref() functions again
1373 (ugly hack, please do fix if there's a better way besides
1374 overrides.txt, which doesn't seem to work).
1376 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
1378 * libs/gst/check/gstcheck.h:
1379 add an assert for setting state to avoid lots of repetitive code
1382 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
1384 * gst/gstvalue.c: (gst_value_serialize_flags):
1385 fix a leak if no flags are set
1386 * tests/check/gst/gstvalue.c: (GST_START_TEST):
1389 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
1391 * docs/manual/basics-pads.xml:
1392 Expand a bit on caps and filtered links and update
1393 examples that were still using the no longer existing
1394 gst_pad_link_filtered() (#338206).
1396 2006-05-10 Wim Taymans <wim@fluendo.com>
1398 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1399 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1400 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1401 (gst_collect_pads_stop):
1402 * libs/gst/base/gstcollectpads.h:
1403 No need to call _stop in _finalize.
1404 Iterate the main pad list in _finalize.
1405 Added some more debug.
1406 Free lists and data in the right order.
1407 Also free data whem doing _remove_pad when stopped for
1408 backward compatibility protect ::started with PAD_LOCK as
1411 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
1413 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1414 (gst_structure_parse_value):
1416 rename a method so that it actually says what it does better
1418 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
1420 * gst/gstevent.c: (_gst_event_initialize):
1421 * gst/gstformat.c: (_gst_format_initialize):
1422 make sure some essential types used by events are registered
1423 as part of gst_init()
1424 * gst/gstvalue.c: (gst_value_serialize_flags):
1425 if no flags are set, serialize them to a value that represents NONE
1426 so that deserializing them works
1427 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1428 add tests for serialization and deserialization of flags
1430 2006-05-10 Wim Taymans <wim@fluendo.com>
1432 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1433 (gst_collect_pads_collect_range), (gst_collect_pads_available),
1434 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1435 (gst_collect_pads_event), (gst_collect_pads_chain):
1438 Catch and return errors from the collect function
1439 Refuse data on eos pads.
1441 2006-05-10 Edward Hervey <edward@fluendo.com>
1443 * gst/gstinterface.h:
1444 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1445 GInterface type checking.
1446 They were previously using non-defined macros.
1448 2006-05-09 Wim Taymans <wim@fluendo.com>
1450 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1451 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1452 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1453 (gst_collect_pads_start), (gst_collect_pads_stop),
1454 (gst_collect_pads_peek), (gst_collect_pads_pop),
1455 (gst_collect_pads_available), (gst_collect_pads_read),
1456 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1457 (gst_collect_pads_is_collected), (gst_collect_pads_event),
1458 (gst_collect_pads_chain):
1459 * libs/gst/base/gstcollectpads.h:
1460 Clean up the mess that is collectpads, add comments and
1461 FIXMEs where needed.
1462 Maintain a separate pad list so we can add pads while
1463 collecting the other ones. For this we need a new separate
1465 Fix memory leak in finalize.
1466 Refactor some weird code to set/unset pad flushing flags, mark
1468 Don't crash in _available, _read, _flush when we're EOS.
1470 * tests/check/libs/.cvsignore:
1471 Ignore adapter check binary.
1473 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1475 * gst/gstindex.c: (gst_index_resolver_get_type):
1476 * plugins/elements/gstfakesink.c:
1477 (gst_fake_sink_state_error_get_type):
1478 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1479 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1480 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1481 Const-ify GEnumValue arrays.
1483 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1485 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1486 Add test case for flags + gst_buffer_make_metadata_writable().
1488 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1490 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1491 gst_buffer_make_metadata_writable() should maintain the
1492 buffer flags (those that make sense at least) (see #340859).
1494 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1496 * tools/gst-inspect.c:
1497 * tools/gst-launch.c:
1498 * tools/gst-typefind.c:
1499 * tools/gst-xmlinspect.c:
1501 Fix up includes: need to include stdlib.h in tools.h for exit().
1503 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
1505 * gst/gsttaglist.c: (_gst_tag_initialize):
1507 API: add GST_TAG_IMAGE tag (#340721).
1509 2006-05-08 Wim Taymans <wim@fluendo.com>
1512 Added some docs for the segment query.
1514 2006-05-08 Wim Taymans <wim@fluendo.com>
1516 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1517 (gst_base_src_loop), (gst_base_src_change_state):
1518 Always push non-flushing serialized events in the streaming
1521 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
1523 * gst/gsterror.c: (_gst_stream_errors_init):
1524 Add a missing error string.
1526 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
1528 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1529 Add applied_rate to the debug
1531 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1532 Copy applied_rate into the outgoing NEWSEGMENT event
1534 2006-05-08 Wim Taymans <wim@fluendo.com>
1536 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1538 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1539 (gst_base_sink_change_state):
1540 call ::unlock before taking the PREROLL_LOCK so we can safely
1541 handle elements that lock in ::render.
1544 2006-05-08 Edward Hervey <edward@fluendo.com>
1546 * autogen.sh: (CONFIGURE_DEF_OPT):
1547 Darwin's libtoolize is in fact called glibtoolize.
1548 Adding glibtoolize to the list of accepted names for libtoolize.
1550 2006-05-08 Wim Taymans <wim@fluendo.com>
1552 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1553 Unify error handling, don't post an error message
1554 when a push() returns EOS but perform our normal EOS
1555 handling code. Fixes #340772.
1557 2006-05-08 Wim Taymans <wim@fluendo.com>
1559 * docs/design/part-overview.txt:
1560 Make upsteam/downstream concepts more clear.
1561 Give an example of serialized/non-serialized events.
1563 * docs/design/part-events.txt:
1564 * docs/design/part-streams.txt:
1565 Mention applied_rate.
1567 * docs/design/part-trickmodes.txt:
1568 Mention applied rate, flesh out some more use cases.
1570 * gst/gstevent.c: (gst_event_new_new_segment),
1571 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1572 (gst_event_parse_new_segment_full), (gst_event_new_tag),
1573 (gst_event_parse_tag), (gst_event_new_buffer_size),
1574 (gst_event_parse_buffer_size), (gst_event_new_qos),
1575 (gst_event_parse_qos), (gst_event_parse_seek),
1576 (gst_event_new_navigation):
1578 Add applied_rate field to NEWSEGMENT event.
1579 API: gst_event_new_new_segment_full()
1580 API: gst_event_parse_new_segment_full()
1582 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1583 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1584 (gst_segment_to_stream_time), (gst_segment_to_running_time):
1586 Add applied_rate to GstSegment structure.
1587 Make calculation of stream_time and running_time more correct
1588 wrt rate/applied_rate.
1590 API: GstSegment::applied_rate field
1591 API: gst_segment_set_newsegment_full();
1593 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1594 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1595 * libs/gst/base/gstbasetransform.c:
1596 (gst_base_transform_sink_eventfunc),
1597 (gst_base_transform_handle_buffer):
1598 Parse and use applied_rate in the GstSegment field.
1600 * tests/check/gst/gstevent.c: (GST_START_TEST):
1601 Add check for applied_rate field.
1603 * tests/check/gst/gstsegment.c: (GST_START_TEST),
1604 (gstsegments_suite):
1605 Add more checks for various GstSegment operations.
1607 2006-05-08 Wim Taymans <wim@fluendo.com>
1609 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1610 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1611 (gst_base_sink_get_position), (gst_base_sink_change_state):
1612 Store the sync time of the buffer end position separatly in a
1613 new variable eos_rtime so we can properly sync the EOS event.
1615 Fix the docs for gst_base_sink_set_qos_enabled().
1616 Don't set segment start to invalid value when we receive a
1617 non TIME newsegment.
1618 get closer to handling position reporting for negative rates
1621 2006-05-07 Stefan Kost <ensonic@users.sf.net>
1624 Docs about how to print caps for debug purposes.
1626 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1627 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1629 2006-05-07 Stefan Kost <ensonic@users.sf.net>
1632 use full enum names and preprend a '%' in docs strings to make recent
1633 gtk-doc turn that into a link
1635 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1637 * docs/manual/basics-bins.xml:
1638 * docs/manual/basics-bus.xml:
1639 * docs/manual/basics-pads.xml:
1640 Some typo fixes, some additions, some clarifications.
1642 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1644 * tools/gst-inspect.c: (main):
1645 * tools/gst-launch.c: (main):
1646 * tools/gst-run.c: (main):
1647 * tools/gst-typefind.c: (main):
1648 * tools/gst-xmlinspect.c: (main):
1649 Use the string passed to g_option_context_new() for
1650 what it's intended for - the program name is already
1653 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1655 * tools/Makefile.am:
1656 * tools/gst-inspect.c: (main):
1657 * tools/gst-launch.c: (main):
1658 * tools/gst-xmlinspect.c: (main):
1660 Add back --version command line option (#340460).
1662 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1663 Add --version option and use GOption for argument parsing; refactor a
1664 bit; accept directories as arguments and recurse into them; lastly,
1665 print a decent error message when things go wrong.
1667 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1669 * docs/manual/basics-bins.xml:
1670 Don't mention GstThread (#340611)
1671 * docs/manual/basics-elements.xml:
1672 Update link to GObject tutorial (#340607)
1674 2006-05-05 Wim Taymans <wim@fluendo.com>
1677 * gst/gstminiobject.c:
1678 Add note about refcounting and miniobject/buffer writeability
1679 to docs. Fixes #340604
1681 * gst/gstelementfactory.h:
1682 Added some explanation about @klass.
1684 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1686 * docs/manual/intro-motivation.xml:
1687 * docs/manual/manual.xml:
1688 Avoid CORBA & Bonobo references (#340598)
1690 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1692 * docs/manual/basics-bus.xml:
1693 * docs/manual/basics-pads.xml:
1694 Fix up some inaccuracies and omissions (#340609)
1696 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
1698 * gst/gstghostpad.c:
1699 Small typo in docs (#340625)
1701 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1703 * gst/parse/Makefile.am:
1704 Make 'make -j' proof (see #340698).
1706 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
1709 Require GLib-2.8 here as well.
1711 2006-05-05 Wim Taymans <wim@fluendo.com>
1713 * gst/glib-compat.c:
1714 * gst/gst.c: (init_pre):
1715 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1716 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1717 (gst_object_dispatch_properties_changed):
1719 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1720 * gst/gststructure.c: (gst_structure_set_valist):
1721 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1722 Remove pre glib2.8 compatibility, fixes #340508
1724 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
1727 Mention type of tags in doc blurbs.
1729 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
1731 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1732 (gst_pad_configure_src), (gst_pad_push):
1733 Restore acceptcaps checking behaviour now that good plugins have
1736 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
1738 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1749 * gst/parse/Makefile.am:
1750 * libs/gst/base/gstadapter.c:
1751 * libs/gst/base/gstbasesrc.c:
1752 * libs/gst/base/gstpushsrc.c:
1753 * libs/gst/base/gsttypefindhelper.c:
1754 * plugins/elements/gstfakesrc.c:
1755 * plugins/elements/gstidentity.c:
1756 Make sure gstprivate.h and/or config.h are
1757 always included first, otherwise some of our
1758 defines (like _FILE_OFFSET_BITS) might be
1759 redefined in the system headers. Fixes build
1760 on opensolaris (#340016).
1762 2006-05-04 Wim Taymans <wim@fluendo.com>
1764 * docs/libs/gstreamer-libs-sections.txt:
1765 API: addition: gst_adapter_take_buffer()
1767 * libs/gst/base/gstadapter.c: (gst_adapter_push),
1768 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1769 (gst_adapter_available_fast):
1770 * libs/gst/base/gstadapter.h:
1771 Prepare for optimizing the hell out of this hugely inefficient
1773 Added gst_adapter_take_buffer() so we can at least start thinking
1774 about subbuffering and merging.
1775 Added some comments.
1777 * tests/check/Makefile.am:
1778 * tests/check/libs/adapter.c: (GST_START_TEST),
1779 (gst_adapter_suite), (main):
1780 Added GstAdapter check.
1782 2006-05-04 Wim Taymans <wim@fluendo.com>
1784 * docs/design/part-overview.txt:
1785 Fix some typos, add blurb about buffer flags.
1787 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
1789 * docs/libs/gstreamer-libs-sections.txt:
1790 make sure GstBaseTransformClass shows up in the docs
1791 * libs/gst/base/gstbasetransform.c:
1792 * libs/gst/base/gstbasetransform.h:
1793 move docs so gtk-doc picks it up now
1795 2006-05-02 Stefan Kost <ensonic@users.sf.net>
1797 * docs/libs/gstreamer-libs-sections.txt:
1798 add missing symbols to docs
1800 2006-05-02 Stefan Kost <ensonic@users.sf.net>
1802 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1803 back out the newsegment handling change, see #340060 for ongoing
1806 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
1808 * tools/gst-run.c: (get_candidates), (main):
1809 Fix wrong g_file_test() usage (see glib docs for why it doesn't
1810 work); fix typo in error message. Fixes #340079.
1812 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
1814 * common/Makefile.am:
1816 * docs/faq/Makefile.am:
1817 * docs/gst/Makefile.am:
1818 * docs/libs/Makefile.am:
1819 * docs/manual/Makefile.am:
1820 * docs/plugins/Makefile.am:
1821 * docs/pwg/Makefile.am:
1822 * docs/slides/Makefile.am:
1824 * common/upload.mak:
1825 move upload.mak to common
1827 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
1829 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1830 add more asserts on refcounts
1831 do more cleanup at end of tests
1832 fix test leaks showing in FC5
1834 2006-04-29 Stefan Kost <ensonic@users.sf.net>
1836 * plugins/elements/gsttypefindelement.c:
1837 (gst_type_find_element_handle_event):
1838 reverted wrong change and reflowed code to avoid others falling into
1841 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1843 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1844 fix changelog entry about last collectpads change,
1845 add notes about proper fix
1847 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1850 * gst/gstregistry.c: (gst_registry_scan_path_level),
1851 (gst_registry_scan_path):
1852 * gst/gstregistry.h:
1853 only write out registry if it has changed, fixes #338339
1855 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1858 * gst/gstpipeline.c:
1859 * plugins/elements/gstcapsfilter.c:
1860 * plugins/elements/gstfakesink.c:
1861 * plugins/elements/gstfakesrc.c:
1862 * plugins/elements/gstfdsink.c:
1863 * plugins/elements/gstfdsrc.c:
1864 * plugins/elements/gstfilesink.c:
1865 * plugins/elements/gstfilesrc.c:
1866 * plugins/elements/gstidentity.c:
1867 * plugins/elements/gstqueue.c:
1868 * plugins/elements/gsttee.c:
1869 * plugins/elements/gsttypefindelement.c:
1870 (gst_type_find_element_handle_event):
1871 make GstElementDetails const
1873 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1875 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1876 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1877 (gst_collect_pads_is_collected), (gst_collect_pads_event):
1878 more detailed debug and formatting cleanup,
1879 forward newsegments to src-pad (so that e.g. adder not eats them)
1881 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1883 * gst/gstutils.c: (gst_element_link_pads):
1886 2006-04-28 Stefan Kost <ensonic@users.sf.net>
1888 * libs/gst/controller/gstcontroller.c:
1889 (gst_controller_sync_values):
1891 * tests/check/libs/controller.c: (GST_START_TEST),
1892 (gst_controller_suite):
1893 a new test for live value handling
1895 2006-04-28 Wim Taymans <wim@fluendo.com>
1897 * gst/gstutils.c: (push_and_ref):
1898 Added some more docs.
1899 Fix refcount issue whith gst_element_found_tags() helper
1900 function. Fixes #338335
1902 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1903 Added testsuite for gst_element_found_tags().
1905 2006-04-28 Michael Smith <msmith@fluendo.com>
1907 * gst/gstvalue.c: (gst_value_serialize_flags):
1908 Avoid NULL dereference when trying to serialize flags containing
1911 2006-04-28 Michael Smith <msmith@fluendo.com>
1913 * plugins/elements/gsttypefindelement.c:
1914 (gst_type_find_element_handle_event):
1915 If we get EOS before any data is accumulated, don't use
1916 uninitialised local variables.
1918 2006-04-28 Michael Smith <msmith@fluendo.com>
1920 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1921 (gst_dp_event_from_packet):
1922 Fixes in reading/writing events over GDP (not currently used?) -
1923 dereferencing NULL events for unknown/invalid event types, memory
1924 leak, and change g_warning to GST_WARNING.
1926 2006-04-28 Wim Taymans <wim@fluendo.com>
1928 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1929 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1930 (gst_base_sink_get_position), (gst_base_sink_change_state):
1931 When frame dropping is enabled, we should not ignore frames
1933 Update some documentation.
1935 2006-04-28 Wim Taymans <wim@fluendo.com>
1937 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1938 (gst_base_src_send_event), (gst_base_src_change_state):
1939 Documentation updates.
1941 2006-04-28 Wim Taymans <wim@fluendo.com>
1943 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1944 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1945 handle EAGAIN, EINTR and short writes correctly. Also clean
1946 up some error cases, avoid a deadlock on bad file descriptors and
1947 use GST_DEBUG_OBJECT.
1950 2006-04-28 Wim Taymans <wim@fluendo.com>
1952 * gst/gstvalue.c: (gst_value_serialize_buffer),
1953 (gst_value_deserialize_buffer):
1954 Don't try to serialize a GValue with a NULL buffer.
1957 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1958 Added check for serialisation of NULL buffers.
1960 2006-04-28 Wim Taymans <wim@fluendo.com>
1962 * gst/gstminiobject.c: (gst_value_take_mini_object):
1963 Taking a NULL miniobject is valid, fix the case where
1964 we try to unref the NULL miniobject.
1966 2006-04-28 Wim Taymans <wim@fluendo.com>
1968 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1970 * gst/gstbin.c: (gst_bin_handle_message_func):
1972 Don't leak bin refcount when a state recalc is
1973 in progress and we delay another one #339808.
1975 2006-04-28 Wim Taymans <wim@fluendo.com>
1977 * docs/design/part-TODO.txt:
1978 Mention QoS as an ongoing work item.
1980 * docs/design/part-buffering.txt:
1981 New doc about buffering that needs to be fleshed out
1984 * docs/design/part-qos.txt:
1985 More QoS policy for decoders/demuxers/transforms
1987 * docs/design/part-trickmodes.txt:
1990 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
1995 === release 0.10.5 ===
1997 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
2000 releasing 0.10.5, "Fogo"
2002 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
2004 patch by: Wim Taymans
2006 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2007 (gst_pad_configure_src), (gst_pad_push):
2008 * gst/gstpipeline.c: (gst_pipeline_init):
2009 Fix internal data flow errors. Fixes #338711.
2011 2006-04-12 Wim Taymans <wim@fluendo.com>
2013 * tests/check/gst/gstelement.c: (GST_START_TEST):
2014 Don't leak the factory.
2016 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
2019 * win32/common/config.h:
2022 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
2024 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2025 (gst_controller_unset_all):
2026 Free allocated GstTimedValues when freeing list nodes.
2027 Should fix leaks 'make check-valgrind' complains about.
2029 * win32/common/libgstcontroller.def:
2030 Add gst_controller_unset_all.
2032 2006-04-11 Stefan Kost <ensonic@users.sf.net>
2034 * docs/libs/gstreamer-libs-sections.txt:
2035 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2036 (gst_controller_unset_all):
2037 * libs/gst/controller/gstcontroller.h:
2038 API: Added new method gst_controller_unset_all()
2039 fixed gst_controller_unset()
2040 * tests/check/libs/controller.c: (GST_START_TEST),
2041 (gst_controller_suite):
2042 Added two testcases for new and fixed method
2044 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
2046 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2047 MSG_DONTWAIT is not defined on Cygwin, so work
2048 around that (fixes #317048).
2050 2006-04-11 Wim Taymans <wim@fluendo.com>
2052 * gst/gstelementfactory.c: (gst_element_register),
2053 (gst_element_factory_create), (gst_element_factory_make):
2056 Updated docs (Fixes #131079)
2058 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2061 * tests/check/gst/gstelement.c: (GST_START_TEST),
2062 (gst_element_suite):
2063 Added testcase for elementfactory class field.
2065 2006-04-10 Wim Taymans <wim@fluendo.com>
2068 Added some more docs.
2070 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2071 (gst_base_sink_reset_qos):
2072 Calculate more accurate rate values.
2074 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
2076 * gst/gst_private.h:
2077 add a new #ifdef to use __declspec(dllimport) only for
2078 other modules and not for gstreamer core
2079 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2080 use gst_guint64_to_gdouble for conversion
2081 * win32/common/libgstreamer.def:
2082 add new exported functions
2083 * win32/vs6/gst_inspect.dsp:
2084 * win32/vs6/gst_launch.dsp:
2085 * win32/vs6/libgstbase.dsp:
2086 * win32/vs6/libgstcontroller.dsp:
2087 * win32/vs6/libgstcoreelements.dsp:
2088 * win32/vs6/libgstdataprotocol.dsp:
2089 * win32/vs6/libgstnet.dsp:
2090 update project files
2092 2006-04-08 Stefan Kost <ensonic@users.sf.net>
2094 * gst/gstbuffer.c: (gst_subbuffer_class_init):
2095 * gst/gstclock.c: (gst_clock_class_init):
2096 * gst/gstelement.c: (gst_element_class_init):
2097 * gst/gstindex.c: (gst_index_class_init):
2098 * gst/gstindexfactory.c: (gst_index_factory_class_init):
2099 * gst/gstobject.c: (gst_object_class_init),
2100 (gst_signal_object_class_init):
2101 * gst/gstpad.c: (gst_pad_class_init):
2102 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2103 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2104 * gst/gstregistry.c: (gst_registry_class_init):
2105 * gst/gstsystemclock.c: (gst_system_clock_class_init):
2106 * gst/gsttask.c: (gst_task_class_init):
2107 * gst/gstxml.c: (gst_xml_class_init):
2108 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2109 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2110 (gst_base_src_loop):
2111 * libs/gst/controller/gstcontroller.c:/
2112 (_gst_controller_class_init):
2113 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2114 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2115 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2116 * tests/old/examples/plugins/example.c: (gst_example_class_init):
2117 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2118 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2120 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
2122 * gst/gstpad.c: (gst_pad_link):
2123 Must set peer pads before calling the link function, otherwise
2124 a task started from a link function might get a flow-not-linked
2125 result when trying to push because the other thread where the
2126 linking happens hasn't had a chance to set the peers yet. This
2127 might happen for example when a queue gets linked to a downstream
2128 element, as queue starts a streaming task when its source pad
2129 gets linked. Happens in real life when playing back flac/musepack
2130 files in playbin (#332390).
2132 2006-04-08 Stefan Kost <ensonic@users.sf.net>
2136 * libs/gst/base/gstadapter.h:
2137 * libs/gst/base/gstbasesink.h:
2138 * libs/gst/base/gstbasesrc.h:
2139 * libs/gst/base/gstbasetransform.h:
2140 * libs/gst/base/gstcollectpads.h:
2141 * libs/gst/base/gstpushsrc.h:
2142 Fix broken GObject macros
2144 2006-04-07 Wim Taymans <wim@fluendo.com>
2146 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2147 Initialize start and stop times, thanks valgrind.
2149 2006-04-07 Wim Taymans <wim@fluendo.com>
2151 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2152 Be a bit nicer to badly behaving upstream elements that expect
2153 us to deal with non TIME segments and timestamps (such as fakesrc
2156 2006-04-07 Wim Taymans <wim@fluendo.com>
2159 Small documentation clarification about the signal watch.
2161 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2162 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2163 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2164 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2165 (gst_base_sink_get_position_last),
2166 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2167 Convert and store timestamps in stream time and running time, the
2168 raw timestamps are not usefull, also document this better.
2169 Use different window sizes for good and bad QoS observations so
2170 we react to badness a little quicker.
2171 Keep track of the amount of rendered and dropped buffers.
2172 Send QoS timestamps in running time.
2174 * libs/gst/base/gstbasetransform.c:
2175 (gst_base_transform_sink_eventfunc),
2176 (gst_base_transform_handle_buffer):
2177 Compare QoS timestamps against running time.
2179 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
2184 2006-04-06 Michael Smith <msmith@fluendo.com>
2186 * gst/gstpad.c: (gst_pad_set_property):
2187 Use g_value_get_object() instead of g_value_dup_gst_object(),
2188 to avoid double-reffing the pad template (which we then sink,
2189 so this worked previously if (and only if) the pad template
2192 * gst/gstpadtemplate.c: (gst_pad_template_init),
2193 (gst_pad_template_pad_created):
2194 Never return floating references to pad templates, create
2195 them as initially-sunken.
2197 Document an extra function (and make this stop sinking our
2198 pad template, since that is now guaranteed to do nothing,
2199 since we created it sunken).
2201 * gst/gstghostpad.c:
2204 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
2206 * gst/gstinfo.c: (__gst_in_valgrind):
2209 * plugins/elements/gsttypefindelement.c:
2210 (gst_type_find_element_chain):
2211 Don't leak buffer caps.
2213 2006-04-06 Michael Smith <msmith@fluendo.com>
2215 * gst/parse/grammar.y:
2216 Fix a leak in parse-launch for any source-or-sink named element
2219 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2220 Unref the pipeline if it exists after we've failed parsing.
2222 2006-04-05 Michael Smith <msmith@fluendo.com>
2224 * gst/gstpipeline.c: (gst_pipeline_init):
2225 When we create a pipeline bus, initially create it in flushing mode.
2226 Fixes leaks in at least one test, and makes a new pipeline work the
2227 same as one that has gone to READY and then back to NULL.
2232 2006-04-05 Michael Smith <msmith@fluendo.com>
2234 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2235 Unref a pad we reffed.
2236 * tests/check/gst/gstutils.c: (GST_START_TEST):
2239 2006-04-05 Michael Smith <msmith@fluendo.com>
2241 * gst/gstquery.c: (gst_query_set_formats),
2242 (gst_query_set_formatsv):
2243 Fix leaking GValues in queries, as shown by valgrind/testsuite.
2245 2006-04-05 Michael Smith <msmith@fluendo.com>
2247 * tests/check/generic/sinks.c: (GST_START_TEST):
2248 Fix a variety of memleaks in sinks check, which are only sometimes
2249 shown by running the tests under valgrind (weird?).
2251 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
2253 * docs/version.entities.in:
2254 Fix the substituted entity name after thomas' changes on the
2257 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2259 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2262 2006-04-05 Andy Wingo <wingo@pobox.com>
2264 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2266 * libs/gst/base/gstbasetransform.c
2267 (gst_base_transform_sink_eventfunc): When resetting our segment on
2268 FLUSH_STOP, also update the flag saying we haven't seen a
2271 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
2273 Patch by: Paolo Borelli <pborelli at katamail dot com>
2275 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2276 (gst_plugin_check_license):
2277 minor clean-ups: G_DEFINE_TYPE already takes care of the
2278 parent_class stuff, no need to do it twice. Mark array of
2279 license strings as constant. (#337103)
2281 2006-04-04 Michael Smith <msmith@fluendo.com>
2283 * tools/gst-inspect.c: (print_element_list):
2284 Free the right plugin list; fixes a memory leak.
2286 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
2288 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2290 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2291 Don't error out on empty buffers (#336945).
2293 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
2295 * docs/libs/gstreamer-libs-sections.txt:
2297 * libs/gst/base/gstbasesink.c:
2298 * libs/gst/base/gstbasesink.h:
2299 * libs/gst/base/gstbasesrc.c:
2300 * libs/gst/base/gstbasesrc.h:
2301 Documentation updates. Make BaseSink and BaseSrc docs contain the
2302 class structure so that people can actually see the prototypes for
2303 virtual functions they're supposed to be overriding.
2305 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
2307 * plugins/elements/gsttypefindelement.c:
2308 (gst_type_find_element_chain):
2309 More debug info; when skipping typefinding, send cached
2310 events in all cases.
2312 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
2315 use new AS_VERSION and AS_NANO macros
2316 * gst/gst-i18n-lib.h:
2319 * gst/gstversion.h.in:
2320 * win32/common/config.h:
2321 * win32/common/config.h.in:
2324 2006-03-31 Michael Smith <msmith@fluendo.com>
2326 * plugins/elements/gsttypefindelement.c:
2327 (gst_type_find_element_chain):
2328 Do not typefind content if the buffers already have caps.
2329 Neccesary for icydemux (#333657), and the right thing to do anyway.
2331 2006-03-30 Wim Taymans <wim@fluendo.com>
2333 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2334 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2335 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2336 (gst_base_sink_record_qos_observation),
2337 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2338 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2339 (gst_base_sink_change_state):
2340 More QoS measurements as described in the design doc.
2341 Get rid of ringbuffer with observations, running average is
2342 more simple and equally good.
2343 Calculates valid proportion now.
2344 Added beginning of flood measurement.
2346 2006-03-29 Wim Taymans <wim@fluendo.com>
2348 * docs/design/part-qos.txt:
2350 Small documentation updates and additions.
2352 2006-03-29 Wim Taymans <wim@fluendo.com>
2354 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2355 (gst_base_src_send_event), (gst_base_src_loop),
2356 (gst_base_src_change_state):
2357 Perform the EOS logic when we reach the segment stop position.
2358 Fix compilation on gcc4.1
2360 2006-03-29 Wim Taymans <wim@fluendo.com>
2362 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2364 * plugins/elements/gstqueue.c: (gst_queue_init),
2365 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2366 (gst_queue_set_property):
2367 * plugins/elements/gstqueue.h:
2368 In queue, when EOS is received, if minimum threshold > max_size -
2369 current_level, there is chance that queue blocks forever in conditional
2370 item del wait. This is because the queue is not emptied completely due
2371 to minimum threshold. Here is another approach. Instead of setting
2372 cur_levels to max in EOS, just zero all minimum threshold levels. This
2373 should make sure that queue gives out all data. When going to READY
2374 (stop) state, just reset the original minimum threshold levels.
2377 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
2379 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2380 (gst_type_find_element_handle_event),
2381 (gst_type_find_element_send_cached_events),
2382 (gst_type_find_element_change_state):
2383 * plugins/elements/gsttypefindelement.h:
2384 When typefinding is done in push mode, we should cache
2385 events we receive during typefinding instead of just
2386 dropping them (e.g. newsegment, custom events from
2387 dvdreadsrc etc.) and then send them out once we've
2388 determined the type of the stream (and decodebin
2389 has had a chance to plug in a decoder/demuxer).
2391 2006-03-27 Wim Taymans <wim@fluendo.com>
2393 * docs/design/part-qos.txt:
2396 2006-03-27 Wim Taymans <wim@fluendo.com>
2398 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2400 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2401 (gst_base_src_send_event), (gst_base_src_change_state):
2402 Handle element seek correctly when we are streaming.
2405 2006-03-24 Michael Smith <msmith@fluendo.com>
2407 * docs/faq/gst-uninstalled:
2408 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2409 allow you to correctly run intalled applications built against old
2410 core, using plugins that require updated core (e.g. running
2411 installed totem against a full uninstalled gstreamer stack)
2413 2006-03-24 Stefan Kost <ensonic@users.sf.net>
2415 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2418 2006-03-24 Wim Taymans <wim@fluendo.com>
2420 * docs/gst/gstreamer-sections.txt:
2421 Rearrange the order of the methods so that related methods
2422 are grouped together in sections.
2424 2006-03-24 Stefan Kost <ensonic@users.sf.net>
2427 Little clarification in the docs
2429 2006-03-24 Stefan Kost <ensonic@users.sf.net>
2433 * plugins/elements/gstidentity.c:
2434 * plugins/elements/gstqueue.c:
2435 * plugins/elements/gsttee.c:
2436 * plugins/elements/gsttypefindelement.c:
2437 GST_ELEMENT_DETAILS formatting
2439 2006-03-24 Wim Taymans <wim@fluendo.com>
2441 * libs/gst/base/gstbasesink.h:
2442 Only add fields, not insert or we break ABI.
2444 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
2446 * win32/common/libgstbase.def:
2447 * win32/common/libgstreamer.def:
2448 Update, add recently added functions.
2450 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
2452 * docs/gst/gstreamer-sections.txt:
2453 * gst/gstutils.c: (gst_pad_query_peer_position),
2454 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2456 API: add some new utility functions:
2457 - gst_pad_query_peer_position()
2458 - gst_pad_query_peer_duration()
2459 - gst_pad_query_peer_convert()
2461 2006-03-23 Wim Taymans <wim@fluendo.com>
2463 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2464 (gst_base_sink_init), (gst_base_sink_finalize),
2465 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2466 (gst_base_sink_set_property), (gst_base_sink_get_property),
2467 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2468 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2469 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2470 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2471 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2472 (gst_base_sink_preroll_object), (gst_base_sink_event),
2473 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2474 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2475 (gst_base_sink_query), (gst_base_sink_change_state):
2476 Decouple max-lateness and the fact that QoS messages are generated
2477 with a new property (qos).
2478 added API: GstBaseSink::async_play()
2479 Add vmethod so subclasses can be notified of ASYNC playing
2481 Collect timestamp start and stop to report better current
2482 position in EOS/PLAYING/PAUSED/READY/NULL.
2483 Refactor QoS/frame dropping and other measurements.
2484 API: GstBaseSrc::qos
2487 * libs/gst/base/gstbasesink.h:
2488 Added Private struct.
2489 API: gst_base_sink_set_qos_enabled()
2490 API: gst_base_sink_is_qos_enabled()
2492 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
2494 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2495 If compiling against GLib-2.8 or newer, try to read the
2496 registry file using GMappedFile first before falling back
2497 to fopen() + fread() (#332151).
2499 2006-03-22 Wim Taymans <wim@fluendo.com>
2501 * gst/gstinfo.c: (gst_debug_set_active),
2502 (gst_debug_category_set_threshold):
2503 Disable debugging unless explicitly activated.
2506 2006-03-22 Wim Taymans <wim@fluendo.com>
2508 * gst/gstelement.c: (gst_element_set_locked_state),
2509 (gst_element_dispose):
2510 Cleanup the error case.
2512 * gst/gstobject.c: (gst_object_dispose):
2513 print a critical when some object was disposed with
2514 a parent, also revive the object since it might
2517 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
2519 * tools/gst-launch.1.in:
2522 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
2525 * tests/check/Makefile.am:
2526 disable some tests when we don't have a registry
2527 * tests/check/gst/gstutils.c: (gst_utils_suite):
2528 don't build the part that needs parsing
2530 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
2533 * tests/examples/Makefile.am:
2534 fix --disable-parse build
2536 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2538 * tools/gst-feedback.1.in:
2539 Fix typo: s/feeback/feedback/ (#133494).
2541 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2543 * tools/Makefile.am:
2544 * tools/gst-launch.1.in:
2545 Add FILES section and correct entry about GST_REGISTRY_PATH
2546 environment variable (#133495; #133494).
2548 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2550 * tools/Makefile.am:
2551 * tools/gst-md5sum.1.in:
2552 * tools/gst-md5sum.c:
2553 Remove gst-md5sum and man page (the md5sink element
2554 required was removed ages ago)
2556 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2558 * gst/gststructure.c: (gst_structure_id_set_value):
2559 Make sure that string fields in structures/taglists
2560 contain valid UTF-8 - we don't want to pass rubbish to
2561 applications because of a buggy plugin (cp. #334167).
2563 2006-03-21 Edward Hervey <edward@fluendo.com>
2565 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2566 (gst_bin_handle_message_func):
2567 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2568 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2569 (gst_element_set_bus_func):
2570 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2571 * gst/gstminiobject.c: (gst_value_set_mini_object),
2572 (gst_value_take_mini_object):
2573 * gst/gstpad.c: (gst_pad_set_pad_template):
2574 * gst/gstpipeline.c: (gst_pipeline_dispose),
2575 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2576 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2577 (gst_collect_pads_chain):
2578 * libs/gst/net/gstnettimeprovider.c:
2579 (gst_net_time_provider_set_property):
2580 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2581 It's in fact all issues with gst_*object_replace().
2583 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
2585 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
2587 * pkgconfig/gstreamer-check-uninstalled.pc.in:
2588 * pkgconfig/gstreamer-check.pc.in:
2589 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2591 2006-03-21 Edward Hervey <edward@fluendo.com>
2596 gst_[buffer|event|message]_ref() macros are replaced by a static
2597 inline functions because gcc-4.1 will about if the return value
2599 * tests/check/gst/gstevent.c: (event_probe):
2600 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2602 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
2605 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2606 the type' case. (Closes: #335195 for now). In the future, when we
2607 depend on GLib 2.10, we could also intern the type name using
2608 g_intern_static_string()
2610 2006-03-20 Wim Taymans <wim@fluendo.com>
2612 * gst/gstbin.c: (gst_bin_handle_message_func),
2613 (bin_query_max_init), (bin_query_position_fold),
2614 (bin_query_position_done), (gst_bin_query):
2615 Position query should also take max of all streams.
2617 2006-03-20 Wim Taymans <wim@fluendo.com>
2619 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2620 (gst_fake_src_finalize):
2621 Fix leaks in fakesrc.
2623 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2624 Fix leaks in the testcase.
2626 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
2628 * gst/gst_private.h:
2629 add win32 specific import decoration(__declspec(dllimport))
2630 for all extern GstDebugCategory * variables
2631 * win32/common/libgstbase.def:
2632 * win32/common/libgstcontroller.def:
2633 * win32/common/libgstreamer.def:
2634 Add some exports, remove empty lines
2635 * win32/common/libgstdataprotocol.def:
2636 * win32/common/libgstdataprotocol.dsp:
2637 * win32/common/libgstnet.def:
2638 * win32/common/libgstnet.dsp:
2639 new project files and exportation files added
2641 2006-03-19 Wim Taymans <wim@fluendo.com>
2643 * tests/check/libs/basesrc.c: (eos_event_counter):
2644 Use proper return value for probe.
2646 2006-03-17 Wim Taymans <wim@fluendo.com>
2648 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2650 Don't leak buffers, caps and pads on negotiation errors.
2652 2006-03-16 Stefan Kost <ensonic@users.sf.net>
2655 * docs/faq/dependencies.xml:
2656 * docs/faq/developing.xml:
2658 * docs/faq/general.xml:
2659 * docs/faq/getting.xml:
2660 * docs/faq/legal.xml:
2661 * docs/faq/troubleshooting.xml:
2662 * docs/faq/using.xml:
2663 Faq review and update.
2665 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
2667 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2669 Don't pound the cpu to pieces by checking get_caps when accept_caps
2670 is called with the same caps as the pad already has.
2671 Use GST_DEBUG_OBJECT when outputting caps change information.
2673 2006-03-15 Wim Taymans <wim@fluendo.com>
2675 * gst/gstclock.c: (gst_clock_class_init):
2678 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
2683 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2684 (gst_pad_accept_caps), (gst_pad_configure_sink),
2685 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2686 Make the default acceptcaps behaviour be to check the requested
2687 caps against the gst_pad_get_caps output.
2689 Ensure that gst_pad_accept_caps is used to check caps when a pad
2690 doesn't have a setcaps function, so that pads automatically refuse
2691 caps that they don't allow in their pad template. (Fixes #332986)
2693 When a buffer with attached caps is pushed, ensure that the source
2694 pad receives those caps even if the element didn't call
2695 gst_pad_set_caps first.
2697 2006-03-15 Wim Taymans <wim@fluendo.com>
2699 * libs/gst/base/gstadapter.c:
2702 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
2704 * win32/common/libgstbase.def:
2705 * win32/common/libgstcontroller.def:
2706 * win32/common/libgstreamer.def:
2707 Add a whole bunch of missing functions (#334434).
2709 2006-03-14 Wim Taymans <wim@fluendo.com>
2711 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2712 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2713 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2714 Better debug info when we receive a segment event.
2715 Reorganize a bit so we can pass the get_times() results around.
2716 Use the segment format when calculating the running time.
2717 Don't do QoS is sync is disabled or we have no clock or the
2718 element does not want us to sync to the clock.
2719 Don't drop buffers if QoS is disabled for now.
2721 2006-03-14 Wim Taymans <wim@fluendo.com>
2723 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2724 Marked the stats property as unimplemented so people don't get
2726 Add debug message when regression goes wrong.
2727 Added some more docs.
2729 2006-03-14 Wim Taymans <wim@fluendo.com>
2731 * gst/gstsegment.c: (gst_segment_to_stream_time):
2732 Return correct return type in case of errors.
2734 2006-03-14 Wim Taymans <wim@fluendo.com>
2736 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2737 Don't segfault on invalid formats.
2739 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
2741 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2742 Can't use gst_segment_to_running_time() when the segment
2743 is not in GST_TIME_FORMAT (like with filesink, for example).
2744 Stops flac encoding pipelines from spewing critical warnings
2747 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
2749 * gst/gstpipeline.c: (gst_pipeline_class_init):
2750 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2752 * plugins/elements/gsttypefindelement.c:
2753 (gst_type_find_element_handle_event):
2754 Don't try to typefind empty streams.
2756 2006-03-14 Wim Taymans <wim@fluendo.com>
2758 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2759 (gst_base_sink_do_qos):
2760 Separate QoS calculation.
2761 Only drop buffers when lateness is bigger than the
2762 duration of the buffer.
2764 2006-03-13 Wim Taymans <wim@fluendo.com>
2766 * gst/gstpipeline.c: (gst_pipeline_set_property),
2767 (gst_pipeline_get_property), (do_pipeline_seek),
2768 (gst_pipeline_change_state), (gst_pipeline_set_delay),
2769 (gst_pipeline_get_delay):
2770 Don't deadlock when reading properties.
2772 2006-03-13 Wim Taymans <wim@fluendo.com>
2774 * libs/gst/base/gstbasetransform.c:
2775 (gst_base_transform_class_init), (gst_base_transform_init),
2776 (gst_base_transform_sink_event),
2777 (gst_base_transform_sink_eventfunc),
2778 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2779 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2780 (gst_base_transform_set_property),
2781 (gst_base_transform_get_property),
2782 (gst_base_transform_change_state), (gst_base_transform_update_qos),
2783 (gst_base_transform_set_qos_enabled),
2784 (gst_base_transform_is_qos_enabled):
2785 * libs/gst/base/gstbasetransform.h:
2786 Make basetransform virtual method for src events too.
2787 Handle QOS in basetransform.
2788 API: gst_base_transform_update_qos()
2789 API: gst_base_transform_set_qos_enabled()
2790 API: gst_base_transform_is_qos_enabled()
2792 2006-03-13 Wim Taymans <wim@fluendo.com>
2794 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2795 (gst_base_sink_do_sync):
2797 Use QOS debug category.
2799 2006-03-13 Wim Taymans <wim@fluendo.com>
2801 * plugins/elements/gstqueue.c:
2802 Very small doc update.
2804 2006-03-13 Wim Taymans <wim@fluendo.com>
2806 * gst/gst_private.h:
2807 * gst/gstinfo.c: (_gst_debug_init):
2808 Added QOS debug category
2810 2006-03-13 Wim Taymans <wim@fluendo.com>
2812 * docs/gst/gstreamer-sections.txt:
2813 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2815 * gst/gstbus.c: (gst_bus_class_init):
2818 * gst/gstelement.c: (gst_element_set_locked_state):
2820 Documentation updates.
2822 * gst/gstpipeline.c: (gst_pipeline_get_type),
2823 (gst_pipeline_class_init), (gst_pipeline_init),
2824 (gst_pipeline_dispose), (gst_pipeline_set_property),
2825 (gst_pipeline_get_property), (do_pipeline_seek),
2826 (gst_pipeline_send_event), (gst_pipeline_change_state),
2827 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2828 (gst_pipeline_get_delay):
2829 * gst/gstpipeline.h:
2830 Added methods for setting the delay.
2831 API: gst_pipeline_set_delay()
2832 API: gst_pipeline_get_delay()
2833 Add pipeline debug category
2836 Don't reset stream time when seek failed.
2838 2006-03-13 Wim Taymans <wim@fluendo.com>
2840 * docs/design/draft-klass.txt:
2841 * docs/design/part-clocks.txt:
2842 * docs/design/part-events.txt:
2843 * docs/design/part-gstbin.txt:
2844 * docs/design/part-gstpipeline.txt:
2845 * docs/design/part-messages.txt:
2846 * docs/design/part-negotiation.txt:
2847 * docs/design/part-overview.txt:
2848 * docs/design/part-preroll.txt:
2849 * docs/design/part-seeking.txt:
2850 * docs/design/part-states.txt:
2851 * docs/design/part-streams.txt:
2852 Documentation updates.
2854 2006-03-12 Julien MOUTTE <julien@moutte.net>
2856 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2857 us to leak strings...
2859 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
2861 * libs/gst/net/gstnettimeprovider.c:
2863 * win32/common/config.h:
2866 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
2868 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2871 Don't check for libgnomeui (leftover from old examples
2872 that aren't built or disted any longer) (#334303).
2874 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
2876 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2877 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2878 Emit RESOURCE_NO_SPACE_LEFT error here as well when
2879 there's no space left on the device.
2881 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
2884 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2885 to cast the input to GstClockTime before comparing with
2886 another GstClockTime value.
2888 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
2893 === release 0.10.4 ===
2895 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
2898 releasing 0.10.4, "Light"
2900 2006-03-10 Michael Smith <msmith@fluendo.com>
2902 * libs/gst/dataprotocol/dataprotocol.c:
2903 Fix docs for dataprocotol to not get the return types completely
2904 wrong for a few functions.
2906 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2908 * docs/gst/gstreamer-sections.txt:
2909 * gst/gstpipeline.c: (gst_pipeline_class_init),
2910 (gst_pipeline_init), (gst_pipeline_set_property),
2911 (gst_pipeline_get_property), (gst_pipeline_change_state),
2912 (gst_pipeline_set_auto_flush_bus),
2913 (gst_pipeline_get_auto_flush_bus):
2914 * gst/gstpipeline.h:
2915 Add new API: gst_pipeline_set_auto_flush_bus() and
2916 gst_pipeline_get_auto_flush_bus() to disable automatic
2917 flushing of the pipeline's GstBus when going from READY
2918 to NULL state (#332045).
2920 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2922 * docs/gst/gstreamer-sections.txt:
2923 * gst/gsturi.c: (gst_uri_has_protocol):
2925 Add new API: gst_uri_has_protocol() (#333779).
2927 2006-03-09 Wim Taymans <wim@fluendo.com>
2929 * gst/gstclock.c: (gst_clock_entry_new),
2930 (gst_clock_id_compare_func), (gst_clock_id_wait),
2931 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2932 (gst_clock_init), (gst_clock_get_internal_time),
2933 (gst_clock_set_master), (do_linear_regression),
2934 (gst_clock_add_observation), (gst_clock_set_property):
2938 Fix a possible segfault when the window-size is made smaller.
2939 Calculate jitter before performing the clock wait. Ideally
2940 the clock implementation should calculate jitter but we need
2941 API breakage for that.
2943 * gst/gstsystemclock.c: (gst_system_clock_init):
2946 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2947 Remove leftover else
2949 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2950 (gst_systemclock_suite):
2951 Added check to test GST_CLOCK_DIFF.
2953 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
2955 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2956 (gst_type_find_helper_get_range):
2957 If we are provided with the size, we should implement
2958 GstTypeFind::get_length, so that typefind functions who
2959 want to can actually peek at the middle of a file.
2961 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
2963 * docs/manual/advanced-dataaccess.xml:
2964 Add some very very basic error checking.
2966 * docs/pwg/appendix-checklist.xml:
2967 Some updates to the list of things to check when writing an element.
2969 2006-03-08 Wim Taymans <wim@fluendo.com>
2971 * docs/design/part-element-transform.txt:
2972 Added some docs about the design of tranform elements.
2974 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2975 (gst_base_src_loop), (gst_base_src_change_state):
2976 Mark buffers with the DISCONT flag.
2978 2006-03-08 Michael Smith <msmith@fluendo.com>
2980 * gst/gstregistry.h:
2981 * gst/gstregistryxml.c: (gst_registry_save),
2982 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2983 (gst_registry_xml_save_pad_template),
2984 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2985 (gst_registry_xml_write_cache):
2986 Rewrite registry-saving to avoid race conditions and check for
2989 2006-03-08 Wim Taymans <wim@fluendo.com>
2991 * libs/gst/base/gstbasetransform.c:
2992 (gst_base_transform_transform_caps),
2993 (gst_base_transform_transform_size),
2994 (gst_base_transform_prepare_output_buffer),
2995 (gst_base_transform_get_unit_size),
2996 (gst_base_transform_buffer_alloc),
2997 (gst_base_transform_handle_buffer),
2998 (gst_base_transform_change_state):
2999 Cleanups, separate normal flow from errors, add sensible
3001 Don't try to renegotiate when allocating an output buffer.
3002 Also copy DISCONT buffer flag when copying a buffer.
3003 Reset the transform after we finish streaming, not during.
3005 2006-03-08 Wim Taymans <wim@fluendo.com>
3007 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3008 Use last buffer timestamp in qos message.
3010 2006-03-07 Wim Taymans <wim@fluendo.com>
3012 Patch by: Christophe Fergeau
3014 * docs/pwg/advanced-tagging.xml:
3015 * docs/pwg/building-pads.xml:
3018 2006-03-07 Wim Taymans <wim@fluendo.com>
3020 * docs/libs/gstreamer-libs-sections.txt:
3021 Added basesink new methods.
3025 Docs updates. Flesh out the QoS docs.
3027 * libs/gst/base/gstadapter.c:
3028 Small doc clarification about ownership and flushing.
3030 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3031 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3032 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3033 (gst_base_sink_get_property), (gst_base_sink_do_sync):
3034 * libs/gst/base/gstbasesink.h:
3036 Added new methods to allow subclass to control max-lateness
3038 Generate very basic QoS events based on last sync observation.
3039 Updated docs, fix typo, added some QoS blurb.
3041 * libs/gst/base/gstbasesrc.c:
3042 Remove obsolete _get_state() calls from docs.
3044 2006-03-07 Wim Taymans <wim@fluendo.com>
3046 * docs/libs/gstreamer-libs-sections.txt:
3047 * libs/gst/base/gstbasetransform.h:
3048 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3049 Fix docs for GstBaseSrc.
3051 2006-03-07 Wim Taymans <wim@fluendo.com>
3053 * docs/gst/gstreamer-sections.txt:
3056 * libs/gst/base/gstbasetransform.h:
3057 Small documentation fixes.
3059 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
3062 Document thread-unsafety of gst_value_register_foo_func()
3063 when used at the same time as gst_value_foo() (#322628).
3065 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
3067 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3068 (gst_push_src_check_get_range):
3069 Push sources don't support pull mode by default.
3071 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
3073 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3074 (gst_base_src_init), (gst_base_src_pad_check_get_range),
3075 (gst_base_src_default_check_get_range):
3076 * libs/gst/base/gstbasesrc.h:
3077 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3078 provide default implementation, and rename
3079 gst_base_src_check_get_range() to
3080 gst_base_src_pad_check_get_range() for clarity.
3082 2006-03-06 Wim Taymans <wim@fluendo.com>
3084 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3085 Make property overridable.
3087 2006-03-06 Wim Taymans <wim@fluendo.com>
3089 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3090 (gst_base_sink_init), (gst_base_sink_set_property),
3091 (gst_base_sink_get_property), (gst_base_sink_do_sync):
3092 * libs/gst/base/gstbasesink.h:
3093 API addition: Make max-lateness a property.
3095 2006-03-06 Wim Taymans <wim@fluendo.com>
3097 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3098 (gst_base_sink_do_sync), (gst_base_sink_render_object):
3099 Don't ever draw a frame that is >10ms late.
3101 2006-03-06 Michael Smith <msmith@fluendo.com>
3103 * gst/gstmessage.c: (_gst_message_copy):
3104 When copying a message, set the parent_refcount of the enclosed
3105 structure to point at the copy, not the original message.
3107 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
3109 Patch by: Christophe Fergeau
3112 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3113 usable in c++ code (#333417)
3115 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
3118 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3120 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
3122 * libs/gst/base/gstbasetransform.c:
3123 (gst_base_transform_transform_caps):
3124 Make sure caps are writable before passing them to
3127 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
3130 Fix some minor docs errors.
3132 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
3134 Patch by: Ross Burton <ross at burtonini dot com>
3136 * gst/gsterror.c: (_gst_resource_errors_init):
3138 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3140 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
3143 Add a check and output a g_warning when GStreamer is built
3144 against GLib 2.6 but running against 2.8 or higher, and vice
3145 versa. (Closes: #323542)
3147 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
3149 * gst/parse/parse.l:
3150 Commit patch for parse_launch syntax from #331255. Removes
3151 support for quoted strings and mimetypes when writing filtered
3152 caps. See the bug report for more details - I'm pretty sure this
3153 obscure feature is not in use by _anyone_ anywhere.
3155 With this simple change, the size of the gstreamer.so here
3156 drops from 2193KB to 1565KB.
3158 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
3160 * plugins/elements/gsttypefindelement.h:
3161 * plugins/elements/gsttypefindelement.c:
3162 (gst_type_find_element_src_event), (start_typefinding),
3163 (stop_typefinding), (gst_type_find_element_handle_event),
3164 (gst_type_find_element_chain),
3165 (gst_type_find_element_chain_do_typefinding):
3166 Use gst_type_find_helper_for_buffer() for chain-based
3169 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
3171 * plugins/elements/gsttypefindelement.c:
3172 (gst_type_find_element_class_init),
3173 (gst_type_find_element_set_property),
3174 (gst_type_find_element_get_property):
3175 Deprecate "maximum" property (not only was it only taken into
3176 account for typefinding in push-mode anyway, it also was never
3177 actually possible to set it in the first place because the
3178 property was registered with the numeric property ID for the
3179 "minimum" property). Register "maximum" property correctly,
3180 for the sake of future copy'n'pasters. Remove some cruft
3181 from property get/set functions.
3183 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
3185 * plugins/elements/gsttypefindelement.c:
3186 (gst_type_find_element_activate):
3187 Use gst_type_find_helper_get_range() here, so we
3188 can honour the "minimum" property and also emit
3189 the signal with the correct probability of the found caps.
3191 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
3193 * docs/libs/gstreamer-libs-sections.txt:
3194 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3195 (helper_find_suggest), (gst_type_find_helper_get_range),
3196 (gst_type_find_helper):
3197 * libs/gst/base/gsttypefindhelper.h:
3198 New API: gst_type_find_helper_get_range() (#333042).
3200 2006-03-02 Michael Smith <msmith@fluendo.com>
3202 * gst/gstregistryxml.c: (load_feature):
3203 Asserting on a failure to read part of the registry is Not Cool.
3204 Just log a warning and return NULL (which is already handled)
3206 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
3208 * win32/common/libgstbase.def:
3209 added export of gst_type_find_helper_for_buffer
3210 * win32/common/libgstbase.def:
3211 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3212 gst_ghost_pad_get_target
3214 2006-02-28 Wim Taymans <wim@fluendo.com>
3216 * docs/design/draft-klass.txt:
3218 Added Connector to mark elements that are only used to
3219 allow pipeline connections.
3220 Moved Debug to extra feature since most of them are
3221 functionally something else.
3223 2006-02-28 Wim Taymans <wim@fluendo.com>
3225 * docs/design/draft-klass.txt:
3226 Some updates and clarifications.
3228 2006-02-28 Wim Taymans <wim@fluendo.com>
3230 * docs/design/draft-klass.txt:
3231 Proposal for klass field values.
3233 * docs/design/part-streams.txt:
3234 Start of a doc describing stream anatomy.
3236 2006-02-28 Wim Taymans <wim@fluendo.com>
3238 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3239 Help the compiler a bit with type registration.
3240 Use existing forward cod path instead of duplicating it when
3243 * gst/gstbus.c: (gst_bus_get_type):
3244 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3245 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3246 * gst/gstclock.c: (gst_clock_get_type):
3247 * gst/gstelement.c: (gst_element_get_type),
3248 * gst/gstelementfactory.c: (gst_element_factory_get_type):
3249 * gst/gstindexfactory.c: (gst_index_factory_get_type):
3250 * gst/gstminiobject.c: (gst_mini_object_get_type):
3251 * gst/gstpad.c: (gst_pad_get_type):
3252 * gst/gstsegment.c: (gst_segment_get_type):
3253 * gst/gststructure.c: (gst_structure_get_type):
3254 * gst/gstsystemclock.c: (gst_system_clock_get_type):
3255 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3257 Help compiler with type registration.
3259 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3262 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
3264 * plugins/elements/gsttypefindelement.c:
3265 (gst_type_find_element_handle_event):
3266 When we get an EOS event and have not found a type yet
3267 (most likely because we had not yet accumulated
3268 TYPE_FIND_MIN_SIZE of data yet), try to determine the
3269 type given the data we have so far. Fixes typefinding
3270 for very short streams again, most notably quicktime
3271 redirections as used on Apple's trailer site (#331701).
3273 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
3275 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3276 (gst_type_find_helper):
3277 Try typefinding factories with the highest rank first.
3279 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
3281 * docs/libs/gstreamer-libs-docs.sgml:
3282 * docs/libs/gstreamer-libs-sections.txt:
3283 * libs/gst/base/gsttypefindhelper.c:
3284 Add section for typefind helper and add documentation
3285 for the old and the new function.
3287 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
3289 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3290 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3291 (gst_type_find_helper_for_buffer):
3292 * libs/gst/base/gsttypefindhelper.h:
3293 New API: gst_type_find_helper_for_buffer() (#332723).
3295 2006-02-27 Michael Smith <msmith@fluendo.com>
3297 Patch by: Loïc Minier
3301 * docs/slides/Makefile.am:
3302 prevent CVS directories getting disted.
3304 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
3306 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3307 Use the REFCOUNTING category for caps refcounting.
3309 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
3311 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3312 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3314 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
3316 * plugins/elements/gsttypefindelement.c:
3317 (gst_type_find_element_activate):
3318 Use gst_pad_check_pull_range() before _activate_pull()
3319 to avoid unnecessary open/close (see #331690).
3321 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
3324 Docs enhancement: make it crystal clear what the
3325 gst_pad_add_*_probe() callbacks should look like.
3327 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
3329 * libs/gst/base/gstbasesrc.c:
3330 Document how applications can stop recording from
3331 live sources (see #330996).
3333 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
3335 * tests/check/Makefile.am:
3336 * tests/check/libs/basesrc.c: (eos_event_counter),
3337 (basesrc_eos_events_pull), (basesrc_eos_events_push),
3338 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3339 (gst_basesrc_suite), (main):
3340 ... and add some tests for the base source EOS stuff.
3342 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
3344 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3345 Test case originally showed the problem fixed below,
3346 but was then amended. Add checks back at the place
3347 where they used to be.
3349 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
3351 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3352 (gst_base_src_init), (gst_base_src_loop),
3353 (gst_base_src_activate_push), (gst_base_src_activate_pull),
3354 (gst_base_src_change_state):
3355 * libs/gst/base/gstbasesrc.h:
3356 Don't unconditionally send EOS when going from PAUSED to
3357 READY state, esp. make sure we don't send two EOS events
3358 in some cases (e.g. one when reaching EOS and one when
3359 going from PAUSED to READY). Also, we don't want to send
3360 EOS events when operating in pull mode. However, we do
3361 want to send an EOS event when shutting down a live
3362 source explicitly, for example (fixes #330996).
3364 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
3366 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3367 Update src->read_position after a seek when not using mmap.
3368 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3370 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
3376 Make things work with --disable-parse as they do with
3377 --disable-load-save - the symbols involved disappear, but the
3378 header is still installed and GST_DISABLE_PARSE is included via
3381 2006-02-20 Julien MOUTTE <julien@moutte.net>
3383 * libs/gst/base/gstbasetransform.c:
3384 (gst_base_transform_change_state): Fix a stupid bug. I was
3385 sure I compiled that.
3387 2006-02-20 Julien MOUTTE <julien@moutte.net>
3389 * gst/gstpad.c: (gst_pad_set_blocked_async):
3390 * gst/gstutils.c: (gst_pad_add_data_probe),
3391 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3392 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3393 (gst_pad_remove_buffer_probe): Make those function act on the
3394 ghostpad target when it's a ghostpad. (Closes #331727)
3396 2006-02-20 Julien MOUTTE <julien@moutte.net>
3398 * libs/gst/base/gstbasetransform.c:
3399 (gst_base_transform_change_state): Make basetransform reusable.
3402 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
3404 * docs/random/release:
3405 Move the current documentation of how to do a release to the top
3408 * gst/gstbin.c: (gst_bin_class_init),
3409 (gst_bin_handle_message_func):
3410 Allow multiple state-recalculation threads. (Closes #328873)
3412 2006-02-19 Julien MOUTTE <julien@moutte.net>
3414 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3415 * gst/gstpad.c: (gst_pad_set_event_function),
3416 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3417 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3418 2 strings. You can't use the STR_NULL macro on that.
3420 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
3422 * gst/gstpad.c: (gst_pad_set_event_function),
3423 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3424 (gst_pad_set_getcaps_function)
3425 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3426 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3427 So now, we can use --gst-debug-level=5 on Windows
3428 * win32/common/libgstcontroller.def:
3429 Added export of gst_controller_init
3430 * win32/vs6/libgstcontroller.dsp:
3431 Fixed Release post build configuration
3433 2006-02-17 Wim Taymans <wim@fluendo.com>
3435 * tests/check/gst/gstquery.c: (GST_START_TEST):
3436 Added another check.
3438 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
3440 * plugins/elements/gsttypefindelement.c: (find_peek):
3441 We can do peeks at non-zero offsets, as long as they
3442 fall within the buffer we have.
3444 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
3446 * tests/check/Makefile.am:
3447 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3448 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3449 (parse_suite), (main):
3450 Add testsuite for parse launch syntax
3452 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
3454 * plugins/elements/gsttypefindelement.c:
3455 (gst_type_find_element_chain):
3456 When typefinding is unsuccessful in the chain function, don't
3457 error out immediately. Only error out with NO_CAPS_FOUND if
3458 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3459 otherwise simply wait for more data so we can try typefinding
3460 again with more data later. Also, don't attempt to typefind
3461 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3462 this should improve typefinding from network sources where the
3463 size of the first buffer can be somewhat random.
3465 2006-02-14 Wim Taymans <wim@fluendo.com>
3467 * docs/gst/gstreamer-sections.txt:
3468 * gst/gstpadtemplate.c:
3469 * gst/gstpadtemplate.h:
3470 Fix padtemplate docs, fixes #328805.
3472 2006-02-14 Wim Taymans <wim@fluendo.com>
3474 * tools/gst-launch.c: (main):
3475 NO_PREROLL is not an ERROR so don't send confusing messages
3478 2006-02-14 Wim Taymans <wim@fluendo.com>
3480 Patch by: Torsten Schoenfeld
3482 * gst/gstregistry.c: (gst_registry_get_default),
3483 (_gst_registry_cleanup):
3484 Protect default registry with lock and ref/sink it.
3487 2006-02-14 Wim Taymans <wim@fluendo.com>
3490 * gst/gstquery.c: (gst_query_list_add_format),
3491 (gst_query_set_formatsv), (gst_query_parse_formats_length),
3492 (gst_query_parse_formats_nth):
3493 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3496 2006-02-14 Wim Taymans <wim@fluendo.com>
3498 * docs/gst/gstreamer-sections.txt:
3499 Reworked query docs.
3501 * gst/gstquery.c: (gst_query_new_formats),
3502 (gst_query_list_add_format), (gst_query_set_formats),
3503 (gst_query_set_formatsv), (gst_query_parse_formats_length),
3504 (gst_query_parse_formats_nth):
3506 Flesh out formats query, added some new methods.
3507 Fix part of #324398.
3509 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3510 Added query creation tests.
3512 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
3514 * gst/gstpad.c: (fixate_value):
3515 Add a default fixation for fraction lists.
3517 2006-02-13 Wim Taymans <wim@fluendo.com>
3519 * gst/gsttask.c: (gst_task_init), (gst_task_func),
3520 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3523 Detect and warn for obvious deadlocks. fixes #320340
3524 Fix error case where lock was not released.
3526 * tests/check/Makefile.am:
3527 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3528 (task_func), (gst_element_suite), (main):
3531 2006-02-13 Wim Taymans <wim@fluendo.com>
3533 * docs/gst/gstreamer-sections.txt:
3535 Add new functions to docs.
3537 2006-02-13 Wim Taymans <wim@fluendo.com>
3539 * docs/design/part-TODO.txt:
3540 Updated TODO list, basesrc supports seeking to non-bytes
3543 * docs/design/part-element-sink.txt:
3546 * gst/gstbin.c: (bin_replace_message),
3547 (gst_bin_handle_message_func):
3548 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3549 * gst/gstevent.c: (gst_event_finalize):
3550 * gst/gstpad.c: (gst_pad_event_default_dispatch),
3551 (gst_pad_send_event):
3552 Use shiny new _TYPE_NAME macros.
3554 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3555 Move debug statement up.
3557 * gst/gstelement.c: (gst_element_set_locked_state):
3560 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
3562 * docs/gst/gstreamer-sections.txt:
3565 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3566 macros (#330906). Also, document the already existing
3567 GST_QUERY_TYPE macro.
3569 2006-02-13 Wim Taymans <wim@fluendo.com>
3571 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3572 (event_probe), (GST_START_TEST):
3573 Only events up to the pipeline EOS are counted, there are
3574 some more when going to NULL currently which we don't care
3577 2006-02-13 Wim Taymans <wim@fluendo.com>
3579 * gst/gstpad.c: (gst_pad_send_event):
3580 Correctly check flushing and emit probes. fixes #330125
3582 2006-02-10 Andy Wingo <wingo@pobox.com>
3584 * gst/gstbus.c (gst_bus_class_init): Declare our private data
3586 (gst_bus_init): Cache the location of the private data in the
3588 (gst_bus_enable_sync_message_emission)
3589 (gst_bus_disable_sync_message_emission): Implement new public
3591 (gst_bus_post): Emit the sync-message signal if the user asked for
3594 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3595 location of the bus-private structure.
3596 (gst_bus_enable_sync_message_emission)
3597 (gst_bus_disable_sync_message_emission): API addition
3599 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
3601 Patch by: Vincent Torri
3603 * docs/pwg/building-boiler.xml:
3604 PWG patch from #326800
3606 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
3610 * docs/design/Makefile.am:
3613 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
3618 === release 0.10.3 ===
3620 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
3623 releasing 0.10.3, "Like a virgin"
3625 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
3628 2nd prerelease of 0.10.3
3629 Bump libtool versioning.
3631 2006-02-07 Andy Wingo <wingo@pobox.com>
3633 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3634 update last_stop if we're in TIME format and the timestamp is
3637 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
3638 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
3639 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3640 If we get a new newsegment with a different format, adapt
3643 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3644 of 0. Not a problem, really.
3646 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3649 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
3654 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
3657 project files updated to the default vs7 configuration
3658 * win32/common/libgstbase.def:
3659 * win32/common/libgstreamer.def:
3661 removed empty lines,
3662 sorted all exported symbols alphabetically
3663 * win32/common/dirent.c:
3664 * win32/common/dirent.h:
3665 * win32/common/gchar.h:
3666 use windows line end.
3668 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
3670 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3671 Send EOS event when stopping.
3673 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
3676 Tell folks what to do if the plugin-foobar.xml file
3677 hasn't been generated for a newly-added plugin.
3679 2006-02-05 Julien MOUTTE <julien@moutte.net>
3681 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3682 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3683 (gst_collect_pads_start), (gst_collect_pads_stop),
3684 (gst_collect_pads_event): Collectpads now holds a reference
3685 to the GstPad that was added. Indeed we don't want to look
3686 at pads that might just go away with no warning...
3688 2006-02-05 Julien MOUTTE <julien@moutte.net>
3690 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3691 (gst_collect_pads_start), (gst_collect_pads_stop),
3692 (gst_collect_pads_event), (gst_collect_pads_chain):
3693 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3694 Mark Nauwelaerts's patch on bug #328491.
3696 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
3698 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3700 Add some simple tests for gst_parse_bin_from_description() and
3701 gst_bin_find_unconnected_pad() (#329069).
3703 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
3705 * tools/gst-launch.c: (event_loop), (main):
3706 Catch errors during preroll (#320084).
3708 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
3710 * plugins/elements/gsttypefindelement.c:
3711 (gst_type_find_element_activate):
3712 Post TYPE_NOT_FOUND error message when typefinding
3713 is unsuccessful in the activate function as well.
3715 2006-02-02 Wim Taymans <wim@fluendo.com>
3717 * docs/design/part-element-sink.txt:
3720 2006-02-02 Wim Taymans <wim@fluendo.com>
3722 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3723 (gst_base_sink_render_object),
3724 (gst_base_sink_queue_object_unlocked):
3725 Only keep track of prerollable items when we are
3727 Before rendering after preroll, always check if we
3729 Added some more debugging.
3731 2006-02-02 Wim Taymans <wim@fluendo.com>
3733 * gst/gstelement.c: (gst_element_continue_state),
3734 (gst_element_set_state_func), (gst_element_change_state):
3735 Fixed #326576, been running this for quite some time with
3736 no regressions at all.
3738 2006-02-02 Wim Taymans <wim@fluendo.com>
3741 Added more suppressions
3743 2006-02-02 Wim Taymans <wim@fluendo.com>
3745 * docs/design/part-element-sink.txt:
3748 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3749 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3750 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3751 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3752 (gst_base_sink_do_sync), (gst_base_sink_render_object),
3753 (gst_base_sink_preroll_object),
3754 (gst_base_sink_queue_object_unlocked),
3755 (gst_base_sink_queue_object), (gst_base_sink_event),
3756 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3757 (gst_base_sink_loop), (gst_base_sink_activate_pull),
3758 (gst_base_sink_get_position), (gst_base_sink_change_state):
3759 * libs/gst/base/gstbasesink.h:
3760 Totally refactored matching the design doc.
3761 Use two segments, one to clip incomming buffers and another to
3763 Handle queueing correctly, bypass the queue when playing.
3764 Make EOS cancelable.
3765 Handle errors correctly when operating in pull based mode.
3767 * tests/check/elements/fakesink.c: (GST_START_TEST),
3769 Added new check for sinks.
3771 2006-02-02 Wim Taymans <wim@fluendo.com>
3773 * gst/gstsegment.c: (gst_segment_clip):
3774 No reason to refuse to clip when start == -1
3776 2006-02-02 Stefan Kost <ensonic@users.sf.net>
3779 * docs/manual/intro-basics.xml:
3780 * docs/manual/intro-preface.xml:
3781 * docs/manual/manual.xml:
3782 * docs/pwg/advanced-dparams.xml:
3783 * docs/pwg/intro-basics.xml:
3784 * docs/pwg/intro-preface.xml:
3786 describe dparams (controller) for plugins
3787 unify docs a little more
3789 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
3791 * docs/gst/gstreamer-sections.txt:
3792 * gst/gstutils.c: (element_find_unconnected_pad),
3793 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3795 Add new API: gst_parse_bin_from_description() and
3796 gst_bin_find_unconnected_pad() (#329069).
3798 2006-02-01 Stefan Kost <ensonic@users.sf.net>
3800 * docs/manual/README:
3801 uncover a nasty detail of the docs build
3803 2006-01-31 Wim Taymans <wim@fluendo.com>
3805 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3806 Don't cache duration messages if we're not going to use or
3809 2006-01-31 Stefan Kost <ensonic@users.sf.net>
3811 * docs/manual/advanced-dparams.xml:
3812 * docs/pwg/advanced-dparams.xml:
3816 * libs/gst/controller/lib.c: (gst_controller_init):
3819 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
3821 * gst/gstelement.c: (gst_element_message_full):
3822 also show file/line/func if no additional debug was given
3824 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
3826 * win32/vs7/grammar.vcproj:
3827 activate copy of autogenerated files for Release mode
3829 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
3831 * win32/common/libgstreamer.def:
3832 export gst_value_compare
3834 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
3836 * plugins/elements/Makefile.am:
3837 * plugins/elements/gstelements.c:
3838 * plugins/elements/gstfdsink.c: (_do_init),
3839 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3840 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3841 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3842 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3843 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3844 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3845 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3846 * plugins/elements/gstfdsink.h:
3847 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3849 2006-01-30 Stefan Kost <ensonic@users.sf.net>
3851 * docs/manual/advanced-dparams.xml:
3853 * docs/manual/advanced-position.xml:
3854 * docs/manual/basics-init.xml:
3855 * docs/manual/manual.xml:
3856 * docs/manual/titlepage.xml:
3858 * docs/pwg/titlepage.xml:
3859 cleanup xml (more to come)
3860 * libs/gst/controller/gstcontroller.c:
3863 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
3865 * win32/vs6/grammar.dsp:
3866 add autogen of gstmarshal.c,h for Release mode
3868 2006-01-30 Wim Taymans <wim@fluendo.com>
3870 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3871 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3872 (gst_base_sink_handle_object), (gst_base_sink_event),
3873 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3874 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3875 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3876 (gst_base_sink_deactivate), (gst_base_sink_activate),
3877 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3878 (gst_base_sink_query), (gst_base_sink_change_state):
3879 Basesink cleanups, remove some old code.
3880 Handle the case where a subclass can preroll in the render
3881 method (mostly audiosinks).
3883 Remove some locks around variables that are now protected
3884 with the PREROLL_LOCK (clock_id, flushing, ..).
3885 Optimize position query some more, do correct locking.
3886 Remove old code to push queue in state change, this is not
3887 needed anymore since preroll blocks on all prerollable items
3889 Almost implemented as described in design doc.
3891 2006-01-30 Wim Taymans <wim@fluendo.com>
3893 * tests/check/gst/gstbin.c: (GST_START_TEST):
3894 Wait for refcount to settle down before checking.
3896 2006-01-30 Wim Taymans <wim@fluendo.com>
3898 * docs/design/part-element-sink.txt:
3899 Pseudo code overview of desired sink behaviour regarding
3902 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3903 * win32/vs6/grammar.dsp:
3904 fix some bugs in Release mode for autogenerated files
3906 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3907 * win32/common/libgstbase.def:
3908 * win32/common/libgstreamer.def:
3909 export some new symbols: gst_base_src_set_format,
3910 gst_iterator_next, gst_structure_set_valist
3912 2006-01-29 Julien MOUTTE <julien@moutte.net>
3914 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3915 Set pad functions unconditionally. Fixes #329105.
3917 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
3919 add vs8 project files created by Sergey Scobich
3921 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
3923 * gst/gstutils.c: (gst_element_unlink_pads):
3924 Don't leak pad references.
3926 * tests/check/elements/fakesink.c: (GST_START_TEST):
3927 * tests/check/generic/sinks.c: (GST_START_TEST):
3928 * tests/check/generic/states.c: (GST_START_TEST):
3929 * tests/check/gst/gstbin.c: (GST_START_TEST):
3930 * tests/check/gst/gstcaps.c: (GST_START_TEST):
3931 * tests/check/gst/gstelement.c: (GST_START_TEST):
3932 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3933 * tests/check/gst/gstiterator.c: (GST_START_TEST):
3934 * tests/check/gst/gstvalue.c: (GST_START_TEST):
3935 Fix a bunch of leaks. Make generic/sinks.c
3936 use a bit less cpu by slowing the buffer rate
3937 between fakesrc and fakesink.
3939 2006-01-27 Stefan Kost <ensonic@users.sf.net>
3941 * gst/gstelement.c: (gst_element_send_event):
3944 * gst/gstiterator.c:
3945 * gst/gstiterator.h:
3946 * gst/gstpad.c: (gst_pad_send_event):
3947 * gst/gststructure.c:
3951 * libs/gst/base/gstadapter.c:
3952 doc fixes, to link to function, just write gst_cool_function(), don't
3955 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3957 * plugins/elements/gsttee.c: (gst_tee_do_push),
3958 (gst_tee_handle_buffer):
3959 Always prefer an actual return value from a src
3960 pad in place of NOT_LINKED. This means we return
3961 WRONG_STATE when all src pads are WRONG_STATE
3962 instead of NOT_LINKED.
3964 Lock when replacing the last message to prevent
3965 racing with the get_property method.
3969 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3971 * tests/check/Makefile.am:
3972 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3974 Add a very simple check that should have caught the memleak I fixed
3975 last night (if not for the slice allocator hiding it)
3977 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
3979 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3980 (gst_bin_remove_func), (gst_bin_handle_message_func),
3981 (bin_query_duration_fold), (bin_query_generic_fold):
3982 Clean up references to the clock provider when disposed or when
3983 handling a clock-lost message from it.
3985 Unref sinks when performing a query via gst_iterator_fold, as the
3986 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3988 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3989 (gst_clock_set_master):
3990 Drop our reference to the master clock, if any, when we are disposed.
3992 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3993 Chain up in dispose.
3995 2006-01-26 Wim Taymans <wim@fluendo.com>
3997 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4000 2006-01-26 Julien MOUTTE <julien@moutte.net>
4002 * plugins/elements/gsttee.c: (gst_tee_do_push),
4003 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4004 handles pad being NOT_LINKED or in WRONG_STATE.
4006 2006-01-26 Stefan Kost <ensonic@users.sf.net>
4011 2006-01-26 Stefan Kost <ensonic@users.sf.net>
4014 remove obsolete entry
4016 2006-01-26 Stefan Kost <ensonic@users.sf.net>
4018 * docs/gst/gstreamer-sections.txt:
4019 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4020 (gst_bin_iterate_sources), (gst_bin_send_event):
4022 * gst/gstelement.c: (gst_element_send_event):
4024 * gst/gstpad.c: (gst_pad_send_event):
4025 added code for downstream events, reviewed docs in gstevent.c
4027 2006-01-25 Julien MOUTTE <julien@moutte.net>
4029 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4030 We only query position using the clock in the playing state.
4031 Query peer in the other cases.
4032 * win32/common/config.h: Updates.
4034 2006-01-24 Wim Taymans <wim@fluendo.com>
4036 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4037 A clock entry that is scheduled for the exact time of the
4038 clock is still in time.
4040 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4041 (gst_base_sink_do_sync):
4042 Add some more debug info.
4044 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
4047 Add new vs7 project files and solution.
4049 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
4052 all files removed as they were out-dated.
4054 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
4056 * docs/random/release:
4058 * gst/gstbin.c: (gst_bin_init):
4059 * gst/gstbus.c: (gst_bus_new):
4061 * gst/gstpipeline.c: (gst_pipeline_init):
4062 use gst_bus_new(), improve logging, fix docs
4063 * win32/common/config.h:
4064 update for cvs build
4066 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
4069 up required version of automake to 1.7
4071 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
4073 * win32/common/libgstreamer.def:
4074 export gst_buffer_is_metadata_writable
4076 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
4078 * docs/gst/gstreamer-sections.txt:
4080 Add gst_event_replace() (#327001)
4082 2006-01-20 Wim Taymans <wim@fluendo.com>
4084 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4085 Make it actually compile too..
4087 2006-01-20 Wim Taymans <wim@fluendo.com>
4090 Clarify behaviour of _is_equal() when passing NULL parameters.
4092 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4094 Cleanups. Don't unref NULL caps.
4095 When setting the same caps, protect caps of the pad with
4097 Use full functionality of _is_equal() when comparing caps.
4099 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
4101 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4102 Don't loop infinitely if there are no buffers to present. Partially
4103 fixes #327197, but collectpads is just broken for reusing elements
4104 to do multiple encodes atm.
4106 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
4108 * tools/gst-inspect.c: (print_element_features):
4109 * tools/gst-xmlinspect.c: (main):
4110 URL_HANDLER is not a plugin feature we can search for in
4113 2006-01-19 Edward Hervey <edward@fluendo.com>
4115 * gst/gstelement.c: (gst_element_pads_activate):
4116 When activating, do src pads first, then sink pads.
4117 When de-activating, do sink pads first, then src pads.
4119 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
4121 * docs/gst/gstreamer-sections.txt:
4122 Add gst_index_add_associationv to the docs
4124 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
4129 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4130 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4131 Do some refactoring. Doesn't actually change functionality,
4132 but makes landing the DRAIN event easier later.
4134 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
4136 * docs/pwg/advanced-scheduling.xml:
4137 Update from 0.9.x to 0.10 API and make example a bit
4140 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
4142 * docs/gst/gstreamer-sections.txt:
4143 Add gst_buffer_(is|make)_metadata_writable methods.
4145 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
4147 * docs/design/part-sparsestreams.txt:
4148 Update sparse streams doc, hopefully for greater clarity
4150 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
4152 * docs/design/part-events.txt:
4153 Remove mention of FILLER events.
4156 * docs/design/part-sparsestreams.txt:
4157 Write some things about using NEWSEGMENT to keep sparse streams
4160 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
4162 * gst/gstbin.c: (gst_bin_dispose):
4163 Guard gst_object_unref call against a NULL object (dispose
4164 can theoretically be called multiple times).
4166 2006-01-18 Wim Taymans <wim@fluendo.com>
4168 * gst/gstbin.c: (gst_bin_element_set_state):
4169 * gst/gstclock.c: (gst_clock_id_wait):
4170 Added some more debug info.
4172 * libs/gst/base/gstadapter.c:
4175 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4176 (gst_base_sink_do_sync), (gst_base_sink_chain):
4177 Added some comments.
4179 2006-01-18 Wim Taymans <wim@fluendo.com>
4181 * tests/check/Makefile.am:
4182 * tests/check/elements/fakesink.c: (chain_async_buffer),
4183 (chain_async), (chain_async_return), (GST_START_TEST),
4184 (fakesink_suite), (main):
4185 Added fakesink test that checks prerolling and clipping
4188 * tests/check/gst/gstutils.c: (GST_START_TEST):
4189 Make check run faster so that buildbots don't timeout.
4191 2006-01-18 Wim Taymans <wim@fluendo.com>
4193 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4194 (gst_base_sink_do_sync):
4196 When the sink finishes blocking on the preroll buffer, it can
4197 immediatly render it instead of rendering when the next buffer
4200 2006-01-18 Wim Taymans <wim@fluendo.com>
4202 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4203 (gst_base_sink_get_property), (gst_base_sink_do_sync),
4204 (gst_base_sink_chain):
4206 GST_ELEMENT_CLOCK and sync are protected with LOCK.
4207 Don't store _last_stop if the buffer is dropped.
4209 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
4211 * plugins/elements/gsttypefindelement.c:
4212 (gst_type_find_element_class_init):
4213 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4214 object method handler that sets the caps on the pad and we want
4215 that to happen before we emit the signal (fixes e.g. feeding a
4216 plain text file to decodebin).
4218 2006-01-18 Christian Schaller <Christian@fluendo.com>
4220 * gst/gstplugin.c: Add MPL and Proprietary as license options
4222 2006-01-18 Andy Wingo <wingo@pobox.com>
4224 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4225 symbol was exported before, it appears this was just an oversight.
4227 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4229 * gst/gstindex.c (gst_index_add_associationv): Changed int in
4230 prototype to gint. OK since this prototype was not in the header.
4232 2006-01-17 Andy Wingo <wingo@pobox.com>
4234 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4235 registry while we remove plugins.
4237 * tools/gst-inspect.c (print_element_info): Don't unref the
4238 factory arg, that should be the responsibility of whatever code
4239 received the ref. Fixes a double-free when called from
4240 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4241 (main): Unref the factory if we have one.
4242 (print_element_list): No change -- relies on the
4243 plugin_feature_list_free to free the list of features.
4245 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
4247 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4248 (gst_buffer_make_metadata_writable):
4250 * libs/gst/base/gstbasetransform.c:
4251 (gst_base_transform_prepare_output_buf):
4252 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4253 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4254 Replace gst_buffer_(make|is)_metadata_writable patch now
4255 that the release is out.
4257 2006-01-17 Andy Wingo <wingo@pobox.com>
4259 * gst/gstregistry.c: Reflow design comment. Update so as to speak
4260 in the present tense without reference to versions.
4262 * gst/gstregistry.c (gst_registry_add_plugin)
4263 (gst_registry_remove_plugin, gst_registry_remove_feature)
4264 (gst_registry_find_feature, gst_registry_get_feature_list)
4265 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4266 (gst_registry_lookup, gst_registry_scan_path)
4267 (_gst_registry_remove_cache_plugins)
4268 (gst_registry_get_feature_list_by_plugin): Add argument
4271 === release 0.10.2 ===
4273 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
4276 releasing 0.10.2, "If man is five"
4278 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
4282 * libs/gst/base/gstbasetransform.c:
4283 (gst_base_transform_prepare_output_buf):
4284 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4285 * tests/check/gst/gstbuffer.c: (gst_test_suite):
4286 Back out patch until after the release.
4288 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
4290 * gst/gstminiobject.c:
4291 Spelling fix in docs.
4292 * ChangeLog - remove conflict indicator
4294 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
4296 Reviewed By: Andy Wingo
4298 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4299 (gst_buffer_make_metadata_writable):
4301 Add gst_buffer_(is|make)_metadata_writable as analogues of
4302 gst_buffer_(is|make)_writable.
4304 * libs/gst/base/gstbasetransform.c:
4305 (gst_base_transform_prepare_output_buf):
4306 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4307 Use name gst_buffer_(is|make)_metadata_writable functions.
4309 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4310 Test gst_buffer_(is|make)_metadata_writable
4314 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
4316 * docs/manual/Makefile.am:
4317 don't do parallel make
4320 * win32/common/config.h.in:
4321 add generations for HOST_CPU and GST_MAJORMINOR
4322 * win32/common/config.h:
4323 commit generated result
4325 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
4327 * docs/manual/appendix-integration.xml:
4328 Update GNOME integration section to use gst_init_get_option_group()
4329 instead of the old popt stuff (#322911). Also, GNOME applications
4330 should now use gconf*sink and gconf*src instead of the old gconf
4333 2006-01-13 Stefan Kost <ensonic@users.sf.net>
4336 * docs/gst/gstreamer-docs.sgml:
4337 * docs/gst/gstreamer-sections.txt:
4338 * docs/libs/gstreamer-libs-sections.txt:
4339 add new API entries to the docs
4340 * libs/gst/controller/Makefile.am:
4341 * libs/gst/controller/gstcontroller.c:
4342 * libs/gst/controller/gstcontroller.h:
4343 * libs/gst/controller/gstcontrollerprivate.h:
4344 * libs/gst/controller/gsthelper.c:
4345 * libs/gst/controller/gstinterpolation.c:
4346 move private structs to private header
4348 gstreamer-0.7 -> gstreamer-0.10
4349 * tests/check/libs/struct_i386.h:
4350 remove private structs
4352 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
4354 * plugins/indexers/Makefile.am:
4355 Fixes as part of #317048
4357 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
4359 * plugins/indexers/Makefile.am:
4360 fix #316086 - compilation when mmap is missing
4362 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
4364 * libs/gst/base/gstbasesink.c:
4365 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
4366 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4367 * win32/common/config.h:
4368 added some defines GST_MAJORMINOR and HOST_CPU
4369 * win32/common/libgstbase.def:
4370 * win32/common/libgstreamer.def:
4371 added some exported functions.
4373 2006-01-12 Stefan Kost <ensonic@users.sf.net>
4375 * libs/gst/controller/gstcontroller.c:
4376 (gst_controlled_property_set_interpolation_mode),
4377 (gst_controlled_property_new):
4378 * libs/gst/controller/gstcontroller.h:
4379 * libs/gst/controller/gstinterpolation.c:
4380 (interpolate_none_get_string_value_array):
4381 make G_TYPE_STRING controlable
4383 2006-01-12 Stefan Kost <ensonic@users.sf.net>
4386 * tools/gst-feedback.1.in:
4387 * tools/gst-inspect.1.in:
4388 * tools/gst-launch.1.in:
4389 * tools/gst-md5sum.1.in:
4390 * tools/gst-typefind.1.in:
4391 * tools/gst-xmlinspect.1.in:
4392 * tools/gst-xmllaunch.1.in:
4393 cleanup man-pages, remove reference to gst-register, document env-vars
4395 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
4397 * gst/gstbuffer.c: (gst_buffer_span):
4398 gst_buffer_span should copy the timestamp of the first buffer
4399 if they were both originally overlapping subbuffers of the
4400 same parent, using the same logic as the 'slow copy' case.
4402 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
4404 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4405 Need to awaken ALL the pads when we pop a buffer, otherwise
4406 collectpads only works when there is 2 input streams.
4408 2006-01-11 Stefan Kost <ensonic@users.sf.net>
4410 * docs/random/ensonic/media-device-daemon.txt:
4413 fix doc example, add clarification
4414 * tools/gst-launch.1.in:
4415 add initial info about GST_PLUGIN_PATH, needs more work
4417 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
4419 * docs/manual/basics-bins.xml:
4420 * docs/manual/basics-elements.xml:
4421 * docs/manual/intro-basics.xml:
4422 Some more minor docs additions and updates.
4424 2006-01-11 Wim Taymans <wim@fluendo.com>
4426 * docs/manual/basics-bins.xml:
4427 * docs/manual/basics-elements.xml:
4428 Some small fixes as pointed out by Ser-ver on IRC.
4430 2006-01-10 Edward Hervey <edward@fluendo.com>
4432 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4433 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4434 the single-segment mode.
4436 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
4438 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4440 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4441 (gst_base_src_perform_seek), (gst_base_src_send_event),
4442 (gst_base_src_set_property), (gst_base_src_get_property),
4443 (gst_base_src_loop), (gst_base_src_start),
4444 (gst_base_src_activate_push):
4445 * libs/gst/base/gstbasesrc.h:
4446 Name (private) union; makes Sun's Forte compiler happy (#324900).
4448 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
4451 gst-register is gone.
4453 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
4455 * gst/gstvalue.c: (_gst_value_initialize):
4456 make the G_TYPE_DATE instantiation work if debug is disabled
4458 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
4460 * gst/gstmessage.c: (gst_message_parse_tag),
4461 (gst_message_parse_error), (gst_message_parse_warning):
4462 Don't crash when return location for error/warning debug
4463 string is NULL; add fact that return locations can be
4464 NULL to docs where appropriate.
4466 2006-01-05 Wim Taymans <wim@fluendo.com>
4468 * gst/gstplugin.c: (gst_plugin_load_file):
4469 Replace strdup by g_strdup.
4471 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
4473 * docs/pwg/advanced-types.xml:
4476 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
4478 submitted by: Abel Cheung
4482 Added Chinese (traditional) translation
4484 2006-01-04 Wim Taymans <wim@fluendo.com>
4486 * docs/manual/basics-pads.xml:
4487 * docs/plugins/Makefile.am:
4488 * docs/plugins/gstreamer-plugins-docs.sgml:
4489 * docs/plugins/gstreamer-plugins-sections.txt:
4490 * docs/pwg/advanced-clock.xml:
4491 * docs/pwg/advanced-scheduling.xml:
4492 * docs/pwg/advanced-types.xml:
4493 * plugins/elements/gstfdsink.c:
4494 * plugins/elements/gstfdsrc.c:
4495 * plugins/elements/gstfdsrc.h:
4496 * plugins/elements/gstidentity.c: (gst_identity_class_init):
4497 * plugins/elements/gstidentity.h:
4498 * plugins/elements/gstqueue.h:
4499 * plugins/elements/gsttee.c:
4500 * plugins/elements/gsttee.h:
4501 * plugins/elements/gsttypefindelement.c:
4502 (gst_type_find_element_class_init):
4503 * plugins/elements/gsttypefindelement.h:
4504 Small updates to various docs.
4505 Added core plugins to docs.
4507 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
4510 add a suppression for liboil's uninitialized variable
4512 2006-01-02 James Livingston <jrl at ids dot org dot au>
4514 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4517 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4518 macro, so that gcc doesn't complain if the -Wmissing-prototypes
4519 compiler switch is being used (#325429).
4521 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
4523 * gst/gstbin.c: (gst_bin_query):
4524 Disable duration query caching in bins until it gets
4525 fixed (see #324807).
4527 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
4529 * tools/gst-inspect.c: (print_element_properties_info):
4530 Handle properties of POINTER and BOXED type.
4532 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
4534 * gst/gst.c: (init_post):
4535 Init tags stuff and some other things before loading
4536 any static plugins (there may be other static plugins
4537 than just the GStreamer ones, and they may want to
4538 register their own tags or formats or whatever, and
4539 preferably without segfaulting).
4541 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4542 Print at least a warning in the debug logs if we drop a
4543 query just because we don't know how to adjust the value
4544 in the particular format.
4546 2005-12-24 David Schleef <ds@schleef.org>
4548 * tools/gstreamer-completion:
4549 Replacement for gst-complete written in sh and sed. Only
4550 completes names of features, but that's 90% of what I want
4551 it for. Properties are not available in registry.xml. (Maybe
4554 === release 0.10.1 ===
4556 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
4559 releasing 0.10.1, "Nollaig chridheil"
4561 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
4564 Add missing quote, should be make ERROR_CFLAGS="".
4566 2005-12-20 Wim Taymans <wim@fluendo.com>
4568 * docs/design/part-trickmodes.txt:
4569 More documentation on trickmodes.
4571 2005-12-20 Edward Hervey <edward@fluendo.com>
4573 * gst/gstcaps.c: (gst_static_caps_get_type):
4575 API addition: GST_TYPE_STATIC_CAPS
4576 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4577 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4578 * gst/gstpadtemplate.h:
4579 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4580 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4583 2005-12-18 Wim Taymans <wim@fluendo.com>
4585 * libs/gst/base/gstadapter.c:
4586 * libs/gst/base/gstadapter.h:
4587 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4588 (gst_base_sink_get_position):
4589 * libs/gst/base/gstbasesink.h:
4590 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4591 (gst_base_src_default_query), (gst_base_src_default_do_seek),
4592 (gst_base_src_do_seek), (gst_base_src_perform_seek),
4593 (gst_base_src_send_event), (gst_base_src_update_length),
4594 (gst_base_src_get_range), (gst_base_src_loop),
4595 (gst_base_src_start):
4596 * libs/gst/base/gstbasesrc.h:
4597 * libs/gst/base/gstbasetransform.h:
4598 * libs/gst/base/gstcollectpads.h:
4599 * libs/gst/base/gstpushsrc.c:
4600 * libs/gst/base/gstpushsrc.h:
4601 * libs/gst/dataprotocol/dataprotocol.c:
4602 * libs/gst/dataprotocol/dataprotocol.h:
4603 * libs/gst/net/gstnetclientclock.h:
4604 * libs/gst/net/gstnettimeprovider.h:
4605 Documentation updates.
4607 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
4609 * docs/manual/basics-helloworld.xml:
4610 Remove superfluous closing bracket in helloworld example.
4612 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
4614 * tools/gst-launch.1.in:
4615 Update gst-launch man page; add a section with useful
4616 environment variables. Fixes #323882.
4618 2005-12-16 Stefan Kost <ensonic@users.sf.net>
4621 * gst/gst_private.h:
4622 change some char* into char[]
4624 2005-12-16 Wim Taymans <wim@fluendo.com>
4626 * gst/gstregistryxml.c: (load_feature):
4628 Don't use g_object_unref on GstObjects so that we avoid
4629 leaks on unsafe glibs.
4631 2005-12-16 Wim Taymans <wim@fluendo.com>
4633 * gst/gstbin.c: (gst_bin_recalc_state):
4636 2005-12-16 Wim Taymans <wim@fluendo.com>
4639 Added make forever target for check.
4641 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
4643 * gst/gst.c: (init_post):
4644 make the registry cache file HOST_CPU-dependent
4646 2005-12-16 Andy Wingo <wingo@pobox.com>
4648 * plugins/elements/gstbufferstore.c
4649 (gst_buffer_store_cleared_func): Pay attention to g_list_append
4652 * tests/check/gst/gstobject.c
4653 (test_fake_object_name_threaded_unique): Pay attention to
4654 g_list_sort return value.
4656 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
4658 * tools/gst-feedback-m.m:
4659 Update for 0.9/0.10 (fixes #323870).
4661 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
4663 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4664 Fix lcopy for mini objects, the mini object needs to be ref'ed.
4666 * tests/check/gst/gstminiobject.c: (my_foo_init),
4667 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4668 (test_value_collection), (gst_mini_object_suite):
4669 Add test to ensure refcounts end up as expected when passing
4670 GstMiniObjects through g_object_get() and g_object_set().
4672 2005-12-14 Julien MOUTTE <julien@moutte.net>
4674 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4675 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4676 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4677 of collectpads. This version removes a lot of races without
4678 touching API/ABI. Yay !
4680 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
4682 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4683 Don't allow activation of a srcpad in pull_range if it has no
4685 Change some debug statements to be a little clearer
4687 * plugins/elements/gsttypefindelement.c:
4688 (gst_type_find_handle_src_query):
4689 Check that we have a peer before executing queries thereupon.
4691 * tests/examples/metadata/read-metadata.c: (message_loop):
4692 Use gst_bus_pop instead of gst_bus_poll when we just want it to
4693 immediately return us any available message with 0 timeout.
4695 2005-12-12 Michael Smith <msmith@fluendo.com>
4697 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4698 Don't unref factories after calling them.
4699 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4700 * plugins/elements/gsttypefindelement.c:
4701 (gst_type_find_element_chain):
4702 Free lists of factories after using them. Fixing typefinding memory
4705 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4707 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4708 (gst_plugin_feature_load):
4709 more meaningful debug output
4711 * tests/Makefile.am:
4712 * tests/old/examples/Makefile.am:
4713 make make distcheck happy again
4715 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
4717 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4718 Catch the special case where we are operating chain-based,
4719 but the downstream peer pad has no chain function. Emit a
4720 custom error message in this case instead of letting the
4721 core generate one implying that this is some sort of core
4722 bug. It's not, it just means that whatever got plugged
4723 into the pipeline downstream when we announced the type
4724 can only operate pull-based, while our source can only
4725 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4726 Error string has not been marked for translation yet, as
4727 it probably needs some more work first.
4729 (gst_type_find_element_get_best_possibility):
4730 Add helper function to find the best of all available
4731 found possibilities that qualify given the min. threshold.
4733 (gst_type_find_element_handle_event):
4734 Fix the case where we get an EOS while still in TYPEFIND
4735 mode (we want to chose the best of all possible types,
4736 not just the first type that happens to be in our unsorted
4737 list of possible types).
4739 (gst_type_find_element_chain):
4740 Make sure we return GST_FLOW_ERROR when we errored out
4741 in stop_typefinding(); also, don't just find the best of
4742 all found type entries and then use the last examined
4743 type entry, but actually use the best entry.
4745 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
4747 * tests/examples/typefind/typefind.c: (type_found):
4748 * tests/examples/xml/runxml.c: (xml_loaded):
4749 More gcc4 fixes and a mem leak fix.
4751 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4753 * tests/examples/xml/createxml.c: (object_saved):
4756 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4758 * tests/Makefile.am:
4759 enable the examples even more
4761 2005-12-12 Andy Wingo <wingo@pobox.com>
4763 * libs/gst/net/gstnettimeprovider.c
4764 (gst_net_time_provider_class_init, gst_net_time_provider_init)
4765 (gst_net_time_provider_set_property)
4766 (gst_net_time_provider_get_property):
4767 API addition: Export "active" as a GObject property.
4768 (gst_net_time_provider_thread): Only respond to time queries if
4769 the time provider is active.
4771 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4772 NetTimeProvider, preserving binary compat.
4774 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4776 * tests/examples/controller/audio-example.c: (main):
4777 * tests/examples/launch/Makefile.am:
4778 convert comments again
4780 2005-12-12 Wim Taymans <wim@fluendo.com>
4782 * libs/gst/base/gstpushsrc.c:
4785 2005-12-12 Wim Taymans <wim@fluendo.com>
4787 * docs/libs/gstreamer-libs-sections.txt:
4788 Added new symbol to docs.
4790 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4791 (gst_base_src_init), (gst_base_src_set_format),
4792 (gst_base_src_default_query), (gst_base_src_query),
4793 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4794 (gst_base_src_perform_seek), (gst_base_src_send_event),
4795 (gst_base_src_default_event), (gst_base_src_event_handler),
4796 (gst_base_src_set_property), (gst_base_src_get_property),
4797 (gst_base_src_wait), (gst_base_src_do_sync),
4798 (gst_base_src_update_length), (gst_base_src_get_range),
4799 (gst_base_src_check_get_range), (gst_base_src_loop),
4800 (gst_base_src_default_negotiate), (gst_base_src_start),
4801 (gst_base_src_activate_push), (gst_base_src_activate_pull),
4802 (gst_base_src_change_state):
4803 * libs/gst/base/gstbasesrc.h:
4804 Implement seeking to other formats than _BYTES.
4805 Implement more seeking methods correctly.
4807 Added query vmethod.
4808 Added do_seek vmethod to make life easier for subclasses
4810 API addition: gst_base_src_set_format()
4812 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4814 * tests/examples/Makefile.am:
4817 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4820 * docs/random/ensonic/media-device-daemon.txt:
4821 * tests/examples/controller/.cvsignore:
4822 * tests/examples/controller/Makefile.am:
4823 * tests/examples/controller/audio-example.c: (main):
4824 * tests/examples/helloworld/.cvsignore:
4825 * tests/examples/helloworld/Makefile.am:
4826 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4827 * tests/examples/launch/.cvsignore:
4828 * tests/examples/launch/Makefile.am:
4829 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4830 * tests/examples/metadata/.cvsignore:
4831 * tests/examples/metadata/Makefile.am:
4832 * tests/examples/metadata/read-metadata.c: (message_loop),
4833 (make_pipeline), (print_tag), (main):
4834 * tests/examples/queue/.cvsignore:
4835 * tests/examples/queue/Makefile.am:
4836 * tests/examples/queue/queue.c: (event_loop), (main):
4837 * tests/examples/typefind/.cvsignore:
4838 * tests/examples/typefind/Makefile.am:
4839 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4841 * tests/examples/xml/.cvsignore:
4842 * tests/examples/xml/Makefile.am:
4843 * tests/examples/xml/createxml.c: (object_saved), (main):
4844 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4845 * tests/old/examples/Makefile.am:
4846 * tests/old/examples/TODO:
4847 * tests/old/examples/controller/.cvsignore:
4848 * tests/old/examples/controller/Makefile.am:
4849 * tests/old/examples/controller/audio-example.c:
4850 * tests/old/examples/helloworld/.cvsignore:
4851 * tests/old/examples/helloworld/Makefile.am:
4852 * tests/old/examples/helloworld/helloworld.c:
4853 * tests/old/examples/launch/.cvsignore:
4854 * tests/old/examples/launch/Makefile.am:
4855 * tests/old/examples/launch/mp3parselaunch.c:
4856 * tests/old/examples/launch/mp3play:
4857 * tests/old/examples/manual/Makefile.am:
4858 * tests/old/examples/metadata/Makefile.am:
4859 * tests/old/examples/metadata/read-metadata.c:
4860 * tests/old/examples/queue/.cvsignore:
4861 * tests/old/examples/queue/Makefile.am:
4862 * tests/old/examples/queue/queue.c:
4863 * tests/old/examples/typefind/.cvsignore:
4864 * tests/old/examples/typefind/Makefile.am:
4865 * tests/old/examples/typefind/typefind.c:
4866 * tests/old/examples/xml/.cvsignore:
4867 * tests/old/examples/xml/Makefile.am:
4868 * tests/old/examples/xml/createxml.c:
4869 * tests/old/examples/xml/runxml.c:
4870 applied some simple fixing to some examples
4871 re-enabled the working examples
4873 2005-12-12 Wim Taymans <wim@fluendo.com>
4875 * gst/gstsegment.c: (gst_segment_init),
4876 (gst_segment_set_last_stop), (gst_segment_set_seek),
4877 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4878 (gst_segment_to_running_time):
4879 Added more documentation.
4880 Make sure the last_pos value is updated properly.
4881 Make sure to_stream_time and to_running_time don't
4882 operate on wrong values.
4884 * tests/check/gst/gstsegment.c: (GST_START_TEST):
4887 2005-12-12 Michael Smith <msmith@fluendo.com>
4889 * plugins/elements/gsttypefindelement.c: (free_entry),
4890 (gst_type_find_element_chain):
4891 Now that we're not leaking factories, make sure we keep references
4892 to them while we need them.
4894 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
4896 * tests/check/gst/struct_i386.h:
4897 ifdef out the XML structs
4899 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
4901 * gst/gstvalue.c: (gst_value_transform_double_fraction):
4902 floor is not needed, F is always positive; this obviates the
4903 need for adding -lm when building without libxml
4905 2005-12-12 Wim Taymans <wim@fluendo.com>
4907 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4908 Take current playback rate into account when reporting
4911 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4913 * docs/manual/mime-world.fig:
4914 Let's try this again, this time with a file that is
4915 actually in XFig format.
4917 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4919 * docs/manual/mime-world.fig:
4920 Add audioconvert element to diagram so that it
4921 matches the text and the code (fixes #319526).
4923 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4925 * docs/pwg/building-chainfn.xml:
4926 * docs/pwg/building-pads.xml:
4927 * docs/pwg/building-state.xml:
4928 * docs/pwg/other-source.xml:
4929 Update state change stuff for 0.10 (fixes #322969).
4931 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4933 * docs/manual/advanced-dataaccess.xml:
4934 * docs/manual/appendix-checklist.xml:
4935 * docs/manual/appendix-programs.xml:
4936 * docs/manual/basics-pads.xml:
4937 * docs/manual/highlevel-components.xml:
4938 * docs/manual/manual.xml:
4939 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4940 add converters in front of pipelines; remove curly
4941 brackets for threads stuff, they no longer exist; use
4942 GST_TYPE_FRACTION for framerates; update some pieces of
4943 code to 0.10, but there's plenty more to do.
4945 * docs/manual/appendix-porting.xml:
4946 Expand on asynchroneous state changes; s/0.9/0.10/;
4947 mention disappearance of gst_init_get_popt_table()
4950 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
4952 * docs/faq/using.xml:
4953 Spider no longer exists, and neither does gst-launch-ext.
4954 Update examples to use decodebin and playbin and put
4955 converters in front of sinks (fixes #323726).
4957 2005-12-09 Michael Smith <msmith@fluendo.com>
4959 * plugins/elements/gsttypefindelement.c: (find_peek),
4960 (gst_type_find_element_chain):
4961 Fix leaking element factories in typefinding.
4962 Fix problem where we forgot about a probable type on non-seekable
4963 files, and thus later mis-typefound it.
4965 2005-12-09 Michael Smith <msmith@fluendo.com>
4967 * common/m4/gst-makecontext.m4:
4968 * common/m4/gst-mcsc.m4:
4970 * win32/common/config.h:
4971 * win32/common/config.h.in:
4972 Remove makecontext stuff; not used in 0.10 and causes problems on
4973 HPUX according to bug #322441
4975 2005-12-07 Wim Taymans <wim@fluendo.com>
4977 * tests/check/Makefile.am:
4978 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4980 * tests/check/libs/struct_i386.h:
4981 Added ABI check for libs
4983 2005-12-07 Wim Taymans <wim@fluendo.com>
4985 * tests/check/Makefile.am:
4986 And add the struct_i386.h to dist.
4988 2005-12-07 Wim Taymans <wim@fluendo.com>
4990 * tests/check/Makefile.am:
4991 * tests/check/gst/.cvsignore:
4992 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4994 * tests/check/gst/struct_i386.h:
4995 Added check for ABI compatibility.
4997 2005-12-07 Wim Taymans <wim@fluendo.com>
4999 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5000 (gst_fake_src_get_times), (gst_fake_src_create):
5001 Fix broken sync option, fixes #323259
5003 2005-12-07 Wim Taymans <wim@fluendo.com>
5008 * gst/gstcaps.c: (gst_caps_is_equal):
5009 Don't assert on NULL <--> X. Fixes #323260
5011 * gst/gstminiobject.c: (gst_mini_object_replace):
5012 If we're doing atomic operations, we might just as well use
5013 the proper way to get an atomic pointer.
5015 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5018 2005-12-07 Michael Smith <msmith@fluendo.com>
5020 * gst/parse/grammar.y:
5021 Remove handling of { } for threads.
5023 2005-12-06 David Schleef <ds@schleef.org>
5025 * libs/gst/base/gstbasetransform.c: speling fix.
5027 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
5029 * docs/libs/tmpl/gstdataprotocol.sgml:
5030 * docs/random/omega/testing/gstobject.c:
5034 * gst/gstelementfactory.c:
5037 * gst/gstghostpad.c:
5039 * gst/gstpadtemplate.c:
5040 * gst/gstregistryxml.c:
5042 * gst/gsttagsetter.c:
5043 * gst/gsttypefind.c:
5045 * libs/gst/base/gstbasesrc.c:
5046 * libs/gst/net/gstnetclientclock.c:
5047 * libs/gst/net/gstnettimeprovider.c:
5048 * plugins/elements/gstfakesrc.c:
5049 * plugins/elements/gstfdsrc.c:
5050 * plugins/elements/gstfilesrc.c:
5051 * plugins/elements/gstidentity.c:
5052 * plugins/elements/gstqueue.c:
5053 * plugins/elements/gsttypefindelement.c:
5054 * plugins/indexers/gstfileindex.c:
5055 * plugins/indexers/gstmemindex.c:
5056 * tests/check/gst/gsttag.c:
5057 * tests/old/examples/cutter/cutter.c:
5058 * tests/old/examples/mixer/mixer.c:
5059 * tests/old/examples/xml/runxml.c: (main):
5060 * tests/old/testsuite/caps/normalisation.c:
5061 * tests/old/testsuite/debug/global.c:
5062 * tests/old/testsuite/parse/parse1.c:
5063 * tools/gst-xmlinspect.c:
5064 * win32/common/dirent.c:
5067 === release 0.10.0 ===
5069 2005-12-05 <thomas (at) apestaart (dot) org>
5072 releasing 0.10.0, "Maroilles"
5074 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
5076 submitted by: Funda Wang <fundawang@linux.net.cn>
5080 added Chinese (Traditional) translation
5082 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
5084 * docs/gst/gstreamer-sections.txt:
5085 * docs/libs/tmpl/gstdataprotocol.sgml:
5086 * docs/random/thomasvs/TODO:
5091 2005-12-05 Andy Wingo <wingo@pobox.com>
5093 patch by: Wim Taymans <wim@fluendo.com>
5095 * libs/gst/base/gstbasetransform.c
5096 (gst_base_transform_prepare_output_buf)
5097 (gst_base_transform_buffer_alloc):
5098 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5099 alloc_buffer_and_set_caps.
5101 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5102 set_caps on the source pad.
5103 (gst_pad_alloc_buffer_and_set_caps): New function, does what
5104 alloc_buffer used to do. Fixes #322874.
5106 * docs/gst/gstreamer-sections.txt:
5107 * docs/design/part-negotiation.txt:
5108 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5111 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
5113 patch by: Sebastien Moutte
5116 * win32/common/config.h.in:
5117 * win32/vs6/libgstcontroller.dsp:
5120 2005-12-05 Wim Taymans <wim@fluendo.com>
5122 * gst/gstcaps.c: (gst_caps_is_equal):
5123 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5124 (gst_fake_src_create):
5125 Back out previous code changes, leave doc updates, file bugs
5128 2005-12-05 Wim Taymans <wim@fluendo.com>
5130 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5131 (gst_fake_src_get_times), (gst_fake_src_create):
5132 * plugins/elements/gstfakesrc.h:
5133 Fix broken sync code.
5135 2005-12-05 Wim Taymans <wim@fluendo.com>
5137 * gst/gstcaps.c: (gst_caps_is_equal):
5138 Comparing NULL against !NULL yields different caps, not a
5141 2005-12-05 Wim Taymans <wim@fluendo.com>
5143 * gst/gstpipeline.c:
5144 Fix small typo in docs.
5146 2005-12-05 Andy Wingo <wingo@pobox.com>
5148 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
5150 * gst/gst.c (init_post): remove hard-coded 0.9 location for
5151 registries/plugins with a MAJORMINOR one.
5152 (plugin_desc): Rename library from gstcoreleements to
5153 staticelements. Fixes #323222.
5155 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
5157 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5158 Change debug category to 'collectpads' from 'collect_pads'
5161 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
5163 patch by: Sebastien Moutte
5165 * libs/gst/controller/gstinterpolation.c:
5166 use convert function for uint64/double
5167 * win32/vs6/libgstcontroller.dsp:
5170 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
5172 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5173 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5175 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5176 add tests that seem to show that the guint64/gdouble conversions
5179 2005-12-02 Wim Taymans <wim@fluendo.com>
5181 * gst/gstregistry.c: (gst_registry_add_path):
5182 * gst/gstregistry.h:
5183 * gst/gstregistryxml.c:
5186 2005-12-02 Wim Taymans <wim@fluendo.com>
5188 * gst/gstutils.c: (gst_util_uint64_scale_int64),
5189 (gst_util_uint64_scale_int):
5192 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5195 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5198 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
5201 * win32/common/config.h:
5202 * win32/vs6/gstreamer.dsw:
5203 * win32/vs6/libgstcoreelements.dsp:
5204 * win32/vs6/libgstelements.dsp:
5205 renamed core elements plugin
5207 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
5209 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5211 do piece-wise major/minor comparison so 0.9 < 0.10
5212 also allow .exe extensions for tools
5214 2005-12-02 Michael Smith <msmith@fluendo.com>
5217 Escape a % to make gtkdoc happier; bug 322958.
5219 === release 0.9.7 ===
5221 2005-12-01 <thomas (at) apestaart (dot) org>
5224 releasing 0.9.7, "My Dog Has No Nose"
5226 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5228 * common/gst-xmlinspect.py:
5230 * docs/libs/tmpl/gstdataprotocol.sgml:
5231 * docs/random/release:
5250 * win32/common/config.h:
5251 * win32/common/config.h.in:
5252 * win32/vs6/gst_inspect.dsp:
5253 * win32/vs6/gst_launch.dsp:
5254 * win32/vs6/libgstbase.dsp:
5255 * win32/vs6/libgstelements.dsp:
5256 * win32/vs6/libgstreamer.dsp:
5257 * win32/vs7/GStreamer.vcproj:
5258 * win32/vs7/gst-inspect.vcproj:
5259 * win32/vs7/gst-launch.vcproj:
5260 * win32/vs7/libgstbase.vcproj:
5261 bump GST_MAJORMINOR to 0.10
5262 reset libtool version
5264 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5268 Added Bulgarian translation by (Alexander Shopov)
5270 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5272 * tests/check/gst/gstplugin.c:
5275 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5277 * common/gst-xmlinspect.py:
5278 * common/gtk-doc-plugins.mak:
5281 * docs/gst/Makefile.am:
5282 * docs/gst/gstreamer-docs.sgml:
5283 * docs/gst/gstreamer-sections.txt:
5284 * docs/gst/gstreamer.types:
5285 * docs/gst/gstreamer.types.in:
5286 * docs/plugins/Makefile.am:
5287 * docs/plugins/gstreamer-plugins-docs.sgml:
5288 * docs/plugins/gstreamer-plugins-sections.txt:
5289 * docs/plugins/gstreamer-plugins.types:
5290 * docs/plugins/inspect.stamp:
5291 * docs/plugins/inspect/plugin-coreelements.xml:
5292 * docs/plugins/inspect/plugin-coreindexers.xml:
5293 * docs/plugins/scanobj-build.stamp:
5294 * gstreamer.spec.in:
5295 * plugins/elements/Makefile.am:
5296 * plugins/elements/gstelements.c:
5297 * plugins/elements/gstfakesink.c:
5298 * plugins/elements/gstfakesrc.c:
5299 * plugins/elements/gstfilesink.c:
5300 * plugins/elements/gstfilesrc.c:
5301 * plugins/elements/gstqueue.c:
5302 * plugins/indexers/Makefile.am:
5303 * plugins/indexers/gstindexers.c:
5304 document core plugins in a separate document just like all the
5306 rename these plugins to something starting with core
5308 2005-12-01 Andy Wingo <wingo@pobox.com>
5310 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5311 padding here before, but it missed the commit.
5313 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
5315 * libs/gst/controller/gstinterpolation.c:
5316 whitespace prices have crashed, we should feel free to use some now
5317 use gst_guint64_to_gdouble
5319 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
5321 * libs/gst/controller/gstcontroller.c:
5322 * libs/gst/controller/gsthelper.c:
5323 * libs/gst/controller/gstinterpolation.c:
5324 * libs/gst/controller/lib.c:
5325 wrap config.h include
5327 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
5329 * docs/gst/gstreamer-sections.txt:
5332 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
5334 * plugins/elements/gstelements.c:
5335 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5336 (gst_fd_sink__class_init), (gst_fd_sink__init),
5337 (gst_fd_sink__chain), (gst_fd_sink__set_property),
5338 (gst_fd_sink__get_property):
5339 * plugins/elements/gstfdsink.h:
5340 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5341 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5342 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5343 (gst_fd_src_unlock), (gst_fd_src_set_property),
5344 (gst_fd_src_get_property), (gst_fd_src_create),
5345 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5346 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5347 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5348 (gst_fd_src_uri_handler_init):
5349 * plugins/elements/gstfdsrc.h:
5350 * plugins/elements/gstqueue.c: (gst_queue_get_type):
5353 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5355 * docs/gst/Makefile.am:
5356 * docs/gst/gstreamer.types.in:
5360 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5366 * gst/gstregistry.h:
5367 * tests/benchmarks/complexity.c:
5368 * tests/benchmarks/mass-elements.c:
5369 * tests/check/Makefile.am:
5370 * tools/Makefile.am:
5371 * tools/gst-inspect.c:
5372 * tools/gst-xmlinspect.c:
5373 various fixes to make
5374 --disable-nls --disable-registry --disable-loadsave
5375 --disable-parse --disable-gst-debug
5376 work and get the core .so down to 360444 bytes after stripping
5378 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5383 * docs/random/thomasvs/TODO:
5384 * tests/Makefile.am:
5388 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5390 * win32/GStreamer.vcproj:
5393 * win32/Makefile.inspect:
5394 * win32/Makefile.launch:
5395 * win32/Makefile.register:
5397 * win32/gst-inspect.vcproj:
5398 * win32/gst-launch.vcproj:
5399 * win32/gst-register.vcproj:
5400 * win32/gstelements.vcproj:
5401 * win32/gstgetbits.def:
5402 * win32/gstgetbits.vcproj:
5403 * win32/gstreamer-dbg.def:
5404 * win32/gstreamer.def:
5405 * win32/libgstbase.def:
5406 * win32/libgstbase.vcproj:
5407 * win32/link_oldruntime.c:
5412 move even more stuff, win32/ is nice and clean now
5414 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5416 * libs/gst/control/.cvsignore:
5421 * win32/gstbytestream.def:
5422 * win32/gstbytestream.vcproj:
5423 * win32/gstconfig.h:
5424 * win32/gstenumtypes.c:
5425 * win32/gstenumtypes.h:
5426 * win32/gstoptimalscheduler.vcproj:
5427 * win32/gstversion.h:
5429 * win32/testsuite/bins.vcproj:
5430 * win32/testsuite/bytestream.vcproj:
5431 * win32/testsuite/caps.vcproj:
5432 * win32/testsuite/cleanup.vcproj:
5433 * win32/testsuite/clock.vcproj:
5434 * win32/testsuite/debug.vcproj:
5435 * win32/testsuite/dlopen.vcproj:
5436 * win32/testsuite/dynparams.vcproj:
5437 * win32/testsuite/elements.vcproj:
5438 * win32/testsuite/ghostpads.vcproj:
5439 * win32/testsuite/indexers.vcproj:
5440 * win32/testsuite/negotiation.vcproj:
5441 * win32/testsuite/parse.vcproj:
5442 * win32/testsuite/plugin.vcproj:
5443 * win32/testsuite/refcounting.vcproj:
5444 * win32/testsuite/schedulers.vcproj:
5445 * win32/testsuite/states.vcproj:
5446 * win32/testsuite/tags.vcproj:
5447 * win32/testsuite/threads.vcproj:
5448 remove old win32 stuff that isn't maintained and should be
5451 2005-11-30 Andy Wingo <wingo@pobox.com>
5453 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5454 loading the gst.interfaces python module bork.
5456 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5457 available since GLib 2.2. Fixes #318031.
5459 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5463 * check/Makefile.am:
5464 * check/elements/.cvsignore:
5465 * check/elements/fakesrc.c:
5466 * check/elements/fdsrc.c:
5467 * check/elements/identity.c:
5468 * check/generic/.cvsignore:
5469 * check/generic/states.c:
5470 * check/gst-libs/.cvsignore:
5471 * check/gst-libs/controller.c:
5472 * check/gst-libs/gdp.c:
5473 * check/gst/.cvsignore:
5474 * check/gst/capslist.h:
5476 * check/gst/gstbin.c:
5477 * check/gst/gstbuffer.c:
5478 * check/gst/gstbus.c:
5479 * check/gst/gstcaps.c:
5480 * check/gst/gstelement.c:
5481 * check/gst/gstevent.c:
5482 * check/gst/gstghostpad.c:
5483 * check/gst/gstiterator.c:
5484 * check/gst/gstmessage.c:
5485 * check/gst/gstminiobject.c:
5486 * check/gst/gstobject.c:
5487 * check/gst/gstpad.c:
5488 * check/gst/gstpipeline.c:
5489 * check/gst/gstplugin.c:
5490 * check/gst/gstsegment.c:
5491 * check/gst/gststructure.c:
5492 * check/gst/gstsystemclock.c:
5493 * check/gst/gsttag.c:
5494 * check/gst/gstutils.c:
5495 * check/gst/gstvalue.c:
5496 * check/net/.cvsignore:
5497 * check/net/gstnetclientclock.c:
5498 * check/net/gstnettimeprovider.c:
5499 * check/pipelines/.cvsignore:
5500 * check/pipelines/cleanup.c:
5501 * check/pipelines/simple_launch_lines.c:
5502 * check/pipelines/stress.c:
5503 * check/states/.cvsignore:
5504 * check/states/sinks.c:
5506 * examples/Makefile.am:
5507 * examples/appreader/.cvsignore:
5508 * examples/appreader/Makefile.am:
5509 * examples/appreader/appreader.c:
5510 * examples/controller/.cvsignore:
5511 * examples/controller/Makefile.am:
5512 * examples/controller/audio-example.c:
5513 * examples/cutter/.cvsignore:
5514 * examples/cutter/Makefile.am:
5515 * examples/cutter/cutter.c:
5516 * examples/cutter/cutter.h:
5517 * examples/events/Makefile.am:
5518 * examples/events/seek.c:
5519 * examples/helloworld/.cvsignore:
5520 * examples/helloworld/Makefile.am:
5521 * examples/helloworld/helloworld.c:
5522 * examples/helloworld2/.cvsignore:
5523 * examples/helloworld2/Makefile.am:
5524 * examples/helloworld2/helloworld2.c:
5525 * examples/launch/.cvsignore:
5526 * examples/launch/Makefile.am:
5527 * examples/launch/mp3parselaunch.c:
5528 * examples/launch/mp3play:
5529 * examples/manual/.cvsignore:
5530 * examples/manual/Makefile.am:
5531 * examples/manual/extract.pl:
5532 * examples/metadata/Makefile.am:
5533 * examples/metadata/read-metadata.c:
5534 * examples/mixer/.cvsignore:
5535 * examples/mixer/Makefile.am:
5536 * examples/mixer/mixer.c:
5537 * examples/mixer/mixer.h:
5538 * examples/pingpong/.cvsignore:
5539 * examples/pingpong/Makefile.am:
5540 * examples/pingpong/pingpong.c:
5541 * examples/plugins/.cvsignore:
5542 * examples/plugins/Makefile.am:
5543 * examples/plugins/example.c:
5544 * examples/plugins/example.h:
5545 * examples/pwg/.cvsignore:
5546 * examples/pwg/Makefile.am:
5547 * examples/pwg/extract.pl:
5548 * examples/queue/.cvsignore:
5549 * examples/queue/Makefile.am:
5550 * examples/queue/queue.c:
5551 * examples/queue2/.cvsignore:
5552 * examples/queue2/Makefile.am:
5553 * examples/queue2/queue2.c:
5554 * examples/queue3/.cvsignore:
5555 * examples/queue3/Makefile.am:
5556 * examples/queue3/queue3.c:
5557 * examples/queue4/.cvsignore:
5558 * examples/queue4/Makefile.am:
5559 * examples/queue4/queue4.c:
5560 * examples/retag/.cvsignore:
5561 * examples/retag/Makefile.am:
5562 * examples/retag/retag.c:
5563 * examples/retag/transcode.c:
5564 * examples/thread/.cvsignore:
5565 * examples/thread/Makefile.am:
5566 * examples/thread/thread.c:
5567 * examples/typefind/.cvsignore:
5568 * examples/typefind/Makefile.am:
5569 * examples/typefind/typefind.c:
5570 * examples/xml/.cvsignore:
5571 * examples/xml/Makefile.am:
5572 * examples/xml/createxml.c:
5573 * examples/xml/runxml.c:
5574 * tests/Makefile.am:
5575 * tests/check/Makefile.am:
5576 * testsuite/.cvsignore:
5577 * testsuite/Makefile.am:
5579 * testsuite/caps/.cvsignore:
5580 * testsuite/caps/Makefile.am:
5581 * testsuite/caps/app_fixate.c:
5582 * testsuite/caps/audioscale.c:
5583 * testsuite/caps/caps.c:
5584 * testsuite/caps/caps.h:
5585 * testsuite/caps/caps_strings:
5586 * testsuite/caps/compatibility.c:
5587 * testsuite/caps/deserialize.c:
5588 * testsuite/caps/enumcaps.c:
5589 * testsuite/caps/eratosthenes.c:
5590 * testsuite/caps/filtercaps.c:
5591 * testsuite/caps/fixed.c:
5592 * testsuite/caps/fraction-convert.c:
5593 * testsuite/caps/fraction-multiply-and-zero.c:
5594 * testsuite/caps/intersect2.c:
5595 * testsuite/caps/intersection.c:
5596 * testsuite/caps/normalisation.c:
5597 * testsuite/caps/random.c:
5598 * testsuite/caps/renegotiate.c:
5599 * testsuite/caps/sets.c:
5600 * testsuite/caps/simplify.c:
5601 * testsuite/caps/string-conversions.c:
5602 * testsuite/caps/structure.c:
5603 * testsuite/caps/subtract.c:
5604 * testsuite/caps/union.c:
5605 * testsuite/debug/.cvsignore:
5606 * testsuite/debug/Makefile.am:
5607 * testsuite/debug/category.c:
5608 * testsuite/debug/commandline.c:
5609 * testsuite/debug/global.c:
5610 * testsuite/debug/output.c:
5611 * testsuite/debug/printf_extension.c:
5612 * testsuite/dlopen/.cvsignore:
5613 * testsuite/dlopen/Makefile.am:
5614 * testsuite/dlopen/dlopen_gst.c:
5615 * testsuite/dlopen/loadgst.c:
5616 * testsuite/elements/.cvsignore:
5617 * testsuite/elements/Makefile.am:
5618 * testsuite/elements/gst-inspect-check.in:
5619 * testsuite/elements/struct_i386.h:
5620 * testsuite/elements/struct_size.c:
5621 * testsuite/indexers/.cvsignore:
5622 * testsuite/indexers/Makefile.am:
5623 * testsuite/indexers/cache1.c:
5624 * testsuite/indexers/indexdump.c:
5625 * testsuite/parse/.cvsignore:
5626 * testsuite/parse/Makefile.am:
5627 * testsuite/parse/parse1.c:
5628 * testsuite/parse/parse2.c:
5629 * testsuite/plugin/.cvsignore:
5630 * testsuite/plugin/Makefile.am:
5631 * testsuite/plugin/README:
5632 * testsuite/plugin/dynamic.c:
5633 * testsuite/plugin/linked.c:
5634 * testsuite/plugin/loading.c:
5635 * testsuite/plugin/registry.c:
5636 * testsuite/plugin/static.c:
5637 * testsuite/plugin/static2.c:
5638 * testsuite/plugin/testplugin.c:
5639 * testsuite/plugin/testplugin2.c:
5640 * testsuite/plugin/testplugin2_s.c:
5641 * testsuite/plugin/testplugin_s.c:
5642 * testsuite/refcounting/.cvsignore:
5643 * testsuite/refcounting/Makefile.am:
5644 * testsuite/refcounting/bin.c:
5645 * testsuite/refcounting/element.c:
5646 * testsuite/refcounting/element_pad.c:
5647 * testsuite/refcounting/mainloop.c:
5648 * testsuite/refcounting/mem.c:
5649 * testsuite/refcounting/mem.h:
5650 * testsuite/refcounting/object.c:
5651 * testsuite/refcounting/pad.c:
5652 * testsuite/refcounting/sched.c:
5653 * testsuite/refcounting/thread.c:
5654 * testsuite/states/.cvsignore:
5655 * testsuite/states/Makefile.am:
5656 * testsuite/states/bin.c:
5657 * testsuite/states/locked.c:
5658 * testsuite/states/parent.c:
5659 * testsuite/threads/.cvsignore:
5660 * testsuite/threads/159566.c:
5661 * testsuite/threads/159852.c:
5662 * testsuite/threads/Makefile.am:
5663 * testsuite/threads/queue.c:
5664 * testsuite/threads/signals.c:
5665 * testsuite/threads/staticrec.c:
5666 * testsuite/threads/thread.c:
5667 * testsuite/threads/threadb.c:
5668 * testsuite/threads/threadc.c:
5669 * testsuite/threads/threadd.c:
5670 * testsuite/threads/threade.c:
5671 * testsuite/threads/threadf.c:
5672 * testsuite/threads/threadg.c:
5673 * testsuite/threads/threadh.c:
5674 * testsuite/threads/threadi.c:
5675 move all of these under tests
5677 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5680 * tests/Makefile.am:
5683 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5685 * docs/gst/gstreamer-sections.txt:
5686 * tests/sched/.cvsignore:
5687 * tests/sched/Makefile.am:
5688 * tests/sched/cases/(fs-fs).xml:
5689 * tests/sched/cases/(fs-i-fs).xml:
5690 * tests/sched/cases/(fs-i-i-fs).xml:
5691 * tests/sched/cases/(fs-i-q[i-fs]).xml:
5692 * tests/sched/dynamic-pipeline.c:
5693 * tests/sched/interrupt1.c:
5694 * tests/sched/interrupt2.c:
5695 * tests/sched/interrupt3.c:
5696 * tests/sched/runtestcases:
5697 * tests/sched/runxml.c:
5698 * tests/sched/sched-stress.c:
5699 * tests/sched/sort.c:
5700 * tests/sched/testcases:
5701 * tests/sched/testcases1.tc:
5702 * tests/seeking/.cvsignore:
5703 * tests/seeking/Makefile.am:
5704 * tests/seeking/seeking1.c:
5705 * tests/threadstate/.cvsignore:
5706 * tests/threadstate/Makefile.am:
5707 * tests/threadstate/test1.c:
5708 * tests/threadstate/test2.c:
5709 * tests/threadstate/threadstate1.c:
5710 * tests/threadstate/threadstate2.c:
5711 * tests/threadstate/threadstate3.c:
5712 * tests/threadstate/threadstate4.c:
5713 * tests/threadstate/threadstate5.c:
5714 remove obsolete tests
5716 * tests/bench-complexity.scm:
5717 * tests/bench-mass_elements.scm:
5718 * tests/complexity.c:
5719 * tests/complexity.gnuplot:
5720 * tests/instantiate/.cvsignore:
5721 * tests/instantiate/Makefile.am:
5722 * tests/instantiate/caps.c:
5723 * tests/mass_elements.c:
5724 * tests/network-clock-utils.scm:
5725 * tests/network-clock.scm:
5727 First pass at cleaning up tests/ dir before moving the rest
5728 Combined with CVS surgery
5730 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5733 queue has moved, update
5735 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5737 * docs/gst/gstreamer-sections.txt:
5738 remove double entries from the docs
5739 * gst/gst_private.h:
5740 * gst/gstinfo.c: (_gst_debug_init):
5741 remove the THREAD debug category
5745 * docs/gst/gstreamer.types:
5746 * plugins/elements/gstqueue.c: (gst_queue_get_type),
5747 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5748 completely move queue and fix up debugging categories
5750 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5752 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5753 make initialization portable, using LL is not
5755 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5757 * win32/common/gstconfig.h:
5760 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5762 * win32/common/libgstreamer.def:
5763 rename symbols; sort base section
5765 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5767 * gst/gstclock.c: (do_linear_regression):
5768 remove crack non-portable handrolled DEBUG macro
5770 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5772 * docs/random/release:
5774 * win32/common/gstenumtypes.c: (register_gst_object_flags),
5775 (gst_object_flags_get_type), (register_gst_bin_flags),
5776 (gst_bin_flags_get_type), (register_gst_buffer_flag),
5777 (gst_buffer_flag_get_type), (register_gst_bus_flags),
5778 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5779 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5780 (gst_caps_flags_get_type), (register_gst_clock_return),
5781 (gst_clock_return_get_type), (register_gst_clock_entry_type),
5782 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5783 (gst_clock_flags_get_type), (register_gst_state),
5784 (gst_state_get_type), (register_gst_state_change_return),
5785 (gst_state_change_return_get_type), (register_gst_state_change),
5786 (gst_state_change_get_type), (register_gst_element_flags),
5787 (gst_element_flags_get_type), (register_gst_core_error),
5788 (gst_core_error_get_type), (register_gst_library_error),
5789 (gst_library_error_get_type), (register_gst_resource_error),
5790 (gst_resource_error_get_type), (register_gst_stream_error),
5791 (gst_stream_error_get_type), (register_gst_event_type_flags),
5792 (gst_event_type_flags_get_type), (register_gst_event_type),
5793 (gst_event_type_get_type), (register_gst_seek_type),
5794 (gst_seek_type_get_type), (register_gst_seek_flags),
5795 (gst_seek_flags_get_type), (register_gst_format),
5796 (gst_format_get_type), (register_gst_index_certainty),
5797 (gst_index_certainty_get_type), (register_gst_index_entry_type),
5798 (gst_index_entry_type_get_type),
5799 (register_gst_index_lookup_method),
5800 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5801 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5802 (gst_index_resolver_method_get_type), (register_gst_index_flags),
5803 (gst_index_flags_get_type), (register_gst_debug_level),
5804 (gst_debug_level_get_type), (register_gst_debug_color_flags),
5805 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5806 (gst_iterator_result_get_type), (register_gst_iterator_item),
5807 (gst_iterator_item_get_type), (register_gst_message_type),
5808 (gst_message_type_get_type), (register_gst_mini_object_flags),
5809 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5810 (gst_pad_link_return_get_type), (register_gst_flow_return),
5811 (gst_flow_return_get_type), (register_gst_activate_mode),
5812 (gst_activate_mode_get_type), (register_gst_pad_direction),
5813 (gst_pad_direction_get_type), (register_gst_pad_flags),
5814 (gst_pad_flags_get_type), (register_gst_pad_presence),
5815 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5816 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5817 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5818 (gst_plugin_error_get_type), (register_gst_plugin_flags),
5819 (gst_plugin_flags_get_type), (register_gst_rank),
5820 (gst_rank_get_type), (register_gst_query_type),
5821 (gst_query_type_get_type), (register_gst_tag_merge_mode),
5822 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5823 (gst_tag_flag_get_type), (register_gst_task_state),
5824 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5825 (gst_alloc_trace_flags_get_type),
5826 (register_gst_type_find_probability),
5827 (gst_type_find_probability_get_type), (register_gst_uri_type),
5828 (gst_uri_type_get_type), (register_gst_parse_error),
5829 (gst_parse_error_get_type):
5830 * win32/common/gstenumtypes.h:
5831 * win32/common/gstversion.h:
5832 update visual studio generated files
5834 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5836 * win32/vs6/libgstbase.dsp:
5837 * win32/vs6/libgstelements.dsp:
5838 update project files for new locations
5840 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
5845 reinstate and update
5850 * docs/random/LICENSE:
5853 2005-11-30 Edward Hervey <edward@fluendo.com>
5855 * gst/gsttypefind.c: (gst_type_find_register):
5856 * gst/gsttypefind.h:
5857 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5858 (gst_type_find_factory_dispose):
5859 * gst/gsttypefindfactory.h:
5860 Fix memory leak in GstTypeFindFactory.
5862 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5865 * plugins/elements/Makefile.am:
5866 * plugins/elements/gstelements.c:
5867 * plugins/elements/gstqueue.c:
5868 move queue from core to the elements plugin
5870 2005-11-29 Andy Wingo <wingo@pobox.com>
5872 * libs/gst/base/gstbasetransform.h:
5873 * libs/gst/base/gstbasesrc.h:
5874 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5876 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5877 of pointers by which to pad very extensible base classes (like the
5878 ones in libs/gst/base).
5880 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5882 * docs/gst/gstreamer-docs.sgml:
5883 * docs/gst/gstreamer-sections.txt:
5884 * docs/libs/gstreamer-libs-docs.sgml:
5885 * docs/libs/gstreamer-libs-sections.txt:
5886 moving documentation from core to lib
5888 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5890 * check/Makefile.am:
5892 * docs/gst/Makefile.am:
5894 * gst/base/.cvsignore:
5895 * gst/base/Makefile.am:
5897 * gst/base/gstadapter.c:
5898 * gst/base/gstadapter.h:
5899 * gst/base/gstbasesink.c:
5900 * gst/base/gstbasesink.h:
5901 * gst/base/gstbasesrc.c:
5902 * gst/base/gstbasesrc.h:
5903 * gst/base/gstbasetransform.c:
5904 * gst/base/gstbasetransform.h:
5905 * gst/base/gstcollectpads.c:
5906 * gst/base/gstcollectpads.h:
5907 * gst/base/gstpushsrc.c:
5908 * gst/base/gstpushsrc.h:
5909 * gst/base/gsttypefindhelper.c:
5910 * gst/base/gsttypefindhelper.h:
5911 * gst/check/Makefile.am:
5912 * gst/check/gstcheck.c:
5913 * gst/check/gstcheck.h:
5914 * gst/net/Makefile.am:
5916 * gst/net/gstnetclientclock.c:
5917 * gst/net/gstnetclientclock.h:
5918 * gst/net/gstnettimepacket.c:
5919 * gst/net/gstnettimepacket.h:
5920 * gst/net/gstnettimeprovider.c:
5921 * gst/net/gstnettimeprovider.h:
5922 * libs/gst/Makefile.am:
5923 * libs/gst/base/Makefile.am:
5924 * libs/gst/base/gstbasetransform.c:
5925 * libs/gst/check/Makefile.am:
5926 * plugins/elements/Makefile.am:
5928 CVS surgery + support to move base, check, and net out of gst
5931 2005-11-29 Andy Wingo <wingo@pobox.com>
5933 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5935 * gst/gststructure.h (struct _GstStructure): Only one pointer of
5938 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5940 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5942 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5944 * gst/gstobject.h: (struct _GstObject): Only one pointer of
5945 padding; reduces object size by about 30%. We don't expect
5946 anything else to go into gstobject.
5948 * gst/gstminiobject.h (struct _GstMiniObject)
5949 (struct _GstMiniObjectClass): Only one pointer of padding; the
5950 payload is only a pointer and two ints anyway. For the class there
5951 are only two methods as well.
5953 * gst/gstelement.h (struct _GstElementClass): Removed
5954 the state_changed signal callback, it is not used.
5956 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
5958 * docs/gst/gstreamer.types:
5959 fix includes, though they are a little dinky
5961 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5963 * check/Makefile.am:
5964 look in the right place for elements, a lot more chance of
5967 remove indexers and elements subdirs
5968 * plugins/Makefile.am:
5969 make indexers conditional
5971 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5975 * plugins/elements/Makefile.am:
5976 * plugins/elements/gstcapsfilter.c:
5977 * plugins/elements/gstfilesink.c:
5978 * plugins/elements/gstfilesrc.c:
5979 * plugins/elements/gstidentity.c:
5980 * plugins/indexers/Makefile.am:
5981 do CVS surgery and related build fixery to move elements
5982 and indexers in a new gstreamer/plugins directory, out of the
5985 2005-11-29 Andy Wingo <wingo@pobox.com>
5987 * check/Makefile.am:
5988 * pkgconfig/gstreamer-net-uninstalled.pc.in:
5989 * pkgconfig/gstreamer-net.pc.in:
5990 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5993 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
5995 * tools/Makefile.am:
5996 * tools/gst-complete.1.in:
5997 * tools/gst-complete.c:
5998 * tools/gst-compprep.1.in:
5999 * tools/gst-compprep.c:
6000 removing -compprep and -complete
6002 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
6004 * gst/gstevent.c: (gst_event_new_new_segment),
6005 (gst_event_parse_new_segment):
6007 fix #320529 - clean up new_segment API and structure.
6008 Let's hope everyone was using the methods, and not the structure.
6010 2005-11-29 Edward Hervey <edward@fluendo.com>
6012 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6013 (gst_base_sink_event), (gst_base_sink_do_sync),
6014 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6015 Properly handle non GST_FORMAT_TIME segment
6016 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6017 Properly handle non GST_FORMAT_TIME segment
6019 This function is valid if the accumulator is 0 and the format
6020 is different from the requested format.
6022 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
6024 * docs/gst/gstreamer-sections.txt:
6025 Add gst_query_new_seeking and gst_query_parse_seeking to the
6028 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
6030 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6031 Treat a pad alloc with new caps the same as if we were not
6032 negotiated, in order to allow a changing upstream output
6033 to produce a new format of data.
6035 2005-11-29 Edward Hervey <edward@fluendo.com>
6037 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6038 (gst_base_transform_event), (gst_base_transform_eventfunc):
6039 The event virtual method is now properly implemented, with a default
6041 Sub classes should call the parent_class event method. They should
6042 return FALSE if they had a problem handling the given event, or don't
6043 want GstBaseTransform to send that even downstream
6044 * gst/elements/gstidentity.c: (gst_identity_class_init),
6045 (gst_identity_init), (gst_identity_event),
6046 (gst_identity_transform_ip), (gst_identity_set_property),
6047 (gst_identity_get_property):
6048 * gst/elements/gstidentity.h:
6049 Added the single-segment boolean property.
6050 If set to TRUE, it will output a single segment of data, starting from
6051 0, will eat up all incoming newsegment, and modify the timestamp of the
6054 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
6056 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6057 Don't ref NULL target pad (#322751). Improve docs.
6059 2005-11-29 Michael Smith <msmith@fluendo.com>
6061 * gst/gstregistryxml.c: (load_plugin):
6062 Don't crash if we failed to load a feature from a plugin.
6064 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
6066 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6068 use more check API and less GLib API
6070 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
6073 don't run checks if we don't have check
6075 remove the registry when running make torture
6076 * docs/gst/gstreamer-sections.txt:
6077 remove second multiply
6078 * gst/gstqueue.c: (gst_queue_loop):
6079 fix a compile warning when disabling debug
6081 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
6084 Hey! Let's print the pad name if the pointer != NULL instead
6085 of when it == NULL :-)
6087 2005-11-28 Wim Taymans <wim@fluendo.com>
6089 * check/gst/gstutils.c: (GST_START_TEST):
6090 Updated check, add some scaling accuracy checking code.
6092 * gst/gstutils.c: (gst_util_div128_64),
6093 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6094 (gst_util_uint64_scale_int):
6095 Fix 6 times faster division code. Optimize for common
6096 1/1 and less common X/1 cases.
6098 2005-11-28 Wim Taymans <wim@fluendo.com>
6100 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6103 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6104 (do_linear_regression), (gst_clock_add_observation):
6106 Release lock when the clock cannot be slaved.
6107 Catch the case where the regression returned an invalid denominator.
6109 * gst/gstutils.c: (gst_util_div128_64_iterate),
6110 (gst_util_div128_64), (gst_util_uint64_scale_int64),
6111 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6112 Add protentially more performant non-iterative 128/64 divide function
6113 that unfortunatly does not work yet.
6114 Shortcut the trivial 0/X = 0 case.
6115 Remove the warnings on overflow.
6117 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
6119 * gst/gstplugin.c: (gst_plugin_register_func):
6120 everything causing a plugin not to load should be at least a WARNING
6122 2005-11-28 Stefan Kost <ensonic@users.sf.net>
6124 * docs/random/ensonic/dparams.txt:
6125 some TODOs for the next dev cycle
6126 * libs/gst/controller/gstcontroller.c:
6127 (gst_controlled_property_set_interpolation_mode),
6128 (gst_controlled_property_new):
6129 * libs/gst/controller/gstcontroller.h:
6130 use base type to assign acccessor functions
6132 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
6134 * check/Makefile.am:
6135 Oops, that should have been top_srcdir
6137 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
6139 * check/Makefile.am:
6140 * check/elements/fdsrc.c: (GST_START_TEST):
6141 Use a cmdline define to specify the location of a file to use for
6142 testing, to avoid breaking distcheck.
6144 2005-11-28 Andy Wingo <wingo@pobox.com>
6146 * gst/gstpad.c (fixate_value): Use array functions for arrays.
6148 2005-11-28 Edward Hervey <edward@fluendo.com>
6150 * tools/gst-launch.c: (main):
6151 Clarify the output strings, makes it easier to translate.
6154 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
6157 don't try and build net if we don't even have <sys/socket.h>
6159 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
6161 * check/Makefile.am:
6162 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6163 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6164 Add tests for fdsrc seekability
6166 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6167 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6168 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6169 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6170 * gst/elements/gstfdsrc.h:
6171 fdsrc should not be a 'live' source.
6172 Implement seeking on seekable fd's.
6174 * gst/gstquery.c: (gst_query_new_seeking),
6175 (gst_query_parse_seeking):
6177 Implement SEEKING query functions:
6178 *_new_seeking and *_parse_seeking
6180 2005-11-27 Stefan Kost <ensonic@users.sf.net>
6182 * gst/gstelement.c: (gst_element_dispose):
6185 * gst/gstiterator.c:
6186 * gst/gststructure.c:
6189 * libs/gst/controller/gstcontroller.c:
6190 (gst_controlled_property_set_interpolation_mode):
6191 * libs/gst/controller/gstcontroller.h:
6192 * libs/gst/controller/gstinterpolation.c:
6193 (interpolate_none_get_enum_value_array):
6194 support controlling enums
6196 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
6199 Improve documentation for gst_value_union().
6202 Change return value for union, intersect and subtract functions
6203 from gint to gboolean.
6205 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
6207 * gst/gstvalue.c: (gst_value_serialize_any_list),
6208 (gst_value_transform_any_list_string),
6209 (gst_value_deserialize_list), (gst_value_deserialize_array),
6210 (gst_value_set_int_range), (gst_value_deserialize_int_range),
6211 (gst_value_set_double_range), (gst_value_deserialize_double_range),
6212 (gst_value_set_fraction_range_full),
6213 (gst_value_deserialize_fraction_range),
6214 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6215 (gst_value_deserialize_boolean),
6216 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6217 (gst_value_serialize_float), (gst_value_deserialize_float),
6218 (gst_string_wrap), (gst_value_deserialize_string),
6219 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6220 (gst_value_union_int_range_int_range),
6221 (gst_value_intersect_int_range_int_range),
6222 (gst_value_intersect_double_range_double_range),
6223 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6224 (gst_value_subtract_int_range_int_range),
6225 (gst_value_subtract_double_double_range),
6226 (gst_value_subtract_double_range_double_range),
6227 (gst_value_deserialize_fraction):
6229 Use gint, gdouble and gchar in our API instead of int, double and
6230 char (and make usage in gstvalue.c more consistent).
6232 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
6234 * check/Makefile.am:
6235 * libs/gst/controller/Makefile.am:
6236 * libs/gst/dataprotocol/Makefile.am:
6237 fix up Makefile.am and remove GST_ENABLE_NEW
6239 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
6243 * gst/base/Makefile.am:
6244 * gst/check/Makefile.am:
6245 * gst/elements/Makefile.am:
6246 * gst/net/Makefile.am:
6247 update LDFLAGS use some more
6249 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
6251 * common/m4/gst-doc.m4:
6254 2005-11-26 Edward Hervey <edward@fluendo.com>
6256 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6257 This shouldn't issue a g_warning since it returns NULL if it
6258 couldn't find the plugin, and all functions using this behave
6259 properly on a NULL return. Switching to a GST_WARNING.
6261 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
6263 * gst/gstbin.c: (gst_bin_handle_message_func):
6264 Don't leak clock messages.
6266 2005-11-25 Wim Taymans <wim@fluendo.com>
6268 * gst/gstutils.c: (gst_util_uint64_scale_int64),
6269 (gst_util_uint64_scale_int):
6270 Optimisations, remove unneeded vars.
6272 2005-11-25 Wim Taymans <wim@fluendo.com>
6274 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6275 Added more checks for the high precision uint64 cases.
6277 * gst/gstutils.c: (gst_util_uint64_scale_int64),
6278 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6279 Implement high precision (guint64 * guint64) / guint64.
6281 2005-11-24 Wim Taymans <wim@fluendo.com>
6283 * gst/base/gstbasesrc.c: (gst_base_src_query):
6284 Fix wrong percentage query.
6286 * gst/gstutils.c: (gst_util_uint64_scale),
6287 (gst_util_uint64_scale_int):
6288 Add some more common cases that can be handled
6289 efficiently to _scale.
6291 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
6293 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6294 (gst_mini_object_suite):
6295 don't use check calls from threads; check probably isn't
6296 threadsafe and using a lock to make it threadsafe would
6297 defeat the purpose of this check
6298 * gst/check/gstcheck.c:
6299 * gst/check/gstcheck.h:
6300 use GST_DEBUG some more
6302 2005-11-24 Wim Taymans <wim@fluendo.com>
6304 * gst/gstutils.c: (gst_util_uint64_scale),
6305 (gst_util_uint64_scale_int):
6306 Chain trivial case to _scale_int.
6308 2005-11-24 Wim Taymans <wim@fluendo.com>
6310 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6311 Added test for scaling.
6316 * gst/gstutils.c: (gst_util_uint64_scale_int):
6317 Implemented high precision scaling code.
6319 2005-11-24 Stefan Kost <ensonic@users.sf.net>
6322 do not crash on pad==NULL
6324 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
6326 Patch by: Stefan Kost
6328 * common/gtk-doc.mak:
6329 * docs/gst/Makefile.am:
6330 * docs/libs/Makefile.am:
6331 Fix distcheck issues for the libraries docs build
6334 2005-11-24 Michael Smith <msmith@fluendo.com>
6336 * docs/manual/basics-helloworld.xml:
6337 Fix bug #315027: memory leak in example code in docs.
6339 2005-11-24 Michael Smith <msmith@fluendo.com>
6341 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6342 Unlock the PREROLL_LOCK in a failure case.
6344 2005-11-24 Wim Taymans <wim@fluendo.com>
6346 * docs/gst/gstreamer-sections.txt:
6347 * gst/base/gstadapter.h:
6348 * gst/base/gstbasesink.h:
6349 * gst/base/gstbasesrc.h:
6350 * gst/base/gstbasetransform.h:
6351 * gst/base/gstpushsrc.h:
6352 * gst/elements/gstfakesink.h:
6353 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6354 * gst/elements/gstfakesrc.h:
6355 * gst/elements/gstfilesink.h:
6356 * gst/elements/gstfilesrc.h:
6359 * gst/gstbuffer.c: (_gst_buffer_copy):
6362 * gst/gstchildproxy.c:
6365 * gst/gstelementfactory.c:
6366 * gst/gstelementfactory.h:
6368 * gst/gstghostpad.h:
6370 * gst/gstinterface.h:
6371 * gst/gstminiobject.c:
6372 * gst/gstminiobject.h:
6375 * gst/gstpadtemplate.h:
6376 * gst/gstpipeline.h:
6377 * gst/gstpluginfeature.h:
6382 * gst/gsttagsetter.c:
6383 * gst/gsttagsetter.h:
6386 * gst/gsttypefind.h:
6389 * gst/net/gstnetclientclock.c:
6390 * gst/net/gstnetclientclock.h:
6391 * gst/net/gstnettimepacket.c:
6392 * gst/net/gstnettimeprovider.c:
6393 * gst/net/gstnettimeprovider.h:
6396 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
6398 * configure.ac: back to HEAD
6400 === release 0.9.6 ===
6402 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
6405 releasing 0.9.6, "Always On Time"
6407 2005-11-23 Wim Taymans <wim@fluendo.com>
6409 * docs/gst/gstreamer-sections.txt:
6410 * gst/glib-compat.c:
6411 * gst/gsttagsetter.c:
6413 * gst/net/gstnetclientclock.c:
6414 * gst/net/gstnettimepacket.h:
6417 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
6419 * docs/faq/using.xml:
6420 * docs/libs/tmpl/gstcontrol.sgml:
6421 * docs/manual/advanced-dparams.xml:
6422 * docs/manual/appendix-checklist.xml:
6423 * docs/manual/basics-elements.xml:
6424 * docs/pwg/other-source.xml:
6425 * docs/random/moving-plugins:
6427 * tools/gst-launch.1.in:
6428 remove mentions of sinesrc
6430 2005-11-23 Michael Smith <msmith@fluendo.com>
6432 * docs/gst/gstreamer-sections.txt:
6433 Update for new API and API changes.
6435 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6437 Documentation typo fix.
6438 * gst/net/gstnettimepacket.c:
6439 Documentation fixes for arguments.
6441 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
6443 * gst/gststructure.c: (gst_structure_get_fraction),
6444 (gst_structure_parse_value),
6445 (gst_structure_fixate_field_nearest_fraction):
6446 * gst/gststructure.h:
6447 * gst/gstutils.c: (gst_util_uint64_scale_int):
6449 * scripts/update-funcnames:
6451 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6452 Make gst_structure_fixate_field_nearest_fraction take a numerator
6453 and denominator argument instead of a GValue
6454 add gst_structure_get_fraction helper function.
6456 2005-11-23 Wim Taymans <wim@fluendo.com>
6458 * docs/design/part-TODO.txt:
6461 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6462 * gst/net/gstnetclientclock.h:
6463 Use parent fields for timeout and window_size.
6465 2005-11-23 Andy Wingo <wingo@pobox.com>
6467 * check/net/gstnetclientclock.c (test_functioning): Adjust to
6468 rate_num/rate_denom change.
6470 * gst/net/gstnetclientclock.c
6471 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6472 OBJECT_LOCK. Don't call add_observation with the lock.
6474 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6476 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6478 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6479 deal with rate as a fraction whose numerator and denominator are
6480 GstClockTime values.
6481 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6482 master; the other fields are protected by the SLAVE_LOCK.
6483 (do_linear_regression): Note that this must be called with the
6485 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6486 OBJECT_LOCK. Call set_calibration instead of touching the
6488 (gst_clock_set_property, gst_clock_get_property): Protect
6489 master/slave parameters with the SLAVE_LOCK.
6491 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6492 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6493 note that all of the instance variables that add_observation and
6494 the set_master functions use are protected by that lock and not
6496 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6498 * gst/gstclock.c (gst_clock_add_observation): No longer requires
6499 the caller to take the object lock.
6501 2005-11-23 Wim Taymans <wim@fluendo.com>
6503 * gst/gsterror.c: (_gst_core_errors_init):
6505 Add error for clock stuff.
6507 * gst/gstpipeline.c: (gst_pipeline_change_state),
6508 (gst_pipeline_set_clock):
6509 Post clock error when clock cannot be used in a pipeline.
6511 2005-11-23 Stefan Kost <ensonic@users.sf.net>
6513 * docs/gst/gstreamer-sections.txt:
6514 make two symbols from gstinfo private for the docs
6515 * gst/base/gstcollectpads.h:
6517 fix doc typos, update docs
6519 2005-11-22 Wim Taymans <wim@fluendo.com>
6521 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6522 (gst_base_sink_wait), (gst_base_sink_do_sync),
6523 (gst_base_sink_handle_event):
6524 * gst/base/gstbasesink.h:
6525 No need to store the clock, the parent element class already
6528 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6529 Updates for clock_set returning a gboolean
6531 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6532 (gst_clock_id_wait_async), (gst_clock_class_init),
6533 (gst_clock_init), (gst_clock_finalize),
6534 (gst_clock_get_internal_time), (gst_clock_get_time),
6535 (gst_clock_slave_callback), (gst_clock_set_master),
6536 (gst_clock_get_master), (do_linear_regression),
6537 (gst_clock_add_observation), (gst_clock_set_property),
6538 (gst_clock_get_property):
6540 Implement master/slave. When setting a clock as a slave, a
6541 periodic timeout is scheduled to sample master and slave times.
6542 Then the slave clock is recalibrated to match offset and rate
6543 of the master clock.
6544 Update logging a bit.
6545 Add flag so that a clock can state that is cannot be slaved to
6548 * gst/gstelement.c: (gst_element_set_clock):
6550 The set clock returns a gboolean for when an element cannot
6551 deal with the selected clock in the pipeline.
6553 * gst/gstpipeline.c: (gst_pipeline_change_state),
6554 (gst_pipeline_set_clock):
6555 * gst/gstpipeline.h:
6556 Handle the case where the selected clock cannot be set on
6559 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6560 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6561 (gst_net_client_clock_set_property),
6562 (gst_net_client_clock_get_property),
6563 (gst_net_client_clock_observe_times):
6564 * gst/net/gstnetclientclock.h:
6565 Use regression code in GstClock parent, remove duplicated
6568 2005-11-22 Michael Smith <msmith@fluendo.com>
6570 * gst/gstutils.c: (gst_util_clock_time_scale):
6572 * docs/gst/gstreamer-sections.txt:
6573 Rename method to have extra underscore.
6575 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
6577 * gst/elements/Makefile.am:
6578 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6579 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6580 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6581 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6582 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6583 * gst/elements/gstfakesrc.h:
6584 * gst/gstqueue.c: (queue_leaky_get_type):
6585 correctly fix GEnumValues so that nick is the short lowercase
6587 * tools/gst-inspect.c: (print_element_properties_info):
6588 also show the nick, since it's useful to use from parse_launch
6592 2005-11-22 Michael Smith <msmith@fluendo.com>
6594 * gst/gstutils.c: (gst_util_clocktime_scale):
6596 * docs/gst/gstreamer-sections.txt:
6597 Add util method for scaling a clocktime by a fraction. Useful
6598 implementation is left as an exercise for the reader.
6600 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6602 * gst/gstvalue.c: (gst_value_collect_fraction_range):
6603 If needed, allocate storage in the destination value during
6606 2005-11-22 Edward Hervey <edward@fluendo.com>
6608 * docs/gst/gstreamer-sections.txt:
6613 * gst/gstutils.c: (gst_util_set_object_arg):
6614 * tools/gst-compprep.c: (main):
6615 * tools/gst-inspect.c: (print_element_properties_info):
6616 Removed GstURI, closes bug #321061
6618 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6620 * check/gst/gststructure.c: (GST_START_TEST):
6621 * gst/gststructure.c: (gst_structure_parse_value):
6622 Oops, broke automatic string type parsing.
6623 Add a test to catch it in future.
6625 2005-11-22 Andy Wingo <wingo@pobox.com>
6627 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
6628 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6629 Actually rename the function implementations. Grr.
6631 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6633 * check/gst/capslist.h:
6635 * check/gst/gststructure.c: (GST_START_TEST),
6636 (gst_structure_suite):
6637 Test automatic value type detection in gst_structure_from_string.
6638 * gst/gststructure.c: (gst_structure_parse_value):
6639 Add fraction as a type we try and guess automatically in
6640 caps/structure strings.
6642 2005-11-22 Andy Wingo <wingo@pobox.com>
6644 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6646 * gst/gsttagsetter.h:
6647 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6648 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6649 (gst_tag_setter_add_tag_valist)
6650 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6651 _add_values, _add_valist, and _add_valist_values. Since this is an
6652 interface the function suffixes should be more explicit so
6653 language binding don't end up with element.add_valist ->
6654 gst_tag_setter_add_valist, for example. Fixes #322069.
6656 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6658 * check/gst/gstcaps.c: (GST_START_TEST):
6659 Extend caps string tests to check that a caps to string
6660 conversion is reversible and produces the same caps.
6662 * gst/gststructure.c: (gst_structure_value_get_generic_type):
6663 Output "fraction" as the generic type fraction range, so caps
6664 serialisation and deserialisation works.
6665 * check/gst/capslist.h:
6666 * gst/gstvalue.c: (gst_value_deserialize_fraction):
6667 Support 'MIN' and 'MAX' for deserialising fractions.
6669 2005-11-22 Andy Wingo <wingo@pobox.com>
6671 * gst/gstevent.h (gst_event_new_new_segment)
6672 (gst_event_parse_new_segment, gst_event_new_buffer_size)
6673 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6674 Renamed from *_newsegment, *_buffersize, *_notarget.
6676 * scripts/update-funcnames: New script, performs the changes
6679 2005-11-22 Wim Taymans <wim@fluendo.com>
6681 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6682 Make sure the GstFlowReturn is returned.
6684 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6685 (gst_bus_add_signal_watch):
6687 add gst_bus_add_signal_watch_full.
6689 * gst/gstplugin.c: (gst_plugin_load_file):
6690 Small style cleanup.
6692 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6694 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6695 Block the fakesrc srcpad when we send an event, to avoid
6696 contention on the stream_lock causing random test failures.
6698 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6700 * check/gst/gstvalue.c: (GST_START_TEST):
6701 * gst/gstvalue.c: (gst_value_fraction_subtract):
6704 2005-11-22 Stefan Kost <ensonic@users.sf.net>
6707 include "gstchildproxy.h"
6708 * gst/gstchildproxy.h:
6709 * libs/gst/controller/gstcontroller.h:
6710 use G_GNUC_NULL_TERMINATED
6712 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
6714 * check/gst/capslist.h:
6715 * check/gst/gstcaps.c: (GST_START_TEST):
6716 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6717 * gst/gststructure.c: (gst_structure_parse_range),
6718 (gst_structure_fixate_field_nearest_fraction):
6719 * gst/gststructure.h:
6720 * gst/gstvalue.c: (gst_value_init_fraction_range),
6721 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6722 (gst_value_collect_fraction_range),
6723 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6724 (gst_value_set_fraction_range_full),
6725 (gst_value_get_fraction_range_min),
6726 (gst_value_get_fraction_range_max),
6727 (gst_value_serialize_fraction_range),
6728 (gst_value_transform_fraction_range_string),
6729 (gst_value_compare_fraction_range),
6730 (gst_value_deserialize_fraction_range),
6731 (gst_value_intersect_fraction_fraction_range),
6732 (gst_value_intersect_fraction_range_fraction_range),
6733 (gst_value_subtract_fraction_fraction_range),
6734 (gst_value_subtract_fraction_range_fraction),
6735 (gst_value_subtract_fraction_range_fraction_range),
6736 (gst_value_collect_fraction), (gst_value_fraction_multiply),
6737 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6738 (gst_value_transform_string_fraction), (_gst_value_initialize):
6740 Implement fraction ranges and extend GstFraction to support
6741 arithmetic subtraction, as well as deserialization from integer
6742 strings such as "100"
6743 Add a testsuite as for int and double range set operations
6745 2005-11-21 Andy Wingo <wingo@pobox.com>
6749 * gst/gststructure.h: Add glib-compat.h.
6751 2005-11-21 Wim Taymans <wim@fluendo.com>
6753 * gst/gstbin.c: (gst_bin_change_state_func):
6756 2005-11-21 Wim Taymans <wim@fluendo.com>
6759 And add a nice define too.
6761 2005-11-21 Wim Taymans <wim@fluendo.com>
6763 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6764 (gst_segment_new), (gst_segment_free), (gst_segment_init),
6765 (gst_segment_set_duration), (gst_segment_set_last_stop),
6766 (gst_segment_set_seek), (gst_segment_set_newsegment),
6767 (gst_segment_to_stream_time), (gst_segment_to_running_time),
6770 Make binding friendly.
6772 2005-11-21 Andy Wingo <wingo@pobox.com>
6774 * gst/gsttagsetter.h:
6776 * gst/gststructure.h:
6778 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6781 * gst/gsterror.c (_gst_core_errors_init):
6782 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6785 * gst/Makefile.am (gst_headers): Add glib-compat.h.
6786 (noinst_HEADERS): noinst the -private.
6788 2005-11-21 Michael Smith <msmith@fluendo.com>
6791 * gst/gstregistry.h:
6792 Remove unimplemented declarations for which we can see no sensible
6795 2005-11-21 Andy Wingo <wingo@pobox.com>
6797 * gst/gst.h: Include glib-compat.h.
6799 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6801 * gst/glib-compat.c: Include the public and the private header.
6803 * gst/glib-compat-private.h: Copied here from glib-compat.h.
6807 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6809 * check/gst/gstevent.c (create_custom_events): Check that
6810 FLUSH_STOP is serialized.
6812 * check/elements/identity.c (event_func):
6813 * check/elements/fakesrc.c (event_func): No stream lock, the core
6816 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6817 stream lock taking, yay.
6819 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6820 ensure that core takes the stream lock.
6822 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6825 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6826 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6827 it already. For the flush start we do take it though so we get the
6828 right preroll state change messages.
6830 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6831 the stream lock here, the core does it for us.
6833 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6834 GST_STREAM_GET_LOCK.
6835 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
6836 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
6837 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6838 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6839 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
6840 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6842 * gst/gstpad.c: Update for stream lock name change.
6844 * gst/base/gstbasesink.c: Update for preroll lock name change.
6846 2005-11-21 Wim Taymans <wim@fluendo.com>
6848 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6849 (gst_clock_get_master):
6851 * gst/gstsystemclock.c: (gst_system_clock_init):
6852 Convert Clock flags to object flags.
6853 Added methods to manage master/slave clocks.
6855 2005-11-21 Wim Taymans <wim@fluendo.com>
6857 * check/gst/gstsegment.c: (GST_START_TEST):
6858 * docs/design/part-TODO.txt:
6859 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6860 (gst_base_sink_event), (gst_base_sink_do_sync),
6861 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6862 (gst_base_sink_query), (gst_base_sink_change_state):
6863 * gst/base/gstbasesink.h:
6864 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6865 (gst_base_src_default_newsegment),
6866 (gst_base_src_configure_segment), (gst_base_src_do_seek),
6867 (gst_base_src_get_range), (gst_base_src_loop),
6868 (gst_base_src_change_state):
6869 * gst/base/gstbasesrc.h:
6870 * gst/base/gstbasetransform.c:
6871 (gst_base_transform_prepare_output_buf),
6872 (gst_base_transform_event), (gst_base_transform_change_state):
6873 * gst/base/gstbasetransform.h:
6874 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6875 (gst_collect_pads_event):
6876 * gst/base/gstcollectpads.h:
6877 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6878 (gst_fake_src_create):
6879 * gst/elements/gstfakesrc.h:
6880 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6881 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6882 (gst_segment_set_last_stop), (gst_segment_set_seek),
6883 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6884 (gst_segment_to_running_time), (gst_segment_clip):
6886 More segment updates, replace code in plugins with segment
6889 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6891 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6892 Don't ignore sscanf results
6894 2005-11-21 Andy Wingo <wingo@pobox.com>
6896 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6899 * *.c: Ran scripts/update-macros. Oh yes.
6901 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6902 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6905 * scripts/update-macros: New script. Run it on your files to
6906 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6909 2005-11-21 Stefan Kost <ensonic@users.sf.net>
6911 * docs/gst/Makefile.am:
6912 * docs/gst/gstreamer-docs.sgml:
6913 * docs/gst/gstreamer-sections.txt:
6914 * docs/gst/gstreamer.types:
6916 more docs fixes, add new api to the docs
6918 2005-11-21 Andy Wingo <wingo@pobox.com>
6920 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6921 state_broadcast call.
6923 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6925 2005-11-21 Julien MOUTTE <julien@moutte.net>
6927 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6928 function calls for arrays.
6930 2005-11-21 Stefan Kost <ensonic@users.sf.net>
6932 * docs/random/ensonic/media-device-daemon.txt:
6933 wild idea, can this be done?
6934 * docs/gst/gstreamer-sections.txt:
6939 * gst/gstpluginfeature.c:
6943 doc fixes and additions
6945 2005-11-21 Andy Wingo <wingo@pobox.com>
6947 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
6948 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
6949 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
6950 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6951 private to the basesrc implementation.
6953 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6954 behalf of event function if necessary. It should no longer be
6955 necessary to take the stream lock in pad's event functions. Fixes
6958 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6959 * docs/gst/gstreamer-sections.txt:
6960 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6961 (gst_structure_fixate_field_nearest_double),
6962 (gst_structure_fixate_field_boolean):
6963 * gst/gststructure.h:
6964 * win32/common/libgstreamer.def:
6965 * win32/gstreamer.def:
6967 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6970 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
6972 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6973 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6974 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6975 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6976 (gst_fdsrc_uri_handler_init):
6977 * gst/elements/gstfdsrc.h:
6978 Port fd:// URI handler from 0.8 to fdsrc
6980 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6982 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6983 (gst_value_serialize_fourcc):
6985 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6986 consistent with our other format defines (#320324).
6988 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
6990 * gst/gstvalue.c: (gst_value_is_fixed):
6991 Revert previous commit. Value lists are by definition
6992 not fixed, as they are a list of possible values.
6994 2005-11-21 Andy Wingo <wingo@pobox.com>
6996 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6997 during the stable series if we need it. Fixes #319178.
6999 * gst/gstevent.c (gst_event_new_filler): Removed.
7001 * check/gst/gstevent.c: Update comment about filler events.
7003 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
7005 * gst/gstvalue.c: (gst_value_is_fixed):
7006 Should handle both value arrays and value lists.
7008 2005-11-21 Andy Wingo <wingo@pobox.com>
7010 patch by: Alessandro Dessina <alessandro nnva org>
7012 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7013 functions to access arrays. Fixes #321962.
7015 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
7017 * docs/gst/gstreamer.types:
7018 gst_collectpads_get_type => gst_collect_pads_get_type.
7020 * gst/base/gstbasetransform.c:
7021 Remove unused SIGNAL_HANDOFF enum.
7023 2005-11-21 Andy Wingo <wingo@pobox.com>
7025 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7026 the event type (upstream, downstream, serialized). Renamed
7027 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7028 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7029 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7031 * gst/gstevent.c: Update for new CUSTOM event names.
7033 * check/gst/gstevent.c: Update check for new CUSTOM event names.
7036 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7039 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
7041 * docs/gst/gstreamer-sections.txt:
7042 * win32/common/libgstbase.def:
7043 * win32/libgstbase.def:
7044 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7045 (gst_collect_pads_class_init), (gst_collect_pads_init),
7046 (gst_collect_pads_finalize), (gst_collect_pads_new),
7047 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7048 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7049 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7050 (gst_collect_pads_start), (gst_collect_pads_stop),
7051 (gst_collect_pads_peek), (gst_collect_pads_pop),
7052 (gst_collect_pads_available), (gst_collect_pads_read),
7053 (gst_collect_pads_flush), (gst_collect_pads_event),
7054 (gst_collect_pads_chain):
7055 * gst/base/gstcollectpads.h:
7056 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7057 unimplemented functions as unimplemented. Add padding to
7058 GstCollectData. (#320766, #320423)
7060 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
7063 Improve docs for DURATION message (usage of duration parameter)
7066 2005-11-20 Wim Taymans <wim@fluendo.com>
7068 * check/Makefile.am:
7069 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7073 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7074 (gst_segment_set_seek), (gst_segment_set_newsegment),
7075 (gst_segment_to_stream_time), (gst_segment_to_running_time),
7078 Added segment helper structure and methods. Not fully implemented
7080 Added segment check.
7082 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
7084 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7085 Add a deserialisation test for fractions
7086 * examples/metadata/read-metadata.c: (message_loop),
7087 (make_pipeline), (main):
7088 Fix up metadata reading sample.
7089 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7091 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7092 Don't try and fixate empty caps
7093 * gst/gst_private.h:
7094 Wrap in G_BEGIN_DECLS/G_END_DECLS
7095 * gst/gstvalue.c: (gst_value_collect_fraction),
7096 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7097 (gst_value_transform_string_fraction),
7098 (gst_value_compare_fraction):
7099 Add some extra guards to ensure that we don't end up
7100 with an invalid denominator of 0 in a gstfraction and
7101 that fractions always get reduced.
7103 2005-11-20 Wim Taymans <wim@fluendo.com>
7105 * docs/gst/gstreamer-sections.txt:
7116 2005-11-20 Wim Taymans <wim@fluendo.com>
7118 * docs/design/part-TODO.txt:
7120 Make a proper enum of the flag.
7122 2005-11-19 Wim Taymans <wim@fluendo.com>
7124 * docs/design/part-TODO.txt:
7125 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7126 (gst_format_to_quark), (gst_format_register):
7128 * gst/gstquery.c: (_gst_query_initialize),
7129 (gst_query_type_get_name), (gst_query_type_to_quark),
7130 (gst_query_type_register):
7132 Add type to quark and type to string conversions.
7134 2005-11-19 Andy Wingo <wingo@pobox.com>
7136 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7139 2005-11-19 Wim Taymans <wim@fluendo.com>
7141 * docs/design/part-TODO.txt:
7142 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7143 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7144 (gst_bin_handle_message_func):
7146 Make message handling overridable.
7148 2005-11-19 Andy Wingo <wingo@pobox.com>
7150 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7153 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7155 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7156 is a GstClockTime. Fixes #321710.
7158 * gst/gstclock.h (GstClock): Remove offset property. Add
7159 internal_calibration and external_calibration. Fix padding. Pad
7160 also by GstClockTime so we don't run into problems.
7162 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7163 (gst_clock_get_rate_offset): Remove.
7164 (gst_clock_set_time_adjust): Remove. Fixes #321712.
7167 * gst/gstutils.c (g_static_rec_cond_wait)
7168 (g_static_rec_cond_timed_wait): Removed, no longer needed.
7170 * gst/gstbin.c: Remove terrible continue_state prototype.
7172 * gst/gstelement.h (gst_element_continue_state): Make public.
7175 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7176 by continue_state. Fixes #319389.
7178 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7179 Really fixes #168438. However I don't see anywhere where the
7180 filter function is called... stupid GStreamer...
7182 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7183 don't have a dispose function, so it won't get called when the
7184 object is unreffed, but oh well!
7186 * gst/gstindex.c (gst_index_set_filter_full): New API function,
7187 allows a destroy function to be set so user_data can be freed.
7189 (gst_index_set_filter): Call gst_index_set_filter_full.
7191 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7193 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7194 string should produce an error, given the lack of a way to
7195 represent NULL strings. Fixes #165650.
7198 * gst/gstvalue.c (gst_value_array_append_value)
7199 (gst_value_array_prepend_value, gst_value_array_get_size)
7200 (gst_value_array_get_value): New API, copied from
7201 gst_value_list_*, only operates on arrays.
7202 (gst_value_list_append_value, gst_value_list_prepend_value)
7203 (gst_value_list_concat, gst_value_list_get_size)
7204 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7206 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7207 init_list, because it works on both.
7208 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7209 (gst_value_copy_list_or_array): Renamed from copy_list.
7210 (gst_value_free_list_or_array): Renamed from free_list.
7211 (gst_value_collect_list_or_array): Renamed from collect_list.
7212 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7213 (gst_value_list_or_array_peek_pointer): Renamed from
7215 (_gst_value_array_value_table, _gst_value_list_value_table):
7216 Update value table functions.
7217 (gst_value_compare_list_or_array): Renamed from compare_list.
7219 * gsttaglist.h: Whoops, foreach function returns void. Also fix
7223 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7224 GstTagList*. Fixes #143472.
7226 * gst/gststructure.h: Clarify what the foreach/map functions can
7227 or can't do to their arguments.
7229 2005-11-18 Wim Taymans <wim@fluendo.com>
7231 * gst/gstclock.c: (gst_clock_set_calibration),
7232 (gst_clock_get_calibration):
7234 Calibration can be set with internal time equal to current
7237 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
7243 2005-11-18 Andy Wingo <wingo@pobox.com>
7246 * pkgconfig/gstreamer-net.pc.in:
7247 * pkgconfig/gstreamer-net-uninstalled.pc.in:
7248 * pkgconfig/Makefile.am: Add net pkgconfig files.
7250 2005-11-18 Stefan Kost <ensonic@users.sf.net>
7253 * gst/gstghostpad.c:
7259 2005-11-18 Andy Wingo <wingo@pobox.com>
7261 * gst/net/gstnetclientclock.c: Turn off debugging.
7263 * check/net/gstnetclientclock.c (test_functioning): Assert that the
7264 times connverge somewhat. Can't make a real test.
7266 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7267 integer arithmetic. Return the minimum of the domain, which can be
7268 set as "internal" for gst_clock_set_calibration.
7269 (gst_net_client_clock_observe_times): Call _set_calibration.
7270 (gst_net_client_clock_new): Call _set_calibration instead of
7273 * check/net/gstnetclientclock.c (test_functioning): Use the right
7277 * gst/gstclock.c (gst_clock_get_calibration)
7278 (gst_clock_set_calibration): New functions, obsolete the ones I
7279 added yesterday. Doh. Precision issues mean we have to extrapolate
7280 from a point in the more recent past than 1970.
7281 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7283 (gst_clock_adjust_unlocked): Use the right calibration data.
7285 2005-11-18 Edward Hervey <edward@fluendo.com>
7287 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7288 Also reset the ->current_* values in READY->PAUSED
7290 2005-11-18 Andy Wingo <wingo@pobox.com>
7292 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7293 Whoops, check the right fd. Also add some debugging.
7294 (gst_net_client_clock_observe_times): Adjust for int64 offset.
7295 (do_linear_regression): Add a crapload of debugging. Subtract off
7296 the minimum values from the input series to discard unneeded bits.
7297 Use only int arithmetic. There is still double arithmetic when
7298 calculating the intercept that needs fixing. Return boolean to
7299 indicate success; FALSE would mean the domain or range is too
7300 great. Still needs fixes.
7302 2005-11-18 Wim Taymans <wim@fluendo.com>
7304 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7305 For the current position in stream time, we need to subtract
7308 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7309 Release lock before calling the callback function of async
7312 2005-11-18 Andy Wingo <wingo@pobox.com>
7314 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7315 Port goes all the way to MAXUINT16.
7317 * gst/net/gstnettimeprovider.c: Make the port range the same as
7318 for the kernel: 0 assigns, otherwise ports are less than
7321 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7324 * check/net/gstnetclientclock.c (test_functioning): Add the start
7327 2005-11-18 Wim Taymans <wim@fluendo.com>
7329 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7330 (gst_bin_remove_func), (bin_bus_handler):
7332 Removing a clock provider from a bin, triggers a clock lost message
7333 so that a new clock will be selected.
7334 Adding a clock to a bin triggers a clock provider message.
7335 Make sure we reselect a clock when we received a clock lost message.
7336 Keep a reference to the element that provided the clock.
7338 2005-11-18 Andy Wingo <wingo@pobox.com>
7340 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7341 the clock initially so it produces values around the base time.
7342 (gst_net_client_clock_class_init): Typo fix.
7343 (gst_net_client_clock_thread): Add note on when the socket gets
7346 2005-11-17 Wim Taymans <wim@fluendo.com>
7348 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7349 Free remote and local time arrays.
7351 2005-11-17 Wim Taymans <wim@fluendo.com>
7353 * gst/net/gstnetclientclock.c: (do_linear_regression),
7354 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7355 Fix compilation, uninitialized vars and a forgotten continue.
7357 2005-11-17 Andy Wingo <wingo@pobox.com>
7359 * check/Makefile.am (check_PROGRAMS):
7360 * check/net/gstnetclientclock.c: Add a most minimal test for the
7361 net client clock. More to come later.
7364 * gst/net/Makefile.am: Add netclientclock.
7366 * gst/net/gstnetclientclock.h:
7367 * gst/net/gstnetclientclock.c: New files, implement an untested
7368 GstClock that takes its time from a network time provider.
7369 Implements the algorithm in network-clock.scm.
7371 * tests/network-clock.scm (*window-size*): Rename from
7373 * tests/network-clock.scm (network-time):
7374 * tests/network-clock-utils.scm (q-push): Update callers.
7376 2005-11-17 Wim Taymans <wim@fluendo.com>
7378 * gst/gstbin.c: (gst_bin_provide_clock_func),
7379 (gst_bin_sort_iterator_new):
7380 And unref the child too..
7382 2005-11-17 Wim Taymans <wim@fluendo.com>
7384 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7385 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7386 Refactor the sort iterator so it can be used while holding the
7388 Make clock selection select a clock closest to the source.
7390 2005-11-17 Michael Smith <msmith@fluendo.com>
7392 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7393 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7395 Anonymous structs are a gcc (and some other compilers) extension, so
7396 don't use them. Since this is only for ABI-compatibility, and our
7397 API/ABI freeze is over in a few days, this whole thing will only
7398 last a few days, so don't bother trying to think up a meaningful
7399 name for the struct.
7401 2005-11-17 Andy Wingo <wingo@pobox.com>
7403 * gst/gstclock.h (GstClock): Add rate and offset properties,
7404 preserving ABI stability. Add rate/offset accessors. Will file bug
7405 for the freeze break.
7407 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7408 and offset, trying to keep precision and avoiding
7410 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7411 functions. Make gst_clock_set_time_adjust obsolete.
7412 (gst_clock_set_time_adjust): Note that this function is obsolete.
7415 * gst/base/gstbasetransform.h: Make the ABI-stability hack
7416 greppable by using GST_PADDING-1+1.
7418 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
7420 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7422 * gst/gstmessage.c: (gst_message_parse_clock_lost):
7423 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7425 * gst/gstpadtemplate.h:
7426 * gst/gstpluginfeature.h:
7427 Don't use c++ style comments in headers (#321638).
7429 2005-11-16 Andy Wingo <wingo@pobox.com>
7431 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7434 * check/net/gstnettimeprovider.c: Check to see that the time
7435 provider actually provides times. Works, yo!
7437 2005-11-16 Wim Taymans <wim@fluendo.com>
7439 * check/Makefile.am:
7442 * check/elements/fakesrc.c: (GST_START_TEST):
7443 Set element to NULL before disposing it.
7445 2005-11-16 Andy Wingo <wingo@pobox.com>
7447 * gst/net/Makefile.am:
7449 * gst/net/gstnettimeprovider.c:
7450 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7451 provider, include it from gstnet.h, and add it to the build.
7453 * gst/net/gstnettimepacket.h:
7454 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7455 sending and receiving.
7457 2005-11-16 Wim Taymans <wim@fluendo.com>
7459 * check/Makefile.am:
7460 Enable valgrind check.
7462 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7463 (gst_fake_src_alloc_buffer):
7466 2005-11-16 Wim Taymans <wim@fluendo.com>
7468 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7469 Call parent finalize too.
7471 2005-11-16 Wim Taymans <wim@fluendo.com>
7473 * check/Makefile.am:
7474 Enable valgrind check that should work fine now.
7476 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7477 * gst/gstqueue.c: (gst_queue_init):
7478 Fix memleaks in pad allocation.
7480 2005-11-16 Andy Wingo <wingo@pobox.com>
7482 * gst/net/Makefile.am:
7483 * gst/net/gstnet.h: New part of core to hold network elements and
7484 objects. Put in core because it exposes API that applications want
7485 to use. The library is named libgstnet-tempname right now because
7486 of the existing libgstnet in gst-plugins-base. Solution is
7487 probably to rename the one in plugins-base; will file a bug for
7490 * gst/net/gstnettimeprovider.c:
7491 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7492 get_time call over the network.
7495 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7497 * check/Makefile.am:
7498 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7499 get additions shortly.
7501 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7503 * gst/gstpad.c: (gst_pad_new_from_static_template):
7505 add gst_pad_new_from_static_template functions
7506 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7507 (gst_check_setup_sink_pad):
7508 * gst/elements/gsttee.c: (gst_tee_init):
7511 2005-11-16 Wim Taymans <wim@fluendo.com>
7513 * gst/gstpad.c: (gst_pad_pause_task):
7514 Removed warning, it's not really an error either.
7516 2005-11-16 Wim Taymans <wim@fluendo.com>
7518 * gst/base/gstbasetransform.c:
7519 (gst_base_transform_prepare_output_buf),
7520 (gst_base_transform_event):
7521 Check if the caps are NULL, this can happen if the element
7522 is shutting down and the pad caps are set to NULL.
7524 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7526 * gst/elements/gsttee.c: (gst_tee_init):
7527 fix pad template leak in tee
7529 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7531 * gst/glib-compat.c: (g_value_dup_gst_object):
7532 * gst/glib-compat.h:
7533 * gst/gstpad.c: (gst_pad_set_property):
7534 use gst_object_ref when setting the pad template; this will
7535 trigger the pad template leaks on GLib 2.6 and the slaves
7537 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7539 * gst/glib-compat.c: (gst_flags_get_first_value):
7540 * gst/glib-compat.h:
7541 * gst/gstregistryxml.c:
7542 remove functions copied from GLib 2.6
7544 2005-11-16 Michael Smith <msmith@fluendo.com>
7547 Don't link against VALGRIND_LIBS. That was always the wrong thing to
7548 do, but only breaks with newer valgrind versions. We're not a
7549 valgrind tool, we have no link-time dependencies on libcoregrind.
7551 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7553 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7558 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
7560 * gst/base/gstbasesrc.c: (gst_base_src_init):
7561 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7562 * gst/gstqueue.c: (gst_queue_init):
7563 * gst/gstregistryxml.c: (load_feature):
7564 Revert all these unrefs, they don't even pass make check !
7566 2005-11-15 Johan Dahlin <johan@gnome.org>
7568 * gst/base/gstbasesrc.c: (gst_base_src_init):
7569 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7570 * gst/gstqueue.c: (gst_queue_init):
7571 Free pad templates, fixes a couple of leaks.
7573 2005-11-15 Daniel Fischer <dan at f3c dot com>
7575 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7577 * gst/gstpad.c: (gst_pad_get_property):
7578 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7579 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7582 2005-11-15 Wim Taymans <wim@fluendo.com>
7587 2005-11-15 Andy Wingo <wingo@pobox.com>
7589 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7591 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7592 using GST_CLOCK_TIME_NONE to disable base time management.
7593 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7594 time if it was NONE before.
7595 (gst_pipeline_change_state): Only munge the base time if
7596 stream_time != GST_CLOCK_TIME_NONE.
7598 * check/gst/gstpipeline.c (test_base_time): Punt around the
7599 problem of the probe not being called, because that's not the
7600 issue I'm looking at. Add a check that setting stream_time to NONE
7601 disables base time management.
7603 2005-11-15 Wim Taymans <wim@fluendo.com>
7605 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7606 segment_stop == -1 at startup.
7608 * gst/base/gstbasetransform.c: (gst_base_transform_event),
7609 (gst_base_transform_change_state):
7610 Init segment values at start.
7612 2005-11-15 Wim Taymans <wim@fluendo.com>
7614 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7615 0 segment values are 0 in any format.
7617 * gst/base/gstbasetransform.c: (gst_base_transform_event):
7618 * gst/base/gstbasetransform.h:
7619 Parse newsegment correctly in basetransform
7621 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7622 Sync to clock using updated segment values.
7624 2005-11-15 Andy Wingo <wingo@pobox.com>
7626 * check/gst/gstpipeline.c (test_base_time): Add check that the
7627 base time and stream time are reset correctly.
7629 2005-11-15 Wim Taymans <wim@fluendo.com>
7631 * docs/design/part-TODO.txt:
7632 Some more TODO items.
7634 2005-11-15 Andy Wingo <wingo@pobox.com>
7636 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7637 error if the user selected "no clock" as the clocking method.
7639 * check/gst/gstpipeline.c (test_base_time): New test for buffer
7640 timestamps with live capture.
7642 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7643 is 0 but we are a live source, timestamp the buffers using the
7646 2005-11-14 Stefan Kost <ensonic@users.sf.net>
7648 * docs/gst/gstreamer-sections.txt:
7650 * gst/gstghostpad.c:
7655 2005-11-14 Wim Taymans <wim@fluendo.com>
7658 add suppressions from Wim's Debian machine
7660 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
7663 add suppressions from Andy's AMD64 Ubuntu machine
7665 2005-11-14 Andy Wingo <wingo@pobox.com>
7667 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7668 STATE_LOCK not necessary. Fixes #311489.
7670 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7673 * gst/gstindex.c (gst_index_add_object): Note in the docs that
7674 this function is not implemented.
7676 2005-11-14 Julien MOUTTE <julien@moutte.net>
7678 * gst/base/gstbasetransform.c:
7679 (gst_base_transform_prepare_output_buf):
7680 Ref the source pad caps while we need them.
7683 2005-11-11 Wim Taymans <wim@fluendo.com>
7685 * docs/gst/gstreamer-sections.txt:
7686 Added some docs for GstCollectData.
7688 * gst/base/gstadapter.c:
7689 Some small code example fix.
7691 * gst/base/gstcollectpads.c:
7692 * gst/base/gstcollectpads.h:
7695 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
7697 * configure.ac: back to HEAD
7699 === release 0.9.5 ===
7701 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
7704 releasing 0.9.5, "Bike Lunch Day"
7706 2005-11-11 Wim Taymans <wim@fluendo.com>
7708 * gst/gstbuffer.c: (_gst_buffer_copy):
7711 * gst/gstcaps.c: (gst_caps_is_equal):
7713 Make _is_equal fast in the trivial cases.
7715 * gst/gstminiobject.c:
7716 * gst/gstminiobject.h:
7717 More docs. Spifify .h file.
7722 2005-11-11 Wim Taymans <wim@fluendo.com>
7724 * gst/base/gstbasetransform.c:
7725 (gst_base_transform_prepare_output_buf),
7726 (gst_base_transform_handle_buffer):
7728 If we're processing a buffer and need to allocate an output
7729 buffer, we cannot accept a format change. If we did get a
7730 format change, we have to alloc a buffer ourselves of the
7733 2005-11-11 Wim Taymans <wim@fluendo.com>
7735 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7736 While checking the flag for reentrancy in the gstcaps function
7737 is nice to detect recursive invocations, it also makes it
7738 impossible to call getcaps from multiple threads, which must be
7739 possible. So, checking for recursive calls has to go.
7741 2005-11-11 Michael Smith <msmith@fluendo.com>
7743 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7744 Don't sync on buffers that fall partially outside our current
7745 segment. Prevents an assertion failure/abort playing some files.
7747 2005-11-10 Andy Wingo <wingo@pobox.com>
7749 * check/gst/gstbin.c (test_message_state_changed_children): Style
7752 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7753 gst_bus_poll with the signal watch. Ensures that poll and a signal
7754 watch see the same messages.
7756 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7757 a poll and a watch at the same time get the same messages.
7759 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
7761 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7762 * gst/gstcaps.c: (gst_caps_intersect):
7763 Don't call gst_caps_do_simplify - it doesn't respect order of caps
7764 and it's not needed.
7766 2005-11-10 Wim Taymans <wim@fluendo.com>
7768 * docs/design/part-TODO.txt:
7771 2005-11-10 Wim Taymans <wim@fluendo.com>
7773 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7774 * gst/base/gstbasesrc.c: (gst_base_src_wait),
7775 (gst_base_src_do_sync), (gst_base_src_get_range):
7776 Implement clock sync in base class.
7778 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
7780 patch by: Tim-Philipp Müller <tim at centricular dot net>
7782 * gst/gststructure.c: (gst_structure_parse_field),
7783 (gst_structure_from_string):
7784 Forward-port a 0.8 patch to handle escaped spaces in structure string,
7785 so that gst_parse_launch() can deal with spaces in filtered link
7786 caps (fixes #164479)
7787 * check/gst/capslist.h:
7788 * check/gst/gststructure.c: (GST_START_TEST):
7789 add unit tests for this change
7791 2005-11-10 Wim Taymans <wim@fluendo.com>
7793 * docs/gst/gstreamer-sections.txt:
7796 Fix docs, move some STATE macros to private.
7798 2005-11-10 Wim Taymans <wim@fluendo.com>
7800 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7801 Added check for bug #317341
7805 Some more spiffifying.
7807 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7808 Call peer linkfunction if we are a source pad. Totally fixes
7812 Update docs, source pads should call the peer linkfunction
7813 so they can atomically perform the pad link.
7815 2005-11-09 Wim Taymans <wim@fluendo.com>
7819 Uber-spiffy-spiffify some more.
7821 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
7823 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7824 * gst/elements/gstfilesink.c: (gst_file_sink_init):
7825 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7826 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7827 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7828 * gst/gstpad.c: (gst_pad_init):
7829 Use GST_DEBUG_FUNCPTR() more extensively.
7831 2005-11-09 Wim Taymans <wim@fluendo.com>
7833 * gst/gstobject.c: (gst_object_class_init):
7835 Documentation fixes.
7837 2005-11-09 Edward Hervey <edward@fluendo.com>
7839 * gst/gsttypefindfactory.c:
7842 2005-11-09 Edward Hervey <edward@fluendo.com>
7844 * gst/base/gsttypefindhelper.c:
7845 * gst/gsttypefind.c:
7846 * gst/gsttypefind.h:
7849 2005-11-09 Wim Taymans <wim@fluendo.com>
7851 * gst/gstiterator.c:
7858 2005-11-09 Wim Taymans <wim@fluendo.com>
7864 2005-11-09 Wim Taymans <wim@fluendo.com>
7866 * docs/gst/gstreamer-sections.txt:
7867 Moved the message async delivery private lock and cond
7868 to the private section.
7874 2005-11-09 Edward Hervey <edward@fluendo.com>
7876 * docs/gst/gstreamer-sections.txt:
7879 Document GstURIHandler
7881 2005-11-09 Wim Taymans <wim@fluendo.com>
7883 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7884 (gst_iterator_find_custom):
7885 * gst/gstiterator.h:
7888 2005-11-09 Wim Taymans <wim@fluendo.com>
7891 Document another field.
7893 * gst/gststructure.c:
7894 * gst/gststructure.h:
7897 2005-11-09 Wim Taymans <wim@fluendo.com>
7902 2005-11-09 Wim Taymans <wim@fluendo.com>
7904 * docs/gst/gstreamer-sections.txt:
7905 Added some new macros.
7912 2005-11-09 Wim Taymans <wim@fluendo.com>
7914 * docs/design/part-TODO.txt:
7915 Some more items for the TODO
7921 2005-11-09 Andy Wingo <wingo@pobox.com>
7923 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7924 to work on something else now tho...
7926 * gst/base/gstadapter.c: More adapter docs.
7928 * gst/elements/gstfilesink.c (gst_file_sink_start)
7929 (gst_file_sink_stop): New functions, replace the state change
7931 (gst_file_sink_class_init): Hook up the start and stop functions.
7932 (gst_file_sink_base_init): Don't set the state change handler any
7933 more. It was a bit ugly too, being set from here...
7934 (gst_file_sink_get_property, gst_file_sink_set_property):
7936 (gst_file_sink_set_location): More robust check that doesn't call
7939 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
7941 * gst/base/gstbasetransform.c: (gst_base_transform_event):
7942 Hold STREAM_LOCK while pushing newsegment or tag events as well.
7944 2005-11-08 Wim Taymans <wim@fluendo.com>
7946 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7947 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7948 (gst_base_sink_chain), (gst_base_sink_change_state):
7949 * gst/base/gstbasesink.h:
7950 * gst/base/gstbasesrc.h:
7953 Avoid excessive typechecking in macros.
7955 * gst/gstminiobject.c: (gst_mini_object_get_type),
7956 (gst_mini_object_init), (gst_mini_object_new),
7957 (gst_mini_object_free):
7958 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7959 (gst_object_finalize):
7960 Remove cruft code, optimize alloc_trace.
7962 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
7964 * docs/faq/gst-uninstalled:
7965 fix up PS1 for systems that try to reset it
7967 2005-11-07 Wim Taymans <wim@fluendo.com>
7969 * gst/base/gstbasesrc.c: (gst_base_src_init),
7970 (gst_base_src_get_range):
7971 Set the segment_end to -1 initially. Fixed typefind.
7973 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
7975 * gst/base/gstadapter.c:
7976 Debug category should be 'adapter', not 'GstAdapter'.
7978 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7979 (gst_collectpads_class_init), (gst_collectpads_init),
7980 (gst_collectpads_peek), (gst_collectpads_pop),
7981 (gst_collectpads_event), (gst_collectpads_chain):
7982 Add debug category and some debugging output. Use boilerplate
7983 macros. Remove some extraneous words from docs.
7985 2005-11-05 Andy Wingo <wingo@pobox.com>
7987 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7990 2005-11-04 Stefan Kost <ensonic@users.sf.net>
7992 * docs/gst/gstreamer-sections.txt:
7995 * gst/gstminiobject.h:
8000 2005-11-04 Wim Taymans <wim@fluendo.com>
8002 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8003 Small update to stop at the configured segment_end
8006 2005-11-04 Stefan Kost <ensonic@users.sf.net>
8008 * gst/gstregistry.c:
8009 * gst/gstregistry.h:
8012 2005-11-04 Edward Hervey <edward@fluendo.com>
8014 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8015 Check if we are doing a segment seek and have arrived at the
8016 end of that segment.
8018 2005-11-04 Wim Taymans <wim@fluendo.com>
8020 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8021 Don't leak a mutex unlock in case of an error.
8026 2005-11-04 Wim Taymans <wim@fluendo.com>
8028 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8030 Get the context to wake up only once.
8032 2005-11-03 Wim Taymans <wim@fluendo.com>
8034 * check/states/sinks.c: (GST_START_TEST):
8035 Uncomment fixed check.
8037 * docs/design/part-TODO.txt:
8040 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8041 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8042 (gst_base_sink_get_position):
8043 If we are going to PLAYING, post the right pending state
8044 when we post the intermediate paused message.
8046 * gst/gstelement.c: (gst_element_continue_state),
8047 (gst_element_set_state_func), (gst_element_change_state):
8048 Don't post state changes that were between the same state
8051 2005-11-03 Stefan Kost <ensonic@users.sf.net>
8053 * docs/gst/gstreamer-sections.txt:
8056 * gst/gstminiobject.h:
8059 more docs and doc style fixes
8061 2005-11-03 Stefan Kost <ensonic@users.sf.net>
8063 * docs/gst/gstreamer-sections.txt:
8065 * gst/gstminiobject.c:
8068 2005-11-03 Andy Wingo <wingo@pobox.com>
8070 * check/states/sinks.c (test_livesrc_sink): Add checks that the
8071 state-changed messages actually have the right order and the right
8074 2005-11-03 Wim Taymans <wim@fluendo.com>
8076 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8077 Added some more checks. Specifically the case where NO_PREROLL
8078 elements are in the pipeline.
8080 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8081 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8082 (gst_base_sink_get_position):
8083 Post READY->PAUSED state change messages too.
8084 Fix bug where VOID was posted as pending state...
8086 * gst/gstbin.c: (gst_bin_recalc_state):
8087 use _element_continue_state() to continue the state change.
8089 * gst/gstelement.c: (gst_element_continue_state),
8090 (gst_element_commit_state), (gst_element_set_state_func),
8091 (gst_element_change_state), (gst_element_change_state_func):
8092 Lots of state change cleanups, assign the STATE_RETURN in
8093 a new continue_state() function that also propagates the
8094 last return value from a state change to the app.
8095 Update some debug statements with proper category.
8097 2005-11-03 Wim Taymans <wim@fluendo.com>
8099 * docs/design/part-events.txt:
8100 * docs/design/part-gstpipeline.txt:
8101 * docs/design/part-messages.txt:
8102 * docs/design/part-overview.txt:
8103 * docs/design/part-seeking.txt:
8104 * docs/design/part-states.txt:
8105 * docs/design/part-trickmodes.txt:
8106 * docs/manual/advanced-position.xml:
8110 People think !! is ugly, this looks better.
8112 * gst/gstpad.c: (gst_pad_set_blocked_async):
8113 Remove !! since it's fixed elsewhere now.
8115 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
8117 * gst/gstminiobject.h:
8119 Add !! to _FLAG_IS_SET macros to make the result boolean.
8121 2005-11-03 Edward Hervey <edward@fluendo.com>
8123 * gst/gstpad.c: (gst_pad_set_blocked_async):
8124 comparing a flag and a gboolean rarely returns coherent results...
8125 Added two characters (!!) to make that work correctly.
8127 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
8129 * gst/gstbus.c: (gst_bus_class_init):
8132 * gst/gstqueue.c: (gst_queue_loop):
8133 Don't assume a miniobject that isn't a buffer is an
8134 event (it could be that there is a refcounting
8135 problem somewhere and the pointer is stale and
8136 refers to an already destroyed miniobject).
8138 2005-11-03 Julien MOUTTE <julien@moutte.net>
8140 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8142 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
8144 * docs/manual/advanced-position.xml:
8145 Update seek example and explanations to current 0.9 API.
8147 * gst/elements/gsttypefindelement.c:
8148 (gst_type_find_element_activate):
8149 Remove FIXME comment now that the found caps
8152 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
8154 * gst/gstregistryxml.c: (load_feature):
8155 Add another GST_STR_NULL instance
8157 2005-11-02 Edward Hervey <edward@fluendo.com>
8159 * gst/gstpad.c: (handle_pad_block):
8160 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8162 2005-11-02 Wim Taymans <wim@fluendo.com>
8167 * gst/gstelement.c: (gst_element_commit_state):
8168 Remove unused value.
8170 * gst/gstiterator.c:
8171 Mention that the returned element is reffed in the docs.
8173 2005-11-02 Wim Taymans <wim@fluendo.com>
8175 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8176 (gst_pad_push), (gst_pad_push_event):
8177 Unlock blocked pads when they are flushed.
8179 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
8182 * docs/gst/gstreamer-sections.txt:
8185 * gst/gstregistry.c: (gst_registry_scan_path_level):
8186 fix for a nasty little missed situation where an installed plug-in
8187 which was in the cache did not get overridden by an uninstalled one
8188 which was earlier in the plugin path because the newly created plugin
8189 for the uninstalled one (not in the registry) didn't get its
8190 ->registered set to TRUE
8192 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
8194 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8195 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8196 (gst_collectpads_is_active), (gst_collectpads_collect),
8197 (gst_collectpads_collect_range), (gst_collectpads_start),
8198 (gst_collectpads_stop), (gst_collectpads_peek),
8199 (gst_collectpads_pop), (gst_collectpads_available),
8200 (gst_collectpads_read), (gst_collectpads_flush):
8201 Guard public API with assertions.
8204 Fix docs for gst_pad_set_link_function().
8206 2005-11-02 Johan Dahlin <johan@gnome.org>
8208 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
8209 Unref found_caps after we used it.
8211 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
8213 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8214 Don't try to ref NULL.
8216 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
8218 * win32/common/config.h.in:
8219 provide a GST_FUNCTION that just gives a string for now
8221 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
8223 * win32/common/gstenumtypes.c: (register_gst_object_flags),
8224 (gst_object_flags_get_type), (register_gst_bin_flags),
8225 (gst_bin_flags_get_type), (register_gst_buffer_flag),
8226 (gst_buffer_flag_get_type), (register_gst_bus_flags),
8227 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8228 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8229 (gst_clock_return_get_type), (register_gst_clock_entry_type),
8230 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8231 (gst_clock_flags_get_type), (register_gst_state),
8232 (gst_state_get_type), (register_gst_state_change_return),
8233 (gst_state_change_return_get_type), (register_gst_state_change),
8234 (gst_state_change_get_type), (register_gst_element_flags),
8235 (gst_element_flags_get_type), (register_gst_core_error),
8236 (gst_core_error_get_type), (register_gst_library_error),
8237 (gst_library_error_get_type), (register_gst_resource_error),
8238 (gst_resource_error_get_type), (register_gst_stream_error),
8239 (gst_stream_error_get_type), (register_gst_event_type),
8240 (gst_event_type_get_type), (register_gst_seek_type),
8241 (gst_seek_type_get_type), (register_gst_seek_flags),
8242 (gst_seek_flags_get_type), (register_gst_format),
8243 (gst_format_get_type), (register_gst_index_certainty),
8244 (gst_index_certainty_get_type), (register_gst_index_entry_type),
8245 (gst_index_entry_type_get_type),
8246 (register_gst_index_lookup_method),
8247 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8248 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8249 (gst_index_resolver_method_get_type), (register_gst_index_flags),
8250 (gst_index_flags_get_type), (register_gst_debug_level),
8251 (gst_debug_level_get_type), (register_gst_debug_color_flags),
8252 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8253 (gst_iterator_result_get_type), (register_gst_iterator_item),
8254 (gst_iterator_item_get_type), (register_gst_message_type),
8255 (gst_message_type_get_type), (register_gst_mini_object_flags),
8256 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8257 (gst_pad_link_return_get_type), (register_gst_flow_return),
8258 (gst_flow_return_get_type), (register_gst_activate_mode),
8259 (gst_activate_mode_get_type), (register_gst_pad_direction),
8260 (gst_pad_direction_get_type), (register_gst_pad_flags),
8261 (gst_pad_flags_get_type), (register_gst_pad_presence),
8262 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8263 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8264 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8265 (gst_plugin_error_get_type), (register_gst_plugin_flags),
8266 (gst_plugin_flags_get_type), (register_gst_rank),
8267 (gst_rank_get_type), (register_gst_query_type),
8268 (gst_query_type_get_type), (register_gst_tag_merge_mode),
8269 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8270 (gst_tag_flag_get_type), (register_gst_task_state),
8271 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8272 (gst_alloc_trace_flags_get_type),
8273 (register_gst_type_find_probability),
8274 (gst_type_find_probability_get_type), (register_gst_uri_type),
8275 (gst_uri_type_get_type), (register_gst_parse_error),
8276 (gst_parse_error_get_type):
8277 * win32/common/gstversion.h:
8280 2005-11-01 Luca Ognibene <luogni@tin.it>
8283 fix docs. popt is dead, long live GOption.
8285 2005-10-31 Wim Taymans <wim@fluendo.com>
8290 2005-10-31 Andy Wingo <wingo@pobox.com>
8294 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8296 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8297 need to serialize property notifications on GLib 2.8. GLib 2.6 has
8298 the possibility of deadlocks here if code calling notify() or
8299 set() has a lock that can be taken in another notify handler (ABBA
8300 with class lock and e.g. python GIL state lock).
8302 2005-10-28 Julien MOUTTE <julien@moutte.net>
8304 * gst/gstbus.c: Doc updates.
8306 2005-10-28 Wim Taymans <wim@fluendo.com>
8308 * docs/design/part-TODO.txt:
8309 * gst/gstiterator.c:
8310 * gst/gstsystemclock.c:
8311 * gst/gstsystemclock.h:
8314 2005-10-28 Edward Hervey <edward@fluendo.com>
8316 * docs/gst/gstreamer-docs.sgml:
8317 * docs/gst/gstreamer-sections.txt:
8318 the GstURIType documentation page is private, it only defines GstURIType
8319 which should be defined in the GstURIHandler page
8321 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
8323 * gst/gstbin.c: (gst_bin_class_init):
8326 Documentation updates.
8328 2005-10-28 Wim Taymans <wim@fluendo.com>
8330 * docs/gst/gstreamer-sections.txt:
8333 Documented the clocks.
8335 2005-10-28 Stefan Kost <ensonic@users.sf.net>
8337 * docs/gst/gstreamer-sections.txt:
8338 move some macros to private sections
8339 * gst/gstminiobject.c:
8340 * gst/gstminiobject.h:
8341 add descriptions provided by ds and some more
8343 mark macro as to be removed
8345 2005-10-28 Wim Taymans <wim@fluendo.com>
8347 * docs/design/part-TODO.txt:
8348 Add an item to TODO.
8350 * gst/gstiterator.c: (gst_iterator_fold),
8351 (gst_iterator_find_custom):
8352 * gst/gstiterator.h:
8355 2005-10-28 Wim Taymans <wim@fluendo.com>
8357 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8358 (gst_base_transform_init):
8361 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8362 An EOS event marks the queue as completely filled.
8364 2005-10-27 Wim Taymans <wim@fluendo.com>
8366 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8367 (gst_base_sink_do_sync), (gst_base_sink_get_position):
8368 Some more debugging.
8370 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8371 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8372 (gst_base_transform_event), (gst_base_transform_getrange),
8373 (gst_base_transform_chain):
8374 * gst/base/gstbasetransform.h:
8376 Protect transform and concurrent buffer alloc with a new lock.
8377 Try not to break ABI/API.
8379 2005-10-27 Wim Taymans <wim@fluendo.com>
8381 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8382 (gst_base_src_init), (gst_base_src_query),
8383 (gst_base_src_default_newsegment),
8384 (gst_base_src_configure_segment), (gst_base_src_do_seek),
8385 (gst_base_src_send_event), (gst_base_src_event_handler),
8386 (gst_base_src_pad_get_range), (gst_base_src_loop),
8387 (gst_base_src_unlock), (gst_base_src_default_negotiate),
8388 (gst_base_src_start), (gst_base_src_deactivate),
8389 (gst_base_src_activate_push), (gst_base_src_change_state):
8390 Move some stuff around and cleanup things.
8392 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
8394 * gst/base/gstbasesrc.c: (gst_base_src_query):
8395 Add missing break statements.
8397 2005-10-27 Wim Taymans <wim@fluendo.com>
8399 * check/gst/gstbin.c: (GST_START_TEST):
8400 An extra refcount is taken in basesrc.
8402 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8403 (gst_base_src_get_range), (gst_base_src_pad_get_range),
8404 (gst_base_src_loop):
8405 Small cleanups, check for flushing after being unlocked from the
8406 LIVE_LOCK. take refcounts correctly (not yet everywhere).
8407 Don't send out EOS when going to READY.
8409 2005-10-27 Wim Taymans <wim@fluendo.com>
8411 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8412 (gst_base_sink_get_position):
8415 * gst/gstbin.c: (message_check), (bin_replace_message),
8416 (bin_remove_messages), (is_eos), (gst_bin_add_func),
8417 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8418 (bin_query_duration_init), (bin_query_duration_fold),
8419 (bin_query_duration_done), (bin_query_generic_fold),
8421 * tools/gst-launch.c: (main):
8424 2005-10-26 Stefan Kost <ensonic@users.sf.net>
8426 * examples/controller/audio-example.c: (main):
8427 * examples/queue/queue.c: (event_loop):
8428 * gst/base/gstbasetransform.h:
8429 * gst/gstelement.c: (gst_element_send_event):
8431 * gst/gstpad.c: (gst_pad_send_event):
8434 changing log priority in error situations
8436 2005-10-25 Wim Taymans <wim@fluendo.com>
8438 * gst/gstbin.c: (message_check), (bin_replace_message),
8439 (bin_remove_messages), (is_eos), (gst_bin_add_func),
8440 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8441 (bin_query_duration_init), (bin_query_duration_fold),
8442 (bin_query_duration_done), (bin_query_generic_fold),
8444 Some doc and debug updates.
8445 Cache previously requested query DURATION for speed. invalidate
8446 cached duration if element posts a DURATION message.
8448 2005-10-25 Wim Taymans <wim@fluendo.com>
8450 * docs/design/part-TODO.txt:
8453 * gst/gstbin.c: (message_check), (bin_replace_message),
8454 (bin_remove_messages), (is_eos), (gst_bin_add_func),
8455 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8456 (bin_query_duration_init), (bin_query_duration_fold),
8457 (bin_query_duration_done), (bin_query_generic_fold),
8459 Handle SEGMENT_START/DONE messages correctly.
8460 More evolved query algorithm that handles duration queries
8463 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8464 (gst_element_get_state_func), (gst_element_abort_state),
8465 (gst_element_commit_state), (gst_element_lost_state):
8466 Some more debugging.
8471 2005-10-25 Wim Taymans <wim@fluendo.com>
8473 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8474 Don't use invalid stream_time.
8476 * gst/gstevent.c: (gst_event_new_newsegment):
8477 stream_time in newsegment cannot be undefined.
8479 2005-10-24 Wim Taymans <wim@fluendo.com>
8484 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8486 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8488 2005-10-24 Stefan Kost <ensonic@users.sf.net>
8490 * docs/libs/tmpl/gstdparam.sgml:
8491 * docs/libs/tmpl/gstdplinint.sgml:
8492 * docs/libs/tmpl/gstdpman.sgml:
8493 * docs/libs/tmpl/gstdpsmooth.sgml:
8494 * docs/libs/tmpl/gstunitconvert.sgml:
8497 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
8502 === release 0.9.4 ===
8504 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
8507 releasing 0.9.4, "Tyrannosaurus Rex"
8509 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
8511 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8512 (gst_file_sink_get_current_offset):
8513 Use fseeko() and ftello() if available. When falling back on
8514 lseek() to get the current offset, fflush() first to make sure
8515 everything is up-to-date and we get the right offset.
8517 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
8519 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8520 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8521 * gst/gsterror.c: (_gst_stream_errors_init):
8523 * gst/gstqueue.c: (gst_queue_loop):
8525 remove prematurely added error category and clean up the instances
8527 2005-10-21 Wim Taymans <wim@fluendo.com>
8529 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8530 (gst_base_sink_get_position), (gst_base_sink_query),
8531 (gst_base_sink_change_state):
8532 Simply set the right flag when going to playing, that's all
8533 we need to do instead of calling a function inside the object
8534 lock (that could take the lock as well and deadlock)
8536 2005-10-21 Wim Taymans <wim@fluendo.com>
8538 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8539 (gst_base_src_loop):
8540 Don't warn, the peer element knows what to do best when
8541 the seek failed, it might try something else.
8543 2005-10-21 Wim Taymans <wim@fluendo.com>
8545 * gst/base/gstbasesrc.c: (gst_base_src_init),
8546 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8549 2005-10-21 Wim Taymans <wim@fluendo.com>
8551 * docs/design/part-segments.txt:
8554 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8555 Correctly set caps, even on the subbufer.
8557 2005-10-21 Wim Taymans <wim@fluendo.com>
8559 * docs/gst/gstreamer-docs.sgml:
8560 * docs/gst/gstreamer-sections.txt:
8567 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8571 And 2% more doc coverage.
8573 2005-10-21 Andy Wingo <wingo@pobox.com>
8575 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8578 2005-10-20 Wim Taymans <wim@fluendo.com>
8580 * gst/gsterror.c: (gst_error_get_message):
8583 * gst/gststructure.c:
8588 2005-10-20 Wim Taymans <wim@fluendo.com>
8593 Another 1% more coverage.
8595 2005-10-20 Wim Taymans <wim@fluendo.com>
8597 * docs/gst/gstreamer-sections.txt:
8598 * gst/gstelement.c: (gst_element_get_state_func),
8599 (gst_element_abort_state), (gst_element_commit_state),
8600 (gst_element_lost_state):
8602 * gst/gstquery.c: (gst_query_set_position),
8603 (gst_query_parse_position), (gst_query_set_duration),
8604 (gst_query_parse_duration), (gst_query_new_convert):
8606 Yay! 1% more docs coverage.
8608 2005-10-20 Wim Taymans <wim@fluendo.com>
8611 * gst/gstquery.c: (gst_query_set_position),
8612 (gst_query_parse_position), (gst_query_set_duration),
8613 (gst_query_parse_duration), (gst_query_new_convert):
8615 * gst/gstutils.c: (gst_element_query_convert):
8617 Docs and consistency fixes.
8619 2005-10-20 Wim Taymans <wim@fluendo.com>
8625 2005-10-20 Wim Taymans <wim@fluendo.com>
8627 * gst/gstbin.c: (message_check), (bin_replace_message),
8628 (bin_remove_messages), (is_eos), (gst_bin_add_func),
8629 (update_degree), (gst_bin_sort_iterator_next),
8630 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8631 Reworked the message handling a bit, cache the messages instead of
8632 only the senders. alows us to do more in the future.
8634 2005-10-20 Wim Taymans <wim@fluendo.com>
8636 * docs/design/part-TODO.txt:
8639 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8640 (gst_base_sink_query):
8641 Don't use clock time to report position when in EOS.
8643 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
8645 * tools/gst-inspect.c: (print_interfaces),
8646 (print_element_properties_info), (print_element_info):
8647 Fix interface output with gst-inspect -a; don't print
8648 newlines after double/float properties.
8650 2005-10-20 Wim Taymans <wim@fluendo.com>
8652 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8653 (gst_base_sink_query):
8654 Speed up current position calculation.
8656 * gst/base/gstbasesrc.c: (gst_base_src_query),
8657 (gst_base_src_default_newsegment):
8658 Correctly set stream position in newsegment.
8660 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8661 (update_degree), (gst_bin_sort_iterator_next),
8662 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8663 * gst/gstmessage.c: (gst_message_new_custom):
8664 Clean up debugging info
8666 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8667 (gst_queue_loop), (gst_queue_handle_src_query):
8670 2005-10-19 Wim Taymans <wim@fluendo.com>
8672 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8673 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8674 Fix query handling again.
8676 2005-10-19 Wim Taymans <wim@fluendo.com>
8678 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8679 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8680 * gst/base/gstbasesrc.c: (gst_base_src_query):
8681 * gst/elements/gstfilesink.c: (gst_file_sink_query):
8682 * gst/elements/gsttypefindelement.c:
8683 (gst_type_find_handle_src_query), (find_element_get_length),
8684 (gst_type_find_element_activate):
8687 * gst/gstquery.c: (gst_query_new_position),
8688 (gst_query_set_position), (gst_query_parse_position),
8689 (gst_query_new_duration), (gst_query_set_duration),
8690 (gst_query_parse_duration), (gst_query_set_segment),
8691 (gst_query_parse_segment):
8693 Bundling query position/duration is not a good idea since duration
8694 does not change much and we don't want to recalculate it for every
8695 position query, so they are separated again..
8696 Base value in segment query is not needed.
8698 * gst/gstqueue.c: (gst_queue_handle_src_query):
8699 * gst/gstutils.c: (gst_element_query_position),
8700 (gst_element_query_duration), (gst_pad_query_position),
8701 (gst_pad_query_duration):
8703 Updates for query API change.
8704 Added some docs here and there.
8706 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
8708 * check/gst/gstbin.c: (GST_START_TEST):
8709 * check/gst/gstghostpad.c: (GST_START_TEST):
8710 * check/pipelines/cleanup.c: (GST_START_TEST):
8711 wait on thread to die so we can check refcount correctly
8713 2005-10-18 Wim Taymans <wim@fluendo.com>
8715 * check/pipelines/stress.c: (GST_START_TEST):
8716 Make check a little more time consuming.
8718 2005-10-18 Wim Taymans <wim@fluendo.com>
8720 * check/Makefile.am:
8721 * check/pipelines/stress.c: (GST_START_TEST),
8722 (simple_launch_lines_suite), (main):
8723 Small state change torture test.
8725 * docs/design/part-states.txt:
8726 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8727 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8728 (gst_base_sink_change_state):
8729 Never take state lock from streaming thread, clean up ugly
8730 hacks. Unfortunatly core does not yet support nice ways to
8733 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8735 Start state recalc if a STATE_DIRTY message is posted, but only
8736 on the toplevel bin.
8738 * gst/gstelement.c: (gst_element_sync_state_with_parent),
8739 (gst_element_get_state_func), (gst_element_abort_state),
8740 (gst_element_commit_state), (gst_element_lost_state),
8741 (gst_element_set_state_func), (gst_element_change_state):
8743 State variables are now protected with the LOCK, the state
8744 lock is only used to serialize _set_state().
8746 2005-10-18 Wim Taymans <wim@fluendo.com>
8748 * check/gst/gstbin.c: (GST_START_TEST):
8749 * check/gst/gstmessage.c: (GST_START_TEST):
8750 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8751 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8753 * gst/gstelement.c: (gst_element_abort_state),
8754 (gst_element_commit_state), (gst_element_lost_state):
8755 * gst/gstmessage.c: (gst_message_new_state_changed),
8756 (gst_message_new_state_dirty), (gst_message_new_segment_start),
8757 (gst_message_new_segment_done), (gst_message_new_duration),
8758 (gst_message_parse_state_changed),
8759 (gst_message_parse_segment_start),
8760 (gst_message_parse_segment_done), (gst_message_parse_duration):
8762 * tools/gst-launch.c: (event_loop):
8763 Seriously, this is better than a previous commit as we only need
8764 to notify the fact that an element changed state in a streaming
8765 thread, marking the state of the parents dirty, hence the
8766 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8769 2005-10-18 Wim Taymans <wim@fluendo.com>
8771 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8772 (gst_bin_recalc_func):
8773 * gst/gstelement.c: (gst_element_set_clock),
8774 (gst_element_abort_state), (gst_element_lost_state):
8775 Cleanups, prepare for state change fixes.
8777 2005-10-18 Wim Taymans <wim@fluendo.com>
8780 * gst/gstelement.c: (gst_element_class_init),
8781 (gst_element_set_state), (gst_element_set_state_func):
8783 Pending ABI changes.
8784 GThreadPool in GstBinClass to monitor async state changes.
8785 state_cookie in GstElement to detect concurrent gst/set state.
8786 set_state is now virtual too in case a very complicated element
8787 has to be constructed.
8789 2005-10-18 Wim Taymans <wim@fluendo.com>
8791 * check/gst/gstbin.c: (GST_START_TEST):
8792 * check/gst/gstmessage.c: (GST_START_TEST):
8793 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8794 * gst/gstbin.c: (bin_bus_handler):
8795 * gst/gstelement.c: (gst_element_commit_state),
8796 (gst_element_lost_state):
8797 * gst/gstmessage.c: (gst_message_new_state_changed),
8798 (gst_message_new_segment_start), (gst_message_new_segment_done),
8799 (gst_message_new_duration), (gst_message_parse_state_changed),
8800 (gst_message_parse_segment_start),
8801 (gst_message_parse_segment_done), (gst_message_parse_duration):
8803 * tools/gst-launch.c: (event_loop):
8804 Make messages future proof.
8805 state-change gets a flag if it was a message comming from the
8807 segment-start/stop can also be specified in other formats.
8808 A message to notify an app that a pipeline changed playback
8810 Also fix a GstMessage leak in -launch
8812 2005-10-18 Andy Wingo <wingo@pobox.com>
8814 * gst/gstelement.c (gst_element_dispose): More helpful message.
8816 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
8818 reviewed by: <delete if not using a buddy>
8820 * common/gtk-doc.mak:
8822 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
8824 * gst/gstregistry.c: (gst_registry_scan_path_level):
8825 unref a plug-in we get that was already initialized
8827 2005-10-18 Stefan Kost <ensonic@users.sf.net>
8829 * docs/gst/gstreamer-sections.txt:
8830 * docs/libs/gstreamer-libs-sections.txt:
8835 2005-10-17 Andy Wingo <wingo@pobox.com>
8837 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8840 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8842 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8844 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8845 (gst_element_get_state_func): Better debug message.
8846 (gst_element_commit_state): s/INFO/DEBUG/.
8847 (gst_element_lost_state, gst_element_change_state):
8849 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8850 (gst_message_new_custom): s/INFO/LOG/.
8852 2005-10-17 Michael Smith <msmith@fluendo.com>
8854 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8855 Check if end time is valid using end time, not start time.
8857 2005-10-17 Stefan Kost <ensonic@users.sf.net>
8859 * check/gst-libs/controller.c: (GST_START_TEST),
8860 (gst_controller_suite):
8861 * libs/gst/controller/gstcontroller.c:
8862 (gst_controlled_property_set_interpolation_mode):
8863 * libs/gst/controller/gstcontroller.h:
8864 * libs/gst/controller/gstinterpolation.c:
8865 * testsuite/controller/.cvsignore:
8866 * testsuite/controller/Makefile.am:
8867 * testsuite/controller/interpolator.c:
8868 merge controller testsuites
8870 remove mem-chunk from docs
8872 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
8874 * gst/gstmemchunk.c:
8875 * gst/gstmemchunk.h:
8876 * gst/gsttrashstack.c:
8877 * gst/gsttrashstack.h:
8878 out. get out. you're fired. to the Attic !
8880 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
8882 * gst/gstcaps.c: (gst_caps_intersect):
8883 fix signedness issues in a (hopefully) correct way
8884 * gst/gstelement.c: (gst_element_pads_activate):
8886 * gst/gstobject.c: (gst_object_set_parent):
8889 2005-10-17 Julien MOUTTE <julien@moutte.net>
8891 * gst/gstvalue.h: Fix prototypes.
8893 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8895 * docs/gst/gstreamer-sections.txt:
8896 * gst/gst.c: (gst_version_string):
8898 * gst/gstversion.h.in:
8899 * win32/common/libgstreamer.def:
8900 add gst_version_string ()
8902 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8906 * gst/gst.c: (init_post):
8907 * win32/common/config.h.in:
8909 * gst/gstcaps.c: (gst_caps_intersect):
8910 use gint64, the range could be bigger than a guint
8912 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8915 document potential problem in 2038
8917 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8919 * gst/gstcaps.c: (gst_caps_intersect):
8920 Fix guint j diving under 0
8922 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8925 * win32/common/config.h:
8926 * win32/common/config.h.in:
8927 check for process.h, declares getpid() on Windows
8929 include process.h if we have it
8930 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8931 * gst/gstmemchunk.h:
8932 fix signedness issues
8933 * win32/common/libgstreamer.def:
8936 2005-10-16 Julien MOUTTE <julien@moutte.net>
8938 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8939 fix. Because of unsigned ints, caps intersection was going nuts and
8940 trying to access structures with G_MAXUINT index. That fixes
8941 videotestsrc ! ffmpegcolorspace ! fakesink
8942 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8945 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8948 use the gettext macro
8949 * gst/elements/gstelements.c:
8951 * gst/indexers/gstindexers.c:
8952 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8953 * win32/common/config.h:
8955 * win32/common/config.h.in:
8956 add the template to generate config.h
8957 * win32/common/gstenumtypes.c:
8958 * win32/common/gstversion.h:
8961 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
8963 * gst/gst.c: (gst_version):
8964 * gst/gstversion.h.in:
8967 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
8970 Oops, add missing closing bracket.
8972 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8975 use common m4's for argument checking
8977 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
8979 * docs/gst/gstreamer-sections.txt:
8981 Add GST_EVENT_TYPE_NAME() macro.
8983 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8986 * gst/gstpluginfeature.c:
8988 privatize more symbols
8990 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8993 add srcdir, builddir includes to GST_ALL_CFLAGS, since
8994 everything that uses GStreamer API should have the includes
8996 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
8998 * docs/gst/gstreamer-sections.txt:
8999 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9001 give each value a _get_type, removes the DATA exports
9003 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9007 remove _gst_registry_auto_load, not used anymore
9008 * gst/gstbin.c: (gst_bin_get_type):
9010 * gst/gstelement.c: (gst_element_get_type):
9012 * gst/gstobject.c: (gst_object_get_type):
9014 * gst/gstpad.c: (gst_pad_get_type):
9016 make _get_type functions similar, fixes data export from library
9018 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9021 correctly make conditionals
9022 * gst/elements/Makefile.am:
9023 * gst/elements/gstelements.c:
9024 fix typo causing fdsrc not to build
9026 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9028 * testsuite/Makefile.am:
9029 * testsuite/bytestream/.cvsignore:
9030 * testsuite/bytestream/Makefile.am:
9031 * testsuite/bytestream/filepadsink.c:
9032 * testsuite/bytestream/gstbstest.c:
9033 * testsuite/bytestream/test1.c:
9034 * testsuite/bytestream/testfile1:
9035 * testsuite/caps/normalisation.c:
9036 * testsuite/caps/random.c: (main):
9037 * testsuite/cleanup/.cvsignore:
9038 * testsuite/cleanup/Makefile.am:
9039 * testsuite/cleanup/cleanup1.c:
9040 * testsuite/cleanup/cleanup2.c:
9041 * testsuite/cleanup/cleanup3.c:
9042 * testsuite/cleanup/cleanup4.c:
9043 * testsuite/cleanup/cleanup5.c:
9044 * testsuite/controller/interpolator.c:
9045 * testsuite/debug/printf_extension.c: (main):
9046 * testsuite/elements/tee.c:
9047 * testsuite/negotiation/.cvsignore:
9048 * testsuite/negotiation/Makefile.am:
9049 * testsuite/negotiation/pad_link.c:
9050 * testsuite/pad/Makefile.am:
9051 * testsuite/pad/chainnopull.c:
9052 * testsuite/pad/getnopush.c:
9053 * testsuite/pad/link.c:
9054 * testsuite/refcounting/sched.c: (create_pipeline):
9055 * testsuite/registry/Makefile.am:
9056 * testsuite/registry/gst-print-formats.c:
9057 * testsuite/schedulers/.cvsignore:
9058 * testsuite/schedulers/142183-2.c:
9059 * testsuite/schedulers/142183.c:
9060 * testsuite/schedulers/143777-2.c:
9061 * testsuite/schedulers/143777.c:
9062 * testsuite/schedulers/147713.c:
9063 * testsuite/schedulers/147819.c:
9064 * testsuite/schedulers/147894-2.c:
9065 * testsuite/schedulers/147894.c:
9066 * testsuite/schedulers/Makefile.am:
9067 * testsuite/schedulers/group_link.c:
9068 * testsuite/schedulers/queue_link.c:
9069 * testsuite/schedulers/relink.c:
9070 * testsuite/schedulers/unlink.c:
9071 * testsuite/schedulers/unref.c:
9072 * testsuite/schedulers/useless_iteration.c:
9073 * testsuite/states/bin.c:
9074 clean out/remove some stuff from the testsuite directories
9076 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9079 check for some headers
9080 * gst/elements/Makefile.am:
9081 * gst/elements/gstelements.c:
9082 don't compile fdsrc without sys/socket.h
9083 * gst/indexers/Makefile.am:
9084 * gst/indexers/gstindexers.c: (plugin_init):
9085 don't compile fileindex without mmap
9087 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
9094 * check/Makefile.am:
9095 * docs/gst/Makefile.am:
9096 * examples/helloworld/Makefile.am:
9098 * gst/base/Makefile.am:
9099 * gst/check/Makefile.am:
9100 * gst/elements/Makefile.am:
9101 * gst/indexers/Makefile.am:
9102 * gst/parse/Makefile.am:
9103 * libs/gst/controller/Makefile.am:
9104 * libs/gst/dataprotocol/Makefile.am:
9105 * examples/helloworld/helloworld.c: (event_loop):
9106 compile fixes, though it's not being compiled currently
9108 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
9110 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9111 Add some simple tests for the new taglist date API.
9113 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
9115 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9116 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9117 Beautify 'last-message' output: print 'none' for buffer timestamps
9118 and durations if none is set; improve alignment with next messages.
9120 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
9122 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9123 * gst/gstpluginfeature.h:
9124 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9125 * gst/gstregistry.h:
9126 * docs/gst/gstreamer-sections.txt:
9127 Add new API to check plugin feature version requirements.
9129 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9130 Some basic tests for the above.
9132 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
9134 * gst/gststructure.c: (gst_structure_to_string):
9135 guard against NULL printf - happens when for example
9136 a message structure with GstClock gets serialized
9138 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
9140 * gst/base/gstcollectpads.c: (gst_collectpads_event):
9141 Fix presumable copy'n'pasto.
9143 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
9145 * gst/elements/gstfakesrc.h:
9146 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9147 * gst/elements/gsttypefindelement.c:
9149 * gst/elements/gstfilesink.c: (gst_file_sink_render):
9150 I wonder if this could actually write +2GB files before
9152 2005-10-13 Andy Wingo <wingo@pobox.com>
9154 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9155 Fix Timmeke Waymans bug.
9156 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9157 string of the proper length to gst_caps_from_string. There's a
9158 potential for, before this fix, that this could cause someone
9159 connecting over the network to cause a segfault if the payload is
9162 2005-10-13 Stefan Kost <ensonic@users.sf.net>
9164 * docs/design/draft-push-pull.txt:
9165 * docs/design/part-overview.txt:
9166 * docs/random/TODO-pre-0.9:
9167 * docs/random/old/ChangeLog.gstreamer:
9168 * gst/base/gstpushsrc.c:
9172 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
9174 * gst/glib-compat.c: (gst_flags_get_first_value):
9175 * gst/glib-compat.h:
9176 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9177 (gst_value_compare_double), (gst_value_serialize_flags):
9178 GLib 2.6 g_flags_get_first_value has a bug that triggers an
9181 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
9183 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9184 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9186 * tools/gst-launch.c: (event_loop):
9187 print out clock nicely
9189 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
9191 * docs/gst/gstreamer-sections.txt:
9193 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9194 (gst_tag_list_get_date_index):
9195 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9196 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9198 2005-10-13 Julien MOUTTE <julien@moutte.net>
9200 * gst/base/gstcollectpads.c: (gst_collectpads_event),
9201 (gst_collectpads_chain):
9202 * gst/base/gstcollectpads.h: Handle newsegment and store informations
9205 2005-10-13 Stefan Kost <ensonic@users.sf.net>
9207 * docs/gst/gstreamer-sections.txt:
9210 * tools/gst-inspect.c: (main):
9211 * tools/gst-launch.c: (main):
9212 * tools/gst-run.c: (main):
9213 * tools/gst-xmlinspect.c: (main):
9214 fix GOption context leaks
9217 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
9221 * win32/common/config.h:
9223 * win32/vs6/grammar.dsp:
9224 * win32/vs6/libgstelements.dsp:
9225 * win32/vs6/libgstreamer.dsp:
9228 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
9230 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9231 * gst/base/gstbasesrc.c: (gst_base_src_query):
9232 fix more guint64<->gdouble conversions
9234 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
9237 add win32-update target
9238 * win32/common/gstconfig.h:
9239 * win32/common/gstenumtypes.c:
9240 * win32/common/gstenumtypes.h:
9241 * win32/common/gstversion.h:
9242 add files that visual studio can't generate
9244 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
9247 add a win32-update target
9250 2005-10-12 Wim Taymans <wim@fluendo.com>
9252 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9253 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9254 * gst/gstelement.c: (gst_element_commit_state),
9255 (gst_element_set_state):
9256 Protect flags with proper lock.
9257 unref provided cached clock in dispose.
9259 2005-10-12 Stefan Kost <ensonic@users.sf.net>
9262 * gst/gstminiobject.h:
9264 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9265 removed unused flags from miniobject
9268 2005-10-12 Wim Taymans <wim@fluendo.com>
9270 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9271 (gst_file_sink_event), (gst_file_sink_render):
9272 Flush before seeking.
9274 2005-10-12 Andy Wingo <wingo@pobox.com>
9276 * gst/gst.c (gst_init_check): Ignore unknown options, as has
9277 always been the case.
9279 2005-10-12 Stefan Kost <ensonic@users.sf.net>
9281 * check/gst/gstbin.c: (GST_START_TEST):
9282 * docs/gst/gstreamer-sections.txt:
9283 * gst/base/gstbasesink.c: (gst_base_sink_init):
9284 * gst/base/gstbasesrc.c: (gst_base_src_init),
9285 (gst_base_src_get_range), (gst_base_src_check_get_range),
9286 (gst_base_src_start), (gst_base_src_stop):
9287 * gst/base/gstbasesrc.h:
9288 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9289 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9290 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9294 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9296 * gst/gstelement.c: (gst_element_is_locked_state),
9297 (gst_element_set_locked_state), (gst_element_commit_state),
9298 (gst_element_set_state):
9300 * gst/gstindex.c: (gst_index_init):
9302 * gst/gstminiobject.h:
9303 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9304 (gst_object_set_parent):
9306 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9307 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9309 * gst/gstpadtemplate.h:
9310 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9311 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9312 * gst/gstpipeline.h:
9313 * gst/indexers/gstfileindex.c: (gst_file_index_load),
9314 (gst_file_index_commit):
9315 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9316 * testsuite/pad/link.c: (gst_test_src_init),
9317 (gst_test_filter_init), (gst_test_sink_init):
9318 * testsuite/states/locked.c: (main):
9319 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9320 moved bitshift from macro to enum definition
9322 2005-10-12 Wim Taymans <wim@fluendo.com>
9324 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9325 * gst/elements/gstfilesink.c: (gst_file_sink_event),
9326 (gst_file_sink_render):
9327 Some more debugging info.
9329 2005-10-12 Wim Taymans <wim@fluendo.com>
9331 * docs/design/part-states.txt:
9332 * tools/gst-launch.c: (main):
9334 Revert non-intentional change.
9336 2005-10-12 Wim Taymans <wim@fluendo.com>
9338 * check/gst/gstbin.c: (GST_START_TEST):
9339 * check/gst/gstelement.c: (GST_START_TEST):
9340 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9341 * check/gst/gstghostpad.c: (GST_START_TEST):
9342 * check/gst/gstpipeline.c: (GST_START_TEST):
9343 * check/pipelines/simple_launch_lines.c: (run_pipeline):
9344 * check/states/sinks.c: (GST_START_TEST):
9345 * gst/elements/gsttypefindelement.c: (stop_typefinding):
9346 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9347 (gst_bin_remove_func), (gst_bin_get_state_func),
9348 (gst_bin_recalc_state), (gst_bin_change_state_func),
9350 * gst/gstelement.c: (gst_element_get_state_func),
9351 (gst_element_get_state), (gst_element_abort_state),
9352 (gst_element_commit_state), (gst_element_set_state),
9353 (gst_element_change_state), (gst_element_change_state_func):
9355 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9356 (gst_pipeline_provide_clock_func):
9357 * gst/gstutils.c: (gst_element_link_pads_filtered):
9358 * tools/gst-launch.c: (main):
9359 * tools/gst-typefind.c: (main):
9360 Use GstClockTime in _get_state() instead of GTimeVal.
9361 Remove old code in gstutils.c
9363 2005-10-12 Andy Wingo <wingo@pobox.com>
9365 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9368 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9369 there is no task. Shouldn't affect any code, as nothing in our
9370 plugins checks this return value.
9371 (gst_pad_stop_task): Also take the stream lock if the pad has no
9374 2005-10-12 Wim Taymans <wim@fluendo.com>
9376 * gst/gstpad.c: (pre_activate), (post_activate),
9377 (gst_pad_activate_pull), (gst_pad_activate_push):
9378 Cleanup activation code. Reset old state if
9381 2005-10-12 Wim Taymans <wim@fluendo.com>
9383 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9384 (gst_base_sink_change_state):
9385 No need to prerol after receiving EOS.
9387 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9388 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9389 * gst/elements/gstidentity.c: (gst_identity_event):
9390 Print events more verbosely.
9392 2005-10-12 Wim Taymans <wim@fluendo.com>
9394 * check/Makefile.am:
9395 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9396 * check/states/sinks2.c:
9397 Moved sinks2 testcode in sinks check.
9399 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9400 (gst_bin_remove_func), (gst_bin_recalc_state),
9401 (gst_bin_change_state_func), (bin_bus_handler):
9402 Fix potential race condition when _get_state() iterated over an
9403 ASYNC element right before it posted a state completion.
9406 Do proper cast here.
9408 * gst/gstevent.c: (gst_event_new_newsegment),
9409 (gst_event_parse_newsegment):
9410 A playback rate of 0.0 is not allowed.
9412 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9414 * win32/common/config.h:
9415 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9416 (_trewinddir), (_ttelldir), (_tseekdir):
9417 * win32/common/dirent.h:
9418 * win32/common/gtchar.h:
9419 * win32/common/libgstbase.def:
9420 * win32/common/libgstreamer.def:
9421 * win32/vs6/grammar.dsp:
9422 * win32/vs6/gst_inspect.dsp:
9423 * win32/vs6/gst_launch.dsp:
9424 * win32/vs6/gstreamer.dsw:
9425 * win32/vs6/libgstbase.dsp:
9426 * win32/vs6/libgstelements.dsp:
9427 * win32/vs6/libgstreamer.dsp:
9428 Visual Studio 6 project files, and a new common directory.
9431 2005-10-11 Wim Taymans <wim@fluendo.com>
9433 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9434 (gst_base_sink_do_sync), (gst_base_sink_query),
9435 (gst_base_sink_change_state):
9436 * gst/base/gstbasesink.h:
9437 Correctly parse newsegment info.
9439 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9441 * gst/gst.c: (init_post):
9442 split plugin paths correctly
9444 2005-10-11 Wim Taymans <wim@fluendo.com>
9446 * check/gst/gstevent.c: (GST_START_TEST):
9447 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9448 (gst_base_sink_change_state):
9449 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9450 * gst/base/gstbasetransform.c: (gst_base_transform_event):
9451 * gst/elements/gstfilesink.c: (gst_file_sink_event):
9452 * gst/gstevent.c: (gst_event_new_newsegment),
9453 (gst_event_parse_newsegment):
9455 Added extra flag to newsegment for future API freeze.
9456 Updated check and base elements.
9458 2005-10-11 Julien MOUTTE <julien@moutte.net>
9460 * gst/base/gstcollectpads.c: (gst_collectpads_init),
9461 (gst_collectpads_add_pad), (gst_collectpads_pop),
9462 (gst_collectpads_event), (gst_collectpads_chain):
9463 * gst/base/gstcollectpads.h: Handle EOS correctly.
9465 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9467 * tools/gst-launch.c: (main):
9468 more null protecting
9470 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9472 * gst/gst-i18n-lib.h:
9473 check for ENABLE_NLS, not GETTEXT_PACKAGE
9474 * gst/gstregistry.c: (gst_registry_add_plugin),
9475 (gst_registry_scan_path_level),
9476 (_gst_registry_remove_cache_plugins):
9477 protect possibly NULL strings
9478 * gst/parse/types.h:
9479 config.h already included before
9480 * tools/gst-inspect.c: (main):
9481 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9482 check for ENABLE_NLS, not GETTEXT_PACKAGE
9483 * tools/gst-launch.c: (main):
9484 check for ENABLE_NLS, not GETTEXT_PACKAGE
9486 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9489 if we don't have glib, fail before testing 2.8
9490 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9491 fix a leak, should fix plugins-base testsuite
9493 2005-10-11 Andy Wingo <wingo@pobox.com>
9495 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9496 take the mode we're going to as an arg. Go head and set the mode
9497 and flushing flags now, so that if the activate function starts a
9498 thread all the flags will be in the right state.
9499 (post_activate): Renamed also. Just handle making sure streaming
9500 finishes for the deactivation case, and setting the deactivated
9502 (gst_pad_set_active): Complain loudly if deactivation fails.
9503 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9504 (gst_pad_activate_push): Adapt to pre/post_activate changes,
9505 remove the terrible hack.
9507 2005-10-11 Wim Taymans <wim@fluendo.com>
9509 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9510 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9511 (gst_bin_recalc_state), (gst_bin_change_state_func),
9512 (gst_bin_dispose), (bin_bus_handler):
9514 Prepare to make current EOS message queue more generic.
9517 * gst/gstevent.c: (gst_event_new_newsegment),
9518 (gst_event_parse_newsegment):
9520 Rename base to stream_time.
9525 2005-10-11 Wim Taymans <wim@fluendo.com>
9527 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9528 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9529 (gst_bin_change_state_func), (bin_bus_handler):
9531 Work on proper clock selection.
9533 2005-10-11 Edward Hervey <edward@fluendo.com>
9535 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
9536 * libs/gst/controller/gstcontroller.h:
9537 Added GList* version of _remove_properties() in order to be able to wrap
9540 2005-10-11 Wim Taymans <wim@fluendo.com>
9542 * docs/design/part-states.txt:
9545 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9546 (gst_bin_change_state_func), (bin_bus_handler):
9547 Doc updates. Don't distribute the same clock over and over again.
9553 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9554 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9555 (gst_pad_send_event):
9557 Make probe emission threadsafe again.
9558 Register quarks and move _get_name() from utils.
9561 * gst/gstpipeline.c: (gst_pipeline_class_init),
9562 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9563 Only redistribute the clock of it changed.
9565 * gst/gstsystemclock.h:
9570 Moved the _flow_get_name() to GstPad.
9572 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9574 * check/gst-libs/gdp.c: (GST_START_TEST):
9575 * check/gst/gstcaps.c: (GST_START_TEST):
9576 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9577 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9578 (gst_dp_packet_from_caps):
9579 fix more valgrind warnings before turning up the heat
9581 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
9583 * gst/parse/grammar.y:
9584 some cleanup before the hacking
9586 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9588 * gst/base/gstbasesrc.c: (gst_base_src_query):
9590 * gst/gstutils.c: (gst_guint64_to_gdouble),
9591 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9593 externalize, basesrc uses it
9594 obviously the implementation needs testing
9596 2005-10-10 Wim Taymans <wim@fluendo.com>
9598 * tests/sched/Makefile.am:
9599 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9600 (make_pipeline3), (make_pipeline4), (print_elem), (main):
9602 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9604 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9605 apparently converting from guint64 to double is not implemented
9608 2005-10-10 Wim Taymans <wim@fluendo.com>
9610 * check/Makefile.am:
9611 * check/generic/states.c: (GST_START_TEST):
9612 * check/gst/gstbin.c: (GST_START_TEST):
9613 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9614 * check/states/sinks.c: (GST_START_TEST):
9615 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9617 Check fixes, use API as stated in design docs, remove hacks.
9619 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9620 (gst_base_sink_change_state):
9621 Catch stopping our task while we're shutting down.
9623 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9624 (gst_bin_remove_func), (gst_bin_get_state_func),
9625 (gst_bin_recalc_state), (gst_bin_change_state_func),
9628 * gst/gstelement.c: (gst_element_init),
9629 (gst_element_get_state_func), (gst_element_abort_state),
9630 (gst_element_commit_state), (gst_element_lost_state),
9631 (gst_element_set_state), (gst_element_change_state),
9632 (gst_element_change_state_func):
9634 New state change algorithm (see #318116)
9636 * gst/gstpipeline.c: (gst_pipeline_class_init),
9637 (gst_pipeline_init), (gst_pipeline_set_property),
9638 (gst_pipeline_get_property), (do_pipeline_seek),
9639 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9640 * gst/gstpipeline.h:
9641 Remove crude state change hacks.
9646 * tools/gst-launch.c: (main):
9647 Fixes for state change. Needs some more work to fully use the
9650 2005-10-10 Andy Wingo <wingo@pobox.com>
9652 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9654 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9655 this flag, but it's not even in GLib 2.6. Odd. Hack around the
9658 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
9660 * gst/gstiterator.c: (gst_iterator_new):
9661 Fix my previous commit: GTypes passed to gst_iterator_new()
9662 can be fundamental types.
9664 2005-10-10 Wim Taymans <wim@fluendo.com>
9666 * gst/gstelement.c: (gst_element_iterate_pad_list),
9667 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9668 (gst_element_iterate_sink_pads):
9669 Use src/sink pads lists for the respective iterators instead
9672 2005-10-10 Andy Wingo <wingo@pobox.com>
9674 Merged in popt removal + GOption addition patch from Ronald, bug
9677 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9678 GstElement macros around, remove popt-related symbols, add goption
9681 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9683 * docs/gst/Makefile.am:
9684 * docs/libs/Makefile.am: No POPT_CFLAGS.
9686 * examples/manual/Makefile.am:
9687 * docs/manual/basics-init.xml: Doc updates with an example.
9689 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9690 (gst_init), (parse_one_option), (parse_goption_arg):
9691 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9692 bit of hand merging and debugging to get the GOption stuff working
9695 * tests/Makefile.am:
9696 * tools/Makefile.am:
9697 * tools/gst-inspect.c: (main):
9698 * tools/gst-launch.c: (main):
9699 * tools/gst-run.c: (main):
9700 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9702 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
9704 * gst/gstiterator.c: (gst_iterator_new):
9705 Add assertions to make sure passed GType is likely to really
9706 be a GType (as the compiler won't catch it if the size and
9707 GType arguments get mixed up, see #318447).
9709 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
9711 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9713 * gst/gstbin.c: (gst_bin_iterate_sorted):
9714 Pass GType and size arguments to gst_iterator_new() in the right
9715 order (maybe we should make _new() take the GType as first argument
9716 just like _new_list()?) (#318447).
9719 2005-10-10 Wim Taymans <wim@fluendo.com>
9721 * gst/gstelement.c: (gst_element_finalize):
9722 And free the GStaticRecMutex too
9724 2005-10-10 Andy Wingo <wingo@pobox.com>
9726 * gst/gstelement.c (gst_element_init, gst_element_finalize):
9727 Allocate and free the mutex properly.
9729 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9731 (GstElement): The state_lock is now recursive. Rebuild your
9732 plugins, suckers. Old macros adapted.
9734 * docs/gst/gstreamer-sections.txt: Doc updates.
9737 * gst/gstutils.c (g_static_rec_cond_timed_wait)
9738 (g_static_rec_cond_wait): Ported from state changes patch, while
9739 we wait on bug #317802 to be solved in a well-distributed GLib.
9741 * gst/gstelement.c (gst_element_change_state_func): Renamed from
9742 gst_element_change_state, variable name changes.
9743 (gst_element_change_state): Split out of gst_element_set_state in
9744 preparation for the state change merge. Doesn't pay attention to
9745 the 'transition' argument.
9746 (gst_element_set_state): Updates, hopefully purely cosmetic.
9747 (gst_element_sync_state_with_parent): MT-safety. Ported from the
9749 (gst_element_get_state_func): Renamed from get_state, cosmetic
9752 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9754 * gst/elements/gstelements.c:
9755 * win32/GStreamer.vcproj:
9757 * win32/dirent.c: (_tseekdir):
9758 * win32/gst-inspect.vcproj:
9759 * win32/gst-launch.vcproj:
9760 * win32/gstconfig.h:
9761 * win32/gstelements.vcproj:
9762 * win32/gstenumtypes.c: (gst_object_flags_get_type):
9763 * win32/gstreamer.def:
9765 updates for the win32 build (patch from Sebastien Moutte)
9767 2005-10-10 Andy Wingo <wingo@pobox.com>
9769 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9770 gst_bin_get_state, cleaned up (but no logic changes).
9771 (bin_element_is_sink): Comment updates.
9772 (sink_iterator_filter): Remove needless cast.
9773 (gst_bin_iterate_sinks): Doc update.
9774 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9775 cleaned up (but no logic changes).
9777 * check/states/sinks.c (test_src_sink): Cleanups from the state
9779 (test_livesrc_sink): Sync on the state.
9781 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9782 the state change patch.
9784 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9787 * check/gst/gstbin.c: Merge in some style fixes and additional
9788 checks from Wim's state change patch.
9790 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
9792 * gst/base/gsttypefindhelper.c: (helper_find_peek),
9793 (gst_type_find_helper):
9794 Check whether we have the requested data already in our list of
9795 cached buffers before pulling a new buffer; also make the buffer
9796 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9798 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
9803 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9804 don't use long long, it's not portable. Replacing with
9805 gint64 seems to work; let's hope no skeletons fall out of the closet.
9807 2005-10-10 Andy Wingo <wingo@pobox.com>
9809 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9811 2005-10-09 Stefan Kost <ensonic@users.sf.net>
9813 * docs/gst/gstreamer-sections.txt:
9818 * gst/gstmessage.c: (gst_message_parse_state_changed):
9821 more docs, fix compilation
9823 2005-10-09 Philippe Khalaf <burger@speedy.org>
9825 Fixed a few forgotten variables on previous commit
9827 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
9829 * gst/base/gsttypefindhelper.c: (helper_find_peek):
9830 Fix evil typefind crasher: getrange() might return a short
9831 buffer at the end of a file, but gst_type_find_peek() must
9832 either return the full data as requested or NULL, but
9833 never a short buffer.
9835 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
9837 * gst/gstmessage.c: (gst_message_new_state_changed),
9838 (gst_message_parse_state_changed):
9840 don't use "new", it's a C++ keyword
9842 2005-10-08 Wim Taymans <wim@fluendo.com>
9844 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9845 * gst/gstelement.c: (gst_element_post_message):
9846 * gst/gstpipeline.c: (gst_pipeline_change_state):
9847 Small docs and debug updates.
9849 2005-10-08 Stefan Kost <ensonic@users.sf.net>
9851 * docs/gst/gstreamer-sections.txt:
9852 * gst/gstelementfactory.c:
9857 2005-10-08 Wim Taymans <wim@fluendo.com>
9859 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9860 (gst_bin_dispose), (bin_bus_handler):
9861 Fix typos, add comments.
9862 Clear EOS list when going to PAUSED from any direction and do it
9863 in a threadsafe way.
9864 Get base time in a threadsafe way too.
9865 Fix confusing debug in the change_state function.
9866 Various other small cleanups.
9868 * gst/gstelement.c: (gst_element_post_message):
9869 Fix very verbose bus posting code.
9871 * gst/gstpipeline.c: (gst_pipeline_class_init),
9872 (gst_pipeline_set_property), (gst_pipeline_get_property),
9873 (gst_pipeline_change_state):
9874 Small ARG_ -> PROP_ cleanup
9876 2005-10-08 Wim Taymans <wim@fluendo.com>
9878 * gst/gstbin.c: (is_eos), (bin_bus_handler):
9879 Do a less CPU demanding EOS check because we can.
9881 2005-10-08 Wim Taymans <wim@fluendo.com>
9883 * libs/gst/dataprotocol/dataprotocol.c:
9884 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9885 (gst_dp_packet_from_event):
9886 * libs/gst/dataprotocol/dataprotocol.h:
9887 * libs/gst/dataprotocol/dp-private.h:
9888 It's about time we bump the version number.
9889 Since event types don't fit in the guint8 anymore describing
9890 the payload type, make payload type 16 bits wide.
9892 2005-10-08 Wim Taymans <wim@fluendo.com>
9894 * docs/design/part-TODO.txt:
9895 * docs/design/part-clocks.txt:
9896 * docs/design/part-events.txt:
9897 * docs/design/part-gstbin.txt:
9898 * docs/design/part-gstelement.txt:
9899 * docs/design/part-gstpipeline.txt:
9900 * docs/design/part-live-source.txt:
9901 * docs/design/part-messages.txt:
9902 * docs/design/part-overview.txt:
9903 * docs/design/part-states.txt:
9906 2005-10-08 Wim Taymans <wim@fluendo.com>
9910 Fix event quark registration.
9911 Add some space between events so we can insert them in the
9914 2005-10-08 Wim Taymans <wim@fluendo.com>
9916 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9917 (gst_base_sink_handle_buffer):
9924 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9925 (gst_queue_set_property), (gst_queue_get_property):
9927 Remove old unused properties.
9929 2005-10-08 Stefan Kost <ensonic@users.sf.net>
9930 * docs/gst/gstreamer-sections.txt:
9933 * gst/gstminiobject.c:
9934 * gst/gstminiobject.h:
9938 lots of new docs and doc fixes
9940 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
9942 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9944 * gst/gstregistry.c: (gst_registry_lookup_locked),
9945 (gst_registry_scan_path_level):
9946 * gst/gstregistryxml.c: (load_plugin):
9947 Only ever load one plugin for a given plugin basename.
9948 This ensures correct overriding of GST_PLUGIN_PATH over
9949 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9950 system installed plugins.
9952 2005-10-08 Wim Taymans <wim@fluendo.com>
9954 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9955 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9956 Prepare for doing QOS.
9958 2005-10-08 Wim Taymans <wim@fluendo.com>
9960 * check/gst/gstbin.c: (GST_START_TEST):
9961 * check/pipelines/cleanup.c: (GST_START_TEST):
9962 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9963 Allow new clock message too.
9965 2005-10-08 Wim Taymans <wim@fluendo.com>
9967 * gst/gstmessage.c: (gst_message_new_error),
9968 (gst_message_new_warning), (gst_message_new_tag),
9969 (gst_message_new_state_changed), (gst_message_new_clock_provide),
9970 (gst_message_new_clock_lost), (gst_message_new_new_clock),
9971 (gst_message_new_segment_start), (gst_message_new_segment_done),
9972 (gst_message_parse_state_changed),
9973 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9974 (gst_message_parse_new_clock):
9976 Also carry the clock in question.
9978 2005-10-08 Wim Taymans <wim@fluendo.com>
9980 * gst/gstmessage.c: (gst_message_new_custom),
9981 (gst_message_new_eos), (gst_message_new_error),
9982 (gst_message_new_warning), (gst_message_new_tag),
9983 (gst_message_new_state_changed), (gst_message_new_clock_provide),
9984 (gst_message_new_new_clock), (gst_message_new_segment_start),
9985 (gst_message_new_segment_done), (gst_message_parse_state_changed),
9986 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9989 Added clock related messages.
9991 * gst/gstpipeline.c: (gst_pipeline_change_state):
9992 Post message when the clock changed.
9994 * tools/gst-launch.c: (event_loop):
9997 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
9999 * tools/gst-inspect.c: (print_element_properties_info):
10000 Can't pass NULL strings to g_print() on windows.
10002 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
10004 * docs/Makefile.am:
10005 * docs/gst/Makefile.am:
10006 * docs/gst/gstreamer-docs.sgml:
10007 * docs/gst/running.xml:
10008 * docs/version.entities.in:
10009 add a chapter on running GStreamer.
10010 document GST_DEBUG and GST_PLUGIN* env vars
10012 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
10017 remove PLUGINS_BUILDDIR stuff
10018 * gst/gst.c: (init_post):
10019 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10021 remove, it was condescending and not needed
10023 2005-10-08 Wim Taymans <wim@fluendo.com>
10025 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10026 (gst_base_sink_handle_object), (gst_base_sink_event),
10027 (gst_base_sink_wait), (gst_base_sink_handle_event),
10028 (gst_base_sink_change_state):
10029 * gst/base/gstbasesink.h:
10030 Repost EOS message while going to PLAYING if still EOS.
10031 Make sure that when receiving a FLUSH_START we don't attempt
10032 to sync on the clock anymore.
10034 2005-10-08 Wim Taymans <wim@fluendo.com>
10036 * tools/gst-launch.c: (event_loop):
10037 Better message printout.
10039 2005-10-08 Wim Taymans <wim@fluendo.com>
10041 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10042 (gst_bin_child_proxy_get_children_count):
10043 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10044 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10045 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10046 (gst_child_proxy_set_valist):
10047 * gst/parse/grammar.y:
10048 Make ChildProxy threadsafe and fix mem leaks.
10050 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
10052 * gst/gst.c: (init_post):
10053 debug the GST_PLUGIN_ env vars
10055 2005-10-08 Wim Taymans <wim@fluendo.com>
10057 * check/gst/gstbin.c: (GST_START_TEST):
10058 * check/gst/gstmessage.c: (GST_START_TEST):
10059 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10060 * gst/gstelement.c: (gst_element_commit_state),
10061 (gst_element_lost_state):
10062 * gst/gstmessage.c: (gst_message_new_state_changed),
10063 (gst_message_parse_state_changed):
10064 * gst/gstmessage.h:
10065 * tools/gst-launch.c: (event_loop):
10066 Added extra field to STATE_CHANGE message with the pending
10067 state, which will be different from the new state soon.
10069 2005-10-08 Wim Taymans <wim@fluendo.com>
10071 * gst/gstbus.c: (gst_bus_pop):
10073 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10074 Small cleanups and doc updates.
10076 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
10078 * gst/gst.c: (init_pre):
10079 * gst/gstbin.c: (gst_bin_add_func):
10080 log distributing clocks and base time
10081 * gst/gstregistry.c: (gst_registry_add_plugin),
10082 (gst_registry_scan_path_level), (gst_registry_scan_path):
10083 clean up the debugging output a little
10084 * gst/gstutils.c: (gst_element_state_get_name):
10085 warn about a memleak (I've actually seen this be used, though
10086 it was probably a bug)
10088 2005-10-07 Wim Taymans <wim@fluendo.com>
10090 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10091 (gst_base_src_init), (gst_base_src_default_newsegment),
10092 (gst_base_src_newsegment), (gst_base_src_do_seek),
10093 (gst_base_src_loop), (gst_base_src_start):
10094 * gst/base/gstbasesrc.h:
10095 Make the newsegment event customizable by subclasses.
10097 2005-10-07 Wim Taymans <wim@fluendo.com>
10099 * gst/gstevent.c: (gst_event_new_buffersize),
10100 (gst_event_parse_buffersize):
10102 New event for future idea.
10104 2005-10-07 Andy Wingo <wingo@pobox.com>
10106 * gst/gstelement.c (gst_element_post_message): Doc update.
10108 * docs/gst/gstreamer-sections.txt: Update.
10110 * gst/gstmessage.c (gst_message_new_application): Made into a
10111 function like honest API calls.
10112 (gst_message_new_element): New message type.
10114 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10116 * check/elements/fakesrc.c (test_no_preroll): New check, checks
10117 that setting a live fakesrc to PAUSED returns NO_PREROLL both
10120 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10121 NO_PREROLL from gst_element_change_state to fall through.
10123 2005-10-07 Wim Taymans <wim@fluendo.com>
10125 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10126 (gst_ghost_pad_do_activate_push):
10127 Activating a ghostpad with no internal pad in push mode
10130 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
10133 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10134 Fixes compilation on Windows.
10136 2005-10-07 Michael Smith <msmith@fluendo.com>
10138 * tools/gst-inspect.c:
10139 Print out feature and plugin count at the end when printing out
10142 2005-10-04 Michael Smith <msmith@fluendo.com>
10144 * gst/gsterror.c: (_gst_stream_errors_init):
10145 Add another error string used in a few existing plugins.
10148 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10149 * tools/gst-inspect.c: (print_element_info):
10150 When a feature disappears from a plugin (and the feature exists in
10151 the cached registry file), things went horribly wrong. This isn't a
10152 complete fix, we should actually be removing the 'missing' features
10153 from the features list when we load the actual plugin. That's not
10156 2005-10-04 Johan Dahlin <johan@gnome.org>
10158 * check/gst/gstiterator.c: (GST_START_TEST):
10159 * gst/gstbin.c: (gst_bin_iterate_elements),
10160 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10161 * gst/gstelement.c: (gst_element_iterate_pads):
10162 * gst/gstformat.c: (gst_format_iterate_definitions):
10163 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10164 (gst_iterator_new_list), (gst_iterator_filter):
10165 * gst/gstiterator.h:
10166 * gst/gstquery.c: (gst_query_type_iterate_definitions):
10167 Add a GType to GstIterator, update callsites and tests.
10169 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
10171 * gst/gstpad.c: (gst_pad_event_default_dispatch):
10172 give events a chance to be handled by event probes when the pad
10175 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
10177 * gst/gstevent.c: (gst_event_type_get_name),
10178 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10180 add string representations for event types
10182 2005-10-06 Wim Taymans <wim@fluendo.com>
10184 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10185 Don't use NULL pointers.
10187 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
10189 * gst/gst_private.h:
10191 * gst/gstelement.c:
10193 * gst/gstpluginfeature.c:
10194 widen the debug category in output to fit the biggest one we have
10195 add a bus category and use it
10196 play with the colors
10197 fix up some categories
10199 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
10201 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10202 add push activation of sink ghost pads.
10203 Andye, please verify
10205 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
10207 * gst/gstutils.c: (gst_element_link_pads):
10208 fix a bug in the case where neither element has a pad
10209 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10210 add a test for that case
10212 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
10214 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10215 emit have-data before checking for peers. This allows
10216 for probe handlers to connect elements. This helps autopluggers.
10217 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10219 add six checks, linked/unlinked with no/true/false probe
10221 2005-10-04 Wim Taymans <wim@fluendo.com>
10223 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10224 (gst_fake_sink_event), (gst_fake_sink_preroll),
10225 (gst_fake_sink_render), (gst_fake_sink_change_state):
10226 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10227 (gst_fake_src_get_property), (gst_fake_src_create),
10228 (gst_fake_src_stop):
10229 * gst/elements/gstidentity.c: (gst_identity_stop):
10230 Protect last_message with lock.
10232 2005-10-04 Edward Hervey <edward@fluendo.com>
10235 Added precision in the comments for GST_FORMAT_DEFAULT
10237 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
10239 * tools/gst-launch.c: (main):
10240 Don't try to run erroneous pipelines.
10242 2005-10-04 Julien MOUTTE <julien@moutte.net>
10244 * gst/gstbus.c: We don't need this header.
10246 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
10249 back to development
10251 === release 0.9.3 ===
10253 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
10257 Releasing 0.9.3, "Unregistered"
10259 2005-10-03 Andy Wingo <wingo@pobox.com>
10261 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10262 whereby calling a pad's activatepush() function can start a thread
10263 that starts to push or pull before the pad gets the FLUSHING flag
10264 unset. Hack around it by holding the stream lock until the flag is
10265 set. Need to replace this with a proper solution. Together with
10266 the ghost pad fixes, this fixes mp3 playing/tagreading.
10268 * docs/design/part-gstghostpad.txt: Add a note about activation of
10269 proxy pads outside of ghost pads.
10271 * gst/gstghostpad.c: Implement the ghost pad activation design.
10273 2005-10-02 Andy Wingo <wingo@pobox.com>
10275 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10276 It is volatile, after all.
10278 * docs/design/part-gstghostpad.txt: Flesh out activation with
10281 * gst/base/gstbasesrc.c (gst_base_src_init): Use
10284 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
10287 Fix (unused) AM_CONDITIONAL tests.
10289 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
10291 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10293 * gst/gstutils.c: (gst_pad_query_convert):
10294 Add assertion that makes sure src_val is >=0, just like
10295 gst_query_new_convert() has. (#315895)
10297 2005-09-30 Edward Hervey <edward@fluendo.com>
10299 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10300 Let's not iterate pads we're not interested in, it avoids getting
10301 sky-high refcounts on sinkpad.
10303 2005-09-30 Wim Taymans <wim@fluendo.com>
10305 * gst/gstelement.c: (gst_element_set_state),
10306 (gst_element_change_state):
10307 Small tweak, element in ASYNC remains ASYNC.
10309 2005-09-30 Wim Taymans <wim@fluendo.com>
10311 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10312 Only error is an error.
10314 * gst/gstbin.c: (gst_bin_change_state):
10317 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10318 Also call pad_block in pad alloc.
10320 * gst/gstutils.c: (gst_flow_get_name):
10323 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
10325 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10326 (gst_base_src_get_range):
10327 Fix documentation typos. Add some more debug info.
10329 2005-09-29 David Schleef <ds@schleef.org>
10331 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10332 more end-user friendly.
10333 * tools/gst-inspect.c: (main): Check if command-line argument is
10334 a file and attempt to load that file as a plugin.
10336 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
10338 * check/gst/gstbin.c:
10339 * check/states/sinks.c:
10340 fix tests for the new warning
10341 * check/gst/gstpipeline.c:
10342 add a test for pipeline and bus interaction
10343 * gst/gstelement.c:
10344 elements should be NULL if they get disposed; add a warning if not
10346 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
10349 for 2.6 refcounting, make debug log more correct by printing
10350 the actual refcounts at the time of swap (Wim)
10352 2005-09-29 Andy Wingo <wingo@pobox.com>
10354 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10355 removes signal watches previously added via
10356 gst_bus_add_signal_watch.
10357 (gst_bus_add_signal_watch): Don't return the source id, just store
10358 it on the bus if there wasn't an id already.
10360 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10361 add_signal_watch and remove_signal_watch.
10363 2005-09-29 Edward Hervey <edward@fluendo.com>
10365 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
10366 Better if we actually iterate the list :)
10368 2005-09-29 Wim Taymans <wim@fluendo.com>
10370 * check/gst/gstbin.c: (GST_START_TEST):
10371 Change for new bus API.
10373 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10374 (send_messages), (GST_START_TEST), (gstbus_suite):
10375 Change for new bus signal API.
10377 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10378 (gst_bus_source_prepare), (gst_bus_source_check),
10379 (gst_bus_create_watch), (gst_bus_add_watch_full),
10380 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10381 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10383 Remove support for multiple GSources operating on different
10384 message types as it is too complex and unneeded when using
10386 Added support for receiving signals from the bus.
10388 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
10390 * docs/libs/tmpl/gstdataprotocol.sgml:
10391 * docs/manual/advanced-dataaccess.xml:
10392 * gst/elements/gstcapsfilter.c:
10394 rename filter-caps to caps property
10396 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
10398 * gst/gstvalue.c: (gst_value_deserialize_fraction):
10399 More robust fraction string parsing.
10401 * docs/pwg/appendix-porting.xml:
10402 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10404 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
10406 * gst/gstcaps.c: (gst_caps_do_simplify):
10407 Thou shalt not free a structure and then continue using it
10408 in the next loop iteration.
10410 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10412 Add test case for caps simplification.
10414 2005-09-29 Wim Taymans <wim@fluendo.com>
10416 * check/gst/gstbin.c: (GST_START_TEST):
10419 2005-09-29 Wim Taymans <wim@fluendo.com>
10421 * check/gst/gstbin.c: (GST_START_TEST):
10424 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10425 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10426 (find_element), (gst_bin_sort_iterator_next),
10427 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10428 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10429 (gst_bin_change_state), (gst_bin_dispose):
10430 A bin does not have a bus, it gets the bus from the parent.
10432 * gst/gstelement.c: (gst_element_requires_clock),
10433 (gst_element_provides_clock), (gst_element_is_indexable),
10434 (gst_element_is_locked_state), (gst_element_change_state),
10435 (gst_element_set_bus_func):
10438 * gst/gstpipeline.c: (gst_pipeline_class_init),
10439 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10440 The pipeline provides a bus.
10442 2005-09-28 Johan Dahlin <johan@gnome.org>
10444 * gst/gstmessage.c (gst_message_parse_state_changed): Use
10445 gst_structure_get_enum instead of gst_structure_get_int
10447 * gst/gststructure.c (gst_structure_get_enum): Impl.
10449 * gst/gststructure.h (gst_structure_get_enum): Add
10451 * docs/gst/gstreamer-sections.txt: Ditto
10453 * gst/gstmessage.c (gst_message_new_state_changed): Use
10454 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10455 which does introspection.
10456 Reviewed by Christian Schaller
10458 2005-09-28 Stefan Kost <ensonic@users.sf.net>
10460 * gst/gstinfo.c: (gst_debug_log_default):
10461 don't do dummy g_strdup()s
10462 * libs/gst/controller/gstcontroller.c:
10463 (on_object_controlled_property_changed),
10464 (gst_controlled_property_new), (gst_controller_new_valist),
10465 (gst_controller_new_list),
10466 (gst_controller_remove_properties_valist), (gst_controller_set),
10467 (gst_controller_get), (gst_controller_sync_values),
10468 (gst_controller_get_value_array), (_gst_controller_class_init),
10469 (gst_controller_get_type):
10470 * libs/gst/controller/gstcontroller.h:
10471 * libs/gst/controller/gstinterpolation.c:
10472 (gst_controlled_property_find_timed_value_node):
10473 convert // to /**/ comments
10475 2005-09-28 Wim Taymans <wim@fluendo.com>
10477 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10478 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10479 (gst_bus_sync_signal_handler):
10481 Added async-message and sync-message signals to the bus.
10482 Added helper BusFunc to emit signals for all posted messages.
10484 * gst/gstmessage.c: (gst_message_type_get_name),
10485 (gst_message_type_to_quark), (gst_message_get_type):
10486 * gst/gstmessage.h:
10487 Register quarks for message names.
10489 2005-09-28 Stefan Kost <ensonic@users.sf.net>
10491 * docs/libs/gstreamer-libs-sections.txt:
10492 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10493 (gst_controller_new_list):
10494 * libs/gst/controller/gstcontroller.h:
10495 added another constructor for language bindings
10497 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
10499 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10503 * gst/gstinfo.c: (_gst_debug_init):
10504 slightly more readable color for refcount debugging
10506 2005-09-28 Wim Taymans <wim@fluendo.com>
10508 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10509 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10510 (find_element), (gst_bin_sort_iterator_next),
10511 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10512 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10513 (gst_bin_change_state), (gst_bin_dispose):
10514 Small doc fixes. get_clock -> provide_clock.
10516 * gst/gstelement.c: (gst_element_class_init),
10517 (gst_element_provides_clock), (gst_element_provide_clock),
10518 (gst_element_get_clock), (gst_element_commit_state),
10519 (gst_element_lost_state):
10520 * gst/gstelement.h:
10521 Make get/set_clock() symetric. Add provide_clock vmethod since
10522 that is actually what this function does.
10524 * gst/gstpipeline.c: (gst_pipeline_class_init),
10525 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10526 (gst_pipeline_get_clock):
10527 get_clock -> provide_clock.
10529 2005-09-28 Andy Wingo <wingo@pobox.com>
10531 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10532 lieu of real docs...
10534 * gst/elements/gstfdsrc.c: Cleaned up a bit.
10536 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
10538 * gst/elements/gstcapsfilter.c:
10539 * gst/elements/gstfakesink.c:
10540 * gst/elements/gstfakesrc.c:
10541 * gst/elements/gstfdsink.c:
10542 * gst/elements/gstfdsrc.c:
10543 * gst/elements/gstfilesink.c:
10544 * gst/elements/gstfilesrc.c:
10545 * gst/elements/gstidentity.c:
10546 * gst/elements/gsttee.c:
10547 * gst/elements/gsttypefindelement.c:
10548 Make element details static.
10550 2005-09-28 Wim Taymans <wim@fluendo.com>
10552 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10553 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10554 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10555 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10556 (gst_bin_change_state), (gst_bin_dispose):
10557 Some documentation updates.
10558 Clean up dispose handlers.
10560 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10561 * gst/gstpad.c: (gst_pad_dispose):
10562 Clean up dispose handler.
10564 * gst/gstpipeline.c: (gst_pipeline_change_state):
10565 Removed spurious UNLOCK.
10567 2005-09-27 Stefan Kost <ensonic@users.sf.net>
10569 * docs/gst/gstreamer-sections.txt:
10570 * gst/base/gstbasesrc.h:
10571 * gst/gstelement.h:
10575 * gst/gstpipeline.c:
10576 * gst/gstpipeline.h:
10579 added two new functions to the docs
10580 documents all undocumented GstXXXFlags
10581 completed some incomplete docs
10583 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
10585 * gst/gstbin.c: (gst_bin_dispose):
10586 * gst/gstelement.c: (gst_element_dispose):
10587 remove now useless and leaky resurrection code in dispose
10588 * gst/base/gstbasesrc.c: (gst_base_src_init):
10589 * gst/gstelementfactory.c: (gst_element_factory_create):
10590 * gst/gstobject.c: (gst_object_set_parent):
10593 2005-09-27 Wim Taymans <wim@fluendo.com>
10595 * docs/design/part-TODO.txt:
10598 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10599 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10600 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10601 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10602 (gst_bin_change_state):
10603 * gst/gstelement.h:
10604 Remove element variable, we keep element info in the iterator now.
10606 2005-09-27 Andy Wingo <wingo@pobox.com>
10608 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10611 2005-09-27 Wim Taymans <wim@fluendo.com>
10613 * check/gst/gstbin.c: (GST_START_TEST):
10614 Enable check that works now.
10616 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10617 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10618 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10619 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10620 (gst_bin_change_state):
10622 Redid the state change algorithm using a topological sort algo.
10623 Handles all cases correctly.
10624 Exposed iterator for state change order.
10626 * gst/gstelement.h:
10627 Temp storage for state changes. Need to get rid of this soon.
10629 2005-09-27 Wim Taymans <wim@fluendo.com>
10631 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10632 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10633 (link_fold_func), (gst_pad_proxy_setcaps):
10634 Leak fixes, the fold functions need to unref the passed object and
10635 _get_parent_*() returns ref to parent.
10637 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
10639 * check/gst/gstbuffer.c: (test_make_writable):
10640 Plug leak in test case and fix 'make check-valgrind'
10642 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
10644 * gst/gstbuffer.c: (gst_subbuffer_init):
10645 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10646 works correctly in all circumstances (we could have just copied
10647 the parent buffer's readonly flag, but conceptually it seems
10648 cleaner to mark all subbuffers as read-only). (based on patch
10649 by Alessandro Decina, #314710).
10651 * check/gst/gstbuffer.c: (create_read_only_buffer),
10652 (test_make_writable), (test_subbuffer_make_writable),
10654 Add some tests for gst_buffer_make_writable().
10656 2005-09-27 Wim Taymans <wim@fluendo.com>
10658 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10659 use gst_object_has_ancestor().
10661 * gst/gstobject.c: (gst_object_has_ancestor):
10663 gst_object_has_ancestor() copied from gstbin.c as it is a
10666 * tests/instantiate/create.c: (create_all_elements):
10667 * tests/lat.c: (handoff_src), (handoff_sink):
10668 * tests/sched/runxml.c: (main):
10669 * tests/seeking/seeking1.c: (main):
10670 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10672 Fix compilation of some tests.
10674 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
10677 Remove comment. GST_TYPE_G_ERROR is here to stay,
10678 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10679 (#316961, #300610).
10681 2005-09-26 Wim Taymans <wim@fluendo.com>
10683 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10684 Added check that shows error in state change order.
10686 2005-09-26 Wim Taymans <wim@fluendo.com>
10688 * gst/gstbin.c: (gst_bin_change_state):
10689 Make state change function use 3 queues again, we were
10690 adding elements in the wrong order.
10692 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10695 * gst/gstpad.c: (gst_pad_dispose):
10696 Added some debug info first.
10698 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
10700 * docs/design/draft-push-pull.txt:
10701 * docs/design/part-events.txt:
10702 * docs/design/part-overview.txt:
10703 * docs/design/part-scheduling.txt:
10704 Replace all _pull_region() with _pull_range()
10706 2005-09-26 Andy Wingo <wingo@pobox.com>
10708 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10710 * check/gst-libs/controller.c: Update for controller api change.
10713 * tests/Makefile.am:
10714 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10715 over by GLib bug 118439.
10717 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10718 routines to a function.
10720 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10722 * libs/gst/controller/gsthelper.c:
10723 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10724 (gst_object_sync_values): Renamed from sink_values. Ugh.
10726 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10728 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10729 Renamed from controller_key, as it is exported.
10731 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10733 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
10738 * gst/gstpadtemplate.h:
10741 * gst/gstqueryutils.c:
10742 * gst/gstqueryutils.h:
10743 remove queryutils headers after moving the two used functions
10744 to gstquery. also fixes build problem for gstsiddec
10746 2005-09-26 Michael Smith <msmith@fluendo.com>
10748 * tools/gst-launch.1.in:
10749 Correct documentation in manpage of debug syntax
10751 2005-09-26 Wim Taymans <wim@fluendo.com>
10753 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10754 (gst_base_src_is_seekable), (gst_base_src_change_state):
10755 Some more debugging info.
10757 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10759 * docs/gst/gstreamer-sections.txt:
10760 * gst/base/gstbasetransform.h:
10764 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10766 * docs/gst/.cvsignore:
10767 * docs/gst/tmpl/.cvsignore:
10768 * docs/gst/tmpl/gstpipeline.sgml:
10769 * docs/gst/tmpl/gstplugin.sgml:
10770 * gst/gstpipeline.c:
10773 inlined the last two docs files
10774 removed the tmpl directory from cvs (no more conflicts here!)
10776 2005-09-25 Stefan Kost <ensonic@users.sf.net>
10778 * docs/gst/gstreamer-sections.txt:
10779 * docs/gst/tmpl/.cvsignore:
10780 * docs/gst/tmpl/gstpad.sgml:
10781 * docs/gst/tmpl/gstpadtemplate.sgml:
10783 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10784 (gst_pad_finalize), (gst_pad_set_pad_template):
10786 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10787 (gst_pad_template_class_init), (gst_pad_template_init),
10788 (gst_pad_template_dispose), (name_is_valid),
10789 (gst_static_pad_template_get), (gst_pad_template_new),
10790 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10791 (gst_pad_template_pad_created):
10792 * gst/gstpadtemplate.h:
10793 inlined two more docs
10794 factored gstpadtemplate out of gstpad
10796 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
10798 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10799 (test_children_state_change_order_semi_sink):
10800 Fix test case: we can't rely on a fixed state change order when
10801 going from READY => PAUSED because the sink might commit its
10802 new state first when the first buffer created by the source
10803 reaches the sink before the source has finished its change state.
10804 (Test case still fails at times, see #316856, comment 5 onwards)
10806 2005-09-24 Wim Taymans <wim@fluendo.com>
10808 * docs/design/part-events.txt:
10809 * docs/design/part-gstbus.txt:
10810 * docs/design/part-gstpipeline.txt:
10811 * docs/design/part-messages.txt:
10812 * docs/design/part-overview.txt:
10813 * docs/design/part-segments.txt:
10817 * gst/gstelement.c:
10820 * gst/gstiterator.c:
10821 Various documentation updates.
10823 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
10826 Well, that's embarassing. Luckily we weren't using
10827 GST_CLOCK_DIFF anywhere.
10829 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10831 * common/gtk-doc.mak:
10832 don't fail on building XML, FC4 slave shows a bunch of doc
10833 missing bits that I don't get
10835 * gst/gstpipeline.c:
10836 * gst/gststructure.c:
10839 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
10841 * docs/design/part-gstbin.txt:
10842 * docs/design/part-gstbus.txt:
10844 Add blurb about how the bus goes into flushing mode and
10845 drops all messages when its bin goes from READY into NULL
10848 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10850 * docs/gst/gstreamer-sections.txt:
10851 * gst/gststructure.c: (gst_structure_get_clock_time):
10852 * gst/gststructure.h:
10853 add a method to get a GstClockTime out of a structure
10855 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
10857 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10858 (test_children_state_change_order_semi_sink), (gst_bin_suite):
10859 Added test to check state change order in bins (can still be made
10860 to fail here under heavy disk load; bails out with 'Push on pad
10861 fakesink:sink0, but it was not activated in push mode').
10863 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10864 Fix state change order when there is only a semi sink (#316856)
10866 * gst/gstbus.c: (gst_bus_class_init):
10867 Use _class_peek_parent(), not _class_ref(); fix docs to say
10868 'default main context' instead of 'mainloop' where that is
10871 * gst/gstelement.c: (gst_element_commit_state),
10872 (gst_element_set_state):
10873 Fix typos in debug messages
10875 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10878 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10879 * gst/gstpluginfeature.c:
10881 various doc updates
10882 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10883 change an assert into an error until it gets fixed properly
10885 2005-09-23 Stefan Kost <ensonic@users.sf.net>
10887 * docs/gst/gstreamer-sections.txt:
10888 * docs/gst/tmpl/.cvsignore:
10889 * docs/gst/tmpl/gstelement.sgml:
10890 * docs/gst/tmpl/gstinfo.sgml:
10891 * docs/gst/tmpl/gstobject.sgml:
10892 * gst/gstelement.c:
10893 * gst/gstelement.h:
10896 * gst/gstobject.c: (gst_object_class_init):
10898 inlined 3 more biiiig doc files and added some missing docs on the fly
10900 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
10902 * check/gst/.cvsignore:
10903 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10904 * gst/gstregistryxml.c: (load_plugin),
10905 (gst_registry_xml_save_plugin):
10906 put back source in registry. add checks for find_plugin.
10907 * testsuite/states/bin.c: (assert_state), (empty_bin),
10908 (test_adding_one_element), (main):
10909 * testsuite/states/locked.c: (main):
10910 some compile/run fixes
10912 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
10914 * check/gst/gstvalue.c: (GST_START_TEST):
10915 fix leaks in the test itself
10917 2005-09-22 Wim Taymans <wim@fluendo.com>
10919 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10920 (gst_base_sink_send_event), (gst_base_sink_peer_query),
10921 (gst_base_sink_query):
10922 Prepare for more accurate position reporting and query
10925 * gst/gstelement.c: (gst_element_send_event),
10926 (gst_element_set_state):
10929 2005-09-22 Wim Taymans <wim@fluendo.com>
10931 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10932 (gst_query_parse_segment):
10934 More documentation.
10935 Add segment query for future use.
10937 2005-09-22 Wim Taymans <wim@fluendo.com>
10939 * gst/gstbin.c: (gst_bin_add_func):
10940 Some more debug info.
10942 * gst/gstelement.c: (gst_element_send_event):
10943 Simplify send_event
10945 * gst/gstelement.h:
10946 Don't know how flags got broken.
10951 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
10953 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10954 Add simplistic test suite for GST_TYPE_DATE serialisation and
10957 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
10959 * docs/gst/gstreamer-sections.txt:
10960 * gst/gststructure.c: (gst_structure_set_valist),
10961 (gst_structure_get_date):
10962 * gst/gststructure.h:
10963 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10964 (gst_date_copy), (gst_value_compare_date),
10965 (gst_value_serialize_date), (gst_value_deserialize_date),
10966 (gst_value_transform_date_string),
10967 (gst_value_transform_string_date), (_gst_value_initialize):
10969 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10970 bunch of utility functions along with a hack that checks that
10971 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10972 is required. Part of the grand scheme in #170777.
10974 2005-09-22 Andy Wingo <wingo@pobox.com>
10976 * gst/gstconfig.h.in: Psych out gtk-doc.
10978 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10980 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10982 * tools/gst-inspect.c (print_element_list): Plug some
10983 inconsequential leaks.
10985 * gst/gstregistry.c (gst_registry_get_default): Doc.
10987 * check/gst/gstplugin.c:
10988 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10989 * gst/gstelementfactory.c (gst_element_factory_create):
10990 * gst/gstindexfactory.c (gst_index_factory_create): Update for
10993 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10994 (gst_plugin_feature_load): Doc, don't eat refs.
10996 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10997 (gst_plugin_list_free): Doc.
10998 (gst_plugin_load_file): Doc updates.
11000 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11001 accessors returning refcounted objects, return a ref.
11003 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11004 accessor for caps. IDEMPOTENCE. Oh yes.
11006 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
11008 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
11010 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11011 (_gst_debug_register_funcptr):
11012 Add mutex to serialise access to the hash table with
11013 the function pointer => function name string mapping;
11014 make that hash table static scope (#316809).
11016 * gst/registries/.cvsignore:
11017 Remove left-over file.
11019 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
11021 * docs/pwg/appendix-porting.xml:
11022 And something about newsegment events and caps-on-buffers to
11023 the porting guide (feel free to improve).
11025 2005-09-21 Andy Wingo <wingo@pobox.com>
11027 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11028 data and event probes on the same pad.
11029 (test_buffer_probe_once): Test that removing probes from within
11030 the probe functions works.
11032 2005-09-21 Andy Wingo <wingo@pobox.com>
11034 * check/gst/gstutils.c: New file.
11035 (test_buffer_probe_n_times): A simple buffer probe test. More to
11038 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11039 have-data::buffer, not have-data.
11040 (gst_pad_add_event_probe): Likewise for have-data::event.
11041 (gst_pad_add_data_probe): More docs. The part about 'resolving the
11042 peer' isn't quite right yet though.
11043 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
11044 (gst_pad_remove_data_probe): Change to take the guint handler_id
11045 as their arg, not the function+data, which is more glib-like.
11047 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11048 the signal emission to indicate if the data is a buffer or an
11050 (gst_pad_get_type): Initialize buffer and event quarks.
11051 (gst_pad_class_init): have-data is now a detailed signal, yes it
11054 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
11056 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11057 * gst/gstutils.c: (gst_util_set_value_from_string),
11058 (gst_util_set_object_arg):
11059 Don't put functional code in g_return_if_fail() or
11060 g_return_val_if_fail() statements, otherwise things will
11061 break when G_DISABLE_CHECKS is defined during compilation.
11063 2005-09-21 Stefan Kost <ensonic@users.sf.net>
11065 * docs/gst/tmpl/.cvsignore:
11066 * docs/gst/tmpl/gstvalue.sgml:
11069 inlied another one and added some obvious docs
11071 2005-09-21 Wim Taymans <wim@fluendo.com>
11073 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11074 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11075 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11076 (gst_fdsrc_get_property), (gst_fdsrc_create):
11077 * gst/elements/gstfdsrc.h:
11078 Properly implement fdsrc. Removed signal and timeout,
11079 better implemented somewhere else.
11081 2005-09-21 Stefan Kost <ensonic@users.sf.net>
11083 * docs/gst/tmpl/.cvsignore:
11084 * docs/gst/tmpl/gstimplementsinterface.sgml:
11085 * gst/gstinterface.c:
11088 2005-09-21 Stefan Kost <ensonic@users.sf.net>
11090 * docs/gst/gstreamer-sections.txt:
11091 * docs/gst/tmpl/.cvsignore:
11092 * docs/gst/tmpl/gstenumtypes.sgml:
11093 remove obsolete doc file
11095 2005-09-21 David Schleef <ds@schleef.org>
11097 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11098 little beer, fix a little leak.
11100 2005-09-21 Stefan Kost <ensonic@users.sf.net>
11102 * docs/gst/gstreamer-docs.sgml:
11103 * docs/gst/gstreamer-sections.txt:
11104 * docs/gst/tmpl/.cvsignore:
11108 * gst/gstelement.h:
11109 * gst/gstindex.c: (gst_index_class_init):
11111 * gst/gstindexfactory.c: (gst_index_factory_get_type),
11112 (gst_index_factory_class_init), (gst_index_factory_init),
11113 (gst_index_factory_finalize), (gst_index_factory_new),
11114 (gst_index_factory_destroy), (gst_index_factory_find),
11115 (gst_index_factory_create), (gst_index_factory_make):
11116 * gst/gstindexfactory.h:
11117 * gst/gstpluginfeature.c:
11118 * gst/gstpluginfeature.h:
11119 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11120 more docs inlined, splitted gstindex.{c,h}
11122 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
11124 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11127 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
11129 * gst/elements/gstfilesink.c: (gst_file_sink_init):
11130 Set sync to FALSE by default.
11132 2005-09-20 Wim Taymans <wim@fluendo.com>
11134 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11135 (gst_base_sink_init):
11136 Make sync property settable from subclass.
11138 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11139 (gst_fake_sink_change_state):
11140 Set sync to FALSE by default.
11142 2005-09-20 Wim Taymans <wim@fluendo.com>
11144 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11145 * tools/gst-launch.c: (main):
11146 The timeout handler should have lower priority than the source
11147 so we don't timeout before popping a message with 0 timeout.
11148 Dump error messages after failed state change.
11150 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
11152 * tools/gst-inspect.c: (print_element_properties_info):
11155 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
11157 * check/gst/gstevent.c:
11158 * gst/elements/gstfakesink.c:
11159 * gst/elements/gstfakesink.h:
11160 remove the sync property from fakesink.
11161 has the side effect of setting sync TRUE
11162 for fakesink, which is a change. Anyone who knows how
11163 to fix this nicely in a GObject-y way, feel free.
11165 2005-09-20 Stefan Kost <ensonic@users.sf.net>
11167 * docs/gst/gstreamer-docs.sgml:
11168 remove probe refsection
11170 2005-09-20 Stefan Kost <ensonic@users.sf.net>
11172 * check/Makefile.am:
11173 disable valgrinding the controller test again
11174 * docs/gst/gstreamer-sections.txt:
11175 update for api-changes
11177 2005-09-20 Wim Taymans <wim@fluendo.com>
11179 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11180 (gst_base_sink_set_property), (gst_base_sink_get_property),
11181 (gst_base_sink_do_sync):
11182 * gst/base/gstbasesink.h:
11183 Added sync property to basesink to disable clock sync.
11185 2005-09-20 Andy Wingo <wingo@pobox.com>
11187 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11188 eating the caller's refcount.
11190 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
11191 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11194 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11195 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11196 of GLib 2.8 public, so we can know which refcount to check in
11199 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11200 (gst_object_init): Only set the gst refcount if we're going ahead
11201 with the refcount hack.
11203 2005-09-20 Stefan Kost <ensonic@users.sf.net>
11205 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11206 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11207 more leaks plumbed, added more debug-logging
11211 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
11213 * gst/gstmessage.c:
11214 remove include of gstmemchunk.h
11216 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
11218 * gst/gstclock.c: (_gst_clock_id_free):
11219 Commit from the Political Party For More Atomic CVS Commits,
11220 so that people don't waste too much of their day fishing
11221 out obvious leaks out of massive commits.
11222 Oh, and fix a pretty damn obvious leak in the memchunk
11225 2005-09-20 Stefan Kost <ensonic@users.sf.net>
11227 * check/Makefile.am:
11228 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11229 plug mem-leak, re-add to valgrindable tests
11231 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
11234 unbreak the build for those who have chronic arthritis
11235 and typing "make check" is just too taxing on the hands
11237 2005-09-20 Andy Wingo <wingo@pobox.com>
11239 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11240 really want it out, you should fix plugins at the same time.
11242 2005-09-19 Stefan Kost <ensonic@users.sf.net>
11245 * docs/gst/gstreamer-sections.txt:
11247 added missing symbols to api docs
11248 disable ref-count hack if we have glib >= 2.8
11250 2005-09-19 David Schleef <ds@schleef.org>
11252 * docs/gst/Makefile.am: Ignore a few more internal headers
11253 * docs/gst/gstreamer-docs.sgml: Remove old sections
11254 * docs/gst/gstreamer-sections.txt: Remove old sections
11255 * docs/gst/tmpl/gstobject.sgml: update
11256 * docs/gst/tmpl/gstplugin.sgml: update
11257 * docs/gst/tmpl/gstpluginfeature.sgml: update
11258 * docs/random/ds/0.9-suggested-changes: update.
11259 * gst/Makefile.am: remove memchunk and trashstack, since they're
11261 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11262 * gst/gst.h: don't include some headers
11263 * gst/gstchildproxy.c: add gstmarshal.h
11264 * gst/gstclock.c: Don't use memchunks
11265 * gst/gstminiobject.c: Add some docs
11266 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11267 * gst/gstobject.h: same
11268 * gst/gstplugin.c: include gstmacros.h
11269 * gst/gstplugin.h: don't include gstmacros.h, since it's private
11270 * gst/gstquery.c: don't use memchunks
11271 * gst/gstregistry.c: rename gst_registry_deinit()
11272 * gst/gstregistry.h: same
11274 2005-09-19 David Schleef <ds@schleef.org>
11276 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11277 * docs/libs/gstreamer-libs-sections.txt:
11278 * docs/libs/tmpl/gstgetbits.sgml:
11279 * docs/libs/tmpl/gstputbits.sgml:
11281 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
11283 * win32/gstenumtypes.c:
11284 * win32/gstenumtypes.h:
11287 2005-09-19 Wim Taymans <wim@fluendo.com>
11289 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11290 Automatically PAUSE and RESUME a pipeline when a flushing seek
11293 2005-09-19 Andy Wingo <wingo@pobox.com>
11295 * gst/gstregistry.h: Spacing fixen.
11297 2005-09-19 Wim Taymans <wim@fluendo.com>
11299 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11300 Handle state change failure more correctly.
11302 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
11304 * check/Makefile.am:
11305 * check/pipelines/cleanup.c: (run_pipeline):
11306 * check/pipelines/simple_launch_lines.c: (run_pipeline),
11308 enable cleanup again after fixing the leak
11310 some more info on docs
11312 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
11314 * check/Makefile.am:
11315 re-enable tests now that leaks are plugged
11317 * check/gst/gstbin.c:
11318 * check/gst/gstpipeline.c:
11319 add some more tests while fixing leaks
11320 * common/check.mak:
11321 make sure binaries are uptodate when valgrinding/gdbing
11323 * gst/gstelementfactory.c:
11324 remove a ref too many, and add a FIXME for when we get
11325 round to disposing of classes
11327 fix the refcounting when loading a plugin from a file and
11328 the code pretends that the pointer is the same even though
11329 of course it can change
11330 * gst/gstpluginfeature.c:
11331 unref plugins marked cached (a bit confusing as a name)
11332 as the docs state should be done
11333 various doc additions to explain refcounting
11334 * gst/gstregistry.c:
11335 * gst/gstregistryxml.c:
11338 2005-09-19 Wim Taymans <wim@fluendo.com>
11340 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11341 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11342 (send_messages), (GST_START_TEST), (gstbus_suite):
11343 * check/gst/gstpipeline.c: (GST_START_TEST):
11344 * check/pipelines/cleanup.c: (run_pipeline):
11345 * check/pipelines/simple_launch_lines.c: (run_pipeline),
11347 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11348 (gst_bus_source_check), (gst_bus_source_dispatch),
11349 (gst_bus_create_watch), (gst_bus_add_watch_full),
11350 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11352 * tools/gst-launch.c: (event_loop):
11353 * tools/gst-md5sum.c: (event_loop):
11354 GstBusHandler -> GstBusFunc, return value has the same meaning as
11355 any other GSource (FALSE == remove source).
11356 _add_watch() and _add_watch_full() now take a MessageType mask to
11357 only handle specific types of messages.
11358 _poll() returns the GstMessage instead of the message type to avoid
11360 _have_pending() takes a MessageType mask now too.
11361 Added testsuite for multiple bus watches.
11362 Fix testsuites and applications for new bus API.
11364 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
11366 * check/Makefile.am:
11367 mark a bunch of the tests as to fix until we fix them
11369 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
11371 * common/check.mak:
11372 use GST_PLUGIN settings for valgrind tests as well, so we're
11373 valgrinding the correct thing
11374 * gst/gst.c: (init_post):
11377 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
11379 * gst/gst.c: (init_post), (gst_deinit):
11380 * gst/gstelementfactory.c: (gst_element_factory_class_init),
11381 (gst_element_factory_finalize), (gst_element_factory_cleanup):
11382 * gst/gstindex.c: (gst_index_factory_class_init),
11383 (gst_index_factory_finalize):
11384 * gst/gstobject.c: (gst_object_dispose):
11385 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11386 (gst_plugin_load_file), (gst_plugin_desc_free):
11387 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11388 (gst_plugin_feature_finalize):
11389 * gst/gstregistry.c: (gst_registry_class_init),
11390 (gst_registry_init), (gst_registry_finalize),
11391 (gst_registry_get_default), (gst_registry_deinit):
11392 * gst/gstregistry.h:
11393 * gst/gstregistryxml.c: (load_feature), (load_plugin):
11394 various cleanups and memleak plugging. make valgrind is happy now.
11396 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
11398 * common/check.mak:
11399 add a check-valgrind target
11401 2005-09-18 David Schleef <ds@schleef.org>
11403 * tools/gst-inspect.c: Revert the GOption code.
11405 2005-09-17 David Schleef <ds@schleef.org>
11407 * check/Makefile.am: Fix environment variables.
11408 * check/gst/gstplugin.c: Fix for API changes.
11409 * tools/gst-inspect.c: Fix for API changes.
11410 * tools/gst-xmlinspect.c: Fix for API changes.
11411 * gst/gstelementfactory.c:
11414 * gst/gstpluginfeature.c:
11415 * gst/gstpluginfeature.h:
11416 * gst/gstregistry.c:
11417 * gst/gstregistry.h:
11418 * gst/gstregistryxml.c:
11419 * gst/gsttypefind.c:
11420 * gst/gsttypefindfactory.c:
11421 * gst/indexers/gstfileindex.c:
11422 * gst/indexers/gstmemindex.c:
11423 * gst/schedulers/Makefile.am:
11424 Change registry to keep track of both plugins and features,
11425 removing the feature tracking from plugins themselves.
11427 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
11429 * check/Makefile.am:
11430 * tools/gst-register.1.in:
11431 remove gst-register
11433 2005-09-15 David Schleef <ds@schleef.org>
11435 * check/gst/gstplugin.c:
11436 * gst/gstelementfactory.c:
11438 * gst/gstpluginfeature.c:
11439 * gst/gstregistry.c:
11440 Getting tired of debugging. Disabled all the unreffing of
11441 plugins and features, which fixes the segfaults, but of
11442 course leaks like crazy. At least playbin works.
11444 2005-09-15 David Schleef <ds@schleef.org>
11446 * check/gst/gstplugin.c: (register_check_elements),
11447 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11449 * gst/elements/gsttypefindelement.c: Fix refcounting.
11450 * gst/gsttypefind.c:
11451 * gst/gsttypefindfactory.c:
11452 * gst/gsttypefindfactory.h:
11454 2005-09-15 David Schleef <ds@schleef.org>
11456 * gst/gstindex.c: get refcounting correct.
11457 * gst/gstregistry.c: Handle the case where a feature/plugin is
11460 2005-09-15 David Schleef <ds@schleef.org>
11462 * check/Makefile.am:
11463 * check/gst/gstplugin.c: Add test
11464 * gst/gstplugin.c: Fix problems noticed by testsuite
11466 * gst/gstregistry.c:
11467 * gst/gstregistry.h:
11469 2005-09-15 David Schleef <ds@schleef.org>
11471 * gst/gstplugin.c: Implement semi-decent recounting and locking
11472 in plugins and plugin features.
11474 * gst/gstpluginfeature.c:
11475 * gst/gstpluginfeature.h:
11476 * gst/gstregistry.c:
11478 2005-09-15 Michael Smith <msmith@fluendo.com>
11480 * gst/gstregistry.c: (gst_registry_get_feature_list):
11481 Implement this. Makes oggdemux work; decodebin still broken.
11483 2005-09-14 David Schleef <ds@schleef.org>
11485 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11487 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11488 * gst/check/Makefile.am:
11489 * libs/gst/controller/Makefile.am:
11490 * libs/gst/dataprotocol/Makefile.am:
11492 2005-09-14 David Schleef <ds@schleef.org>
11494 * configure.ac: Remove getbits library. Nothing uses it, and
11495 it should be in something like liboil if someone did want
11497 * libs/gst/Makefile.am:
11498 * libs/gst/getbits/Makefile.am:
11499 * libs/gst/getbits/gbtest.c:
11500 * libs/gst/getbits/getbits.c:
11501 * libs/gst/getbits/getbits.h:
11502 * libs/gst/getbits/gstgetbits_generic.c:
11503 * libs/gst/getbits/gstgetbits_i386.s:
11504 * libs/gst/getbits/gstgetbits_inl.h:
11506 2005-09-14 David Schleef <ds@schleef.org>
11508 * gst/Makefile.am: Dist glib-compat.h
11510 2005-09-14 David Schleef <ds@schleef.org>
11512 * configure.ac: Remove gst/registries, since it's no longer used.
11513 * gst/registries/Makefile.am:
11514 * gst/registries/gstlibxmlregistry.c:
11515 * gst/registries/gstlibxmlregistry.h:
11516 * gst/registries/gstxmlregistry.c:
11517 * gst/registries/gstxmlregistry.h:
11518 * gst/registries/registrytest.c:
11520 2005-09-14 David Schleef <ds@schleef.org>
11522 * gst/glib-compat.h:
11523 * gst/gstregistryxml.c:
11524 Convergence is near. Seriously.
11526 2005-09-14 David Schleef <ds@schleef.org>
11528 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11529 * gst/glib-compat.h:
11530 Attempt #4 to appease the buildbots.
11532 2005-09-14 David Schleef <ds@schleef.org>
11534 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11537 2005-09-14 David Schleef <ds@schleef.org>
11539 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11542 2005-09-14 David Schleef <ds@schleef.org>
11544 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11547 2005-09-14 David Schleef <ds@schleef.org>
11549 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11550 * gst/glib-compat.h: Add some functions that are in newer versions
11551 of glib than we care to require.
11552 * gst/gstregistryxml.c: Use them.
11554 2005-09-14 David Schleef <ds@schleef.org>
11556 * po/POTFILES.in: remove gst-register.c
11558 2005-09-14 David Schleef <ds@schleef.org>
11560 * docs/gst/gstreamer-docs.sgml:
11561 * docs/gst/gstreamer-sections.txt:
11562 * docs/gst/gstreamer.types:
11563 * docs/gst/tmpl/gstelement.sgml:
11564 * docs/gst/tmpl/gstplugin.sgml:
11565 * docs/gst/tmpl/gstpluginfeature.sgml:
11566 Documentation updates for registry changes.
11568 2005-09-14 David Schleef <ds@schleef.org>
11570 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11571 because we don't require glib-2.8.
11573 2005-09-14 David Schleef <ds@schleef.org>
11575 * gst/gstregistryxml.c: Added. Essentially moved out of the
11576 registries directory.
11578 2005-09-14 David Schleef <ds@schleef.org>
11580 * check/Makefile.am:
11581 * check/generic/states.c:
11585 * gst/gst_private.h:
11586 * gst/gstelementfactory.c:
11591 * gst/gstpluginfeature.c:
11592 * gst/gstpluginfeature.h:
11593 * gst/gstregistry.c:
11594 * gst/gstregistry.h:
11595 * gst/gstregistrypool.c: remove
11596 * gst/gstregistrypool.h: remove
11597 * gst/gsttypefind.c:
11598 * gst/gsttypefindfactory.c:
11600 * tools/Makefile.am:
11601 * tools/gst-compprep.c:
11602 * tools/gst-inspect.c:
11603 * tools/gst-register.c: remove
11604 * tools/gst-xmlinspect.c:
11605 Registry rewrite. Changes registry from being a file created
11606 by a tool into a simple cache file created automatically by
11607 libgstreamer. Removed gst-register (because it's no longer
11608 needed). Remove registry pools, because we only have one
11609 registry implementation (XML). Fix up other subsystems as
11612 2005-09-13 Michael Smith <msmith@fluendo.com>
11614 * gst/gstconfig.h.in:
11615 Don't Use windows linking attributes for MinGW. Fixes #316157
11617 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
11619 * gst/gstutils.c: (set_state_async_thread_func),
11620 (gst_element_set_state_async):
11621 Apparently people think it's better if this function doesn't
11622 try to set the state to whatever state was asked for on the first
11623 call to this function for any object. Seriously.
11625 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
11627 * check/gst/gstpipeline.c: (GST_START_TEST):
11628 * docs/gst/gstreamer-sections.txt:
11629 * gst/gstutils.c: (set_state_async_thread_func),
11630 (gst_element_set_state_async):
11632 add a "gst_element_set_state_async" method that
11633 sets the state and starts a thread to make sure the state
11634 change completes as best as it can
11636 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
11638 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11639 codify design+behaviour in testsuite after discussion
11641 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
11643 * docs/gst/tmpl/gstelement.sgml:
11644 * docs/manual/appendix-quotes.xml:
11646 * gst/gstelement.c: (gst_element_set_state):
11649 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
11651 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11652 (gst_base_transform_prepare_output_buf),
11653 (gst_base_transform_handle_buffer):
11654 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11655 (gst_capsfilter_prepare_buf):
11656 Remove the requirement for sub-classes to call the parent
11657 implementation of prepare_output_buffer with a wrapper function.
11659 * gst/gsttaglist.h:
11660 * gst/gsttagsetter.h:
11661 Fix #define wrapper
11663 2005-09-11 Stefan Kost <ensonic@users.sf.net>
11665 * docs/gst/gstreamer-sections.txt:
11668 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
11670 * docs/gst/gstreamer-sections.txt:
11671 * docs/gst/tmpl/gstelement.sgml:
11672 * docs/gst/tmpl/gstplugin.sgml:
11673 * gst/gstminiobject.c:
11675 docs now stop throwing warnings
11677 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
11679 * docs/gst/gstreamer-sections.txt:
11680 * docs/gst/gstreamer.types:
11681 * docs/gst/tmpl/gstpad.sgml:
11682 * docs/gst/tmpl/gsttypes.sgml:
11683 * gst/base/gstadapter.h:
11684 * gst/base/gstbasesink.h:
11685 * gst/base/gstbasesrc.h:
11691 * gst/gstelement.h:
11693 * gst/gstmessage.h:
11695 * gst/gststructure.c:
11696 * gst/registries/gstlibxmlregistry.h:
11697 various documentation fixes
11699 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
11701 * docs/gst/gstreamer-sections.txt:
11702 * docs/gst/tmpl/gstvalue.sgml:
11703 rearrange gstvalue section
11704 * gst/gstutils.c: (gst_element_state_get_name):
11706 * gst/gstvalue.c: (_gst_value_initialize):
11710 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
11712 * check/gst-libs/controller.c:
11713 Header include fix.
11714 * gst/base/gstbasetransform.c:
11715 (gst_base_transform_default_prepare_buf),
11716 (gst_base_transform_handle_buffer):
11717 * gst/base/gstbasetransform.h:
11718 Some more basetransform changes and fixes to enable sub-classes
11719 that modify buffer metadata only.
11720 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11721 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11722 (gst_capsfilter_prepare_buf):
11723 If the output pad has fixed allowed caps and input buffers
11724 don't have any, set the fixed caps on outgoing buffers.
11726 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
11727 * check/elements/identity.c: (GST_START_TEST):
11728 Make the error a little clearer when the test fails because
11729 identity made a copy of the buffer.
11730 * docs/gst/gstreamer-sections.txt:
11731 New symbols in gstbasetransform.h
11732 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11733 (gst_base_transform_init), (gst_base_transform_transform_size),
11734 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11735 (gst_base_transform_default_prepare_buf),
11736 (gst_base_transform_get_unit_size),
11737 (gst_base_transform_buffer_alloc),
11738 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11739 (gst_base_transform_change_state),
11740 (gst_base_transform_set_passthrough),
11741 (gst_base_transform_set_in_place),
11742 (gst_base_transform_is_in_place):
11743 * gst/base/gstbasetransform.h:
11744 Change BaseTransform to separate in_place operate from same_caps
11745 output. in_place implies that the element can perform the transform
11746 on incoming buffers in-place, even if the caps on the output are
11748 Sub-class elements can now implement special buffer allocation
11749 methods for outgoing buffers if they wish to.
11750 Big documentation addition.
11751 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11752 * gst/elements/gstelements.c:
11753 Changes for basetransform modifications.
11754 * gst/elements/Makefile.am:
11755 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11756 Compile fix. Extra debug output.
11758 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11760 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11762 add tests for valid pad naming
11763 * gst/check/gstcheck.c: (gst_check_log_message_func),
11764 (gst_check_log_critical_func):
11766 remove printing of code, it is fragile when the code contains
11767 % and the line number is enough info
11768 * gst/check/gstcheck.h:
11769 * gst/gstpad.c: (gst_pad_template_new):
11772 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11775 say what CHECK flags we use
11776 * docs/libs/gstreamer-libs.types:
11777 * libs/gst/controller/Makefile.am:
11778 * libs/gst/controller/gst-controller.c:
11779 * libs/gst/controller/gst-controller.h:
11780 * libs/gst/controller/gst-helper.c:
11781 * libs/gst/controller/gst-interpolation.c:
11782 * libs/gst/controller/gstcontroller.c:
11783 * libs/gst/controller/gsthelper.c:
11784 * libs/gst/controller/gstinterpolation.c:
11785 * tools/gst-inspect.c: (print_plugin_info):
11786 we don't use dashes in header names
11788 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
11790 * check/Makefile.am:
11791 * check/gst/.cvsignore:
11792 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11793 (gst_pipeline_suite), (main):
11794 adding a test for pipelines and state changes
11795 * gst/gstutils.c: (get_state_func):
11797 * gstreamer.spec.in:
11800 2005-09-08 Michael Smith <msmith@fluendo.com>
11802 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11803 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11804 (gst_file_src_is_seekable), (gst_file_src_get_size),
11805 (gst_file_src_start):
11806 * gst/elements/gstfilesrc.h:
11807 Various fixes for unseekable, unmmapable, and non-normal files, so
11808 that fallback to read() rather than mmap() works.
11809 * gst/gstevent.c: (gst_event_new_newsegment):
11810 Allow newsegment events with segment_start == segment_end, as will
11811 correctly happen if you use filesrc on a zero-size file, for
11814 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
11816 * gst/gstplugin.c: (gst_plugin_load_file):
11817 Call g_module_close when we don't load the module
11819 * gst/registries/gstlibxmlregistry.c:
11820 (gst_xml_registry_get_property):
11821 Port leak fix from 0.8
11823 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11825 * docs/gst/gstreamer-docs.sgml:
11826 * docs/gst/tmpl/.cvsignore:
11827 * docs/gst/tmpl/gsttrace.sgml:
11828 * docs/gst/tmpl/gsttrashstack.sgml:
11831 * gst/gstelement.h:
11833 * gst/gstmessage.c:
11834 * gst/gstmessage.h:
11837 * gst/gsttaginterface.c:
11838 * gst/gsttaginterface.h:
11839 * gst/gsttaglist.c:
11840 * gst/gsttaglist.h:
11841 * gst/gsttagsetter.c:
11842 * gst/gsttagsetter.h:
11845 * gst/gsttrashstack.c:
11846 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11847 inlined docs for gsttrace, gsttrashstack
11849 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11852 * gst/elements/gstbufferstore.h:
11853 * gst/elements/gsttypefindelement.c:
11854 * gst/elements/gsttypefindelement.h:
11856 * gst/gsttypefind.c:
11857 * gst/gsttypefind.h:
11858 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11859 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11860 (gst_type_find_factory_dispose),
11861 (gst_type_find_factory_unload_thyself),
11862 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11863 (gst_type_find_factory_get_caps),
11864 (gst_type_find_factory_get_extensions),
11865 (gst_type_find_factory_call_function):
11866 * gst/gsttypefindfactory.h:
11867 * gst/registries/gstlibxmlregistry.c:
11868 * gst/registries/gstxmlregistry.c:
11869 splitted gsttypefind into gsttypefind, gsttypefindfactory
11871 2005-09-07 Andy Wingo <wingo@pobox.com>
11873 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11874 condition whereby the pad's task function is entered before the
11875 pad_mode variable was set.
11877 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
11879 * gst/gstpad.c: (gst_pad_alloc_buffer):
11880 Catch misbehaving pad_alloc functions that don't
11881 set up caps and do it for them.
11883 2005-09-07 Stefan Kost <ensonic@users.sf.net>
11885 * check/pipelines/simple_launch_lines.c: (run_pipeline):
11886 test for pipe!=NULL
11887 * docs/gst/tmpl/.cvsignore:
11888 * docs/gst/tmpl/gstmemchunk.sgml:
11889 * docs/gst/tmpl/gstparse.sgml:
11890 * docs/gst/tmpl/gsttaglist.sgml:
11891 * docs/gst/tmpl/gsttagsetter.sgml:
11892 * docs/gst/tmpl/gsttypefind.sgml:
11893 * docs/gst/tmpl/gsttypefindfactory.sgml:
11894 * gst/gstmemchunk.c:
11897 * gst/gsttaginterface.c:
11898 * gst/gsttypefind.c:
11899 * gst/gsttypefind.h:
11902 === release 0.9.2 ===
11904 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
11909 releasing 0.9.2, "South"
11911 2005-09-05 Andy Wingo <wingo@pobox.com>
11913 * gst/registries/gstxmlregistry.h:
11914 * gst/registries/gstxmlregistry.c: Um... resurrect...
11916 * gst/registries/gstxmlregistry.h:
11917 * gst/registries/gstxmlregistry.c: and update to newer API.
11918 Incidentally they should be a bit faster now that they don't have
11921 2005-09-05 Andy Wingo <wingo@pobox.com>
11923 * gst/registries/gstxmlregistry.h:
11924 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11925 replaced by the libxml registry a while back
11927 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
11929 * docs/gst/tmpl/gstplugin.sgml:
11930 * gst/elements/gstelements.c:
11932 * gst/gstplugin.c: (gst_plugin_register_func),
11933 (gst_plugin_desc_copy), (gst_plugin_desc_free),
11934 (gst_plugin_get_source):
11936 * gst/registries/gstlibxmlregistry.c: (load_plugin),
11937 (gst_xml_registry_save_plugin):
11938 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11939 (gst_xml_registry_save_plugin):
11940 * tools/gst-inspect.c: (print_plugin_info):
11941 add a "source" plugin description field, to represent the source
11942 module this plugin is a part of. By default GST_PLUGIN_DEFINE
11943 will set it to PACKAGE, which is automake's idea of the name of
11944 the source project.
11946 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
11951 * docs/Makefile.am:
11952 * docs/faq/Makefile.am:
11953 * docs/gst/tmpl/gstelement.sgml:
11954 * docs/gst/tmpl/gsttypes.sgml:
11955 * docs/htmlinstall.mak:
11956 * docs/manual/Makefile.am:
11957 * docs/pwg/Makefile.am:
11958 reorganize doc build a little
11959 split out docbook and gtk-doc stuff
11960 have two separate --enable's and enable them through autogen
11961 but disable by default in configure (to be similar to other
11963 * gstreamer.spec.in:
11964 clean up docs install
11982 translation updates
11984 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
11986 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11989 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11990 (gst_fake_sink_change_state):
11991 Make state change function thread-safe.
11993 * gst/gstpad.c: (gst_pad_alloc_buffer):
11994 Set offset on generic buffer allocated by fallback.
11996 2005-09-03 Stefan Kost <ensonic@users.sf.net>
11998 * docs/gst/gstreamer-sections.txt:
11999 * docs/gst/tmpl/gstelement.sgml:
12001 * libs/gst/controller/gst-controller.c:
12002 (gst_controlled_property_set_interpolation_mode),
12003 (gst_controlled_property_new),
12004 (gst_controller_find_controlled_property):
12005 run the wingo-magic script against the docs
12007 2005-09-02 Stefan Kost <ensonic@users.sf.net>
12009 * docs/gst/gstreamer-docs.sgml:
12010 * docs/gst/gstreamer-sections.txt:
12011 * docs/gst/tmpl/.cvsignore:
12012 * docs/gst/tmpl/gstelementdetails.sgml:
12013 * docs/gst/tmpl/gstelementfactory.sgml:
12016 * gst/gstelementfactory.c:
12017 * gst/gstelementfactory.h:
12018 merged elementdetails docs into elementfactory docs
12021 2005-09-02 Andy Wingo <wingo@pobox.com>
12023 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12024 consider this enum an enum and not a flags.
12026 2005-09-02 Stefan Kost <ensonic@users.sf.net>
12028 * docs/gst/gstreamer-docs.sgml:
12029 * docs/gst/tmpl/.cvsignore:
12030 * docs/gst/tmpl/gstghostpad.sgml:
12031 * docs/gst/tmpl/gstiterator.sgml:
12032 * docs/gst/tmpl/gstmacros.sgml:
12033 * docs/gst/tmpl/gstrealpad.sgml:
12034 * docs/gst/tmpl/gstregistry.sgml:
12035 * docs/gst/tmpl/gstregistrypool.sgml:
12036 * docs/gst/tmpl/gststructure.sgml:
12037 * docs/gst/tmpl/gstsystemclock.sgml:
12038 * docs/gst/tmpl/gsttrace.sgml:
12039 * gst/gstghostpad.c:
12041 * gst/gstmemchunk.c:
12042 * gst/gstmemchunk.h:
12044 * gst/gstregistry.c:
12045 * gst/gstregistrypool.c:
12046 * gst/gststructure.c:
12047 * gst/gstsystemclock.c:
12050 2005-09-02 Andy Wingo <wingo@pobox.com>
12052 * gst/gstelement.h (GstState): Renamed from GstElementState,
12053 changed to be a normal enum instead of flags.
12054 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12055 munged to be GST_STATE_CHANGE_*.
12056 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12057 work with the new state representation.
12058 (GstStateChange): New enumeration of possible state transitions.
12059 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12060 (GstElementClass::change_state): Pass the GstStateChange along as
12061 an argument. Helps language bindings, so they don't have to use
12062 tricky lock-needing macros like GST_STATE_CHANGE ().
12064 * scripts/update-states (file): New script. Run it on a file to
12065 update it for state naming and API changes. Updates files in
12068 * All files updated for the new API.
12070 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
12072 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12073 * gst/gstutils.c: (gst_util_set_value_from_string),
12074 (gst_util_set_object_arg):
12075 fix a bunch of unchecked return values
12076 * tools/gst-complete.c: (main):
12077 * gstreamer.spec.in:
12080 2005-09-01 Wim Taymans <wim@fluendo.com>
12082 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12083 (gst_base_sink_event), (gst_base_sink_do_sync),
12084 (gst_base_sink_handle_event):
12085 * gst/base/gstbasesink.h:
12086 Handle newsegments more correctly.
12091 * gst/gstevent.c: (gst_event_new_newsegment):
12092 A newsegment cannot have a start_time of -1
12094 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
12096 * win32/gstenumtypes.c:
12097 * win32/gstenumtypes.h:
12100 2005-08-31 Stefan Kost <ensonic@users.sf.net>
12102 * libs/gst/controller/gst-controller.c:
12103 (gst_controlled_property_set_interpolation_mode),
12104 (gst_controlled_property_new):
12105 fixed boolean again
12107 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
12109 * docs/faq/gst-uninstalled:
12114 * gst/gstutils.c: (gst_element_link_filtered):
12116 add gst_element_link_filtered
12118 2005-08-31 Stefan Kost <ensonic@users.sf.net>
12120 * docs/gst/gstreamer-docs.sgml:
12121 * docs/gst/gstreamer-sections.txt:
12122 * docs/gst/tmpl/.cvsignore:
12123 * docs/gst/tmpl/gsterror.sgml:
12124 * docs/gst/tmpl/gstfilter.sgml:
12125 * docs/gst/tmpl/gsturihandler.sgml:
12126 * docs/gst/tmpl/gsturitype.sgml:
12127 * docs/gst/tmpl/gstutils.sgml:
12128 * docs/gst/tmpl/gstxml.sgml:
12133 * gst/gsturitype.c:
12136 inlined more docs, fixed double id-ref
12138 2005-08-31 Wim Taymans <wim@fluendo.com>
12140 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12141 (gst_base_transform_handle_buffer):
12142 Passthrough elements don't need the caps as they don't care.
12144 2005-08-31 Wim Taymans <wim@fluendo.com>
12146 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12147 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12148 Don't leak refcounts on buffers.
12150 2005-08-31 Wim Taymans <wim@fluendo.com>
12152 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12153 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12154 (gst_base_transform_chain), (gst_base_transform_change_state):
12155 * gst/base/gstbasetransform.h:
12156 Handle the case where we are not negotiated more gracefully.
12158 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
12160 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12161 (gst_file_src_map_region):
12162 Set READONLY flag on mmap'ed buffers, otherwise
12163 gst_buffer_make_writable() won't work properly (#314708).
12165 2005-08-31 Wim Taymans <wim@fluendo.com>
12167 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12168 passthrough elements can even do inplace on non writable
12169 buffers (as they don't touch them).
12171 2005-08-31 Stefan Kost <ensonic@users.sf.net>
12173 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12174 (gst_test_mono_source_set_property),
12175 (gst_test_mono_source_class_init), (GST_START_TEST),
12176 (gst_controller_suite):
12177 more tests (hehe I have the most)
12179 describe popping messages whenusing mulltiple sources
12180 * libs/gst/controller/gst-controller.c:
12181 (gst_controlled_property_set_interpolation_mode),
12182 (gst_controlled_property_new):
12183 * libs/gst/controller/gst-controller.h:
12184 * libs/gst/controller/gst-interpolation.c:
12185 implement boolean properties
12187 2005-08-31 Wim Taymans <wim@fluendo.com>
12189 * gst/gstminiobject.c: (gst_mini_object_ref):
12190 Cannot assert that the refcount has to be positive
12191 since a disposed object can be resurrected.
12193 2005-08-31 Wim Taymans <wim@fluendo.com>
12195 * gst/gstpad.c: (gst_pad_init):
12196 Revert change, need to first fix badly behaving
12199 2005-08-30 Wim Taymans <wim@fluendo.com>
12201 * check/elements/fakesrc.c: (setup_fakesrc):
12202 * check/elements/identity.c: (setup_identity):
12203 Activate pads before using them.
12205 2005-08-30 Wim Taymans <wim@fluendo.com>
12207 * gst/base/gstadapter.c: (gst_adapter_flush):
12208 Flushing out 0 bytes is ok for this function.
12210 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12211 no newsegment gives a warning and sets the start/stop to
12214 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12215 (gst_base_transform_set_passthrough):
12218 * gst/gstminiobject.c: (gst_mini_object_ref):
12219 Check refcount here too.
12221 * gst/gstpad.c: (gst_pad_init):
12222 Pads are initially flushing and refusing data.
12224 * gst/gstutils.c: (gst_element_link_pads_filtered):
12225 When adding a capsfilter element make sure it has the
12226 same state as the parent bin.
12228 2005-08-30 Stefan Kost <ensonic@users.sf.net>
12230 * docs/gst/tmpl/.cvsignore:
12231 * docs/gst/tmpl/gstformat.sgml:
12232 * docs/gst/tmpl/gstversion.sgml:
12236 * gst/gstversion.h.in:
12237 more docs and two more inlined
12239 2005-08-30 Wim Taymans <wim@fluendo.com>
12241 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12242 Don't sync to clock.
12244 2005-08-30 Stefan Kost <ensonic@users.sf.net>
12246 * docs/gst/gstreamer-sections.txt:
12247 ultral33t func10ns deserve to appear in the docs actually
12248 * docs/gst/tmpl/.cvsignore:
12249 * docs/gst/tmpl/gstcompat.sgml:
12250 * docs/gst/tmpl/gstconfig.sgml:
12251 * gst/check/gstcheck.c:
12253 * gst/gstconfig.h.in:
12256 2005-08-30 Stefan Kost <ensonic@users.sf.net>
12258 * docs/gst/tmpl/.cvsignore:
12259 * docs/gst/tmpl/gstquery.sgml:
12260 * docs/gst/tmpl/gstutils.sgml:
12263 inlined and extended docs
12265 2005-08-30 Stefan Kost <ensonic@users.sf.net>
12267 * check/gst-libs/controller.c: (GST_START_TEST),
12268 (gst_controller_suite):
12270 * docs/gst/tmpl/gstutils.sgml:
12271 * docs/libs/gstreamer-libs-sections.txt:
12272 * docs/libs/tmpl/gstdataprotocol.sgml:
12274 * examples/controller/audio-example.c: (main):
12275 controller example works now
12278 * tools/gst-inspect.c: (print_element_properties_info):
12279 show param spec flags
12281 2005-08-29 Andy Wingo <wingo@pobox.com>
12283 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12285 2005-08-28 Andy Wingo <wingo@pobox.com>
12287 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12288 as having two arguments instead of just one. Allows superclasses
12289 to access information on subclasses -- see the terrible for() loop
12290 in gtype.c:g_type_create_instance for the reason why. All callers
12293 2005-08-27 Stefan Kost <ensonic@users.sf.net>
12295 * docs/design/part-messages.txt:
12297 * docs/gst/tmpl/.cvsignore:
12298 * docs/gst/tmpl/gstcaps.sgml:
12299 * docs/gst/tmpl/gstclock.sgml:
12305 * gst/gstmessage.c:
12306 added descriptions for bus and message
12307 inline caps and clock docs
12309 2005-08-27 Stefan Kost <ensonic@users.sf.net>
12311 * gst/gstmessage.c:
12312 * gst/gstmessage.h:
12315 2005-08-27 Stefan Kost <ensonic@users.sf.net>
12317 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12320 2005-08-26 Andy Wingo <wingo@pobox.com>
12322 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12323 element_set_state's return val.
12324 (test_2_elements): Add test that's been disabled for months.
12326 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12327 can-activate-pull properties.
12329 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12330 can-activate-pull properties. Implement is_seekable so fakesrc can
12331 operate in pull mode.
12333 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12335 (gst_base_sink_activate, gst_base_sink_activate_pull)
12336 (gst_base_sink_activate_push): Make activation mode choosing work.
12338 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12339 is right. Make pull mode work. Post an eos before pausing in pull
12341 (gst_base_sink_change_state): Pay attention to the core's
12342 change_state() return val.
12344 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12345 has-getrange properties. Cleanups.
12347 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12348 has_getrange and replace with can_activate_pull and
12351 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12352 locking comments. Remove has_loop, has_chain and replace with
12353 can_activate_pull and can_activate_push.
12355 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
12358 * examples/Makefile.am:
12359 * examples/metadata/Makefile.am:
12360 * examples/metadata/read-metadata.c: (message_loop),
12361 (have_pad_handler), (make_pipeline), (print_tag), (main):
12362 Add metadata reading example that loops over a list of filenames,
12363 dumping any tags found.
12365 * gst/gstbus.c: (gst_bus_dispose):
12366 * gst/gstelement.c: (gst_element_dispose):
12367 Release a few potentially-held references in dispose.
12369 2005-08-26 Stefan Kost <ensonic@users.sf.net>
12371 * docs/gst/tmpl/gstminiobject.sgml:
12372 do *not* add tmpl/*.sgml files to CVS!
12374 2005-08-26 Stefan Kost <ensonic@users.sf.net>
12376 * libs/gst/bytestream/.cvsignore:
12377 * libs/gst/bytestream/Makefile.am:
12378 * libs/gst/bytestream/adapter.c:
12379 * libs/gst/bytestream/adapter.h:
12380 * libs/gst/bytestream/bytestream.c:
12381 * libs/gst/bytestream/bytestream.h:
12382 * libs/gst/bytestream/filepad.c:
12383 * libs/gst/bytestream/filepad.h:
12384 removing obsolete files
12386 2005-08-26 Stefan Kost <ensonic@users.sf.net>
12388 * docs/gst/gstreamer-docs.sgml:
12389 * docs/libs/gstreamer-libs-docs.sgml:
12390 disabed additional index entries again, as this makes docs-gen just
12391 slow and they aren't useful yet
12392 * docs/libs/gstreamer-libs-sections.txt:
12393 little -section.txt cleanup for libs
12395 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
12397 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12398 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12399 fix up some debugging
12400 (gst_base_transform_get_unit_size),
12401 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12402 (gst_base_transform_handle_buffer):
12403 * gst/base/gstbasetransform.h:
12404 handle and store timed NEWSEGMENT events so that subclasses that
12405 calculate time by counting samples have a segment_start time they
12406 need to add to their timestamps - see audioresample
12408 2005-08-26 Stefan Kost <ensonic@users.sf.net>
12411 removed ';' from the end of macro defs
12412 * docs/gst/gstreamer-docs.sgml:
12413 * docs/gst/gstreamer-sections.txt:
12414 * docs/gst/tmpl/.cvsignore:
12416 * gst/gstelement.c: (gst_element_class_init),
12417 (gst_element_set_state), (activate_pads),
12418 (gst_element_save_thyself):
12419 * gst/gstevent.c: (gst_event_new_newsegment):
12421 * gst/gstiterator.c:
12422 * gst/gstiterator.h:
12425 * gst/gstutils.c: (gst_pad_query_convert):
12427 fixed parameter name mismatches between source, header and docs
12428 added some more docs, resolved the last batch of unused elements in
12429 docs (now someone needs to doc them)
12431 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
12433 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12434 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12435 don't walk through the plugins backwards. Where is all this
12436 reversed logic coming from ?
12438 2005-08-25 Wim Taymans <wim@fluendo.com>
12440 * gst/base/gstbasetransform.c: (gst_base_transform_init),
12441 (gst_base_transform_transform_size),
12442 (gst_base_transform_configure_caps),
12443 (gst_base_transform_get_unit_size),
12444 (gst_base_transform_buffer_alloc),
12445 (gst_base_transform_change_state):
12446 * gst/base/gstbasetransform.h:
12447 Cache caps unit_size.
12448 Make sure we cannot negotiate up and downstream at the
12451 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
12453 * gst/gst.c: (init_pre), (init_post):
12454 register the installed plugin path after the env var
12455 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12456 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12457 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12458 directories, so the tests can prefer uninstalled over installed
12460 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
12462 * gst/base/gstbasetransform.h:
12467 2005-08-25 Wim Taymans <wim@fluendo.com>
12469 * gst/gstbin.c: (bin_bus_handler):
12470 Be a bit more conservative about the posted message.
12472 * gst/gstbus.c: (gst_bus_post):
12473 Some cleanups, warn wrong return values.
12475 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
12477 * check/gst/gstbin.c: (GST_START_TEST):
12478 * gst/gstbin.c: (bin_bus_handler):
12479 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12480 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12481 (gst_message_new_warning), (gst_message_new_tag),
12482 (gst_message_new_state_changed), (gst_message_new_segment_start),
12483 (gst_message_new_segment_done), (gst_message_new_custom):
12484 * gst/gstmessage.h:
12485 * tools/gst-launch.c: (event_loop):
12486 * tools/gst-md5sum.c: (event_loop):
12487 Revert unpopular change for GST_MESSAGE_SRC to GObject.
12489 2005-08-25 Wim Taymans <wim@fluendo.com>
12491 * check/generic/states.c: (GST_START_TEST):
12492 Cleanup can be done at the end.
12494 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12495 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12496 (gst_task_get_state), (gst_task_start), (gst_task_pause):
12497 Oh boy.. Thanks for finding this, Thomas.
12499 2005-08-25 Stefan Kost <ensonic@users.sf.net>
12501 * docs/gst/gstreamer.types:
12502 added missing types
12504 2005-08-25 Stefan Kost <ensonic@users.sf.net>
12506 * docs/gst/gstreamer-docs.sgml:
12507 * docs/gst/gstreamer-sections.txt:
12508 * docs/gst/tmpl/.cvsignore:
12510 * gst/gstiterator.c:
12512 * gst/registries/gstxmlregistry.h:
12513 added missing classes and symbols (123 more to go)
12514 removed removed symbols from section file
12515 fixed many doc-comments
12517 2005-08-24 Wim Taymans <wim@fluendo.com>
12519 * check/generic/states.c: (GST_START_TEST):
12520 Make sure all tasks are stopped.
12522 * check/gst/gstbin.c: (GST_START_TEST):
12523 Unref after usage for proper valgrinding.
12525 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12526 Really wait for the task to stop before destroying the
12529 * gst/gstqueue.c: (gst_queue_sink_activate_push),
12530 (gst_queue_src_activate_push):
12531 Small cleanups. Don't stop the task when we did not start
12534 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12535 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12536 (gst_task_get_state), (gst_task_start), (gst_task_pause),
12539 Protect the stream lock with the object lock.
12540 Disallow setting the stream lock when running.
12541 Add cleanup_all to wait for the threadpool to finish.
12542 Remove code to autoallocate a mutex if none was provided.
12543 Add _join() to wait for a task to stop.
12544 Protect the thread pool with a global lock.
12546 2005-08-24 Wim Taymans <wim@fluendo.com>
12548 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12549 (gst_base_sink_get_times), (gst_base_sink_do_sync),
12550 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12551 * gst/base/gstbasesink.h:
12552 Handle newsegment events correctly.
12553 Drop buffers out of the segment range.
12555 2005-08-22 Andy Wingo <wingo@pobox.com>
12557 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12558 macro, implements an interface and gstimplementsinterface for a
12561 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
12563 * check/Makefile.am:
12564 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12565 add a test that does a bunch of state changes on elements
12566 needs some fixing for valgrind
12567 * check/states/sinks.c: (gst_object_suite):
12570 add prototype for gst_caps_is_equal_fixed
12572 * gst/gstregistrypool.c:
12575 2005-08-24 Andy Wingo <wingo@pobox.com>
12577 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12578 convert a negative value. Doesn't make much sense. Mostly this is
12579 here to force callers to ensure -1 maps to -1.
12581 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
12583 * docs/pwg/advanced-types.xml:
12584 Well done to Michael for catching my deliberate introduction
12585 of this spelling mistake.
12586 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12587 * gst/gstelement.h:
12588 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12589 unlink pads before removing the element from the bin.
12591 2005-08-24 Andy Wingo <wingo@pobox.com>
12593 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12594 the same thing as GST_DEBUG=*:4.
12595 (parse_debug_level, parse_debug_category): New helper parsers.
12597 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
12599 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12600 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12601 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12602 (gst_base_transform_buffer_alloc),
12603 (gst_base_transform_handle_buffer):
12604 use gboolean return values and pointers to size so we can use the
12605 full GST_BUFFER_SIZE range (guint) for buffer sizes
12606 use GstPadDirection for transform_caps
12607 * gst/base/gstbasetransform.h:
12608 rename get_size to get_unit_size since that's what it is
12609 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12610 use GstPadDirection for transform_caps
12611 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12613 cleanup and debugging
12615 2005-08-24 Stefan Kost <ensonic@users.sf.net>
12617 * gst/gstelement.c: (gst_element_class_init),
12618 (gst_element_set_state), (activate_pads),
12619 (gst_element_save_thyself):
12620 * tools/gst-compprep.c: (main):
12621 * tools/gst-inspect.c: (print_element_properties_info):
12622 * tools/gst-xmlinspect.c: (print_element_properties):
12623 Fixed long standing mem-leak
12625 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
12627 * check/gst/gstbin.c: (GST_START_TEST):
12628 * gst/gstbin.c: (bin_bus_handler):
12629 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12630 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12631 (gst_message_new_warning), (gst_message_new_tag),
12632 (gst_message_new_state_changed), (gst_message_new_segment_start),
12633 (gst_message_new_segment_done), (gst_message_new_custom):
12634 * gst/gstmessage.h:
12635 * tools/gst-launch.c: (event_loop):
12636 * tools/gst-md5sum.c: (event_loop):
12637 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12638 that applications can sensibly post custom messages with references
12639 to their own objects.
12641 2005-08-24 Andy Wingo <wingo@pobox.com>
12643 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12646 2005-08-24 Wim Taymans <wim@fluendo.com>
12648 * gst/base/gstbasetransform.c: (gst_base_transform_init),
12649 (gst_base_transform_transform_caps),
12650 (gst_base_transform_transform_size),
12651 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12652 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12653 (gst_base_transform_handle_buffer):
12654 * gst/base/gstbasetransform.h:
12655 Many fixes and new features added by Thomas. Can now also do
12656 transforms with variable sizes and a custom fixate_caps function.
12658 2005-08-24 Wim Taymans <wim@fluendo.com>
12660 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12664 Cast to ClockTime before formatting to time.
12669 2005-08-24 Stefan Kost <ensonic@users.sf.net>
12671 * check/gst-libs/controller.c: (GST_START_TEST),
12672 (gst_controller_suite):
12673 * docs/gst/tmpl/gstcaps.sgml:
12674 * docs/gst/tmpl/gstghostpad.sgml:
12675 * docs/gst/tmpl/gstquery.sgml:
12676 * docs/gst/tmpl/gstutils.sgml:
12677 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12678 (gst_object_sink_values), (gst_object_get_value_arrays),
12679 (gst_object_get_value_array):
12680 gracefully handle helper method calls to objects that are not beeing
12681 controlled, added test case for that
12683 2005-08-23 Wim Taymans <wim@fluendo.com>
12685 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12686 (gst_event_new_newsegment), (gst_event_parse_newsegment),
12687 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12688 (gst_event_parse_qos), (gst_event_new_seek),
12689 (gst_event_parse_seek):
12691 Some more debugging output and doc cleanups.
12693 * gst/gstqueue.c: (gst_queue_handle_sink_event):
12694 Fix possible deadlock.
12696 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12698 * docs/gst/gstreamer-docs.sgml:
12699 * docs/gst/gstreamer-sections.txt:
12700 * docs/gst/gstreamer.types:
12701 * docs/gst/tmpl/.cvsignore:
12704 * gst/gstelement.c:
12706 added 100 symbols from gstreamer-unused.txt to the right sections
12707 fixed more broken comments
12708 added GstBus to docs
12710 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12712 * docs/gst/gstreamer-sections.txt:
12713 * docs/gst/tmpl/.cvsignore:
12714 * docs/gst/tmpl/gstbin.sgml:
12715 * docs/gst/tmpl/gstbuffer.sgml:
12716 * gst/base/gstbasesrc.c:
12717 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12720 * tools/gst-launch.1.in:
12721 inlined more doc comments, added missing comments and fixed comments
12724 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
12726 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12730 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12732 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12733 * gst/gststructure.h:
12734 add a fixate function for booleans; add a FIXME that these func
12735 names should probably be gst_structure_fixate_*
12737 2005-08-23 Stefan Kost <ensonic@users.sf.net>
12739 * docs/gst/gstreamer-docs.sgml:
12740 * docs/gst/gstreamer-sections.txt:
12742 * gst/gstbin.c: (gst_bin_get_type),
12743 (gst_bin_child_proxy_get_child_by_index),
12744 (gst_bin_child_proxy_get_children_count),
12745 (gst_bin_child_proxy_init):
12746 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12747 (gst_child_proxy_get_child_by_index),
12748 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12749 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12750 (gst_child_proxy_get), (gst_child_proxy_set_property),
12751 (gst_child_proxy_set_valist), (gst_child_proxy_set),
12752 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12753 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12754 * gst/gstchildproxy.h:
12755 * gst/parse/grammar.y:
12756 * tools/gst-inspect.c: (print_interfaces),
12757 (print_element_properties_info), (print_element_info):
12758 ported gstchildproxy over from 0.8
12759 ported gst-inspect fixes and enhancements over from 0.8
12761 2005-08-22 Wim Taymans <wim@fluendo.com>
12763 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12764 (gst_base_transform_handle_buffer):
12765 Also call the transform function if we have ANY caps.
12767 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12770 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
12772 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12773 Don't pretend to handle seek events if the source is not seekable
12775 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
12777 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12778 Remove extra parameter to debug output
12780 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12781 (gst_base_src_do_seek), (gst_base_src_activate_push):
12782 Fix seek event handling.
12784 * gst/gstpipeline.c: (gst_pipeline_change_state):
12785 * gst/gstqueue.c: (gst_queue_handle_sink_event),
12786 (gst_queue_src_activate_push):
12787 Don't start the src pad task on FLUSH_STOP if the pad
12791 2005-08-22 Wim Taymans <wim@fluendo.com>
12793 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12794 Added check for gst_static_caps_get() refcounting.
12796 2005-08-22 Wim Taymans <wim@fluendo.com>
12798 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12799 Make _static_caps_get() refcounting sane.
12801 * gst/gstelement.c: (gst_element_set_state):
12802 Add g_return_val_if_fail() to protect against segfaults.
12804 2005-08-22 Stefan Kost <ensonic@users.sf.net>
12806 * docs/gst/tmpl/gstevent.sgml:
12809 inlined remaining docs, added missing doc comments
12811 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
12813 * check/gst/gstbin.c: (GST_START_TEST):
12814 since we don't know when preroll is done, use refcount range
12816 * gst/check/gstcheck.h:
12817 add macro for checking refcount range
12819 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
12821 * check/Makefile.am:
12822 clean up environment for when registry gets built versus
12823 when actual tests are run; valgrind seems to not report
12824 leaks if GST_PLUGIN_PATH is set to some specific values
12825 * check/gst/gstbin.c: (GST_START_TEST):
12826 add more refcounting checks; maybe this exposes a
12828 * common/check.mak:
12829 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12830 * gst/check/gstcheck.h:
12831 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12832 (gst_bin_change_state):
12833 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12834 add/fix debugging/whitespace
12836 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
12838 * check/gst/gstevent.c: (event_probe), (test_event),
12840 Er, don't call gst_bin_watch_for_state_change you idiot.
12842 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
12844 * check/Makefile.am:
12845 Use CHECK_CFLAGS and CHECK_LIBS
12846 * check/gst/gstevent.c: (event_probe), (test_event),
12849 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12850 (gst_base_src_start), (gst_base_src_stop),
12851 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12852 (gst_base_src_change_state):
12853 Sprinkle gst_base_src_stop liberally around error paths to fix
12854 problems reusing a source after failed state changes.
12855 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12856 (helper_find_suggest), (gst_type_find_helper):
12857 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12859 * docs/gst/tmpl/gstevent.sgml:
12860 Migrate part of the docs from the SGML file. Wait for ensonic to
12861 tell me how I did it wrong ;)
12862 * tools/gst-typefind.c: (main):
12863 Extra robustness to state changes between files.
12865 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
12867 * check/Makefile.am:
12868 don't valgrind the controller test - it's leaking - Stefan, HELP
12869 * gst/check/gstcheck.c: (gst_check_message_error),
12870 (gst_check_chain_func), (gst_check_setup_element),
12871 (gst_check_teardown_element), (gst_check_setup_src_pad),
12872 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12873 (gst_check_teardown_sink_pad):
12874 * gst/check/gstcheck.h:
12875 add a bunch of methods to set up elements, and src and sink pads
12876 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12877 * check/elements/identity.c: (setup_identity), (cleanup_identity),
12880 * gst/gstmessage.c:
12882 whitespace/doc fixes
12884 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12886 * gst/gstelement.h:
12887 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12888 be handled by the application and not always printed as well
12890 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12892 * check/Makefile.am:
12894 * gst/check/gstcheck.c: (gst_check_message_error):
12895 * gst/check/gstcheck.h:
12896 add a fail_unless_equals_int
12897 add fail_unless for error messages
12899 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12901 * check/Makefile.am:
12903 * common/Makefile.am:
12904 * common/check.mak:
12906 factor out some of the common stuff so we can use it
12908 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12910 * check/Makefile.am:
12911 * check/gst/gstiterator.c: (GST_START_TEST):
12912 * check/gst/gstsystemclock.c: (GST_START_TEST),
12913 (gst_systemclock_suite):
12914 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12916 valgrind more tests
12918 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
12920 * check/elements/.cvsignore:
12921 * check/elements/gstfakesrc.c:
12922 rename to name of element
12923 * check/elements/identity.c: (chain_func), (event_func),
12924 (setup_identity), (cleanup_identity), (GST_START_TEST),
12925 (identity_suite), (main):
12926 add a test for identity
12927 * check/Makefile.am:
12928 * pkgconfig/Makefile.am:
12929 * pkgconfig/gstreamer-check.pc.in:
12930 * pkgconfig/gstreamer-check-uninstalled.pc.in:
12934 move the check stuff to a library that gets installed
12935 * check/gst-libs/controller.c: (GST_START_TEST):
12936 * check/gst-libs/gdp.c:
12937 * check/gst/gst.c: (GST_START_TEST):
12938 * check/gst/gstbin.c:
12939 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12940 * check/gst/gstbus.c:
12941 * check/gst/gstcaps.c: (GST_START_TEST):
12942 * check/gst/gstelement.c:
12943 * check/gst/gstghostpad.c:
12944 * check/gst/gstiterator.c:
12945 * check/gst/gstmessage.c:
12946 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12947 * check/gst/gstobject.c:
12948 * check/gst/gstpad.c: (GST_START_TEST):
12949 * check/gst/gststructure.c: (GST_START_TEST):
12950 * check/gst/gstsystemclock.c: (GST_START_TEST),
12951 (gst_systemclock_suite):
12952 * check/gst/gsttag.c: (gst_tag_suite):
12953 * check/gst/gstvalue.c:
12954 * check/pipelines/cleanup.c:
12955 * check/pipelines/simple_launch_lines.c:
12956 * check/states/sinks.c:
12957 change include statement
12959 * docs/gst/gstreamer-sections.txt:
12960 * docs/gst/tmpl/gstpad.sgml:
12961 document more pad stuff
12962 * gst/gstminiobject.c: (gst_mini_object_ref),
12963 (gst_mini_object_unref):
12966 2005-08-19 Stefan Kost <ensonic@users.sf.net>
12968 * docs/gst/tmpl/gst.sgml:
12970 eliminate another tmpl file, fix spelling in the long-description
12972 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12974 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12975 (test_event), (timediff), (gstevents_suite):
12976 Should fix build on 64-bit arch's
12978 2005-08-18 Andy Wingo <wingo@pobox.com>
12980 Make sure that when a pipeline goes to PLAYING, that data has
12981 actually hit the sink.
12983 * check/states/sinks.c (test_sink): A sink that doesn't get any
12984 data shouldn't return SUCCESS for going to either PLAYING or
12985 PAUSED. Test also the return values on the way back down.
12987 * gst/gstelement.c (gst_element_set_state): When changing the
12988 state of an element currently changing state asynchronously, go to
12989 lost-state after commiting the pending state. Makes future calls
12990 to get_state continue to return ASYNC.
12992 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12993 ASYNC when going to PLAYING if we still don't have preroll, as can
12994 happen with live sources.
12996 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
12998 * docs/pwg/advanced-types.xml:
12999 Hack long paragraph into 2 chunks as a workaround for buggy
13000 jadetex version in sid and breezy that loops infinitely and
13003 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
13005 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13006 (test_event), (timediff), (gstevents_suite):
13007 Provide more error margin in clock measurements to allow for
13008 g_get_current_time inaccuracies.
13010 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
13012 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13013 (test_event), (timediff), (gstevents_suite):
13014 Fix error message output so I might be able to tell why the
13015 test works here but fails on the build farm.
13017 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
13019 * check/Makefile.am:
13020 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13021 (test_event), (timediff), (gstevents_suite), (main):
13024 * docs/design/part-seeking.txt:
13025 Spelling correction
13027 * docs/gst/tmpl/gstevent.sgml:
13028 * docs/gst/tmpl/gstfakesrc.sgml:
13031 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13032 Treat a buffer-without-newsegment the same as a receiving
13033 a newsegment not in time format, and disable syncing to the clock
13036 * gst/gstbus.c: (gst_bus_set_sync_handler):
13037 Assert if anyone tries to replace the existing sync_handler for bus,
13038 as only the owner should be setting it.
13041 Have a fixed set of custom event enums with events identified by
13042 their structure name (as in 0.8), rather than a free-for-all
13043 allowing collisions between enum values from different plugins.
13045 * gst/gstpad.c: (gst_pad_class_init):
13048 * gst/gstqueue.c: (gst_queue_handle_sink_event):
13049 Handle out-of-band downstream events from the sending thread.
13051 2005-08-17 Andy Wingo <wingo@pobox.com>
13053 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13054 play-timeout==0 to mean no timeout at all. In that case, don't
13055 bother with a get_state or a warning, just return directly, even
13058 * gst/base/gstbasetransform.c: Debug changes.
13061 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13062 ensure bins post state change messages. A bit of a hack but I can't
13063 think of a way to avoid it.
13065 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13067 2005-08-16 Andy Wingo <wingo@pobox.com>
13069 * gst/base/gstadapter.h:
13070 * gst/base/gstadapter.c (gst_adapter_take): New function, like
13071 peek() but you own the data. Not terribly efficient atm.
13073 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13075 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13076 (gst_element_found_tags):
13078 Add two utility functions for tag handling.
13080 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13082 * docs/manual/advanced-dataaccess.xml:
13083 * docs/manual/basics-helloworld.xml:
13084 Fix docs to use _bin_add() before _link(), which fixes the examples
13085 with recent core versions (reported by Madhan Raj M
13086 <raj_madan@rediffmail.com>, #313199).
13088 2005-08-16 Wim Taymans <wim@fluendo.com>
13090 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13091 Added subtract checks.
13093 * docs/design/part-events.txt:
13094 Some more docs about newsegment
13096 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13099 * gst/gstcaps.c: (gst_caps_to_string):
13100 Add comments, cleanups.
13102 * gst/gstelement.c: (gst_element_save_thyself):
13105 * gst/gstvalue.c: (gst_value_collect_int_range),
13106 (gst_string_unwrap), (gst_value_union_int_int_range),
13107 (gst_value_union_int_range_int_range),
13108 (gst_value_intersect_int_int_range),
13109 (gst_value_intersect_int_range_int_range),
13110 (gst_value_intersect_double_double_range),
13111 (gst_value_intersect_double_range_double_range),
13112 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13113 (gst_value_subtract_int_range_int),
13114 (gst_value_subtract_double_range_double),
13115 (gst_value_subtract_double_range_double_range),
13116 (gst_value_subtract_from_list), (gst_value_subtract_list),
13117 (gst_value_can_compare), (gst_value_compare_fraction):
13118 Cleanups, add comments, remove unneeded asserts.
13120 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
13122 * tools/gst-launch.c: (event_loop):
13123 don't convert NULL structures to strings
13125 2005-08-15 Stefan Kost <ensonic@users.sf.net>
13127 * docs/gst/gstreamer-sections.txt:
13128 made some defines private
13129 * docs/gst/tmpl/gstconfig.sgml:
13130 * docs/gst/tmpl/gstqueue.sgml:
13131 * docs/gst/tmpl/gsttaglist.sgml:
13132 * docs/gst/tmpl/gsttypes.sgml:
13133 * docs/gst/tmpl/gstutils.sgml:
13134 * docs/pwg/appendix-porting.xml:
13135 * gst/base/gstbasesink.h:
13136 * gst/base/gstbasesrc.c:
13137 * gst/base/gstbasesrc.h:
13138 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13139 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13140 * gst/gstelement.c: (gst_element_class_init):
13141 * gst/gstpad.c: (gst_pad_class_init):
13142 * gst/gstqueue.c: (gst_queue_class_init):
13143 * gst/gstxml.c: (gst_xml_class_init):
13144 documented all undocumented signal inline
13145 * libs/gst/controller/gst-controller.h:
13148 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13150 * docs/pwg/appendix-porting.xml:
13151 Document _set_link_function -> _set_setcaps_function.
13153 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
13155 * check/Makefile.am:
13156 add a .check target for running the check
13157 * check/gst-libs/controller.c: (GST_START_TEST):
13159 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13160 complete checks for gstbuffer; would be nice if I could get the
13161 gcov stuff to work so I can see if I actually completed gstbuffer.c
13162 * check/gstcheck.h:
13163 add ASSERT_BUFFER_REFCOUNT
13165 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
13167 * docs/gst/gstreamer-sections.txt:
13168 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13170 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13171 spew out a warning if a tag that is already registered
13172 is re-registered, unless it is re-registered with a
13173 different type (#308438).
13175 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
13177 * docs/pwg/appendix-porting.xml:
13178 * docs/pwg/building-state.xml:
13179 Add some paragraphs about state changes in 0.9 to the PWG
13180 and the porting guide, in particular about the new meaning
13181 of GST_STATE_PAUSED and how to write state change functions
13182 with concurrent access by multiple threads in mind.
13184 2005-08-11 Stefan Kost <ensonic@users.sf.net>
13186 * docs/gst/gstreamer-docs.sgml:
13187 * docs/libs/gstreamer-libs-docs.sgml:
13188 added deprecation and since indexes
13189 * libs/gst/controller/gst-controller.c:
13190 * libs/gst/controller/gst-helper.c:
13194 2005-08-11 Wim Taymans <wim@fluendo.com>
13196 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13197 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13198 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13199 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13200 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13201 (gst_ghost_pad_set_target):
13202 Actually implement (re)setting the target on a ghostpad
13203 as described in the docs.
13205 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
13207 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13208 Check whether GST_DEBUG_NO_COLOR environment variable is
13209 set and disable coloured debug output if that is the case.
13211 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
13213 * gst/base/gsttypefindhelper.c: (helper_find_peek),
13214 (gst_type_find_helper):
13215 The memory returned by gst_type_find_peek() needs to
13216 stay valid until the end of a typefind function, and
13217 typefind functions may keep results from different
13218 offsets around, so we can't just unref the buffer from
13219 the previous _peek(), but have to save all buffers
13220 returned by _peek() until typefinding is done and only
13223 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
13225 * docs/gst/gstreamer-sections.txt:
13227 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13229 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13231 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13232 Fix a pretty good memleak.
13234 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
13236 * gst/gstiterator.h:
13237 Fix wrong include and 'make distcheck'.
13239 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13241 * gst/gstbin.c: (bin_bus_handler):
13242 Use gst_element_post_message() instead.
13244 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
13246 * gst/base/gstadapter.h:
13247 * gst/base/gstbasesink.h:
13248 * gst/base/gstbasesrc.h:
13249 * gst/base/gstbasetransform.h:
13250 * gst/base/gstcollectpads.h:
13251 * gst/base/gstpushsrc.h:
13252 * gst/gstiterator.h:
13253 Add padding to our base elements' class and instance structs and
13254 to GstIterator (you will need to rebuild all plugins and apps!)
13256 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13258 * gst/gstbin.c: (bin_bus_handler):
13259 Make default message forwarding from child->bus to bin->bus
13260 threadsafe and make it not emit warnings if the parent has no bus.
13262 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13264 * gst/gstelement.c: (activate_pads):
13265 On paused->ready, set pad->caps to NULL, as is the documented
13266 behaviour in this state change. Fixes playback of series of
13267 media files when visualization is enabled in Totem.
13269 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13271 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13272 Allow NULL as filter-caps (which means "any").
13274 2005-08-05 Stefan Kost <ensonic@users.sf.net>
13276 * docs/libs/gstreamer-libs-sections.txt:
13277 * libs/gst/controller/gst-controller.c:
13278 * libs/gst/controller/gst-controller.h:
13279 * libs/gst/controller/gst-helper.c:
13280 adding more entries to the docs and fix small doc-bugs
13282 2005-08-05 Stefan Kost <ensonic@users.sf.net>
13284 * docs/gst/gstreamer-docs.sgml:
13285 * docs/gst/gstreamer-sections.txt:
13286 * docs/gst/gstreamer.types:
13287 * docs/gst/tmpl/gstbasesink.sgml:
13288 * docs/gst/tmpl/gstbasesrc.sgml:
13289 * docs/gst/tmpl/gstbasetransform.sgml:
13290 * docs/gst/tmpl/gstfakesrc.sgml:
13291 * gst/base/gstcollectpads.c:
13292 * gst/base/gstcollectpads.h:
13293 * libs/gst/controller/gst-controller.c:
13294 * libs/gst/controller/gst-controller.h:
13295 * libs/gst/controller/gst-helper.c:
13296 * libs/gst/controller/gst-interpolation.c:
13297 * libs/gst/controller/lib.c:
13298 added long/short desc for controller docs
13299 added collectpads base class docs
13300 added correct includes to base-class docs
13302 2005-08-05 Stefan Kost <ensonic@users.sf.net>
13304 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13305 (gst_test_mono_source_set_property),
13306 (gst_test_mono_source_class_init), (GST_START_TEST),
13307 (gst_controller_suite):
13308 * docs/gst/gstreamer-docs.sgml:
13309 * docs/gst/gstreamer-sections.txt:
13310 * docs/gst/gstreamer.types:
13311 * docs/libs/gstreamer-libs-docs.sgml:
13312 * docs/libs/gstreamer-libs-sections.txt:
13313 * gst/base/gstadapter.c:
13314 * libs/gst/controller/gst-controller.c:
13315 (gst_controlled_property_new), (gst_controlled_property_free),
13316 (gst_controller_new_valist),
13317 (gst_controller_remove_properties_valist),
13318 (gst_controller_sink_values), (_gst_controller_finalize):
13319 * libs/gst/controller/gst-controller.h:
13320 * libs/gst/controller/gst-helper.c:
13321 (gst_object_control_properties), (gst_object_uncontrol_properties),
13322 (gst_object_get_controller), (gst_object_set_controller),
13323 (gst_object_sink_values), (gst_object_get_value_arrays),
13324 (gst_object_get_value_array):
13325 more tests (and fixes) for the controller
13326 more docs for the controller
13327 integrated companies docs for the adapter
13329 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
13331 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13332 (GST_START_TEST), (fakesrc_suite):
13333 add tests for sizetype
13335 2005-08-04 Andy Wingo <wingo@pobox.com>
13337 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13338 fixes buffer_alloc proxying among other things.
13340 * gst/base/gstbasetransform.c:
13341 * gst/base/gstbasetransform.h:
13342 Revert patch to gstbasetransform from 7-28 removing
13345 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13346 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13347 Semantics changed, should return not the size of the output buffer
13348 but the byte size of a buffer with a given caps.
13350 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13352 (gst_base_transform_configure_caps): Don't set out_size here: (in,
13353 out) are not the pad caps until setcaps finishes.
13354 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13355 not-in-place case as well. Deal with changing from in-place to
13356 not-in-place within calling pad_alloc_buffer. Still a bit
13357 concerned about the overhead here...
13359 2005-08-03 Andy Wingo <wingo@pobox.com>
13361 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13362 fixating is an error.
13364 2005-08-04 Edward Hervey <edward@fluendo.com>
13366 * gst/base/gstadapter.h:
13367 Added gst_adapter_get_type() to the header
13369 2005-08-03 Stefan Kost <ensonic@users.sf.net>
13371 * check/Makefile.am:
13372 * check/gst-libs/controller.c:
13373 * libs/gst/controller/gst-controller.c:
13374 (gst_controller_new_valist):
13375 added check test suite for the controller
13376 * gst/base/gstpushsrc.c:
13379 2005-08-03 Stefan Kost <ensonic@users.sf.net>
13381 * docs/gst/Makefile.am:
13382 * docs/gst/gstreamer-docs.sgml:
13383 * docs/gst/gstreamer-sections.txt:
13384 * docs/gst/gstreamer.types:
13385 * docs/gst/tmpl/gstfakesrc.sgml:
13387 * gst/base/gstbasesink.c:
13388 * gst/base/gstbasesink.h:
13389 * gst/base/gstbasesrc.c:
13390 * gst/base/gstbasesrc.h:
13391 * gst/base/gstbasetransform.c:
13392 * gst/base/gstpushsrc.c:
13393 * gst/base/gstpushsrc.h:
13394 add short/long description docs to base classes
13395 add pushsrc to the docs
13396 remove consolidated doc fragments
13398 2005-08-03 Stefan Kost <ensonic@users.sf.net>
13401 * docs/libs/Makefile.am:
13402 * docs/libs/gstreamer-libs-docs.sgml:
13403 * docs/libs/gstreamer-libs-sections.txt:
13404 * docs/libs/gstreamer-libs.types:
13405 * examples/Makefile.am:
13406 * examples/controller/.cvsignore:
13407 * examples/controller/Makefile.am:
13408 * examples/controller/audio-example.c: (main):
13409 * libs/gst/Makefile.am:
13410 * libs/gst/controller/.cvsignore:
13411 * libs/gst/controller/Makefile.am:
13412 * libs/gst/controller/gst-controller.c:
13413 (on_object_controlled_property_changed), (gst_timed_value_compare),
13414 (gst_timed_value_find),
13415 (gst_controlled_property_set_interpolation_mode),
13416 (gst_controlled_property_new), (gst_controlled_property_free),
13417 (gst_controller_find_controlled_property),
13418 (gst_controller_new_valist), (gst_controller_new),
13419 (gst_controller_remove_properties_valist),
13420 (gst_controller_remove_properties), (gst_controller_set),
13421 (gst_controller_set_from_list), (gst_controller_unset),
13422 (gst_controller_get), (gst_controller_get_all),
13423 (gst_controller_sink_values), (gst_controller_get_value_arrays),
13424 (gst_controller_get_value_array),
13425 (gst_controller_set_interpolation_mode),
13426 (_gst_controller_finalize), (_gst_controller_init),
13427 (_gst_controller_class_init), (gst_controller_get_type):
13428 * libs/gst/controller/gst-controller.h:
13429 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13430 (g_object_uncontrol_properties), (g_object_get_controller),
13431 (g_object_set_controller), (g_object_sink_values),
13432 (g_object_get_value_arrays), (g_object_get_value_array):
13433 * libs/gst/controller/gst-interpolation.c:
13434 (gst_controlled_property_find_timed_value_node),
13435 (interpolate_none_get), (interpolate_trigger_get),
13436 (interpolate_trigger_get_value_array):
13437 * libs/gst/controller/lib.c: (gst_controller_init):
13438 * pkgconfig/Makefile.am:
13439 * pkgconfig/gstreamer-control-uninstalled.pc.in:
13440 * pkgconfig/gstreamer-control.pc.in:
13441 * testsuite/Makefile.am:
13442 * testsuite/controller/.cvsignore:
13443 * testsuite/controller/Makefile.am:
13444 * testsuite/controller/interpolator.c: (main):
13445 added controller code
13446 removed dparam pc files
13448 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
13449 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13450 (gst_collectpads_stop):
13451 Broadcast the condition when shutting down, to make sure we wake all
13452 threads up. Shut down pads on finalize, for safety.
13454 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
13455 * gst/base/gstbasetransform.c: (gst_base_transform_init),
13456 (gst_base_transform_handle_buffer),
13457 (gst_base_transform_change_state):
13458 Handle PAUSED->READY->PAUSED transition after negotiation
13460 * gst/gstmessage.c: (gst_message_init):
13461 Extra piece of debug for new messages.
13463 2005-08-01 Stefan Kost <ensonic@users.sf.net>
13466 * docs/gst/tmpl/gstbasesrc.sgml:
13467 * docs/gst/tmpl/gstelement.sgml:
13468 * docs/gst/tmpl/gstevent.sgml:
13469 * docs/gst/tmpl/gstfakesrc.sgml:
13470 * docs/gst/tmpl/gstformat.sgml:
13471 * docs/gst/tmpl/gstghostpad.sgml:
13472 * docs/gst/tmpl/gstpad.sgml:
13473 * docs/gst/tmpl/gstquery.sgml:
13474 * docs/gst/tmpl/gststructure.sgml:
13475 * docs/gst/tmpl/gsttaglist.sgml:
13476 * docs/gst/tmpl/gstvalue.sgml:
13477 * docs/libs/gstreamer-libs-docs.sgml:
13478 * docs/libs/gstreamer-libs-sections.txt:
13479 * docs/libs/gstreamer-libs.types:
13480 * libs/gst/Makefile.am:
13481 * libs/gst/control/.cvsignore:
13482 * libs/gst/control/Makefile.am:
13483 * libs/gst/control/control.c:
13484 * libs/gst/control/control.h:
13485 * libs/gst/control/dparam.c:
13486 * libs/gst/control/dparam.h:
13487 * libs/gst/control/dparam_smooth.c:
13488 * libs/gst/control/dparam_smooth.h:
13489 * libs/gst/control/dparamcommon.h:
13490 * libs/gst/control/dparammanager.c:
13491 * libs/gst/control/dparammanager.h:
13492 * libs/gst/control/dplinearinterp.c:
13493 * libs/gst/control/dplinearinterp.h:
13494 * libs/gst/control/unitconvert.c:
13495 * libs/gst/control/unitconvert.h:
13496 * testsuite/Makefile.am:
13497 * testsuite/dynparams/.cvsignore:
13498 * testsuite/dynparams/Makefile.am:
13499 * testsuite/dynparams/dparamstest.c:
13500 * tools/Makefile.am:
13501 * tools/gst-inspect.c: (print_element_info), (main):
13502 * tools/gst-xmlinspect.c: (print_element_info), (main):
13503 deactivate and remove dparams (libgstcontrol)
13505 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
13507 * gst/elements/gsttypefindelement.c:
13508 (gst_type_find_element_have_type), (gst_type_find_element_init),
13509 (stop_typefinding), (gst_type_find_element_handle_event),
13510 (gst_type_find_element_chain), (gst_type_find_element_getrange):
13511 * gst/elements/gsttypefindelement.h:
13512 Set caps on all outgoing buffers, not just the first one.
13514 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
13516 * gst/elements/gsttypefindelement.c:
13517 (gst_type_find_element_have_type),
13518 (gst_type_find_element_check_set_buffer_caps),
13519 (gst_type_find_element_init), (stop_typefinding),
13520 (gst_type_find_element_handle_event),
13521 (gst_type_find_element_chain), (gst_type_find_element_getrange):
13522 * gst/elements/gsttypefindelement.h:
13523 Set caps on first outgoing buffer when we've found the type.
13525 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
13527 * docs/gst/gstreamer-docs.sgml:
13528 * docs/gst/gstreamer-sections.txt:
13529 * docs/gst/tmpl/gstscheduler.sgml:
13530 * docs/gst/tmpl/gstschedulerfactory.sgml:
13531 Remove some old cruft from docs.
13533 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
13536 Fix inline docs for GstPadLinkReturn.
13538 * gst/gststructure.c: (gst_structure_has_name):
13539 * gst/gststructure.h:
13540 * docs/gst/gstreamer-sections.txt:
13541 New API: gst_structure_has_name().
13543 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
13546 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13547 and _LARGEFILE_SOURCE in config.h as required. Do not
13548 export those flags in our .pc files any longer (#142209).
13550 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13552 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13553 (gst_file_sink_do_seek), (gst_file_sink_event),
13554 (gst_file_sink_get_current_offset), (gst_file_sink_render):
13555 Redo seek/tell calls with large file support in mind; add some
13556 debugging messages; add log message that tells us when large
13557 file support is unavailable or not enabled for some reason.
13559 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13560 Add log message that tells us when large file support
13561 is unavailable or not enabled for some reason.
13563 2005-07-29 Wim Taymans <wim@fluendo.com>
13565 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13566 Added test for removing an element with ghostpad from a bin.
13567 Fixed test as current implementation does the right thing.
13569 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13570 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13571 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13572 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13573 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13574 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13575 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13576 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13577 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13578 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13579 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13580 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13581 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13582 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13583 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13584 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13585 * gst/gstghostpad.h:
13586 Clean up ghostpads, remove properties for internal stuff.
13589 Prepare for switching targets, not all use cases work yet.
13591 2005-07-29 Wim Taymans <wim@fluendo.com>
13593 * docs/design/part-gstghostpad.txt:
13596 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13597 (gst_bin_remove_func):
13598 Unlinking pads while holding the bin LOCK is not a good
13601 * gst/gstpad.c: (gst_pad_class_init),
13602 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13603 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13604 No prob setting template after creating the pad.
13606 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
13608 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13609 (gst_bus_peek), (gst_bus_source_dispatch),
13610 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13611 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13612 gst_bus_poll may be called from other threads. Handle
13613 this nicely by not making poll_data disappear off the
13614 stack once gst_bus_poll returns.
13615 gst_bus_peek now increments the refcount on the returned
13618 2005-07-29 Wim Taymans <wim@fluendo.com>
13620 * docs/design/part-gstghostpad.txt:
13621 Overview of current GhostPad datastructures and use
13622 cases for changing the target.
13624 2005-07-28 Wim Taymans <wim@fluendo.com>
13626 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13627 Added checks for hierarchy consistency whan adding linked
13630 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13631 Added check to test element scheduling without bin/pipeline.
13633 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13634 First add elements to bin, then link.
13636 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13637 (gst_bin_remove_func):
13638 Unlink pads from elements added/removed from bin to maintain
13639 hierarchy consistency.
13641 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13643 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13644 (gst_base_transform_handle_buffer):
13645 * gst/base/gstbasetransform.h:
13646 Remove broken delay_configure (fixes renegotiation of software
13647 scaling pipelines); remove some leftover printf()s.
13649 2005-07-28 Wim Taymans <wim@fluendo.com>
13651 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13652 Added some more tests for wrong hierarchy
13654 * docs/design/part-overview.txt:
13657 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13660 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13661 (gst_element_dispose):
13662 Some more cleanups.
13664 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13665 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13666 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13667 (gst_pad_set_caps), (gst_pad_send_event):
13668 Check for correct hierarchy when linking pads. Moving to
13669 strict requirement for ghostpads when linking elements in
13673 Clean ups. Added WRONG_HIERARCHY return value.
13675 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13677 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13678 Better debug if no transform is possible.
13680 2005-07-27 Wim Taymans <wim@fluendo.com>
13682 * docs/random/wtay/network-transp:
13683 Some old doc I had.
13685 2005-07-27 Wim Taymans <wim@fluendo.com>
13687 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13688 (gst_dp_event_from_packet):
13689 Fix serialization of seek events.
13691 2005-07-27 Wim Taymans <wim@fluendo.com>
13693 * check/gst-libs/gdp.c: (GST_START_TEST):
13694 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13695 Fix compilation and fix event serialization.
13697 2005-07-27 Wim Taymans <wim@fluendo.com>
13700 * docs/design/part-TODO.txt:
13701 * docs/design/part-events.txt:
13704 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13705 (gst_base_sink_event), (gst_base_sink_do_sync),
13706 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13707 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13708 (gst_base_src_do_seek), (gst_base_src_event_handler),
13709 (gst_base_src_loop):
13710 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13711 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13712 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13713 (gst_base_transform_event), (gst_base_transform_handle_buffer),
13714 (gst_base_transform_set_passthrough),
13715 (gst_base_transform_is_passthrough):
13716 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13717 * gst/elements/gstfilesink.c: (gst_file_sink_event):
13723 * gst/gstelement.c: (gst_element_seek):
13724 * gst/gstelement.h:
13725 Update gst_element_seek.
13727 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13728 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13729 (gst_event_new_flush_start), (gst_event_new_flush_stop),
13730 (gst_event_new_eos), (gst_event_new_newsegment),
13731 (gst_event_parse_newsegment), (gst_event_new_tag),
13732 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13733 (gst_event_parse_qos), (gst_event_new_seek),
13734 (gst_event_parse_seek), (gst_event_new_navigation):
13736 Make GstEvent use GstStructure. Add parsing code, make sure the
13737 API is sufficiently generic.
13738 Mark possible directions of events and serialization.
13740 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13741 (_gst_message_copy), (gst_message_new_segment_start),
13742 (gst_message_new_segment_done), (gst_message_new_custom),
13743 (gst_message_parse_segment_start),
13744 (gst_message_parse_segment_done):
13747 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13748 (gst_pad_set_caps), (gst_pad_send_event):
13749 Update for new events.
13750 Catch events sent in wrong directions.
13752 * gst/gstqueue.c: (gst_queue_link_src),
13753 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13754 (gst_queue_handle_src_query):
13759 Remove event code from this file.
13761 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13762 (gst_dp_event_from_packet):
13765 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13767 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13768 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13769 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13770 Make debugging actually useful.
13772 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13774 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13775 (gst_pad_fixate_caps):
13776 Implement default fixation once again, so that gst_pad_fixate()
13777 actually does anything at all. This probably needs to be some
13778 sort of a last resort, and use profile-based fixation first, but
13779 since that doesn't exist yet, this is the best we have. Fixes
13780 visualization in Totem.
13782 2005-07-22 Wim Taymans <wim@fluendo.com>
13784 * docs/design/part-events.txt:
13787 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13788 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13789 (gst_base_sink_activate_pull):
13790 Some more comments.
13792 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13793 (gst_fake_src_create):
13794 Fix handoff marshall.
13796 * gst/elements/gstidentity.c: (gst_identity_class_init),
13797 (gst_identity_transform_ip):
13798 We're a real inplace element.
13800 * gst/gstbus.c: (gst_bus_post):
13801 Added some comments.
13803 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13804 * tests/muxing/case1.c: (main):
13805 * tests/sched/dynamic-pipeline.c: (main):
13806 * tests/sched/interrupt1.c: (main):
13807 * tests/sched/interrupt2.c: (main):
13808 * tests/sched/interrupt3.c: (main):
13809 * tests/sched/runxml.c: (main):
13810 * tests/sched/sched-stress.c: (main):
13811 * tests/seeking/seeking1.c: (event_received), (main):
13812 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13814 * tests/threadstate/threadstate3.c: (main):
13815 * tests/threadstate/threadstate4.c: (main):
13816 * tests/threadstate/threadstate5.c: (main):
13819 2005-07-21 Wim Taymans <wim@fluendo.com>
13821 * docs/design/part-seeking.txt:
13822 Some small additions.
13824 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13825 (gst_base_sink_get_times), (gst_base_sink_do_sync),
13826 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13827 * gst/base/gstbasesink.h:
13828 discont values are gint64, handle the math correctly.
13830 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13831 Make the basesrc report error if the source pad is not linked.
13833 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13834 (gst_queue_loop), (gst_queue_handle_src_query),
13835 (gst_queue_src_activate_push):
13836 Make queue collect data even if the srcpad is not linked.
13837 Start pushing out data as soon as it is linked.
13839 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13841 Added gst_flow_get_name() to ease error reporting.
13843 2005-07-20 Wim Taymans <wim@fluendo.com>
13845 * gst/gstmessage.c: (gst_message_new_segment_start),
13846 (gst_message_new_segment_done), (gst_message_parse_segment_start),
13847 (gst_message_parse_segment_done):
13848 * gst/gstmessage.h:
13849 Added a bunch of messages for advanced seeking.
13851 * gst/parse/grammar.y:
13852 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13853 (gst_dpman_state_changed):
13854 Fix some new-pad -> pad-added signals
13856 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13858 * docs/manual/appendix-porting.xml:
13859 * docs/pwg/appendix-porting.xml:
13860 Document new-pad/state-change signal renames and the FixedList
13863 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13865 * docs/manual/advanced-autoplugging.xml:
13866 * docs/manual/basics-helloworld.xml:
13867 * docs/manual/basics-pads.xml:
13868 * docs/random/ds/0.9-suggested-changes:
13869 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13870 * gst/gstelement.h:
13874 * gst/gststructure.c: (gst_structure_value_get_generic_type),
13875 (gst_structure_parse_array), (gst_structure_parse_value):
13876 * gst/gstvalue.c: (gst_type_is_fixed),
13877 (gst_value_list_prepend_value), (gst_value_list_append_value),
13878 (gst_value_list_get_size), (gst_value_list_get_value),
13879 (gst_value_transform_array_string), (gst_value_serialize_array),
13880 (gst_value_deserialize_array), (gst_value_intersect_array),
13881 (gst_value_is_fixed), (_gst_value_initialize):
13883 GstElement::new-pad -> pad-added, GstElement::state-change ->
13884 state-changed, GstValueFixedList -> GstValueArray, add format and
13885 flags as their own arguments in gst_element_seek() (should improve
13886 "bindeability"), remove function generators since they don't work
13887 under a whole bunch of compilers (they were deprecated already
13890 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13892 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13893 (_gst_debug_register_funcptr):
13895 Fix illegal cast on some platforms (#309253).
13897 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13899 * gst/gstmessage.c: (gst_message_new_custom):
13900 * gst/gstmessage.h:
13901 Add _new_custom, make _new_application a macro to _new_custom.
13903 2005-07-20 Wim Taymans <wim@fluendo.com>
13905 * gst/base/gstbasesrc.c: (gst_base_src_init),
13906 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13907 * gst/base/gstbasesrc.h:
13908 Add a gboolean to decide when to push out a discont.
13910 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13911 (gst_queue_loop), (gst_queue_handle_src_query),
13912 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13913 (gst_queue_set_property), (gst_queue_get_property):
13916 * tests/threadstate/threadstate1.c: (main):
13917 Make a thread test compile and run... very silly..
13920 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13922 * docs/manual/appendix-porting.xml:
13923 Mention removal of libgstgconf-0.9.la and existence of gconf
13926 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13928 * docs/pwg/advanced-clock.xml:
13929 * docs/pwg/appendix-porting.xml:
13930 * docs/pwg/intro-preface.xml:
13931 * docs/pwg/other-base.xml:
13932 * docs/pwg/other-manager.xml:
13933 * docs/pwg/other-nton.xml:
13934 * docs/pwg/other-ntoone.xml:
13935 * docs/pwg/other-oneton.xml:
13936 * docs/pwg/pwg.xml:
13937 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13938 demuxer), remove n-to-n (was never written), fix some code examples
13939 and links and update the porting section to include all this.
13941 2005-07-19 Wim Taymans <wim@fluendo.com>
13943 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13944 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13945 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13946 (gst_queue_src_activate_push), (gst_queue_change_state),
13947 (gst_queue_get_property):
13949 Propagate GstFlowReturn more intelligently upstream and output
13950 an ERROR/EOS when streaming stopped due to fatal error.
13952 2005-07-19 Wim Taymans <wim@fluendo.com>
13954 * tools/gst-launch.c: (check_intr), (event_loop), (main):
13955 Don't block forever for the state change to complete, the
13956 pipeline already did with a sensible timeout.
13958 2005-07-19 Wim Taymans <wim@fluendo.com>
13960 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13961 Make sure we never call the create function is we
13964 2005-07-19 Andy Wingo <wingo@pobox.com>
13966 * gst/parse/parse.l: Attempt to solve bug #172815.
13968 2005-07-19 Wim Taymans <wim@fluendo.com>
13970 * docs/design/part-clocks.txt:
13971 * docs/design/part-events.txt:
13972 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13973 Small docs updates.
13974 Only update the seeking values when we are not
13977 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
13979 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13980 Oops, ignore the result of gst_pad_push_event here.
13982 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
13984 * gst/base/gstbasesrc.c: (gst_base_src_loop),
13985 (gst_base_src_activate_push):
13986 Send discont event from the loop function, as pads
13987 aren't activated yet in the activate_push handler.
13989 * gst/gstbin.c: (bin_bus_handler):
13990 Don't leak element name.
13992 2005-07-18 Andy Wingo <wingo@pobox.com>
13994 * configure.ac: Use AS_LIBTOOL_TAGS.
13996 2005-07-18 Wim Taymans <wim@fluendo.com>
13998 * docs/gst/gstreamer.types:
13999 Remove deleted types.
14001 2005-07-18 Wim Taymans <wim@fluendo.com>
14003 * check/elements/gstfakesrc.c: (GST_START_TEST):
14006 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14007 (init_popt_callback):
14009 * gst/gst_private.h:
14010 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14011 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14014 * gst/gstconfig.h.in:
14015 * gst/gstelement.c: (gst_element_class_init),
14016 (gst_element_set_base_time), (gst_element_get_base_time),
14017 (iterator_fold_with_resync), (gst_element_change_state),
14018 (gst_element_dispose), (gst_element_get_bus):
14019 * gst/gstelement.h:
14020 * gst/gstelementfactory.h:
14021 * gst/gsterror.c: (_gst_core_errors_init):
14024 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14026 * gst/gstinfo.c: (_gst_debug_init):
14027 * gst/gstmessage.c: (_gst_message_copy):
14028 * gst/gstmessage.h:
14029 * gst/gstminiobject.h:
14032 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14033 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14036 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14037 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14038 (gst_pipeline_get_last_stream_time):
14039 * gst/gstpipeline.h:
14040 * gst/gstpluginfeature.h:
14042 * gst/gstscheduler.c:
14043 * gst/gstscheduler.h:
14044 * gst/gststructure.h:
14045 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14046 (gst_task_finalize), (gst_task_func), (gst_task_create),
14047 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14048 (gst_task_stop), (gst_task_pause):
14050 * gst/gsttypefind.h:
14052 * gst/registries/gstlibxmlregistry.c: (load_feature),
14053 (gst_xml_registry_load), (gst_xml_registry_save_feature):
14054 * gst/registries/gstxmlregistry.c:
14055 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14056 * gst/schedulers/threadscheduler.c:
14057 * libs/gst/control/dparammanager.h:
14058 * tools/gst-inspect.c: (print_element_list),
14059 (print_plugin_features), (print_element_features):
14060 * tools/gst-xmlinspect.c: (print_element_list),
14061 (print_plugin_info), (main):
14062 Removed plugable schedulers.
14063 Removed Scheduler/Manager from elements.
14064 Removed gsttypes.h, rearranged includes.
14065 Removed dependency pad<->element, element<>pipeline, and
14066 various others, fix includes.
14067 implement gst_pad_get_parent() with gst_object_get_parent()
14068 Make GstTask sefcontained.
14069 Fix _get_state() on GstBin, it did not return ASYNC with a 0
14071 Fix endless loop in iterator_fold_with_resync.
14074 2005-07-18 Wim Taymans <wim@fluendo.com>
14080 2005-07-18 Wim Taymans <wim@fluendo.com>
14083 No more cothreads.h
14085 2005-07-18 Wim Taymans <wim@fluendo.com>
14089 Let's remove these.
14091 2005-07-18 Wim Taymans <wim@fluendo.com>
14093 * docs/design/part-dynamic.txt:
14094 * docs/design/part-events.txt:
14095 * docs/design/part-seeking.txt:
14096 Some more docs in the works.
14098 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14099 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14100 (gst_base_transform_setcaps), (gst_base_transform_get_size),
14101 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14102 (gst_base_transform_handle_buffer),
14103 (gst_base_transform_sink_activate_push),
14104 (gst_base_transform_src_activate_pull),
14105 (gst_base_transform_set_passthrough),
14106 (gst_base_transform_is_passthrough):
14109 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14112 * gst/gstevent.c: (gst_event_finalize):
14115 * gst/gstutils.c: (gst_element_unlink),
14116 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14117 (gst_pad_proxy_setcaps):
14119 Add _get_parent_element() to get a pads parent as an element.
14121 2005-07-18 Wim Taymans <wim@fluendo.com>
14123 * check/gst/gstbin.c: (GST_START_TEST):
14126 2005-07-18 Wim Taymans <wim@fluendo.com>
14128 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14129 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14130 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14131 (gst_base_sink_event), (gst_base_sink_do_sync),
14132 (gst_base_sink_chain), (gst_base_sink_loop),
14133 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14134 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14136 Fix logic for returning ASYNC when not prerolled.
14138 2005-07-18 Wim Taymans <wim@fluendo.com>
14140 * gst/gstqueue.c: (gst_queue_handle_sink_event):
14141 Fix nasty refcount bug.
14143 2005-07-16 Philippe Khalaf <burger@speedy.org>
14145 * gst/elements/gstfdsrc.c:
14146 * gst/elements/gstfdsrc.h:
14147 * gst/elements/gstelements.c:
14148 * gst/elements/Makefile.am:
14149 Ported fdsrc to 0.9.
14151 2005-07-16 Wim Taymans <wim@fluendo.com>
14153 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14154 (gst_base_sink_do_sync):
14157 2005-07-16 Wim Taymans <wim@fluendo.com>
14159 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14160 (gst_base_sink_event), (gst_base_sink_get_times),
14161 (gst_base_sink_do_sync), (gst_base_sink_change_state):
14162 * gst/base/gstbasesink.h:
14163 Store and use discont values when syncing buffers as described
14166 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14167 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14168 (gst_base_src_activate_push):
14169 Push discont event when starting.
14171 * gst/elements/gstidentity.c: (gst_identity_transform):
14174 * gst/gstbin.c: (gst_bin_change_state):
14175 Small cleanups in base_time distribution.
14177 * gst/gstelement.c: (gst_element_set_base_time),
14178 (gst_element_get_base_time), (gst_element_change_state):
14179 * gst/gstelement.h:
14180 Added methods for the base_time of the element.
14183 * gst/gstpipeline.c: (gst_pipeline_send_event),
14184 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14185 (gst_pipeline_get_last_stream_time):
14186 * gst/gstpipeline.h:
14188 Handle seeking as described in design doc, remove stream_time
14190 Cleanups clock and stream_time selection code. Added accessors
14191 for the stream_time.
14194 2005-07-16 Andy Wingo <wingo@pobox.com>
14196 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14199 2005-07-16 Wim Taymans <wim@fluendo.com>
14201 * check/gst/gstbin.c: (GST_START_TEST):
14202 Make elements silent as the deep_notify refs the
14203 parent, which might make the test fail.
14205 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14206 Don't hold the lock for too long.
14208 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
14210 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14211 Don't unref the caps we passed to gst_caps_make_writable() after
14212 passing them. gst_caps_make_writable() will do that for us.
14214 2005-07-15 Andy Wingo <wingo@pobox.com>
14216 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14219 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14220 own marshalling function for the handoff signal. Properly type the
14221 buffer as a buffer. Fixes some warnings. Should do a more general
14223 (gst_identity_class_init): Plug into the right marshaller.
14225 2005-07-15 Wim Taymans <wim@fluendo.com>
14227 * docs/design/part-TODO.txt:
14228 * docs/design/part-clocks.txt:
14229 * docs/design/part-element-sink.txt:
14230 * docs/design/part-events.txt:
14231 * docs/design/part-gstpipeline.txt:
14232 Updated docs, mostly DISCONT related.
14234 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
14236 * docs/pwg/building-pads.xml:
14237 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14239 2005-07-15 Andy Wingo <wingo@pobox.com>
14241 * tools/gst-typefind.c: Update, add copyright block.
14243 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14244 Normalize and truncate caps before fixation.
14247 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14248 discards all but the first structure from its argument.
14250 2005-07-15 Wim Taymans <wim@fluendo.com>
14252 * gst/base/gstbasetransform.c: (gst_base_transform_init),
14253 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14254 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14255 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14256 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14257 (gst_base_transform_chain), (gst_base_transform_change_state),
14258 (gst_base_transform_set_passthrough),
14259 (gst_base_transform_is_passthrough):
14260 * gst/base/gstbasetransform.h:
14261 Make passthrough work using the bufferpools.
14262 Changed API a bit, subclasses have to write into a buffer
14263 provided by the base class.
14264 More debug info in nego functions.
14266 * gst/elements/gstidentity.c: (gst_identity_init),
14267 (gst_identity_transform):
14268 Port to new base class.
14270 2005-07-15 Wim Taymans <wim@fluendo.com>
14272 * gst/gstmessage.c: (gst_message_new_state_changed):
14273 * tools/gst-launch.c: (event_loop), (main):
14274 Totally dump messages in -launch with the -m option.
14275 Fix message name for State messages,
14277 2005-07-14 Wim Taymans <wim@fluendo.com>
14279 * gst/base/gstbasesrc.c: (gst_base_src_loop):
14280 Post error messages on errors.
14282 2005-07-14 Wim Taymans <wim@fluendo.com>
14284 * gst/gstcaps.c: (gst_caps_do_simplify):
14288 Define error for stream stopped.
14290 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14291 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14292 Do proper return values.
14294 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14295 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14296 (gst_pad_get_range):
14297 Better return values.
14300 Reorganise return values, add macro to check for fatal errors.
14302 * gst/gstqueue.c: (gst_queue_chain):
14303 Return proper GstFlowReturn values,
14305 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
14307 * docs/gst/gstreamer-sections.txt:
14308 * docs/gst/gstreamer.types:
14309 * docs/gst/tmpl/gst.sgml:
14310 * docs/gst/tmpl/gstbasesink.sgml:
14311 * docs/gst/tmpl/gstbasesrc.sgml:
14312 * docs/gst/tmpl/gstbasetransform.sgml:
14313 * docs/gst/tmpl/gstbin.sgml:
14314 * docs/gst/tmpl/gstbuffer.sgml:
14315 * docs/gst/tmpl/gstcaps.sgml:
14316 * docs/gst/tmpl/gstclock.sgml:
14317 * docs/gst/tmpl/gstcompat.sgml:
14318 * docs/gst/tmpl/gstconfig.sgml:
14319 * docs/gst/tmpl/gstelement.sgml:
14320 * docs/gst/tmpl/gstelementdetails.sgml:
14321 * docs/gst/tmpl/gstelementfactory.sgml:
14322 * docs/gst/tmpl/gstenumtypes.sgml:
14323 * docs/gst/tmpl/gsterror.sgml:
14324 * docs/gst/tmpl/gstevent.sgml:
14325 * docs/gst/tmpl/gstfakesink.sgml:
14326 * docs/gst/tmpl/gstfakesrc.sgml:
14327 * docs/gst/tmpl/gstfilesink.sgml:
14328 * docs/gst/tmpl/gstfilesrc.sgml:
14329 * docs/gst/tmpl/gstfilter.sgml:
14330 * docs/gst/tmpl/gstformat.sgml:
14331 * docs/gst/tmpl/gstghostpad.sgml:
14332 * docs/gst/tmpl/gstimplementsinterface.sgml:
14333 * docs/gst/tmpl/gstindex.sgml:
14334 * docs/gst/tmpl/gstindexfactory.sgml:
14335 * docs/gst/tmpl/gstinfo.sgml:
14336 * docs/gst/tmpl/gstiterator.sgml:
14337 * docs/gst/tmpl/gstmacros.sgml:
14338 * docs/gst/tmpl/gstmemchunk.sgml:
14339 * docs/gst/tmpl/gstminiobject.sgml:
14340 * docs/gst/tmpl/gstobject.sgml:
14341 * docs/gst/tmpl/gstpad.sgml:
14342 * docs/gst/tmpl/gstpadtemplate.sgml:
14343 * docs/gst/tmpl/gstparse.sgml:
14344 * docs/gst/tmpl/gstpipeline.sgml:
14345 * docs/gst/tmpl/gstplugin.sgml:
14346 * docs/gst/tmpl/gstpluginfeature.sgml:
14347 * docs/gst/tmpl/gstquery.sgml:
14348 * docs/gst/tmpl/gstqueue.sgml:
14349 * docs/gst/tmpl/gstregistry.sgml:
14350 * docs/gst/tmpl/gstregistrypool.sgml:
14351 * docs/gst/tmpl/gstscheduler.sgml:
14352 * docs/gst/tmpl/gstschedulerfactory.sgml:
14353 * docs/gst/tmpl/gststructure.sgml:
14354 * docs/gst/tmpl/gstsystemclock.sgml:
14355 * docs/gst/tmpl/gsttaglist.sgml:
14356 * docs/gst/tmpl/gsttagsetter.sgml:
14357 * docs/gst/tmpl/gsttrace.sgml:
14358 * docs/gst/tmpl/gsttrashstack.sgml:
14359 * docs/gst/tmpl/gsttypefind.sgml:
14360 * docs/gst/tmpl/gsttypefindfactory.sgml:
14361 * docs/gst/tmpl/gsttypes.sgml:
14362 * docs/gst/tmpl/gsturihandler.sgml:
14363 * docs/gst/tmpl/gsturitype.sgml:
14364 * docs/gst/tmpl/gstutils.sgml:
14365 * docs/gst/tmpl/gstvalue.sgml:
14366 * docs/gst/tmpl/gstversion.sgml:
14367 * docs/gst/tmpl/gstxml.sgml:
14368 * docs/libs/tmpl/gstcontrol.sgml:
14369 * docs/libs/tmpl/gstdataprotocol.sgml:
14370 * docs/libs/tmpl/gstdparam.sgml:
14371 * docs/libs/tmpl/gstdplinint.sgml:
14372 * docs/libs/tmpl/gstdpman.sgml:
14373 * docs/libs/tmpl/gstdpsmooth.sgml:
14374 * docs/libs/tmpl/gstgetbits.sgml:
14375 * docs/libs/tmpl/gstunitconvert.sgml:
14376 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14377 (gst_push_src_base_init), (gst_push_src_class_init),
14378 (gst_push_src_init), (gst_push_src_create):
14379 * gst/base/gstpushsrc.h:
14380 * gst/elements/gstelements.c:
14381 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14382 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14383 (gst_fake_sink_init), (gst_fake_sink_set_property),
14384 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14385 (gst_fake_sink_event), (gst_fake_sink_preroll),
14386 (gst_fake_sink_render), (gst_fake_sink_change_state):
14387 * gst/elements/gstfakesink.h:
14388 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14389 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14390 (gst_fake_src_base_init), (gst_fake_src_class_init),
14391 (gst_fake_src_init), (gst_fake_src_event_handler),
14392 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14393 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14394 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14395 (gst_fake_src_create_buffer), (gst_fake_src_create),
14396 (gst_fake_src_start), (gst_fake_src_stop):
14397 * gst/elements/gstfakesrc.h:
14398 * gst/elements/gstfilesink.c: (_do_init),
14399 (gst_file_sink_base_init), (gst_file_sink_class_init),
14400 (gst_file_sink_init), (gst_file_sink_dispose),
14401 (gst_file_sink_set_location), (gst_file_sink_set_property),
14402 (gst_file_sink_get_property), (gst_file_sink_open_file),
14403 (gst_file_sink_close_file), (gst_file_sink_query),
14404 (gst_file_sink_event), (gst_file_sink_render),
14405 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14406 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14407 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14408 * gst/elements/gstfilesink.h:
14409 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14410 (gst_file_src_class_init), (gst_file_src_init),
14411 (gst_file_src_finalize), (gst_file_src_set_location),
14412 (gst_file_src_set_property), (gst_file_src_get_property),
14413 (gst_file_src_map_region), (gst_file_src_map_small_region),
14414 (gst_file_src_create_mmap), (gst_file_src_create_read),
14415 (gst_file_src_create), (gst_file_src_is_seekable),
14416 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14417 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14418 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14419 (gst_file_src_uri_handler_init):
14420 * gst/elements/gstfilesrc.h:
14421 more autistic cleanliness in functions/names/defines
14423 2005-07-13 Andy Wingo <wingo@pobox.com>
14425 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14426 source couldn't negotiate.
14428 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14432 * gst/gstutils.c (gst_element_link_pads_filtered): New old
14433 function. I am channeling Hades. Put your boots on suckers!!!
14435 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
14437 * testsuite/caps/Makefile.am:
14438 * testsuite/caps/value_compare.c:
14439 * testsuite/caps/value_intersect.c:
14440 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14441 move two testsuite apps over to the check dir
14443 2005-07-12 Wim Taymans <wim@fluendo.com>
14445 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14446 Added more debug info in the negotiate process.
14448 * gst/gstmessage.h:
14449 Prepare for segment playback.
14451 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14457 * tools/gst-launch.c: (main):
14458 NULL pipeline on errors.
14460 2005-07-12 Andy Wingo <wingo@pobox.com>
14462 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14463 not it comes from a malloc region. Make sure our copy gets freed.
14465 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
14467 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14468 * check/gst/gstmessage.c: (GST_START_TEST):
14469 * check/gst/gststructure.c: (GST_START_TEST),
14470 (gst_structure_suite), (main):
14472 * gst/gstelement.c: (gst_element_message_full):
14473 clean up GError and debug string now that they get copied
14474 * gst/gstmessage.c: (gst_message_new_error),
14475 (gst_message_new_warning), (gst_message_parse_error),
14476 (gst_message_parse_warning):
14477 use GST_TYPE_G_ERROR for structure_new, and take copies of
14478 arguments, so that we don't mess up refcounting
14480 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
14482 * check/Makefile.am:
14483 add per-test valgrind targets
14484 * check/gst-libs/gdp.c: (GST_START_TEST),
14485 (gst_data_protocol_suite), (main):
14488 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
14490 * check/Makefile.am:
14491 instate more valgrindable tests
14492 * check/elements/gstfakesrc.c: (chain_func), (event_func),
14493 (GST_START_TEST), (fakesrc_suite):
14494 * check/gst/gstpad.c: (GST_START_TEST):
14495 * check/gst/gststructure.c: (GST_START_TEST):
14497 * docs/gst/tmpl/gstminiobject.sgml:
14498 * gst/gstpad.c: (gst_pad_finalize):
14499 fix the static mutex leak
14501 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
14503 * check/Makefile.am:
14504 add two more tests for valgrinding
14505 * check/gst/gstvalue.c: (GST_START_TEST):
14506 test refcount of deserialized buffer, found a leak
14507 * docs/gst/gstreamer-docs.sgml:
14508 * docs/gst/gstreamer-sections.txt:
14509 * docs/gst/gstreamer.types:
14510 * docs/gst/tmpl/gstminiobject.sgml:
14511 add miniobject to docs
14512 * gst/gstminiobject.c:
14514 * gst/gstvalue.c: (gst_value_deserialize_buffer),
14515 (gst_string_unwrap):
14516 fix a hard-to-find invalid write for one of the tests
14517 fix a leak for deserialized buffers
14519 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14521 * docs/pwg/advanced-events.xml:
14522 * docs/pwg/advanced-request.xml:
14523 * docs/pwg/advanced-scheduling.xml:
14524 * docs/pwg/appendix-porting.xml:
14525 * docs/pwg/building-boiler.xml:
14526 * docs/pwg/intro-preface.xml:
14527 * docs/pwg/other-ntoone.xml:
14528 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14529 of example code and explanation for pad activation, loop() and
14530 getrange() functions and a bit more. Remove old comments pointing
14532 * examples/pwg/Makefile.am:
14533 Add loop/getrange examples.
14535 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
14538 check for valgrind binary + some fixes
14540 valgrind suppressions for the tests
14541 * check/Makefile.am:
14542 add a valgrind: target that valgrinds the unit tests
14543 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14544 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14545 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14546 * check/gst/gstghostpad.c:
14548 * check/gst/gstdata.c:
14550 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14551 (thread_unref), (gst_mini_object_suite), (main):
14553 * gst/gst.c: (gst_deinit):
14555 add a method to clean up.
14556 * gst/gstsystemclock.c: (gst_system_clock_dispose),
14557 (gst_system_clock_obtain):
14558 allow for disposing the system clock.
14559 * tools/gst-launch.c: (main):
14562 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
14564 * docs/gst/tmpl/gstbasesrc.sgml:
14565 * docs/gst/tmpl/gstfakesrc.sgml:
14566 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14567 (gst_base_src_init), (gst_base_src_set_property),
14568 (gst_base_src_get_property), (gst_base_src_get_range),
14569 (gst_base_src_start):
14570 * gst/base/gstbasesrc.h:
14571 add num-buffers property
14572 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14573 (gst_fakesrc_init), (gst_fakesrc_set_property),
14574 (gst_fakesrc_get_property), (gst_fakesrc_create),
14575 (gst_fakesrc_start):
14576 remove num-buffers property
14578 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14580 * docs/gst/gstreamer-sections.txt:
14581 * docs/gst/tmpl/gstbasesink.sgml:
14582 * docs/gst/tmpl/gstbasesrc.sgml:
14583 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14584 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14585 (gst_base_sink_finalize), (gst_base_sink_set_clock),
14586 (gst_base_sink_set_property), (gst_base_sink_get_property),
14587 (gst_base_sink_handle_object), (gst_base_sink_event),
14588 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14589 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14590 (gst_base_sink_loop), (gst_base_sink_deactivate),
14591 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14592 (gst_base_sink_change_state):
14593 * gst/base/gstbasesink.h:
14594 * gst/base/gstbasesrc.h:
14595 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14596 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14597 (gst_filesink_init):
14598 more macro splitting
14600 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14602 * gst/gstelement.c: (gst_element_get_bus):
14604 * tools/gst-launch.c: (check_intr), (event_loop):
14607 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14609 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14612 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
14614 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14615 (gst_base_src_finalize):
14616 add finalize method and clean up properly
14617 * gst/gstpipeline.c: (gst_pipeline_dispose):
14620 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
14622 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14624 add more things to check
14625 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14626 * gst/gstelement.c:
14629 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
14631 * check/elements/gstfakesrc.c: (chain_func), (event_func),
14632 (GST_START_TEST), (fakesrc_suite):
14633 * check/gst-libs/gdp.c: (GST_START_TEST):
14634 * check/gst/gst.c: (GST_START_TEST):
14635 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14636 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14637 * check/gst/gstbus.c: (GST_START_TEST):
14638 * check/gst/gstcaps.c: (GST_START_TEST):
14639 * check/gst/gstdata.c: (GST_START_TEST):
14640 * check/gst/gstelement.c: (GST_START_TEST):
14641 * check/gst/gstghostpad.c: (GST_START_TEST):
14642 * check/gst/gstiterator.c: (GST_START_TEST):
14643 * check/gst/gstmessage.c: (GST_START_TEST):
14644 * check/gst/gstobject.c: (GST_START_TEST):
14645 * check/gst/gstpad.c: (GST_START_TEST):
14646 * check/gst/gststructure.c: (GST_START_TEST):
14647 * check/gst/gstsystemclock.c: (GST_START_TEST),
14648 (gst_systemclock_suite):
14649 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14650 * check/gst/gstvalue.c: (GST_START_TEST):
14651 * check/pipelines/cleanup.c: (GST_START_TEST):
14652 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14653 * check/states/sinks.c: (GST_START_TEST):
14654 * check/gstcheck.c: (gst_check_init):
14655 * check/gstcheck.h:
14656 add debugging category
14657 use GST_START_TEST now, so we add a debug line
14659 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
14661 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14662 add test for state change message on a bin
14663 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14665 * gst/gstbin.c: (gst_bin_init):
14666 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14667 * gst/gstelement.c: (gst_element_post_message),
14668 (gst_element_set_state):
14669 * gst/gstelementfactory.c: (gst_element_factory_create):
14670 * gst/gstmessage.c: (gst_message_new):
14671 * gst/gstscheduler.c:
14672 various debugging additions and cleanups
14674 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14676 * check/Makefile.am:
14677 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14679 adding tests for elements
14680 * gst/gstelement.c: (gst_element_dispose):
14682 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14684 * gst/registries/gstlibxmlregistry.c: (load_feature):
14685 plug more leaks. A simple gst_init() now is leakfree, yay.
14687 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14689 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14690 (gst_xml_registry_load):
14691 plug another memleak
14693 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14696 use GST_SET_ERROR_CFLAGS
14697 * docs/faq/cvs.xml:
14698 change to ERROR_CFLAGS
14700 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
14703 make GST_ERROR_CFLAGS overridable and re-enable Werror
14704 * docs/faq/cvs.xml:
14705 add a note about error CFLAGS
14706 * docs/gst/tmpl/gstfakesrc.sgml:
14707 * gst/elements/gstfakesrc.c:
14708 comment out some unused code
14709 * gst/gst.c: (split_and_iterate):
14710 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14714 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
14716 * common/Makefile.am:
14717 * common/gtk-doc.mak:
14718 * docs/gst/Makefile.am:
14719 factor out gtk-doc.mak
14721 2005-07-07 Wim Taymans <wim@fluendo.com>
14723 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14724 (gst_thread_scheduler_dispose):
14725 Unlock the STREAM_LOCK completely.
14727 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
14729 * check/Makefile.am:
14730 * check/elements/.cvsignore:
14731 * check/elements/gstfakesrc.c: (chain_func), (event_func),
14732 (START_TEST), (fakesrc_suite), (main):
14733 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14734 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14735 (gst_fakesrc_create), (gst_fakesrc_start):
14736 * gst/elements/gstfakesrc.h:
14737 adding a first element test
14739 2005-07-07 Andy Wingo <wingo@pobox.com>
14741 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14744 2005-07-07 Wim Taymans <wim@fluendo.com>
14750 2005-07-07 Wim Taymans <wim@fluendo.com>
14752 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14753 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14754 Allow subclasses to implement their own negotiation.
14756 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14758 * docs/design/part-gstbin.txt:
14759 * docs/design/part-gstpipeline.txt:
14760 Update design notes to reflect the movement of
14761 responsibility for bus handling from GstPipeline to
14764 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14767 Remove unnecessary queue2/3/4 examples.
14769 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
14771 * examples/Makefile.am:
14772 * examples/helloworld/helloworld.c: (event_loop), (main):
14773 * examples/queue/queue.c: (event_loop), (main):
14774 * examples/queue2/queue2.c: (main):
14775 Update a couple of the examples to work again.
14777 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14778 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14779 Spelling corrections and extra debug.
14781 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14782 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14783 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14785 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14786 (gst_pipeline_change_state):
14787 * gst/gstpipeline.h:
14788 Move the bus handler for children to the GstBin, and create a
14789 separate bus for receiving messages from children to the one the
14790 bus sends 'upwards' on.
14792 2005-07-06 Wim Taymans <wim@fluendo.com>
14795 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14796 (gst_base_sink_handle_object), (gst_base_sink_loop),
14797 (gst_base_sink_change_state):
14798 * gst/base/gstbasesink.h:
14799 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14800 (gst_base_src_init), (gst_base_src_setcaps),
14801 (gst_base_src_getcaps), (gst_base_src_loop),
14802 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14803 (gst_base_src_start), (gst_base_src_change_state):
14804 * gst/base/gstbasesrc.h:
14805 Make basesrc negotiate.
14806 Handle the case where preroll fails in basesink.
14809 2005-07-06 Wim Taymans <wim@fluendo.com>
14811 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14812 Implement the fixate function.
14813 Clean up acceptcaps.
14815 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14817 * docs/pwg/building-filterfactory.xml:
14818 * docs/pwg/pwg.xml:
14819 Remove never-written filter-factory chapter; I'll add the various
14820 base classes to part 4 ("other element types") later on.
14822 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14824 * docs/pwg/advanced-negotiation.xml:
14825 * docs/pwg/building-boiler.xml:
14826 * docs/pwg/building-pads.xml:
14827 * docs/pwg/pwg.xml:
14828 * examples/pwg/Makefile.am:
14829 Add a chapter on caps negotiation, simplify the original code
14830 samples a bit w.r.t. caps negotiation, add link to the advanced
14831 section. Add a bunch of examples showing different use cases of
14832 different types of caps negotiation. Upstream renegotiation isn't
14833 fully documented yet since nobody knows how that works.
14835 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
14837 * check/gst/gstpad.c:
14838 * check/gstcheck.c:
14839 * gst/gstpad.c: (gst_pad_get_internal_links_default):
14840 if pad has no parent, return NULL as list of internal links
14842 2005-07-05 Andy Wingo <wingo@pobox.com>
14844 * gst/elements/gstfilesrc.c:
14845 * gst/elements/gstfakesrc.c:
14846 * gst/base/gstpushsrc.c:
14847 * gst/base/gstbasesrc.h:
14848 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14850 2005-07-05 Stefan Kost <ensonic@users.sf.net>
14853 better report generation target (lcov needs a patch)
14855 2005-07-05 Andy Wingo <wingo@pobox.com>
14857 * gst/elements, testsuite: Null if we got it...
14859 2005-07-05 Wim Taymans <wim@fluendo.com>
14862 * libs/gst/dataprotocol/Makefile.am:
14863 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14864 * libs/gst/dataprotocol/dataprotocol.h:
14865 * pkgconfig/Makefile.am:
14866 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14867 * pkgconfig/gstreamer-dataprotocol.pc.in:
14868 Ported dataprotol to 0.9.
14869 Added pkgconfig files.
14871 2005-07-05 Andy Wingo <wingo@pobox.com>
14873 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14874 Default to returning TRUE for the case when tranform_caps returns
14875 a fixed caps, like for identity or volume.
14877 * check/gst/gstbus.c (pound_bus_with_messages):
14878 * check/gst/gstmessage.c (START_TEST):
14879 * check/pipelines/simple_launch_lines.c (got_handoff): Application
14880 message API change.
14882 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14883 logic weaks here: always run transform_caps, trying passthrough
14884 operation only if the original caps intersects with the transform.
14886 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14887 source and sink caps.
14889 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14890 Intersect the peer caps with the pad template before going into
14892 (gst_base_transform_transform_caps): More debugging.
14894 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14897 2005-07-04 Edward Hervey <edward@fluendo.com>
14901 (gst_pad_add_*_probe): now returns the signal id for better wrapping
14904 2005-07-04 Andy Wingo <wingo@pobox.com>
14906 * check/gst/gstpad.c: Only set explicit caps on pads.
14908 2005-07-01 Andy Wingo <wingo@pobox.com>
14910 * tests/network-clock.scm: Commentary update.
14912 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14913 Didn't really make sense, not implementable with basetransform,
14915 (gst_identity_transform): Unref inbuf via make_writable. Feeble
14916 attempt at implementing the sync property, needs an unlock method.
14918 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14919 New func, by default returns the same caps (the identity
14921 (gst_base_transform_getcaps): Uses transform_caps to return
14922 something sensible.
14923 (gst_base_transform_setcaps): Complicated logic to get caps on
14924 both pads, even if they are different, and to call set_caps once
14925 for every time both pads get their caps set.
14926 (gst_base_transform_handle_buffer): Give the ref to the transform
14927 function. Allows in-place modification of the buffer.
14929 * gst/base/gstbasetransform.h (transform_caps): New class method.
14930 Given caps on one side, what can I do on the other.
14931 (set_caps): Take two caps, one for each side of the element.
14934 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14935 caps in place. This is safe because we can check the mutability of
14936 the caps, and a good idea because fixate functions are just called
14937 as a matter of last resort. (Not actually implemented.)
14938 (gst_pad_set_caps): If the caps we're setting is actually the same
14939 as the existing pad caps, just update the pointer without calling
14940 setcaps. Assert that caps is either NULL or fixed, as per the
14943 * gst/gstghostpad.c: Update for fixate changes.
14945 2005-07-02 Andy Wingo <wingo@pobox.com>
14948 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14949 two refcounts makes it immutable, which is enough. Doc more.
14951 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
14953 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14954 Put the mini_object into GValue as a mini_object,
14955 not a gpointer, since that's how we declared
14958 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14960 * examples/pwg/Makefile.am:
14961 Fix buildbot again.
14963 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14965 * docs/pwg/building-testapp.xml:
14967 * examples/pwg/Makefile.am:
14970 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14973 * examples/Makefile.am:
14974 * examples/pwg/Makefile.am:
14975 * examples/pwg/extract.pl:
14976 Enable building the PWG examples.
14977 * docs/pwg/advanced-interfaces.xml:
14978 Add URI interface stub.
14979 * docs/pwg/advanced-types.xml:
14980 * docs/pwg/other-autoplugger.xml:
14981 * docs/pwg/appendix-porting.xml:
14982 * docs/pwg/pwg.xml:
14983 Add porting guide (mostly stubs), remove autoplugging (see ADM).
14984 * docs/pwg/building-boiler.xml:
14985 * docs/pwg/building-chainfn.xml:
14986 * docs/pwg/building-pads.xml:
14987 * docs/pwg/building-props.xml:
14988 * docs/pwg/building-state.xml:
14989 * docs/pwg/building-testapp.xml:
14990 Update the building-*.xml parts for 0.9 changes. All examples
14991 code blocks compile in examples/pwg/*.
14993 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14995 * docs/manual/advanced-autoplugging.xml:
14996 * docs/manual/appendix-checklist.xml:
14997 * docs/manual/appendix-integration.xml:
14998 * docs/manual/highlevel-components.xml:
14999 Fix playbin/decodebin examples, update docs a bit, mention bus
15000 instead of signals in various places, mention kmplayer and
15001 kaffeine since they have a working GStreamer backend in the KDE
15004 2005-06-30 Wim Taymans <wim@fluendo.com>
15007 * docs/design/draft-ghostpads.txt:
15008 * docs/design/draft-push-pull.txt:
15009 * docs/design/draft-query.txt:
15010 * docs/design/part-TODO.txt:
15011 * docs/design/part-query.txt:
15012 Added CHANGES-0.9 doc, updated status of other docs.
15017 2005-06-30 Wim Taymans <wim@fluendo.com>
15019 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15020 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15021 (gst_base_sink_change_state):
15022 * gst/base/gstbasesink.h:
15023 Some tweaks, only EOS and a buffer complete a preroll.
15025 2005-06-30 Andy Wingo <wingo@pobox.com>
15027 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15028 activate_push down to the internal pad as well.
15030 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
15032 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15034 * gst/gsttaginterface.c:
15035 Some documentation fixes (#307394 and #307397).
15037 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
15039 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15041 * gst/gstvalue.c: (gst_value_intersect_list):
15042 Fix memleak (#309125).
15044 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15046 * docs/manual/advanced-dataaccess.xml:
15047 Fix fakesrc example to compile; doesn't work, bug somewhere...?
15048 * docs/manual/basics-pads.xml:
15049 Add reference for filtered caps to above chapter.
15051 2005-06-30 Wim Taymans <wim@fluendo.com>
15053 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15054 (gst_bin_change_state):
15056 Lame attempt at making the state change function a bit
15059 2005-06-30 Wim Taymans <wim@fluendo.com>
15061 * docs/design/part-clocks.txt:
15062 * docs/design/part-element-sink.txt:
15063 * docs/design/part-events.txt:
15064 * docs/design/part-preroll.txt:
15065 * docs/design/part-states.txt:
15066 Some more tweeks and additions to the docs.
15068 2005-06-30 Wim Taymans <wim@fluendo.com>
15070 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15071 (default_have_data), (gst_pad_class_init), (gst_pad_init),
15072 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15073 (gst_pad_check_pull_range), (gst_pad_get_range),
15074 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15076 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15077 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15078 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15079 (gst_pad_remove_buffer_probe):
15080 Removed atomic operations, use existing LOCK.
15081 Move exception handling out of main code path.
15083 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15085 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15086 (silly_return_true_function), (gst_pad_class_init),
15087 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15088 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15089 (gst_pad_send_event):
15090 Fix accumulator, add default value by using _emitv() instead
15091 of _emit() for signal emission.
15093 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15095 * docs/manual/advanced-dataaccess.xml:
15096 * examples/manual/Makefile.am:
15098 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15101 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
15103 * gst/elements/gstfilesink.c: (gst_filesink_render):
15104 Simplify code so that we don't have to handle short
15105 writes and return GST_FLOW_ERROR if an error occured.
15107 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15109 * docs/gst/gstreamer-docs.sgml:
15110 Remove probes more.
15112 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15114 * docs/gst/gstreamer-sections.txt:
15115 * docs/gst/tmpl/gstpad.sgml:
15116 * docs/gst/tmpl/gstprobe.sgml:
15118 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15119 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15120 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15121 (gst_pad_push_event), (gst_pad_send_event):
15123 * gst/gstutils.c: (gst_pad_add_data_probe),
15124 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15125 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15126 (gst_pad_remove_buffer_probe):
15128 Remove old probes, add new g-signal-based probes and some utility
15131 2005-06-29 Edward Hervey <edward@fluendo.com>
15133 * gst/gstelementfactory.c:
15136 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15137 the definition to the header file.
15139 2005-06-29 Andy Wingo <wingo@pobox.com>
15141 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15142 plugins from the source directory.
15144 2005-06-29 Wim Taymans <wim@fluendo.com>
15146 * docs/gst/tmpl/gstbuffer.sgml:
15147 * docs/gst/tmpl/gstclock.sgml:
15148 Some fixings for blantently wrong text.
15150 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
15152 * check/Makefile.am:
15153 * gst/gst.c: (add_path_func), (init_pre):
15154 * gst/gstregistry.c: (gst_registry_add_path):
15155 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15156 only scan the GST_PLUGIN_PATH locations, and not add
15159 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
15161 * docs/gst/gstreamer-sections.txt:
15162 * docs/gst/tmpl/gstbasesrc.sgml:
15163 * gst/gstelement.c:
15164 * gst/gstelement.h:
15169 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15171 * docs/manual/advanced-autoplugging.xml:
15172 Fix autoplugging example.
15174 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15176 * docs/manual/advanced-autoplugging.xml:
15177 * docs/manual/mime-world.fig:
15178 Try to get autoplugging working, fix type detection. Fix text
15179 in hello-world image.
15181 2005-06-29 Wim Taymans <wim@fluendo.com>
15183 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15184 (gst_base_sink_change_state):
15188 map SIGNAL and BROADCAST to the right function.
15191 Remove redundant braces.
15193 * gst/gstpad.c: (gst_pad_set_caps):
15194 Don't call setcaps function when reseting caps to NULL.
15196 * gst/gstsystemclock.c: (gst_system_clock_dispose),
15197 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15198 (gst_system_clock_id_unschedule):
15199 Use BROADCAST as this is what we do.
15201 2005-06-29 Wim Taymans <wim@fluendo.com>
15203 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15204 We are actually prerolling before commiting the state
15207 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15209 * docs/manual/advanced-clocks.xml:
15210 * docs/manual/advanced-interfaces.xml:
15211 * docs/manual/advanced-metadata.xml:
15212 * docs/manual/advanced-position.xml:
15213 * docs/manual/advanced-schedulers.xml:
15214 * docs/manual/advanced-threads.xml:
15215 * docs/manual/appendix-porting.xml:
15216 * docs/manual/basics-bins.xml:
15217 * docs/manual/basics-bus.xml:
15218 * docs/manual/basics-elements.xml:
15219 * docs/manual/basics-helloworld.xml:
15220 * docs/manual/basics-pads.xml:
15221 * docs/manual/highlevel-components.xml:
15222 * docs/manual/manual.xml:
15223 * docs/manual/thread.fig:
15224 Update (until threads/scheduling) Application Development Manual;
15225 remove GstThread, add GstBus, add simple porting checklist, add
15226 documentation for tag writing, clocks, make all examples until this
15227 part compile and run.
15228 * examples/manual/Makefile.am:
15229 Update from changes to Application Development Manual; add bus
15230 example, remove thread example.
15232 2005-06-28 Wim Taymans <wim@fluendo.com>
15234 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15235 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15236 (gst_bus_source_dispatch):
15237 Add debugging messages.
15238 Make internal methods static.
15239 Handle the case where the bus is flushed in the handler.
15241 * gst/gstelement.c: (gst_element_get_bus):
15242 Fix refcount in _get_bus();
15244 * gst/gstpipeline.c: (gst_pipeline_change_state),
15245 (gst_pipeline_get_clock_func):
15246 Clock refcounting fixes.
15247 Handle the case where preroll timed out more gracefully.
15249 * gst/gstsystemclock.c: (gst_system_clock_dispose):
15250 Clean up the internal thread in dispose. This is needed
15251 for subclasses that actually get disposed.
15253 * gst/schedulers/threadscheduler.c:
15254 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15255 (gst_thread_scheduler_dispose):
15256 Free thread pool in dispose.
15258 2005-06-28 Andy Wingo <wingo@pobox.com>
15260 * tests/network-clock-utils.scm (debug, print-event): New utils.
15262 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15263 (*packet-loss*): Unified loss probability.
15264 (network-time): Report out-of-band events.
15266 * tests/plot-data: Add support for out-of-band events. Hack it
15267 into this script instead of passing it down the pipe; should fix
15270 2005-06-28 Wim Taymans <wim@fluendo.com>
15272 * docs/gst/gstreamer.types:
15273 * docs/gst/tmpl/gstbasesrc.sgml:
15274 * docs/gst/tmpl/gstpad.sgml:
15277 2005-06-28 Wim Taymans <wim@fluendo.com>
15279 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15280 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15281 (gst_proxy_pad_do_fixatecaps):
15282 Correctly proxy the check_pull_range function.
15284 2005-06-28 Andy Wingo <wingo@pobox.com>
15286 * tests/network-clock.scm: Removed need for slib.
15288 2005-06-28 Wim Taymans <wim@fluendo.com>
15290 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15291 (gst_basesink_preroll_queue_flush):
15292 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15293 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15294 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15295 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15296 (gst_proxy_pad_set_property):
15299 * gst/gstqueue.c: (gst_queue_init):
15300 The deprecated pad loop function is removed now.
15302 2005-06-28 Andy Wingo <wingo@pobox.com>
15304 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15305 New parameters, simulate network packet loss.
15307 * tests/network-clock-utils.scm: Initialize the RNG.
15309 2005-06-28 Wim Taymans <wim@fluendo.com>
15311 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15312 (gst_basesink_event), (gst_basesink_deactivate):
15313 Flushing the preroll queue always needs to unlock the waiters.
15315 2005-06-28 Edward Hervey <edward@fluendo.com>
15317 * gst/gstpipeline.c: (gst_pipeline_send_event):
15318 Wheen a seek was successful on a pipeline, set the stream_time to the
15319 seek offset in order to have a synchronized stream_time.
15321 2005-06-28 Wim Taymans <wim@fluendo.com>
15323 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15324 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15325 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15326 (gst_proxy_pad_do_fixatecaps):
15327 Call wrapper function instead of just calling the function
15328 pointers. This takes care of any locking and whatmore.
15330 2005-06-28 Wim Taymans <wim@fluendo.com>
15332 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15333 (gst_pad_pull_range):
15335 CONNECTED -> LINKED.
15337 2005-06-28 Andy Wingo <wingo@pobox.com>
15339 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15340 source-munging commit!!!
15342 * gst/gstobject.c (gst_object_unref, gst_object_ref)
15343 (gst_object_sink): Take gpointer arguments, not GstObject --
15344 avoids casts. Like GLib.
15346 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15349 2005-06-27 Andy Wingo <wingo@pobox.com>
15351 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15354 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15355 returns a sorted copy of the trace list.
15356 (gst_alloc_trace_print_live): New API, only prints traces with
15357 live objects. Sort the list.
15358 (gst_alloc_trace_print_all): Sort the list.
15359 (gst_alloc_trace_print): Align columns.
15361 * gst/elements/gstttypefindelement.c:
15362 * gst/elements/gsttee.c:
15363 * gst/base/gstbasesrc.c:
15364 * gst/base/gstbasesink.c:
15365 * gst/base/gstbasetransform.c:
15366 * gst/gstqueue.c: Adapt for pad activation changes.
15368 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15370 (gst_pipeline_dispose): Drop ref on sched.
15372 * gst/gstpad.c (gst_pad_init): Set the default activate func.
15373 (gst_pad_activate_default): Push mode by default.
15374 (pre_activate_switch, post_activate_switch): New stubs, things to
15375 do before and after switching activation modes on pads.
15376 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15377 the pad's activate function to choose which mode to activate.
15378 Shortcut on deactivation and call the right function directly.
15379 (gst_pad_activate_pull): New API, (de)activates a pad in pull
15381 (gst_pad_activate_push): New API, same for push mode.
15382 (gst_pad_set_activate_function)
15383 (gst_pad_set_activatepull_function)
15384 (gst_pad_set_activatepush_function): Setters for new API.
15386 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15387 Trace all miniobjects.
15388 (gst_mini_object_make_writable): Unref the arg if we copy, like
15389 gst_caps_make_writable.
15391 * gst/gstmessage.c (_gst_message_initialize): No trace init.
15393 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
15394 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15395 Adapt for new pad API.
15397 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15399 * gst/gstelement.h:
15400 * gst/gstelement.c (gst_element_iterate_src_pads)
15401 (gst_element_iterate_sink_pads): New API functions.
15403 * gst/gstelement.c (iterator_fold_with_resync): New utility,
15404 should fold into gstiterator.c in some form.
15405 (gst_element_pads_activate): Simplified via use of fold and
15406 delegation of decisions to gstpad->activate.
15408 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15411 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15412 class once in init, like gstmessage. Didn't run into this issue
15413 but it seems correct. Don't initialize a trace, gstminiobject does
15416 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15417 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15419 (assert_live_count): New util function, uses alloc traces to check
15422 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15423 To be modified when unlink drops the internal pad.
15425 2005-06-27 Wim Taymans <wim@fluendo.com>
15427 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15428 (gst_bin_change_state):
15429 Cleanup the get_state() function a little, make sure it
15430 iterates the same set of elements.
15431 Added stub iterate_state_order().
15433 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
15435 * docs/gst/gstreamer-docs.sgml:
15436 * docs/gst/gstreamer-sections.txt:
15437 * docs/gst/gstreamer.types:
15438 * docs/gst/tmpl/gstbasesink.sgml:
15439 * docs/gst/tmpl/gstbasesrc.sgml:
15440 * docs/gst/tmpl/gstbasetransform.sgml:
15441 * docs/gst/tmpl/gstelement.sgml:
15442 * docs/gst/tmpl/gstiterator.sgml:
15443 * gst/base/gstbasesrc.c:
15444 * gst/base/gstbasesrc.h:
15445 * gst/base/gstbasetransform.h:
15446 * gst/gstelement.c:
15447 * gst/gstiterator.h:
15448 adding basetransform and iterator docs
15450 2005-06-27 Andy Wingo <wingo@pobox.com>
15452 * docs/design/part-activation.txt: Notes on how activation should
15453 work -- not quite implemented yet.
15455 2005-06-25 Wim Taymans <wim@fluendo.com>
15457 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15458 At least get the chain function correct, needs more
15461 2005-06-25 Wim Taymans <wim@fluendo.com>
15463 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15464 (gst_basesink_handle_object), (gst_basesink_event),
15465 (gst_basesink_do_sync), (gst_basesink_handle_event),
15466 (gst_basesink_change_state):
15468 Right, two problems here: ghostpads don't take locks and
15469 glib _rec_mutex_lock_full() with depth==0 still locks.
15470 Catch illegal locking and g_warn them.
15472 2005-06-25 Wim Taymans <wim@fluendo.com>
15474 * check/states/sinks.c: (START_TEST), (gst_object_suite):
15475 Have to check for completion now...
15477 2005-06-25 Wim Taymans <wim@fluendo.com>
15479 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15480 (gst_basesink_handle_object), (gst_basesink_event),
15481 (gst_basesink_do_sync), (gst_basesink_handle_event),
15482 (gst_basesink_change_state):
15484 Unlock STREAM_LOCK whatever the recursion was.
15486 2005-06-25 Wim Taymans <wim@fluendo.com>
15488 * gst/base/gstbasesink.c: (gst_basesink_set_property),
15489 (gst_basesink_preroll_queue_empty),
15490 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15491 (gst_basesink_event), (gst_basesink_do_sync),
15492 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15493 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15494 (gst_basesink_change_state):
15495 Reworked the base sink, handle event and buffer serialisation
15496 correctly and removed possible deadlock.
15497 Handle EOS correctly.
15499 2005-06-25 Wim Taymans <wim@fluendo.com>
15501 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15502 (gst_pipeline_change_state):
15503 * tools/gst-launch.c: (check_intr), (event_loop), (main):
15504 Allow elements to post EOS in the state change function.
15505 Fix up -launch, make it exit the poll loop when the
15506 pipeline actually changed state.
15507 Fix up warning parsing in -launch.
15509 2005-06-25 Wim Taymans <wim@fluendo.com>
15511 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15512 (gst_tee_sink_activate):
15513 Core takes STREAM_LOCK for us now.
15515 2005-06-25 Wim Taymans <wim@fluendo.com>
15517 * gst/gstelement.c: (gst_element_get_state_func),
15518 (gst_element_set_state):
15519 * gst/gstelement.h:
15520 * gst/gstmessage.c: (gst_message_parse_error),
15521 (gst_message_parse_warning):
15522 Keep track of current target state while performing a state
15523 change so that subclasses can do something interesting.
15524 Fix parsing of warning/error messages when GError is NULL.
15526 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
15528 * docs/gst/Makefile.am:
15529 * docs/gst/gstreamer-docs.sgml:
15530 * docs/gst/gstreamer-sections.txt:
15531 * docs/gst/gstreamer.types:
15532 * docs/gst/tmpl/gstbasesink.sgml:
15533 * docs/gst/tmpl/gstbasesrc.sgml:
15534 * docs/gst/tmpl/gstbin.sgml:
15535 * docs/gst/tmpl/gstcompat.sgml:
15536 * docs/gst/tmpl/gstfakesink.sgml:
15537 * docs/gst/tmpl/gstfakesrc.sgml:
15538 * docs/gst/tmpl/gstfilesink.sgml:
15539 * docs/gst/tmpl/gstfilesrc.sgml:
15540 * docs/gst/tmpl/gstindex.sgml:
15541 * docs/manual/appendix-quotes.xml:
15542 * gst/base/gstbasesrc.h:
15543 * gst/elements/gstfakesrc.h:
15544 * gst/gstmessage.h:
15545 start pulling in base classes and elements in our docs
15547 2005-06-24 Stefan Kost <ensonic@users.sf.net>
15549 * docs/gst/Makefile.am:
15550 * docs/libs/Makefile.am:
15551 fixed make distcheck with gtk-doc 1.3
15553 2005-06-23 Wim Taymans <wim@fluendo.com>
15555 * gst/gstelement.c: (gst_element_get_state_func),
15556 (gst_element_set_state), (gst_element_change_state):
15557 When the state did not change, also report NO_PREROLL
15560 2005-06-23 Wim Taymans <wim@fluendo.com>
15562 * gst/gstpad.c: (gst_pad_event_default):
15563 * gst/gstqueue.c: (gst_queue_loop):
15564 No unsafe task pausing please.
15566 2005-06-23 Wim Taymans <wim@fluendo.com>
15568 * gst/schedulers/threadscheduler.c:
15569 (gst_thread_scheduler_task_start),
15570 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15571 Ref the task before pushing it on the threadpool. This
15572 makes sure that we have a ref when the threadfunction is
15575 2005-06-23 Andy Wingo <wingo@pobox.com>
15577 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15578 offset is greater than the file's size.
15580 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
15581 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15582 * gst/gstobject.c (gst_object_class_init): Make the class lock
15583 recursive. Wim won't let me drop deep_notify. Decodebin works
15584 again, whoopdy doo.
15586 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15587 internal pad, and hacks accordingly. Doesn't do it on the target
15588 pad because we change its caps. Probably catches all cases of
15590 (gst_ghost_pad_set_property): Connect to notify::caps as
15593 * tests/network-clock.scm (plot-simulation): Pipe data to the
15594 elite python skript.
15596 * tests/network-clock-utils.scm (define-parameter): New macro,
15597 defines a parameter that can be set via the command line.
15598 (set-parameter!, parse-parameter-arguments): Command line args
15601 * tests/plot-data: Simple matplotlib-based plotter, takes input on
15604 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
15606 * gst/elements/gsttypefindelement.c:
15607 (gst_type_find_element_handle_event):
15608 Don't restart typefinding on a discont.
15609 * gst/gstelement.c: (gst_element_set_state):
15610 Debug spelling fix.
15611 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15612 Allow changing mode of an active pad.
15613 Debug output fixes.
15614 * gst/registries/gstlibxmlregistry.c: (load_feature):
15615 Don't cast a static pad template to a normal pad template.
15617 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
15619 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15620 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15621 remove gst_strtoll completely, since it didn't actually do
15622 anything more than what g_ascii_strtoull already does.
15623 check for range errors when deserializing
15624 do a cast for the unsigned cases; but further fixing needs
15625 a decision on what the interpretation of "(int)" and
15626 deserialization should be for values that fall outside the
15627 type's boundaries (ie, refuse, or interpret as casting)
15629 2005-06-23 Wim Taymans <wim@fluendo.com>
15631 * check/Makefile.am:
15632 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15633 * docs/design/part-live-source.txt:
15634 * docs/design/part-states.txt:
15635 * gst/base/gstbasesrc.c: (gst_basesrc_init),
15636 (gst_basesrc_set_live), (gst_basesrc_is_live),
15637 (gst_basesrc_get_range), (gst_basesrc_activate),
15638 (gst_basesrc_change_state):
15639 * gst/base/gstbasesrc.h:
15640 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15641 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15642 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15643 * gst/gstelement.c: (gst_element_get_state_func),
15644 (gst_element_set_state):
15645 * gst/gstelement.h:
15647 * tools/gst-launch.c: (event_loop), (main):
15648 Added support for live sources and other elements that
15650 Updated design docs, added live-source design doc.
15651 Implemented live source functionality in basesrc
15652 Fix error condition in _bin_get_state()
15653 Implement live source handling in -launch.
15654 Added check for live sources.
15655 Fixed case in GstBin where elements were changed state
15659 2005-06-23 Andy Wingo <wingo@pobox.com>
15661 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15662 borken refcounting.
15664 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15665 gst_caps_replace takes care of this for us.
15667 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15668 gst_pad_set_caps on the target, not just its setcaps() function.
15670 * tests/network-clock.scm:
15671 * tests/network-clock-utils.scm: A network clock simulator.
15672 Something of an algorithmic testbed before doing something in C.
15674 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
15676 * check/Makefile.am:
15677 * check/gst/capslist.h:
15678 copy over from 0.8, and add two with bitmasks specified with
15680 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15681 add test to parse everything from capslist.h
15682 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15684 add test for structure deserialization
15685 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15686 add tests for deserialization of strings to int types
15687 * gst/gststructure.c: (gst_structure_nth_field_name):
15688 * gst/gststructure.h:
15689 add a way to get the name of a field referenced by index
15690 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15691 instead of checking if the resulting long long lies between
15692 min and max, we check if the long long would fit into
15693 a number of bytes for the final type.
15694 This fixes cases where a string represents 2^32 - 1, which
15695 when cast to int would be the (valid) -1, but is bigger than
15698 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
15700 * gst/parse/grammar.y:
15701 add a log line for type deserialization
15703 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
15705 * check/gst/gstvalue.c: (START_TEST):
15706 * gst/gstvalue.c: (gst_value_deserialize):
15707 return long long, not int, so gint64 deserialization actually
15708 works. Is there any flag that makes the compiler check this ?
15711 2005-06-22 Wim Taymans <wim@fluendo.com>
15714 Added convenience macros for setting buffers in GValue.
15716 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
15718 * check/gst/.cvsignore:
15719 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15720 add a test deserializing int64, and comment part out because
15723 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
15725 * check/Makefile.am:
15726 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15727 * testsuite/Makefile.am:
15728 * testsuite/caps/Makefile.am:
15729 * testsuite/caps/value_serialize.c:
15730 * testsuite/test_gst_init.c:
15731 move a value_serialize test over
15733 2005-06-20 Wim Taymans <wim@fluendo.com>
15738 * gst/gstvalue.c: (gst_value_compare_buffer),
15739 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15740 (gst_value_compare_flags), (gst_value_serialize_flags),
15741 (gst_value_deserialize_flags), (_gst_value_initialize):
15742 Fix serialisation of buffers, they are not boxed types anymore
15744 2005-06-20 Wim Taymans <wim@fluendo.com>
15746 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15747 Testcase to show error in buffer-on-caps serialisation.
15749 2005-06-20 Andy Wingo <wingo@pobox.com>
15751 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15752 will be adding to later.
15754 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15755 if its socks fill with rocks.
15756 (gst_system_clock_obtain): Set the name on object construction.
15757 Avoid double-checked locking.
15759 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
15761 * gst/gsturi.c: (gst_element_make_from_uri):
15762 Fix potential endless loop.
15764 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15766 * check/Makefile.am:
15768 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15770 move over from testsuite dir and clean up
15773 * testsuite/Makefile.am:
15774 * testsuite/tags/.cvsignore:
15775 * testsuite/tags/Makefile.am:
15776 * testsuite/tags/merge.c:
15777 remove testsuite/tags
15779 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15781 * docs/gst/gstreamer-sections.txt:
15782 * docs/gst/tmpl/gstenumtypes.sgml:
15783 * win32/gstenumtypes.c:
15784 clean up documentation build a little
15786 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15788 * check/gstcheck.h:
15789 add macros for checking refcounts on objects and caps
15790 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15791 add some more unit tests
15792 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15793 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15794 fix leaked refcounts (I hope :)) so unittest works
15798 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
15800 * configure.ac: back to HEAD
15802 === release 0.9.1 ===
15804 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
15810 2005-06-17 Andy Wingo <wingo@pobox.com>
15812 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15813 assert; it's always possible that the pad gets deactivated in
15814 between the checks in gstpad.c and the implementation. Rely on
15815 finish_preroll() to return a FLUSHING or similar instead of on the
15818 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15819 clock and post an EOS message if we come out of finish_preroll in
15822 2005-06-16 David Schleef <ds@schleef.org>
15824 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15825 (gst_capsfilter_set_property): Allow NULL as possible value
15826 for filter_caps property, indicating GST_CAPS_ANY.
15828 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
15830 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15832 * gst/schedulers/Makefile.am:
15834 * gstreamer.spec.in:
15837 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
15839 * gstreamer.spec.in:
15842 2005-06-08 Andy Wingo <wingo@pobox.com>
15844 * gst/gstutils.c: RPAD fixes all around.
15845 (gst_element_link_pads): Refcounting fixes.
15847 * tools/gst-inspect.c:
15848 * tools/gst-xmlinspect.c:
15850 * gst/base/gsttypefindhelper.c:
15851 * gst/base/gstbasesink.c:
15852 * gst/gstqueue.c: RPAD fixes.
15854 * gst/gstghostpad.h:
15855 * gst/gstghostpad.c: New ghost pad implementation as full proxy
15856 pads. The tricky thing is they provide both source and sink
15857 interfaces, since they proxy the internal pad for the external
15858 pad, and vice versa. Implement with lower-level ProxyPad objects,
15859 with the interior proxy pad as a child of the exterior ghost pad.
15860 Should write a doc on this.
15862 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15863 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15866 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15867 pads are real pads. No ghost pads in this file. Not documenting
15868 the myriad s/RPAD/PAD/ and REALIZE fixes.
15869 (gst_pad_class_init): Add properties for "direction" and
15870 "template". Both are construct-only, so they can't change during
15871 the life of the pad. Fixes properly deriving from GstPad.
15872 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15873 derived objects, just set properties when creating the objects via
15875 (gst_pad_get_parent): Implement as a function, return NULL if the
15876 parent is not an element.
15877 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15878 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15880 * gst/gstobject.c (gst_object_class_init): Make name a construct
15881 property. Don't set it in the object init.
15883 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15884 with UNKNOWN direction.
15885 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15886 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15887 (gst_element_remove_pad): Remove ghost-pad special cases.
15888 (gst_element_pads_activate): Remove rpad cruft.
15890 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15891 catch the pad's-parent-not-an-element case.
15893 * gst/gst.h: Include gstghostpad.h.
15895 * gst/gst.c (init_post): No more real, ghost pads.
15897 * gst/Makefile.am: Add gstghostpad.[ch].
15899 * check/Makefile.am:
15900 * check/gst/gstbin.c:
15901 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15902 into a bin creates ghost pads, and that the refcounts are right.
15903 Partly moved from gstbin.c.
15905 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15907 * check/gst-libs/.cvsignore:
15908 * check/gst/.cvsignore:
15909 * check/pipelines/.cvsignore:
15911 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15912 (START_TEST), (cleanup_suite), (main):
15913 add some tests related to cleanup after running pipelines
15915 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15917 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15918 add a testsuite for GstBuffer
15920 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
15922 * gst/gstminiobject.h:
15923 add defines for accessing the refcount
15925 2005-06-03 Stefan Kost <ensonic@users.sf.net>
15927 * Makefile.am: added support for html unit test coverage reports
15929 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
15931 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15932 Free existing caps if the capsfilter changes. Add a FIXME about
15933 setting those caps on the pads.
15935 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15936 Before adding a ghost pad to a parent bin, check that there isn't
15937 already one for the element on the bin. Prevents infinite recursion
15938 when using decodebin in parse pipelines. Andy says he'll rewrite the
15939 way this works anyway, so ignore the hack.
15941 2005-06-02 Andy Wingo <wingo@pobox.com>
15943 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15944 file size, pass it on to the type find helper.
15946 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15947 segment_start and segment_end properly according to the seek
15948 method. Segment_end is still a bit flaky because offset can be
15949 negative for CUR and END cases, but it takes -1 as an "unset"
15952 2005-06-02 Wim Taymans <wim@fluendo.com>
15954 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15955 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15956 (gst_basesink_activate):
15957 * gst/base/gstbasesink.h:
15958 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15959 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15960 (gst_pad_query), (gst_pad_start_task):
15962 * gst/gstqueue.c: (gst_queue_bufferalloc),
15963 (gst_queue_handle_sink_event), (gst_queue_chain):
15964 Bufferalloc: return GstFlowReturn to more accuratly report
15965 why allocation failed.
15967 2005-06-02 Wim Taymans <wim@fluendo.com>
15969 * gst/gstpipeline.c: (gst_pipeline_send_event):
15970 Take snapshot of state without blocking.
15972 2005-06-02 Wim Taymans <wim@fluendo.com>
15974 * docs/design/part-TODO.txt:
15975 * docs/design/part-caps.txt:
15976 * docs/design/part-clocks.txt:
15977 * docs/design/part-negotiation.txt:
15978 * docs/design/part-preroll.txt:
15981 2005-05-30 Wim Taymans <wim@fluendo.com>
15983 * gst/elements/gstidentity.c: (gst_identity_event),
15984 (gst_identity_transform), (gst_identity_get_property):
15985 Protect last_message property as it is accessed from
15988 2005-05-30 Wim Taymans <wim@fluendo.com>
15990 * gst/gstelement.c: (gst_element_init),
15991 (gst_element_pads_activate), (gst_element_change_state):
15992 Slicker pad activation code.
15994 2005-05-30 Wim Taymans <wim@fluendo.com>
15997 * gst/gstelement.h:
15998 * gst/gstelementfactory.h:
16000 Move elementfactory methods to separate .h file.
16002 2005-05-30 Wim Taymans <wim@fluendo.com>
16004 * docs/design/part-overview.txt:
16005 * gst/gstsystemclock.h:
16006 Small typo fixes, doc updates.
16008 2005-05-30 Wim Taymans <wim@fluendo.com>
16010 * gst/gst.c: (gst_init_get_popt_table), (init_post),
16011 (init_popt_callback):
16012 Remove cpu-opt flag.
16014 2005-05-30 Wim Taymans <wim@fluendo.com>
16016 * gst/gstbuffer.c: (gst_subbuffer_finalize),
16017 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16019 Avoid typechecking in places where not needed.
16020 Added accessor for malloc_data.
16022 2005-05-30 Wim Taymans <wim@fluendo.com>
16024 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16025 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16026 (gst_pad_configure_sink), (gst_pad_configure_src),
16027 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16028 (gst_pad_start_task):
16029 Propagate errors from _set_caps() in configure_src/sink
16030 functions instead of returning TRUE.
16031 FLUSH events can travel up and downstream
16034 2005-05-30 Wim Taymans <wim@fluendo.com>
16036 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16037 (gst_basesink_activate):
16038 Handle EOS in preroll.
16040 2005-05-30 Wim Taymans <wim@fluendo.com>
16042 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16043 (gst_queue_loop), (gst_queue_handle_src_event):
16044 Remove old pieces of code
16045 Flushing the queue in an upstream event is a very bad idea.
16047 2005-05-26 Andy Wingo <wingo@pobox.com>
16049 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16050 gst_value_set_mini_object so as to add a ref on the object (which
16051 will be removed when the value is unset).
16053 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16054 arg type in ::handoff.
16056 * gst/gstelement.c (gst_element_change_state): Also deactivate
16057 pads in READY->NULL, just in case the element didn't make it to
16058 PAUSED. Wingo tested, Wim approved.
16060 2005-05-26 Wim Taymans <wim@fluendo.com>
16062 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16063 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16064 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16065 A flushing pad cannot be used to alloc_buffer from.
16067 2005-05-26 Wim Taymans <wim@fluendo.com>
16069 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16070 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16071 (gst_bus_source_dispatch), (gst_bus_source_finalize),
16072 (gst_bus_create_watch), (gst_bus_add_watch_full):
16074 Implement a real GSource and use g_main_context_wakeup() to
16075 signal new messages instead of the socketpair.
16077 2005-05-25 Wim Taymans <wim@fluendo.com>
16079 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16080 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16081 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16082 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16083 (gst_pad_send_event), (gst_pad_start_task):
16084 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16085 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16086 (gst_queue_sink_activate), (gst_queue_src_activate),
16087 (gst_queue_change_state):
16089 Fix state changes for non sinks. We now change sinks, then elements
16090 with unconnected srcpads, then the rest.
16091 More efficient queue unlocking in flush and state changes.
16092 Set the pad activate mode even if it does not have an activate
16095 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16097 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16098 Don't go in pull mode for non-seekable sources.
16099 * gst/elements/gsttypefindelement.h:
16100 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16101 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16102 (free_entry), (stop_typefinding),
16103 (gst_type_find_element_handle_event), (find_peek),
16104 (gst_type_find_element_chain), (do_pull_typefind),
16105 (gst_type_find_element_change_state):
16106 Allow typefinding (w/o seeking) in push-mode, simplified version
16107 of what was in 0.8.
16108 * gst/gstutils.c: (gst_buffer_join):
16110 gst_buffer_join() from 0.8.
16112 2005-05-25 Wim Taymans <wim@fluendo.com>
16114 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16115 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16116 (gst_pad_send_event), (gst_pad_start_task):
16117 Disable attempt at mode switching until it is figured out.
16119 2005-05-25 Wim Taymans <wim@fluendo.com>
16121 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16122 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16123 (gst_basesink_finish_preroll), (gst_basesink_chain),
16124 (gst_basesink_loop), (gst_basesink_activate),
16125 (gst_basesink_change_state):
16126 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16127 (gst_basesrc_get_range), (gst_basesrc_loop),
16128 (gst_basesrc_activate):
16129 * gst/elements/gsttee.c: (gst_tee_sink_activate):
16130 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16131 (gst_real_pad_init), (gst_real_pad_set_property),
16132 (gst_real_pad_get_property), (gst_pad_set_active),
16133 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16134 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16135 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16136 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16137 (gst_pad_event_default_dispatch), (gst_pad_event_default),
16138 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16139 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16140 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16141 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16142 (gst_pad_stop_task):
16144 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16145 (gst_queue_loop), (gst_queue_src_activate):
16146 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16147 (gst_task_get_state):
16149 * gst/schedulers/threadscheduler.c:
16150 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16151 Implement gst_pad_pause/start/stop_task(), take STREAM lock
16153 Remove ACTIVE pad flag, use FLUSHING everywhere
16154 Added _pad_chain(), _pad_get_range() to call chain/getrange
16156 Add locks around IS_FLUSHING when reading.
16157 Take STREAM lock in chain(), get_range() functions so plugins
16158 don't need to take it anymore.
16162 2005-05-25 Wim Taymans <wim@fluendo.com>
16164 * tools/gst-launch.c: (event_loop):
16165 Unref message after using its contents instead of
16168 2005-05-24 Wim Taymans <wim@fluendo.com>
16170 * docs/design/draft-ghostpads.txt:
16171 * docs/design/draft-push-pull.txt:
16172 * docs/design/draft-query.txt:
16173 * docs/design/part-overview.txt:
16174 Docs updates, added general overview doc.
16176 2005-05-21 David Schleef <ds@schleef.org>
16178 * docs/gst/tmpl/old/GstBin.sgml:
16179 * docs/gst/tmpl/old/GstBuffer.sgml:
16180 * docs/gst/tmpl/old/GstCaps.sgml:
16181 * docs/gst/tmpl/old/GstClock.sgml:
16182 * docs/gst/tmpl/old/GstCompat.sgml:
16183 * docs/gst/tmpl/old/GstData.sgml:
16184 * docs/gst/tmpl/old/GstElement.sgml:
16185 * docs/gst/tmpl/old/GstEvent.sgml:
16186 * docs/gst/tmpl/old/GstIndex.sgml:
16187 * docs/gst/tmpl/old/GstStructure.sgml:
16188 * docs/gst/tmpl/old/GstTag.sgml:
16189 * docs/gst/tmpl/old/cothreads.sgml:
16190 * docs/gst/tmpl/old/cothreads_compat.sgml:
16191 * docs/gst/tmpl/old/gettext.sgml:
16192 * docs/gst/tmpl/old/gobject2gtk.sgml:
16193 * docs/gst/tmpl/old/grammar.tab.sgml:
16194 * docs/gst/tmpl/old/gst-i18n-app.sgml:
16195 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16196 * docs/gst/tmpl/old/gst_private.sgml:
16197 * docs/gst/tmpl/old/gstaggregator.sgml:
16198 * docs/gst/tmpl/old/gstarch.sgml:
16199 * docs/gst/tmpl/old/gstatomic_impl.sgml:
16200 * docs/gst/tmpl/old/gstbufferstore.sgml:
16201 * docs/gst/tmpl/old/gstdata_private.sgml:
16202 * docs/gst/tmpl/old/gstdisksink.sgml:
16203 * docs/gst/tmpl/old/gstdisksrc.sgml:
16204 * docs/gst/tmpl/old/gstelementfactory.sgml:
16205 * docs/gst/tmpl/old/gstextratypes.sgml:
16206 * docs/gst/tmpl/old/gstfakesink.sgml:
16207 * docs/gst/tmpl/old/gstfakesrc.sgml:
16208 * docs/gst/tmpl/old/gstfdsink.sgml:
16209 * docs/gst/tmpl/old/gstfdsrc.sgml:
16210 * docs/gst/tmpl/old/gstfilesink.sgml:
16211 * docs/gst/tmpl/old/gstfilesrc.sgml:
16212 * docs/gst/tmpl/old/gsthttpsrc.sgml:
16213 * docs/gst/tmpl/old/gstidentity.sgml:
16214 * docs/gst/tmpl/old/gstindexfactory.sgml:
16215 * docs/gst/tmpl/old/gstmarshal.sgml:
16216 * docs/gst/tmpl/old/gstmd5sink.sgml:
16217 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16218 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16219 * docs/gst/tmpl/old/gstpadtemplate.sgml:
16220 * docs/gst/tmpl/old/gstpipefilter.sgml:
16221 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16222 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16223 * docs/gst/tmpl/old/gstshaper.sgml:
16224 * docs/gst/tmpl/old/gstspider.sgml:
16225 * docs/gst/tmpl/old/gstspideridentity.sgml:
16226 * docs/gst/tmpl/old/gststatistics.sgml:
16227 * docs/gst/tmpl/old/gsttee.sgml:
16228 * docs/gst/tmpl/old/gsttimecache.sgml:
16229 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16230 * docs/gst/tmpl/old/gstxmlregistry.sgml:
16231 * docs/gst/tmpl/old/gthread-cothreads.sgml:
16232 * docs/gst/tmpl/old/types.sgml:
16233 I didn't intend to add these or check them in.
16235 2005-05-19 David Schleef <ds@schleef.org>
16237 * configure.ac: Use -no-common everywhere. In a sane world, it
16238 would be the default in libtool, because without it, you can't
16239 build DLLs on Windows.
16240 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16241 * docs/gst/gstreamer-sections.txt:
16242 * docs/gst/tmpl/gstcpu.sgml:
16243 * docs/gst/tmpl/gstdata.sgml:
16244 * docs/gst/tmpl/gstthread.sgml:
16246 2005-05-19 David Schleef <ds@schleef.org>
16248 * gst/gstminiobject.c: (gst_value_set_mini_object),
16249 (gst_value_take_mini_object), (gst_value_get_mini_object):
16250 * gst/gstminiobject.h: Add GValue set/get functions.
16252 2005-05-19 Wim Taymans <wim@fluendo.com>
16254 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16255 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16256 (gst_subbuffer_init), (gst_buffer_is_span_fast):
16258 * gst/gstbus.c: (gst_bus_post):
16259 * gst/gstelement.c: (gst_element_get_random_pad):
16260 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16261 Make subbufer unref the parent in finalize.
16262 some more debugging info.
16265 2005-05-19 Wim Taymans <wim@fluendo.com>
16267 * gst/base/gstbasesink.c: (gst_basesink_class_init),
16268 (gst_basesink_init), (gst_basesink_finalize),
16269 (gst_basesink_activate), (gst_basesink_change_state):
16270 Don't free preroll queue too early.
16272 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16276 Hi, I'm outdated. Please shoot me.
16278 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16280 * gst/gstpipeline.c: (gst_pipeline_send_event):
16281 Do not access variables after they have been deleted.
16283 2005-05-19 Wim Taymans <wim@fluendo.com>
16285 * tools/gst-inspect.c: (print_plugin_features):
16286 A plugin feature does unfortunatly not use the
16289 2005-05-18 Wim Taymans <wim@fluendo.com>
16291 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16292 Port _span() functions to new subbuffers.
16294 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16296 * gst/gstbin.c: (gst_bin_add_func):
16297 Fix clock settery in bins when adding kids after the clock has
16300 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16302 * gst/elements/gstidentity.c: (gst_identity_class_init):
16303 Workaround until signals support GstMiniObject.
16305 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
16308 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16310 2005-05-18 Wim Taymans <wim@fluendo.com>
16312 * gst/base/Makefile.am:
16313 * gst/base/gstadapter.c: (gst_adapter_base_init),
16314 (gst_adapter_class_init), (gst_adapter_init),
16315 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16316 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16317 (gst_adapter_flush), (gst_adapter_available),
16318 (gst_adapter_available_fast):
16319 * gst/base/gstadapter.h:
16320 Ported and added adapter to the base classes.
16322 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16325 * gst/gstmessage.c:
16326 Make sure the class is reffed/unreffed once before threads can be
16327 used. Fixes #304551.
16329 2005-05-17 Wim Taymans <wim@fluendo.com>
16331 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16332 (gst_basesink_chain_unlocked), (gst_basesink_activate):
16333 * gst/gstminiobject.c: (gst_mini_object_get_type),
16334 (gst_mini_object_free):
16335 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16336 (gst_pad_push), (gst_pad_push_event):
16337 * gst/gstqueue.c: (gst_queue_change_state):
16338 Don't queue buffers in basesink when we are flushing.
16339 Unref buffer when flushing in basesink.
16340 Flush queue when going to READY
16341 Unref buffer when _push() returns an error.
16342 Don't free MiniObject instance when refcount is incremented
16343 in _finalize() so that we can recover objects.
16345 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
16347 * docs/manual/advanced-schedulers.xml:
16348 * docs/manual/appendix-checklist.xml:
16349 * docs/pwg/advanced-clock.xml:
16350 * docs/pwg/advanced-interfaces.xml:
16351 * docs/pwg/advanced-request.xml:
16352 * docs/pwg/advanced-types.xml:
16353 * docs/pwg/intro-preface.xml:
16354 * examples/plugins/example.c: (gst_example_get_type),
16355 (gst_example_class_init), (gst_example_chain),
16356 (gst_example_set_property), (gst_example_get_property),
16357 (gst_example_change_state), (plugin_init):
16358 * examples/plugins/example.h:
16361 2005-05-17 Wim Taymans <wim@fluendo.com>
16363 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16364 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16365 * gst/gstqueue.c: (gst_queue_change_state):
16366 Clear queue when going to READY.
16367 Remove IN_SETCAPS flag too.
16369 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
16371 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16372 Remove implicit cast from gboolean to GstElementStateReturn;
16373 make sure we still return failure in paused => ready case if
16374 the parent class fails to change state and our own stop
16377 2005-05-17 Wim Taymans <wim@fluendo.com>
16379 * tools/gst-launch.c: (event_loop):
16380 Message was unreffed too soon.
16382 2005-05-16 Andy Wingo <wingo@pobox.com>
16384 * gst/gstbin.c (sink_iterator_filter): Err... um...
16386 * check/gst/gstbin.c (test_ghost_pads): New test for the
16387 ghosting-if-elements-not-in-same-bin behavior.
16389 2005-05-16 David Schleef <ds@schleef.org>
16391 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16392 accessing refcount directly.
16394 2005-05-15 David Schleef <ds@schleef.org>
16396 * check/Makefile.am: remove GstData checks
16397 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16398 * gst/Makefile.am: add miniobject, remove data
16399 * gst/gst.h: add miniobject, remove data
16400 * gst/gstdata.c: remove
16401 * gst/gstdata.h: remove
16402 * gst/gstdata_private.h: remove
16403 * gst/gsttypes.h: remove GstEvent and GstMessage
16404 * gst/gstelement.c: (gst_element_post_message): fix for API changes
16405 * gst/gstmarshal.list: change BOXED -> OBJECT
16407 Implement GstMiniObject.
16408 * gst/gstminiobject.c:
16409 * gst/gstminiobject.h:
16411 Modify to be subclasses of GstMiniObject.
16412 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16413 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16414 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16415 (gst_subbuffer_get_type), (gst_subbuffer_init),
16416 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16419 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16420 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16421 (_gst_event_copy), (gst_event_new):
16423 * gst/gstmessage.c: (_gst_message_initialize),
16424 (gst_message_get_type), (gst_message_class_init),
16425 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16426 (gst_message_new), (gst_message_new_error),
16427 (gst_message_new_warning), (gst_message_new_tag),
16428 (gst_message_new_state_changed), (gst_message_new_application):
16429 * gst/gstmessage.h:
16430 * gst/gstprobe.c: (gst_probe_perform),
16431 (gst_probe_dispatcher_dispatch):
16433 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16434 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16435 (_gst_query_copy), (gst_query_new):
16437 Update elements for GstData -> GstMiniObject changes
16439 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16440 (gst_queue_chain), (gst_queue_loop):
16441 * gst/elements/gstbufferstore.c:
16442 (gst_buffer_store_add_buffer_func),
16443 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16444 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16445 (gst_fakesink_render):
16446 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16447 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16448 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16449 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16450 (gst_filesrc_create_read):
16451 * gst/elements/gstidentity.c: (gst_identity_class_init):
16452 * gst/elements/gsttypefindelement.c:
16453 (gst_type_find_element_src_event), (free_entry_buffers),
16454 (gst_type_find_element_handle_event):
16455 * libs/gst/dataprotocol/dataprotocol.c:
16456 (gst_dp_header_from_buffer):
16457 * libs/gst/dataprotocol/dataprotocol.h:
16458 * libs/gst/dataprotocol/dp-private.h:
16460 2005-05-15 David Schleef <ds@schleef.org>
16462 * gst/elements/gstelements.c: Don't include headers that were
16465 2005-05-15 David Schleef <ds@schleef.org>
16467 * gst/elements/Makefile.am: Remove some elements that don't
16468 need to be in the core (or even exist at all).
16469 * gst/elements/gstaggregator.c:
16470 * gst/elements/gstaggregator.h:
16471 * gst/elements/gstmd5sink.c:
16472 * gst/elements/gstmd5sink.h:
16473 * gst/elements/gstmultifilesrc.c:
16474 * gst/elements/gstmultifilesrc.h:
16475 * gst/elements/gstpipefilter.c:
16476 * gst/elements/gstpipefilter.h:
16477 * gst/elements/gstshaper.c:
16478 * gst/elements/gstshaper.h:
16479 * gst/elements/gststatistics.c:
16480 * gst/elements/gststatistics.h:
16481 * po/POTFILES.in: Remove above files.
16483 2005-05-14 Andy Wingo <wingo@pobox.com>
16485 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16486 so as to get the refs right.
16487 (sink_iterator_filter): New function, wraps bin_element_is_sink,
16488 unreffing objects that don't pass the filter.
16490 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16491 gst_element_set_bus.
16492 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16493 normal cases, this will destroy the bus.
16495 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16498 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16501 2005-05-13 Andy Wingo <wingo@pobox.com>
16503 * gst/gstutils.c (gst_element_link_pads): Instead of calling
16504 gst_pad_link, call pad_link_maybe_ghosting,
16505 (pad_link_maybe_ghosting): Links pads, making sure that the
16506 elements being linked are in the same bin.
16507 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16508 Helpers for pad_link_maybe_ghosting.
16510 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
16513 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16515 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
16517 * docs/design/part-element-source.txt:
16520 2005-05-12 Wim Taymans <wim@fluendo.com>
16522 * gst/base/gstbasesink.c: (gst_basesink_init),
16523 (gst_basesink_activate):
16524 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16525 (gst_basesrc_is_seekable):
16526 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16527 (bin_element_is_sink), (gst_bin_change_state):
16528 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16529 * gst/gstelement.h:
16530 Identify sinks by their flag to avoid overly complicated
16532 Do state changes even for elements not reachable from the
16534 BaseSink is a sink now :)
16535 Some more debugging info in the basesrc.
16538 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16540 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16541 Implement _query on a bin, similar to _send_event.
16543 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
16545 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16546 Discont event offset format should be GST_FORMAT_BYTES,
16547 not GST_FORMAT_TIME.
16549 2005-05-12 Wim Taymans <wim@fluendo.com>
16551 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16552 Same fix as Ronald's but without the signal.
16554 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16556 * gst/gstutils.c: (gst_element_query_position):
16557 No, an element is not a pad.
16559 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16561 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16562 (gst_bin_get_state):
16563 If a child is removed from a bin while we remove the child from
16564 the bin and while we're retrieving its state, signal this to the
16565 get_state function so we abort the wait (instead of waiting for
16566 a timeout) and can immediately re-iterate over all other elements.
16568 2005-05-12 Wim Taymans <wim@fluendo.com>
16570 * gst/base/Makefile.am:
16571 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16572 (gst_basesrc_start):
16573 * gst/base/gstbasesrc.h:
16574 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16575 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16576 (gst_pushsrc_init), (gst_pushsrc_create):
16577 * gst/base/gstpushsrc.h:
16578 Added is_seekable to BaseSrc
16579 Added simple PushSrc.
16581 2005-05-11 Wim Taymans <wim@fluendo.com>
16583 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16584 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16585 (gst_element_link_pads), (gst_element_query_position),
16586 (gst_element_query_convert), (intersect_caps_func),
16587 (gst_pad_query_position), (gst_pad_query_convert):
16588 Fix refcounting in utils function.
16589 No point in trying to activate a pad when it's added, it could
16590 be added from the state change function and then we deadlock, the
16591 element has to decide what to do.
16593 2005-05-10 Andy Wingo <wingo@pobox.com>
16595 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16596 *all* the arguments.
16598 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16599 stream lock if it's a FLUSH_DONE; normal flushes don't get the
16600 lock (according to the docs -- if this is wrong change the docs).
16602 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16603 flush messages in the NULL state.
16605 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16606 message immediately and return.
16607 (gst_bus_set_flushing): New function. If a bus is flushing, it
16608 flushes out any queued messages and immediately unrefs new
16609 messages. This is so when an element goes to NULL, all of the
16610 unhandled messages coming from it can be freed, and their
16611 references to the element dropped. In other words: message source
16612 ref considered harmful :P
16614 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16615 we're finished with it.
16617 * gst/gstmessage.c (gst_message_new_state_changed):
16619 2005-05-10 Wim Taymans <wim@fluendo.com>
16621 * gst/gstvalue.c: (gst_value_compare_flags),
16622 (gst_value_serialize_flags), (gst_value_deserialize_flags),
16623 (_gst_value_initialize):
16624 Added flags serialize/deserialize/compare code.
16626 2005-05-09 Andy Wingo <wingo@pobox.com>
16628 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16629 Intersect the peer's caps with our caps.
16631 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16633 * gst/base/gsttypefindhelper.c: (helper_find_peek):
16634 * gst/elements/gsttypefindelement.c: (find_peek):
16635 Handle negative offsets better. Fixes decodebin.
16637 2005-05-09 Wim Taymans <wim@fluendo.com>
16639 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16640 (gst_base_transform_event):
16641 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16642 Implement accept_caps.
16643 Fix silly lock/unlock mismatch in base class.
16645 2005-05-09 Wim Taymans <wim@fluendo.com>
16647 * docs/design/draft-push-pull.txt:
16648 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16649 * gst/elements/gstfilesink.c: (gst_filesink_init),
16650 (gst_filesink_query):
16651 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16652 (gst_type_find_handle_src_query), (find_element_get_length):
16653 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16654 * gst/gstelement.h:
16655 * gst/gstmessage.c:
16656 * gst/gstmessage.h:
16657 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16658 (gst_real_pad_get_caps_unlocked),
16659 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16660 (gst_pad_event_default_dispatch), (gst_pad_event_default),
16661 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16662 (gst_real_pad_dispose), (gst_real_pad_finalize),
16663 (gst_pad_load_and_link), (gst_pad_save_thyself),
16664 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16665 (gst_pad_check_pull_range), (gst_pad_pull_range),
16666 (gst_pad_template_get_type), (gst_pad_template_class_init),
16667 (gst_pad_template_init), (gst_pad_template_dispose),
16668 (name_is_valid), (gst_static_pad_template_get),
16669 (gst_pad_template_new), (gst_static_pad_template_get_caps),
16670 (gst_pad_template_get_caps), (gst_pad_set_element_private),
16671 (gst_pad_get_element_private), (gst_pad_start_task),
16672 (gst_pad_pause_task), (gst_pad_stop_task),
16673 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16674 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16675 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16676 (gst_ghost_pad_new):
16678 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16679 (gst_query_new_position), (gst_query_set_position),
16680 (gst_query_parse_position), (gst_query_new_convert),
16681 (gst_query_set_convert), (gst_query_parse_convert):
16683 * gst/gstqueryutils.c:
16684 * gst/gstqueryutils.h:
16685 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16686 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16687 (gst_queue_handle_src_query):
16688 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16689 (gst_element_query_position), (gst_element_query_convert),
16690 (intersect_caps_func), (gst_pad_query_position),
16691 (gst_pad_query_convert):
16693 * tools/gst-inspect.c: (print_pad_info):
16694 * tools/gst-xmlinspect.c: (print_element_info):
16695 Remove old query functions. Ported old code.
16696 Added position/convert helper functions to gstutils.
16697 Reordered gstpad.c code, grouping relevant things.
16698 Remove gst_message_new(), always need to speficy a specific
16702 2005-05-09 Andy Wingo <wingo@pobox.com>
16704 * gst/gstiterator.h: Add some includes.
16706 * gst/gstqueryutils.h: Include more headers.
16709 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16710 some uses of gst_pad_query.
16712 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16713 NULL out parameters.
16714 (gst_query_new_position): New proc, allocates a new position
16717 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16718 gstqueryutils.c to the build.
16720 * gst/gststructure.c (gst_structure_set_valist): Implement with
16721 the generic G_VALUE_COLLECT.
16723 2005-05-08 Edward Hervey <bilboed@bilboed.com>
16725 * gst/Makefile.am: (gst_headers):
16726 Added gstqueryutils.h to the list of headers to install, that was
16727 a 'nachty' move wingo :)
16729 2005-05-06 Andy Wingo <wingo@pobox.com>
16732 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16733 GstData, init a memchunk.
16734 (standard_definitions): Add a few query types, deprecate a few.
16735 (gst_query_get_type): New proc.
16736 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16738 (gst_query_new_application, gst_query_get_structure): New public
16741 * docs/design/draft-query.txt: Removed LINKS from the query types,
16742 because all the rest can be dispatched to other pads -- seemed
16743 ugly to have a query that couldn't be dispatched. internal_links
16744 is fine as a pad method.
16746 * gst/gstpad.h: Add query2 as a pad method, add the new functions
16747 in gstpad.c, but maintain binary compatibility for the moment.
16748 Will fix before 0.9 is out.
16750 * gst/gstqueryutils.c:
16751 * gst/gstqueryutils.h: New files, implement 3 methods for each
16752 query type: parse_query, parse_response, and set. Probably need an
16755 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16757 * gst/elements/gstfilesink.c (gst_filesink_query2):
16758 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16759 query_types, and formats methods.
16761 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16762 (gst_pad_set_query2_function): New functions.
16763 (gst_real_pad_init): Set query2_default as the default query2
16764 function. Basically just dispatches to internally linked pads.
16768 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16769 without using the atomic operations. Only one thread can possibly
16770 be accessing the data at this point. Changed so as to avoid
16771 gst_atomic operations.
16773 2005-05-06 Wim Taymans <wim@fluendo.com>
16775 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16776 Also set caps if we use the fallback buffer alloc.
16778 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
16780 * docs/gst/Makefile.am:
16781 * docs/gst/gstreamer-docs.sgml:
16782 * docs/gst/gstreamer-sections.txt:
16783 * docs/gst/tmpl/gstatomic.sgml:
16784 * docs/gst/tmpl/gstmemchunk.sgml:
16785 * testsuite/elements/struct_i386.h:
16786 * win32/GStreamer.vcproj:
16788 Purge GstAtomic stuff from docs and win32 makefiles as well
16790 2005-05-06 Wim Taymans <wim@fluendo.com>
16792 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16793 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16794 * gst/gstpad.c: (gst_pad_peer_get_caps):
16795 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16796 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16797 (gst_queue_src_activate), (gst_queue_change_state):
16799 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16800 (intersect_caps_func):
16801 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16802 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16803 Some fixes for the peer_get_caps() change.
16805 2005-05-06 Wim Taymans <wim@fluendo.com>
16807 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16808 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16809 (gst_basesink_activate):
16810 Actually do something with error codes returned from the push
16813 2005-05-06 Wim Taymans <wim@fluendo.com>
16815 * docs/design/part-element-sink.txt:
16816 * docs/design/part-element-source.txt:
16817 * gst/base/gstbasesink.c: (gst_basesink_class_init),
16818 (gst_basesink_event), (gst_basesink_activate):
16819 * gst/base/gstbasesink.h:
16820 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16821 (gst_basesrc_activate):
16822 * gst/base/gstbasesrc.h:
16823 * gst/gstelement.c: (gst_element_pads_activate):
16824 Some more documentation.
16825 Fixed scheduling decision in _pads_activate().
16827 2005-05-05 Andy Wingo <wingo@pobox.com>
16829 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16832 2005-05-05 Wim Taymans <wim@fluendo.com>
16834 * gst/base/Makefile.am:
16835 * gst/base/gstbasesink.h:
16836 * gst/base/gstbasesrc.c: (gst_basesrc_init),
16837 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16838 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16839 (gst_collectpads_class_init), (gst_collectpads_init),
16840 (gst_collectpads_finalize), (gst_collectpads_new),
16841 (gst_collectpads_set_function), (gst_collectpads_add_pad),
16842 (find_pad), (gst_collectpads_remove_pad),
16843 (gst_collectpads_is_active), (gst_collectpads_collect),
16844 (gst_collectpads_collect_range), (gst_collectpads_start),
16845 (gst_collectpads_stop), (gst_collectpads_peek),
16846 (gst_collectpads_pop), (gst_collectpads_available),
16847 (gst_collectpads_read), (gst_collectpads_flush),
16848 (gst_collectpads_chain):
16849 * gst/base/gstcollectpads.h:
16850 * gst/elements/Makefile.am:
16851 * gst/elements/gstelements.c:
16852 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16853 (gst_fakesink_get_times), (gst_fakesink_event),
16854 (gst_fakesink_preroll), (gst_fakesink_render):
16855 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16856 (gst_filesink_init), (gst_filesink_set_location),
16857 (gst_filesink_open_file), (gst_filesink_close_file),
16858 (gst_filesink_pad_query), (gst_filesink_event),
16859 (gst_filesink_render), (gst_filesink_change_state):
16860 * gst/elements/gstfilesink.h:
16861 Added object to help in making collect pad based elements.
16863 Make event function in sink baseclass return gboolean.
16865 2005-05-05 Wim Taymans <wim@fluendo.com>
16867 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16868 (gst_bin_get_by_name):
16870 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16871 (gst_clock_finalize):
16872 * gst/gstdata.c: (gst_data_replace):
16874 * gst/gstelement.c: (gst_element_request_pad),
16875 (gst_element_pads_activate):
16876 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16877 (gst_object_unref):
16878 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16879 (gst_pad_set_checkgetrange_function),
16880 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16881 (gst_pad_check_pull_range), (gst_pad_pull_range),
16882 (gst_static_pad_template_get_caps), (gst_pad_start_task),
16883 (gst_pad_pause_task), (gst_pad_stop_task):
16884 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16885 (gst_element_request_pad), (gst_pad_proxy_getcaps):
16886 Fix name lookup in GstBin.
16887 Added _data_replace() function and _buffer_replace()
16888 Use finalize method to clean up clock.
16889 Fix refcounting on request pads.
16890 Fix pad schedule mode error.
16891 Some more object refcounting debug info,
16894 2005-05-04 Andy Wingo <wingo@pobox.com>
16896 * check/Makefile.am:
16897 * docs/gst/tmpl/gstatomic.sgml:
16898 * docs/gst/tmpl/gstplugin.sgml:
16899 * gst/base/gstbasesink.c: (gst_basesink_activate):
16900 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16901 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16902 (gst_basesrc_query), (gst_basesrc_set_property),
16903 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16904 (gst_basesrc_activate):
16905 * gst/base/gstbasesrc.h:
16906 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16907 (gst_base_transform_src_activate):
16908 * gst/elements/gstelements.c:
16909 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16910 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16911 * gst/elements/gsttee.c: (gst_tee_sink_activate):
16912 * gst/elements/gsttypefindelement.c: (find_element_get_length),
16913 (gst_type_find_element_checkgetrange),
16914 (gst_type_find_element_activate):
16915 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16916 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16917 (gst_caps_load_thyself):
16918 * gst/gstelement.c: (gst_element_pads_activate),
16919 (gst_element_save_thyself), (gst_element_restore_thyself):
16920 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16921 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16923 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16924 (gst_xml_parse_file), (gst_xml_parse_memory),
16925 (gst_xml_get_element), (gst_xml_make_element):
16926 * gst/indexers/gstfileindex.c: (gst_file_index_load),
16927 (_file_index_id_save_xml), (gst_file_index_commit):
16928 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16929 (read_enum), (load_pad_template), (load_feature), (load_plugin),
16931 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16932 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16933 * tools/gst-complete.c: (main):
16934 * tools/gst-compprep.c: (main):
16935 * tools/gst-inspect.c: (print_element_properties_info):
16936 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16937 * tools/gst-xmlinspect.c: (print_element_properties):
16940 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
16942 * gst/gstplugin.c: (gst_plugin_check_module),
16943 (gst_plugin_check_file), (gst_plugin_load_file):
16944 apply patch from #172526 to make register work on MacOSX
16946 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16948 * docs/gst/tmpl/gstconfig.sgml:
16949 * gst/gstconfig.h.in:
16950 move documentation for some symbols. Add doc for GST_PTR_FORMAT
16951 * testsuite/debug/printf_extension.c: (main):
16952 Do not use GST_PTR_FORMAT on pointers to types with
16953 sizeof < sizeof(gpointer). Fixes test on 64-bit
16954 * testsuite/elements/property.h:
16955 use correct printf format
16957 2005-05-02 Wim Taymans <wim@fluendo.com>
16959 * docs/design/draft-push-pull.txt:
16960 * docs/design/draft-query.txt:
16961 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16962 (gst_basesrc_start):
16963 Added draft for new query API.
16964 Added draft for better selecting scheduling methods.
16965 Make basesrc ignore length if the subclass does not support
16968 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16971 possible fixes for automake-1.5 - _LIBADD is reserved
16973 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
16975 * docs/faq/Makefile.am:
16976 * docs/manual/Makefile.am:
16977 * docs/manuals.mak:
16978 * docs/pwg/Makefile.am:
16980 possible fixes for automake-1.5
16982 2005-04-28 Wim Taymans <wim@fluendo.com>
16984 * gst/base/gstbasesink.c: (gst_basesink_base_init),
16985 (gst_basesink_pad_getcaps), (gst_basesink_init),
16986 (gst_basesink_do_sync):
16987 * gst/gstclock.c: (gst_clock_entry_new):
16988 * gst/gstevent.c: (gst_event_discont_get_value):
16989 * gst/gstpipeline.c: (pipeline_bus_handler),
16990 (gst_pipeline_change_state):
16991 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16992 Better debugging of clocking info.
16993 Allow NULL values when getting discont values.
16995 2005-04-27 Wim Taymans <wim@fluendo.com>
16997 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16998 * check/gst/gstpad.c: (gst_pad_suite):
16999 Increase timeout for checks.
17001 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17003 * check/Makefile.am:
17004 fix the broken rule for cleanup. Apparently this rule is
17005 only needed on FC2, so maybe this warrants further autotool
17008 2005-04-26 Wim Taymans <wim@fluendo.com>
17010 * gst/gsttrashstack.h:
17011 Ooohh. a nasty one! After having a failed pop() from the stack,
17012 it's possible that the stack is empty. In that case, don't
17013 follow the NULL pointer.
17015 2005-04-25 Wim Taymans <wim@fluendo.com>
17017 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17018 (gst_pad_set_checkgetrange_function),
17019 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17020 (gst_pad_check_pull_range), (gst_pad_pull_range),
17021 (gst_static_pad_template_get_caps), (gst_pad_start_task),
17022 (gst_pad_pause_task), (gst_pad_stop_task):
17023 * gst/gstplugin.c: (gst_plugin_load):
17025 Remove gst_library_load as it does more harm than good with
17026 the new g_module flags.
17027 Revert bogus caps template check in pad linking, pad caps
17028 are important when linking not the template, which is more
17029 general than the current caps.
17031 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17033 * gst/autoplug/.cvsignore:
17034 * gst/autoplug/Makefile.am:
17035 * gst/autoplug/gstsearchfuncs.c:
17036 * gst/autoplug/gstsearchfuncs.h:
17037 * gst/autoplug/gstspider.c:
17038 * gst/autoplug/gstspider.h:
17039 * gst/autoplug/gstspideridentity.c:
17040 * gst/autoplug/gstspideridentity.h:
17041 * gst/autoplug/spidertest.c:
17044 2005-04-25 Wim Taymans <wim@fluendo.com>
17046 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17047 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17048 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17049 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17051 Added stubs for unimplemented functions.
17053 2005-04-24 David Schleef <ds@schleef.org>
17055 * gst/gstpad.h: Disable some unimplemented functions. Wim,
17058 2005-04-24 David Schleef <ds@schleef.org>
17060 Convert everything from GstAtomicInt to g_atomic_int_*, and
17065 * gst/gstatomic_impl.h:
17073 * gst/gstdata_private.h:
17077 * gst/gstmessage.c:
17080 * gst/gststructure.c:
17081 * gst/gststructure.h:
17082 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17085 2005-04-24 David Schleef <ds@schleef.org>
17087 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17088 make the regressions tests work. Remove some code that is no
17090 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17091 Disable warning for pads without templates.
17093 2005-04-24 David Schleef <ds@schleef.org>
17095 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
17096 functions that handle filtered links.
17097 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17099 * gst/gstutils.c: Fix/remove utility functions that handle
17102 * gst/gstvalue.c: Add serialization/deserialization of caps
17103 * gst/parse/grammar.y: Ignore filtered caps when linking. This
17104 requires fixing so that the filter caps notation creates
17105 a capsfilter element and sets the filter_caps property. I
17106 think everyone probably wants to keep the shorthand notation.
17107 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17108 * docs/gst/tmpl/gstpad.sgml:
17110 * gst/elements/gstelements.c: Register capsfilter element.
17111 * gst/Makefile.am: fix spacing
17112 * docs/random/ds/0.9-suggested-changes: random
17114 2005-04-23 David Schleef <ds@schleef.org>
17116 * gst/elements/Makefile.am:
17117 * gst/elements/gstcapsfilter.c: New element that acts like an
17118 identity, but filters caps. Will eventually replace filtered
17119 caps in pad linking.
17120 * gst/gstutils.c: (gst_element_create_all_pads): New function
17121 to create all the ALWAYS pads that are registered with an
17122 element class. This functionality should eventually be
17123 merged in with GstElement initialization.
17125 * testsuite/trigger/README: part of trigger test code that should
17126 have been checked in a long time ago.
17128 2005-04-23 David Schleef <ds@schleef.org>
17130 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
17131 needed with new versions of libtool (nobody will confirm this),
17132 and hard to carry around.
17133 * gst/autoplug/Makefile.am:
17134 * gst/base/Makefile.am:
17135 * gst/elements/Makefile.am:
17136 * gst/indexers/Makefile.am:
17137 * gst/schedulers/Makefile.am:
17138 * libs/gst/bytestream/Makefile.am:
17139 * libs/gst/control/Makefile.am:
17140 * libs/gst/dataprotocol/Makefile.am:
17141 * libs/gst/getbits/Makefile.am:
17143 2005-04-21 Wim Taymans <wim@fluendo.com>
17145 * docs/design/draft-push-pull.txt:
17146 * docs/design/part-MT-refcounting.txt:
17147 * docs/design/part-TODO.txt:
17148 * docs/design/part-caps.txt:
17149 * docs/design/part-events.txt:
17150 * docs/design/part-gstbus.txt:
17151 * docs/design/part-gstpipeline.txt:
17152 * docs/design/part-messages.txt:
17153 * docs/design/part-push-pull.txt:
17154 * docs/design/part-query.txt:
17157 2005-04-21 Wim Taymans <wim@fluendo.com>
17159 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17160 (gst_message_new), (gst_message_new_error),
17161 (gst_message_new_warning), (gst_message_new_tag),
17162 (gst_message_new_state_changed), (gst_message_new_application),
17163 (gst_message_get_structure):
17164 * gst/gstmessage.h:
17165 * gst/gststructure.c: (gst_structure_set_parent_refcount),
17166 (gst_structure_copy_conditional):
17167 Use parent refcount in GstMessage to ensure GstStructure
17169 Cleaned up headers a bit.
17172 2005-04-20 Wim Taymans <wim@fluendo.com>
17174 * gst/base/gstbasesink.c: (gst_basesink_base_init),
17175 (gst_basesink_pad_getcaps), (gst_basesink_init),
17176 (gst_basesink_chain_unlocked):
17177 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17178 (gst_type_find_helper):
17179 * gst/elements/gsttypefindelement.c:
17180 (gst_type_find_element_have_type), (gst_type_find_element_init),
17181 (stop_typefinding), (gst_type_find_element_handle_event),
17182 (find_suggest), (gst_type_find_element_chain),
17183 (gst_type_find_element_checkgetrange),
17184 (gst_type_find_element_getrange), (do_typefind),
17185 (gst_type_find_element_activate):
17186 * gst/gstbuffer.c: (_gst_buffer_sub_free),
17187 (gst_buffer_default_free), (gst_buffer_default_copy),
17188 (gst_buffer_set_caps):
17189 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17190 (gst_caps_replace):
17191 * gst/gstmessage.c: (gst_message_new),
17192 (gst_message_new_state_changed):
17193 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17194 (gst_pad_set_checkgetrange_function),
17195 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17196 (gst_pad_set_caps), (gst_pad_check_pull_range),
17197 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17199 * gst/gsttypefind.c: (gst_type_find_register):
17200 Make gst_caps_replace() work like other _replace() functions.
17201 Use _caps_replace() where possible.
17202 Make sure _message_new() initialises its field.
17203 Add gst_static_pad_template_get_caps()
17206 2005-04-18 Andy Wingo <wingo@pobox.com>
17208 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17209 on the peer, not the pad. I think that was a typo. Pass an extra
17210 arg to see if random access is possible. Activate the pads as
17211 PULL_RANGE if possible.
17213 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17215 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
17216 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17219 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17221 * docs/faq/using.xml:
17222 Add note on gstreamer-properties (#154996).
17224 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17226 * docs/random/bbb/optional-properties:
17227 Some analysis on optional properties.
17229 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17231 * docs/gst/tmpl/gstelementfactory.sgml:
17232 * gst/gstelement.h:
17233 * gst/gstelementfactory.c: (gst_element_factory_init),
17234 (gst_element_factory_cleanup), (gst_element_register),
17235 (__gst_element_factory_add_static_pad_template),
17236 (gst_element_factory_get_static_pad_templates),
17237 (gst_element_factory_can_src_caps),
17238 (gst_element_factory_can_sink_caps):
17239 * gst/registries/Makefile.am:
17240 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17241 (gst_xml_registry_class_init), (gst_xml_registry_init),
17242 (gst_xml_registry_new), (gst_xml_registry_set_property),
17243 (gst_xml_registry_get_property), (get_time), (make_dir),
17244 (gst_xml_registry_get_perms_func),
17245 (plugin_times_older_than_recurse), (plugin_times_older_than),
17246 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17247 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17248 (add_to_char_array), (read_string), (read_uint), (read_enum),
17249 (load_pad_template), (load_feature), (load_plugin), (load_paths),
17250 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17251 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17252 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17253 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17254 (gst_xml_registry_rebuild):
17255 * gst/registries/gstlibxmlregistry.h:
17256 * tools/gst-compprep.c: (main):
17257 * tools/gst-inspect.c: (print_pad_templates_info):
17258 * tools/gst-xmlinspect.c: (print_element_info):
17259 Use libxml2 for registry parsing, use staticpadtemplates in
17260 elementfactories. Makes gst_init() +/- 10x faster.
17262 2005-04-12 Wim Taymans <wim@fluendo.com>
17264 * gst/base/Makefile.am:
17265 * gst/base/gstbasesink.c: (gst_basesink_base_init),
17266 (gst_basesink_pad_getcaps), (gst_basesink_init),
17267 (gst_basesink_event), (gst_basesink_change_state):
17268 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17269 (gst_basesrc_init), (gst_basesrc_query),
17270 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17271 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17272 (gst_basesrc_check_get_range), (gst_basesrc_loop),
17273 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17274 (gst_basesrc_stop), (gst_basesrc_activate),
17275 (gst_basesrc_change_state):
17276 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17277 (helper_find_suggest), (gst_type_find_helper):
17278 * gst/base/gsttypefindhelper.h:
17279 * gst/elements/Makefile.am:
17280 * gst/elements/gstelements.c:
17281 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17282 (gst_fakesink_get_times), (gst_fakesink_event),
17283 (gst_fakesink_preroll), (gst_fakesink_render):
17284 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17285 (gst_fakesrc_init), (gst_fakesrc_event_handler),
17286 (gst_fakesrc_get_property), (gst_fakesrc_create),
17287 (gst_fakesrc_start), (gst_fakesrc_stop):
17288 * gst/elements/gstfakesrc.h:
17289 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17290 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17291 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17292 (gst_filesrc_create_read), (gst_filesrc_create),
17293 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17294 (gst_filesrc_start):
17295 * gst/elements/gsttypefindelement.c:
17296 (gst_type_find_element_have_type), (gst_type_find_element_init),
17297 (start_typefinding), (stop_typefinding), (push_buffer_store),
17298 (gst_type_find_element_handle_event),
17299 (gst_type_find_element_chain),
17300 (gst_type_find_element_checkgetrange),
17301 (gst_type_find_element_getrange), (do_typefind),
17302 (gst_type_find_element_activate),
17303 (gst_type_find_element_change_state):
17304 * gst/elements/gsttypefindelement.h:
17305 * gst/gstpipeline.c: (pipeline_bus_handler):
17306 Added typefind helper.
17307 Small preroll fix in the base sink.
17308 Disable typefind code in basesrc.
17309 Crude port of typefindelement.
17313 2005-04-11 Wim Taymans <wim@fluendo.com>
17315 * check/gst/gstbus.c: (gstbus_suite):
17316 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17317 * check/gstcheck.h:
17318 Fix up the timeout so that the test does not fail.
17320 2005-04-06 Wim Taymans <wim@fluendo.com>
17323 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17324 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17325 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17326 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17327 (gst_basesrc_check_get_range), (gst_basesrc_loop),
17328 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17329 (gst_basesrc_stop), (gst_basesrc_activate),
17330 (gst_basesrc_change_state), (basesrc_find_peek),
17331 (basesrc_find_suggest), (gst_basesrc_type_find):
17332 * gst/base/gstbasesrc.h:
17333 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17334 (gst_filesrc_class_init), (gst_filesrc_init),
17335 (gst_filesrc_finalize), (gst_filesrc_set_location),
17336 (gst_filesrc_set_property), (gst_filesrc_get_property),
17337 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17338 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17339 (gst_filesrc_create_read), (gst_filesrc_create),
17340 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17341 * gst/elements/gstfilesrc.h:
17342 * gst/gstelement.c: (gst_element_get_state_func),
17343 (gst_element_lost_state), (gst_element_pads_activate):
17344 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17345 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17346 (gst_pad_pull_range):
17348 More work on the generic source base class, implement seeking,
17350 Make filesrc extend the base source class.
17351 Added gst_pad_set_checkgetrange_function to GstPad.
17353 2005-04-06 Andy Wingo <wingo@pobox.com>
17355 * pkgconfig/gstreamer-base.pc.in:
17356 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17358 * pkgconfig/Makefile.am:
17359 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17361 2005-04-04 Wim Taymans <wim@fluendo.com>
17363 * gst/base/Makefile.am:
17365 * gst/base/gstbasesink.c: (gst_basesink_base_init),
17366 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17367 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17368 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17369 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17370 (gst_basesrc_base_init), (gst_basesrc_class_init),
17371 (gst_basesrc_init), (gst_basesrc_get_formats),
17372 (gst_basesrc_get_query_types), (gst_basesrc_query),
17373 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17374 (gst_basesrc_set_property), (gst_basesrc_get_property),
17375 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17376 (gst_basesrc_loop), (gst_basesrc_activate),
17377 (gst_basesrc_change_state):
17378 * gst/base/gstbasesrc.h:
17379 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17380 (gst_fakesrc_class_init), (gst_fakesrc_init),
17381 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17382 (gst_fakesrc_get_property), (gst_fakesrc_create):
17383 * gst/elements/gstfakesrc.h:
17384 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17385 (gst_filesrc_open_file), (gst_filesrc_loop),
17386 (gst_filesrc_activate), (filesrc_find_peek),
17387 (gst_filesrc_type_find):
17388 Made base source class, make fakesrc extend it.
17389 Add comments to basesink class.
17390 Some filesrc cleanup.
17392 2005-03-31 David Schleef <ds@schleef.org>
17394 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17395 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17396 expected to link against libgstreamer.
17397 * gst/base/Makefile.am: link against libgstreamer
17398 * gst/elements/Makefile.am: same
17400 2005-03-31 Andy Wingo <wingo@pobox.com>
17402 * tests/instantiate/Makefile.am:
17403 * tests/instantiate/caps.c: Add test to test speed of caps copy
17406 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17407 GMemChunk to be fair.
17409 * gst/gsttrashstack.h: Remove warning about using the fallback
17410 trash stack implementation, it's still faster than malloc.
17412 2005-03-30 Andy Wingo <wingo@pobox.com>
17414 * tests/complexity.c: Add a copyright.
17416 2005-03-31 Wim Taymans <wim@fluendo.com>
17418 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17419 (gst_base_transform_class_init), (gst_base_transform_init),
17420 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17421 (gst_base_transform_get_property),
17422 (gst_base_transform_sink_activate),
17423 (gst_base_transform_src_activate),
17424 (gst_base_transform_change_state):
17425 * gst/base/gstbasetransform.h:
17426 * gst/elements/gstidentity.c: (gst_identity_class_init),
17427 (gst_identity_event), (gst_identity_check_perfect),
17428 (gst_identity_transform), (gst_identity_start),
17429 (gst_identity_stop):
17430 Added start/stop methods to transform base class so subclasses
17431 don't need to deal with state changes even.
17433 2005-03-31 Wim Taymans <wim@fluendo.com>
17435 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17436 (gst_event_new_discontinuous), (gst_event_discont_get_value):
17438 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17439 (gst_pad_pull_range):
17440 Added rate to the discont event to prepare for variable speed
17441 and reverse playback.
17443 2005-03-29 David Schleef <ds@schleef.org>
17446 * testsuite/trigger/Makefile.am:
17447 * testsuite/trigger/trigger.c: A little example program to show
17448 how trigger-based elements can work.
17450 2005-03-29 Wim Taymans <wim@fluendo.com>
17452 * gst/base/Makefile.am:
17454 * gst/base/gstbasesink.c: (gst_basesink_get_type),
17455 (gst_basesink_base_init), (gst_basesink_class_init),
17456 (gst_basesink_pad_getcaps), (gst_basesink_init),
17457 (gst_basesink_activate), (gst_basesink_change_state):
17458 * gst/base/gstbasesink.h:
17459 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17460 (gst_base_transform_base_init), (gst_base_transform_finalize),
17461 (gst_base_transform_class_init), (gst_base_transform_init),
17462 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17463 (gst_base_transform_event), (gst_base_transform_getrange),
17464 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17465 (gst_base_transform_set_property),
17466 (gst_base_transform_get_property),
17467 (gst_base_transform_sink_activate),
17468 (gst_base_transform_src_activate),
17469 (gst_base_transform_change_state):
17470 * gst/base/gstbasetransform.h:
17471 * gst/elements/gstidentity.c: (gst_identity_finalize),
17472 (gst_identity_class_init), (gst_identity_init),
17473 (gst_identity_event), (gst_identity_check_perfect),
17474 (gst_identity_transform), (gst_identity_set_property),
17475 (gst_identity_get_property), (gst_identity_change_state):
17476 * gst/elements/gstidentity.h:
17477 * gst/gstelement.c: (gst_element_get_state_func),
17478 (gst_element_lost_state), (gst_element_pads_activate):
17479 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17480 (gst_pad_check_pull_range), (gst_pad_pull_range):
17482 Simplify pad activation.
17483 Added function to check if pull_range can be performed.
17484 Error out when pulling inactive or flushing pads.
17485 Removed const from refcounted types as it does not make sense.
17486 Simplify pad templates in basesink
17487 Added base class for simple 1-to-1 transforms.
17488 Make identity subclass the base transform.
17490 2005-03-29 Andy Wingo <wingo@pobox.com>
17492 * docs/libs/gstreamer-libs-overrides.txt:
17493 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17494 really don't understand what's going on, but like whatever. I want
17497 * docs/gst/Makefile.am:
17498 * docs/libs/Makefile.am: Dist the overrides files.
17500 * check/Makefile.am (clean-local): Remove .libs directories.
17502 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17503 elements to EXTRA_DIST, so po/ files are happy.
17505 * po/POTFILES.in: Er, remove it here.
17507 * po/POTFILES: Remove gstspider.c.
17509 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17511 * docs/libs/gstreamer-libs-docs.sgml:
17512 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17515 * tests/complexity.c (main): Set the length of the preroll queue
17516 on the sinks to prevent a lockup.
17518 * libs/gst/dataprotocol/Makefile.am:
17519 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17520 the same as the one in check/gst-libs/gdp.c.
17522 * po/, docs/gst/: Commit automatic changes to docs and po files.
17524 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17525 the versioned libgstbase.
17527 * check/Makefile.am: Depend on an unversioned gst-register, seems
17528 to make autoconf happier.
17530 * gst/base/Makefile.am: Make libgstbase a versioned lib.
17532 2005-03-28 Wim Taymans <wim@fluendo.com>
17535 * docs/design/part-gstelement.txt:
17536 * docs/design/part-negotiation.txt:
17537 * docs/design/part-preroll.txt:
17538 * docs/design/part-scheduling.txt:
17539 * docs/design/part-states.txt:
17541 * gst/base/Makefile.am:
17543 * gst/base/gstbasesink.c: (gst_basesink_get_template),
17544 (gst_basesink_base_init), (gst_basesink_class_init),
17545 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17546 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17547 (gst_basesink_set_pad_functions),
17548 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17549 (gst_basesink_set_property), (gst_basesink_get_property),
17550 (gst_base_sink_get_template), (gst_base_sink_get_caps),
17551 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17552 (gst_basesink_preroll_queue_push),
17553 (gst_basesink_preroll_queue_empty),
17554 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17555 (gst_basesink_event), (gst_basesink_get_times),
17556 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17557 (gst_basesink_chain_unlocked), (gst_basesink_chain),
17558 (gst_basesink_loop), (gst_basesink_activate),
17559 (gst_basesink_change_state):
17560 * gst/base/gstbasesink.h:
17561 * gst/elements/Makefile.am:
17562 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17563 (gst_fakesink_class_init), (gst_fakesink_init),
17564 (gst_fakesink_set_property), (gst_fakesink_get_property),
17565 (gst_fakesink_get_times), (gst_fakesink_event),
17566 (gst_fakesink_preroll), (gst_fakesink_render),
17567 (gst_fakesink_change_state):
17568 * gst/elements/gstfakesink.h:
17569 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17570 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17571 * gst/gstelement.c: (gst_element_add_pad),
17572 (gst_element_get_state_func), (gst_element_abort_state),
17573 (gst_element_commit_state), (gst_element_lost_state),
17574 (gst_element_set_state), (gst_element_pads_activate):
17575 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17576 * gst/gstpipeline.c: (gst_pipeline_send_event),
17577 (gst_pipeline_change_state):
17578 Added state change code.
17579 Added/updated docs.
17580 Added sink base class, make fakesink extend the base class.
17581 Small cleanups in GstPipeline.
17583 2005-03-26 David Schleef <ds@schleef.org>
17585 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
17586 is broken and should be implemented in a different library.
17587 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17588 * gst/gst.h: remove gstcpu.h
17589 * gst/gstcpu.c: remove
17590 * gst/gstcpu.h: remove
17591 * gst/Makefile.am.future: Remove this file. It's ancient.
17593 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17595 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17596 (gst_bin_send_event):
17597 Add default event/set_manager handlers. The set_manager handler
17598 takes care that the manager is distributed over kids that were
17599 already in the bin before the manager was set. The event handler
17600 is a utility virtual function that sends the event over all sinks,
17601 so that gst_element_send_event (bin, event); has the expected
17603 * gst/gstpad.c: (gst_pad_event_default):
17604 Re-install default event handling for discontinuities, so that
17605 seeking works without requiring hacks in applications or extra
17607 * gst/gstpipeline.c: (gst_pipeline_class_init),
17608 (gst_pipeline_send_event):
17609 Half hack, half utility: set a pipeline to PAUSED for seek events,
17610 since that is the only way we can guarantee a/v sync. Means that
17611 you can do gst_element_seek (pipeline, method, pos); on a pipeline
17612 and it "just works".
17614 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17616 * gst/gstpipeline.c: (gst_pipeline_use_clock):
17617 Lock/unlock mismatch.
17619 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
17621 * docs/faq/gst-uninstalled:
17622 add gst-plugins-base
17623 * docs/gst/Makefile.am:
17624 don't error out until docs are fixed
17625 * docs/gst/gstreamer.types:
17628 2005-03-22 Wim Taymans <wim@fluendo.com>
17630 * check/Makefile.am:
17631 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17632 * gst/gststructure.c: (gst_structure_set_valist),
17633 (gst_structure_copy_conditional):
17634 Activated more tests.
17635 Added message test.
17636 Added G_TYPE_POINTER to GstStructure.
17639 2005-03-22 Wim Taymans <wim@fluendo.com>
17641 * docs/design/part-TODO.txt:
17642 * docs/design/part-events.txt:
17643 * docs/design/part-gstbin.txt:
17644 * docs/design/part-gstbus.txt:
17645 * docs/design/part-gstpipeline.txt:
17646 * docs/design/part-messages.txt:
17648 * gst/gstmessage.c:
17651 2005-03-21 Wim Taymans <wim@fluendo.com>
17653 * gst/gstbus.c: (gst_bus_post):
17654 Fix copy-and-paste error.
17656 2005-03-21 Wim Taymans <wim@fluendo.com>
17658 * check/Makefile.am:
17660 * gst/elements/Makefile.am:
17661 * gst/elements/gstelements.c:
17662 * gst/elements/gstfakesink.c: (gst_fakesink_init),
17663 (gst_fakesink_event), (gst_fakesink_chain):
17664 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17665 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17666 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17667 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17668 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17669 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17670 (gst_fakesrc_loop), (gst_fakesrc_activate),
17671 (gst_fakesrc_change_state):
17672 * gst/elements/gstfakesrc.h:
17673 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17674 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17675 (gst_filesrc_open_file), (gst_filesrc_loop),
17676 (gst_filesrc_activate), (gst_filesrc_change_state),
17677 (filesrc_find_peek), (filesrc_find_suggest),
17678 (gst_filesrc_type_find):
17679 * gst/elements/gstidentity.c: (gst_identity_finalize),
17680 (gst_identity_class_init), (gst_identity_init),
17681 (gst_identity_proxy_getcaps), (identity_queue_push),
17682 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17683 (gst_identity_getrange), (gst_identity_chain),
17684 (gst_identity_sink_loop), (gst_identity_src_loop),
17685 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17686 (gst_identity_set_property), (gst_identity_get_property),
17687 (gst_identity_change_state):
17688 * gst/elements/gstidentity.h:
17689 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17690 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17691 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17692 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17693 (gst_tee_sink_activate):
17694 * gst/elements/gsttee.h:
17695 * gst/gst.c: (gst_register_core_elements), (init_post):
17697 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17698 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17699 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17700 (gst_bin_change_state):
17702 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17703 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17704 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17705 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17706 (gst_bus_set_sync_handler), (gst_bus_create_watch),
17707 (bus_watch_callback), (bus_watch_destroy),
17708 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17709 (poll_timeout), (gst_bus_poll):
17713 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17714 (gst_element_post_message), (gst_element_message_full),
17715 (gst_element_get_state_func), (gst_element_get_state),
17716 (gst_element_abort_state), (gst_element_commit_state),
17717 (gst_element_lost_state), (gst_element_set_state),
17718 (gst_element_pads_activate), (gst_element_change_state),
17719 (gst_element_dispose), (gst_element_set_manager_func),
17720 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17721 (gst_element_set_manager), (gst_element_get_manager),
17722 (gst_element_set_bus), (gst_element_get_bus),
17723 (gst_element_set_scheduler), (gst_element_get_scheduler):
17724 * gst/gstelement.h:
17725 * gst/gstevent.c: (gst_event_new_segment_seek),
17726 (gst_event_new_flush):
17728 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17729 (_gst_message_free), (gst_message_get_type), (gst_message_new),
17730 (gst_message_new_eos), (gst_message_new_error),
17731 (gst_message_new_warning), (gst_message_new_tag),
17732 (gst_message_new_state_changed), (gst_message_new_application),
17733 (gst_message_get_structure), (gst_message_parse_tag),
17734 (gst_message_parse_state_changed), (gst_message_parse_error),
17735 (gst_message_parse_warning):
17736 * gst/gstmessage.h:
17737 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17738 (gst_real_pad_set_property), (gst_pad_set_active),
17739 (gst_pad_is_active), (gst_pad_set_blocked_async),
17740 (gst_pad_set_blocked), (gst_pad_is_blocked),
17741 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17742 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17743 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17744 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17745 (gst_pad_link_filtered), (gst_pad_relink_filtered),
17746 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17747 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17748 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17749 (gst_pad_set_caps), (gst_pad_configure_sink),
17750 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17751 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17752 (gst_real_pad_dispose), (gst_real_pad_finalize),
17753 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17754 (gst_pad_event_default_dispatch), (gst_pad_event_default),
17755 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17757 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17758 (pipeline_bus_handler), (gst_pipeline_change_state),
17759 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17760 * gst/gstpipeline.h:
17762 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17763 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17764 (gst_queue_link_src), (gst_queue_bufferalloc),
17765 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17766 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17767 (gst_queue_loop), (gst_queue_handle_src_event),
17768 (gst_queue_handle_src_query), (gst_queue_src_activate),
17769 (gst_queue_change_state):
17771 * gst/gstscheduler.c: (gst_scheduler_init),
17772 (gst_scheduler_dispose), (gst_scheduler_create_task),
17773 (gst_scheduler_factory_create):
17774 * gst/gstscheduler.h:
17775 * gst/gststructure.c: (gst_structure_get_type),
17776 (gst_structure_copy_conditional):
17777 * gst/gststructure.h:
17778 * gst/gsttaginterface.h:
17779 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17780 (gst_task_init), (gst_task_dispose), (gst_task_create),
17781 (gst_task_get_state), (gst_task_start), (gst_task_stop),
17787 * gst/schedulers/Makefile.am:
17788 * gst/schedulers/cothreads_compat.h:
17789 * gst/schedulers/entryscheduler.c:
17790 * gst/schedulers/faircothreads.c:
17791 * gst/schedulers/faircothreads.h:
17792 * gst/schedulers/fairscheduler.c:
17793 * gst/schedulers/gstbasicscheduler.c:
17794 * gst/schedulers/gstoptimalscheduler.c:
17795 * gst/schedulers/gthread-cothreads.h:
17796 * gst/schedulers/threadscheduler.c:
17797 (gst_thread_scheduler_task_get_type),
17798 (gst_thread_scheduler_task_class_init),
17799 (gst_thread_scheduler_task_init),
17800 (gst_thread_scheduler_task_start),
17801 (gst_thread_scheduler_task_stop),
17802 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17803 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17804 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17805 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17807 * libs/gst/Makefile.am:
17808 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17809 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17810 (gst_file_pad_parent_set):
17811 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17812 (gst_dp_event_from_packet):
17813 * tests/complexity.c: (main):
17814 * tests/mass_elements.c: (main):
17815 * testsuite/states/locked.c: (message_received), (main):
17816 * testsuite/states/parent.c: (main):
17817 * tools/gst-inspect.c: (print_element_flag_info),
17818 (print_implementation_info), (print_pad_info):
17819 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17821 * tools/gst-md5sum.c: (event_loop), (main):
17822 * tools/gst-typefind.c: (main):
17823 * tools/gst-xmlinspect.c: (print_element_info):
17825 Added GstBus for mainloop integration.
17826 Added GstMessage for sending notifications on the bus.
17827 Added GstTask as an abstraction for pipeline entry points.
17829 Removed Schedulers.
17830 Simplified GstQueue for multithreaded core.
17831 Made _link threadsafe, removed old capsnego.
17832 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17833 Added pad blocking functions.
17834 Reworked scheduling functions in GstPad to prepare for
17835 scheduling updates soon.
17836 Moved events out of data stream.
17837 Simplified GstEvent types.
17838 Added return values to push/pull.
17839 Removed clocking from GstElement.
17840 Added prototypes for state change function for next merge.
17841 Removed iterate from bins and state change management.
17842 Fixed some elements, disabled others for now.
17843 Fixed -inspect and -launch.
17844 Added check for GstBus.
17846 2005-03-10 Wim Taymans <wim@fluendo.com>
17848 * docs/design/part-MT-refcounting.txt:
17849 * docs/design/part-clocks.txt:
17850 * docs/design/part-gstelement.txt:
17851 * docs/design/part-gstobject.txt:
17852 * docs/design/part-standards.txt:
17853 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17854 (gst_bin_remove_func), (gst_bin_remove):
17858 * testsuite/clock/clock1.c: (main):
17859 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17861 * testsuite/dlopen/loadgst.c: (do_test):
17862 * testsuite/refcounting/bin.c: (add_remove_test1),
17863 (add_remove_test2), (main):
17864 * testsuite/refcounting/element.c: (main):
17865 * testsuite/refcounting/element_pad.c: (main):
17866 * testsuite/refcounting/pad.c: (main):
17867 * tools/gst-launch.c: (sigint_handler_sighandler):
17868 * tools/gst-typefind.c: (main):
17870 Added doc about clock.
17871 removed gst_bin_iterate_recurse_up(), marked methods
17873 Fix more testsuites.
17875 2005-03-09 Wim Taymans <wim@fluendo.com>
17877 * gst/gstpad.c: (gst_pad_get_direction),
17878 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17879 (gst_pad_collect_valist):
17880 * testsuite/bins/interface.c: (main):
17881 * testsuite/caps/audioscale.c: (test_caps):
17882 * testsuite/caps/caps.c: (test1), (test2), (test3):
17883 * testsuite/caps/deserialize.c: (main):
17884 * testsuite/caps/enumcaps.c: (main):
17885 * testsuite/caps/filtercaps.c: (main):
17886 * testsuite/caps/intersect2.c: (main):
17887 * testsuite/caps/random.c: (main):
17888 * testsuite/caps/renegotiate.c: (my_fixate), (main):
17889 * testsuite/caps/sets.c: (check_caps):
17890 * testsuite/caps/simplify.c: (check_caps), (main):
17891 * testsuite/caps/subtract.c: (check_caps):
17892 Fix _pad_get_direction wrt ghostpads.
17893 Fix caps testsuite.
17895 2005-03-09 Wim Taymans <wim@fluendo.com>
17897 * check/Makefile.am:
17898 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17899 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17900 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17901 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17902 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17903 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17904 (gst_bin_remove), (gst_bin_iterate_recurse_up),
17905 (bin_element_is_sink), (gst_bin_iterate_sinks),
17906 (gst_bin_iterate_all_by_interface):
17908 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17909 (gst_element_change_state), (gst_element_dispose),
17910 (gst_element_finalize), (gst_element_set_loop_function):
17911 * gst/gstelement.h:
17912 * gst/gstiterator.c: (find_custom_fold_func):
17913 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17914 (gst_pad_collectv), (gst_pad_collect_valist),
17915 (gst_pad_template_new):
17916 * gst/gstpipeline.c: (gst_pipeline_class_init),
17917 (gst_pipeline_dispose), (gst_pipeline_set_property),
17918 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17919 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17920 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17922 * gst/schedulers/entryscheduler.c:
17923 * gst/schedulers/gstbasicscheduler.c:
17924 (gst_basic_scheduler_cothreaded_chain),
17925 (gst_basic_scheduler_chain_add_element):
17926 * testsuite/bins/interface.c: (main):
17928 Added GstSystemClock test.
17929 Implemented clock distribution code in GstBin.
17930 Implemented iterate sinks method for future use.
17931 Rearranged gstelement.h
17932 Fix GstIterator comparison bug.
17933 Moved some code to GstPipeline, mostly clocking related.
17935 2005-03-09 Wim Taymans <wim@fluendo.com>
17938 * gst/gst_private.h:
17939 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17940 (gst_bin_remove_func), (gst_bin_remove),
17941 (gst_bin_get_by_name_recurse_up):
17942 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17943 (gst_clock_id_compare_func), (gst_clock_id_wait),
17944 (gst_clock_id_wait_async), (gst_clock_init),
17945 (gst_clock_adjust_unlocked), (gst_clock_get_time):
17946 * gst/gstelement.h:
17947 * gst/gstinfo.c: (_gst_debug_init):
17949 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17950 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17952 Bump version number, we're now 0.9.0
17953 Add future debugging category.
17954 Fix NULL _unref() in _get_by_name_recurse_up
17955 Rearrange gstpad.h.
17958 2005-03-08 Wim Taymans <wim@fluendo.com>
17960 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17961 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17962 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17963 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17964 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17965 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17966 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17967 * gst/elements/gstidentity.c: (gst_identity_class_init):
17968 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17969 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17970 * gst/elements/gstshaper.c: (gst_shaper_class_init):
17971 * gst/elements/gststatistics.c: (gst_statistics_class_init):
17972 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17974 * gst/gstelement.c: (gst_element_class_init),
17975 (gst_element_base_class_init), (gst_element_init),
17976 (gst_element_get_random_pad), (gst_element_wait_state_change),
17977 (gst_element_change_state), (gst_element_dispose),
17978 (gst_element_finalize), (gst_element_set_loop_function):
17979 * gst/gstelement.h:
17980 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17981 * gst/gstthread.c: (gst_thread_class_init),
17982 (gst_thread_release_children_locks), (gst_thread_change_state):
17983 * gst/schedulers/gstbasicscheduler.c:
17984 (gst_basic_scheduler_loopfunc_wrapper),
17985 (gst_basic_scheduler_chain_wrapper),
17986 (gst_basic_scheduler_src_wrapper),
17987 (gst_basic_scheduler_remove_element):
17988 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17989 Remove threadsafe properties. Fix elements because GObject
17990 complains when installing a property before declaring a
17991 set/get_property handler.
17992 Rearrange gstelement.h file, use STATE macros for state locks.
17993 Free mutexes in the finalize method instead of dispose.
17995 2005-03-08 Wim Taymans <wim@fluendo.com>
17997 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17998 * gst/gstthread.c: (gst_thread_release_children_locks):
17999 Added parentage check.
18000 Fix build og GstThread again.
18002 2005-03-08 Wim Taymans <wim@fluendo.com>
18004 * docs/design/part-MT-refcounting.txt:
18005 * docs/design/part-conventions.txt:
18006 * docs/design/part-gstobject.txt:
18007 * docs/design/part-relations.txt:
18008 * docs/design/part-standards.txt:
18009 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18010 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18011 (gst_bin_get_by_name), (gst_bin_get_by_interface),
18012 (gst_bin_iterate_all_by_interface):
18015 * gst/gstelement.c: (gst_element_class_init),
18016 (gst_element_change_state), (gst_element_set_loop_function):
18017 * gst/gstelement.h:
18018 * gst/gstiterator.c:
18019 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18020 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18021 (gst_object_dispatch_properties_changed), (gst_object_set_name),
18022 (gst_object_set_parent), (gst_object_unparent),
18023 (gst_object_check_uniqueness):
18025 Docs updates, clean up some headers.
18027 2005-03-07 Wim Taymans <wim@fluendo.com>
18029 * check/.cvsignore:
18030 * check/Makefile.am:
18031 * check/gst-libs/.cvsignore:
18032 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18033 * check/gst/.cvsignore:
18034 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18035 (START_TEST), (gstbus_suite), (main):
18036 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18037 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18038 (gst_data_suite), (main):
18039 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18040 (add_fold_func), (gstiterator_suite), (main):
18041 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18042 (thread_name_object), (thread_name_object_default),
18043 (gst_object_name_compare), (gst_object_suite), (main):
18044 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18045 (gst_pad_suite), (main):
18046 * check/gstcheck.c: (gst_check_log_message_func),
18047 (gst_check_log_critical_func), (gst_check_init):
18048 * check/gstcheck.h:
18049 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18050 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18053 2005-03-07 Wim Taymans <wim@fluendo.com>
18055 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18056 (gst_list_iterator_next), (gst_list_iterator_resync),
18057 (gst_list_iterator_free), (gst_iterator_new_list),
18058 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18059 (gst_iterator_free), (gst_iterator_push), (filter_next),
18060 (filter_resync), (filter_uninit), (filter_free),
18061 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18062 (gst_iterator_foreach), (find_custom_fold_func),
18063 (gst_iterator_find_custom):
18064 * gst/gstiterator.h:
18065 Added missing files.
18067 2005-03-07 Wim Taymans <wim@fluendo.com>
18071 * docs/design/part-MT-refcounting.txt:
18072 * docs/design/part-conventions.txt:
18073 * docs/design/part-gstobject.txt:
18074 * docs/design/part-relations.txt:
18075 * examples/mixer/mixer.c: (main):
18076 * examples/thread/thread.c: (eos), (main):
18078 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18079 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18080 (gst_spider_plug_from_srcpad):
18081 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18082 (gst_spider_identity_change_state),
18083 (gst_spider_identity_sink_loop_type_finding):
18084 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18085 * gst/elements/gstidentity.c: (gst_identity_init):
18086 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18087 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18088 * gst/elements/gsttypefindelement.c: (free_entry):
18091 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18092 (gst_bin_set_clock_func), (gst_bin_auto_clock),
18093 (gst_bin_set_index), (gst_bin_set_element_sched),
18094 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18095 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18096 (gst_bin_iterate_elements), (iterate_child_recurse),
18097 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18098 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18099 (compare_interface), (gst_bin_get_by_interface),
18100 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18102 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18103 (gst_buffer_default_free), (gst_buffer_default_copy),
18104 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18105 (gst_buffer_create_sub):
18107 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18108 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18109 (gst_caps_unref), (gst_static_caps_get),
18110 (gst_caps_remove_and_get_structure), (gst_caps_append),
18111 (gst_caps_append_structure), (gst_caps_remove_structure),
18112 (gst_caps_copy_nth), (gst_caps_set_simple),
18113 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18114 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18115 (gst_caps_structure_intersect_field), (gst_caps_intersect),
18116 (gst_caps_structure_subtract_field), (gst_caps_subtract),
18117 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18118 (gst_caps_structure_figure_out_union),
18119 (gst_caps_switch_structures), (gst_caps_do_simplify),
18120 (gst_caps_replace), (gst_caps_from_string),
18121 (gst_caps_copy_conditional):
18123 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18124 (_gst_clock_id_free), (gst_clock_id_unref),
18125 (gst_clock_id_compare_func), (gst_clock_id_wait),
18126 (gst_clock_id_wait_async), (gst_clock_class_init),
18127 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18128 (gst_clock_get_time), (gst_clock_set_time_adjust),
18129 (gst_clock_set_property), (gst_clock_get_property):
18132 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18133 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18135 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18136 (gst_element_requires_clock), (gst_element_provides_clock),
18137 (gst_element_set_clock), (gst_element_clock_wait),
18138 (gst_element_wait), (gst_element_set_time_delay),
18139 (gst_element_is_indexable), (gst_element_add_pad),
18140 (gst_element_add_ghost_pad), (gst_element_remove_pad),
18141 (pad_compare_name), (gst_element_get_static_pad),
18142 (gst_element_request_pad), (gst_element_get_request_pad),
18143 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18144 (gst_element_class_get_pad_template_list),
18145 (gst_element_class_get_pad_template), (gst_element_error_func),
18146 (gst_element_get_random_pad), (gst_element_get_event_masks),
18147 (gst_element_send_event), (gst_element_seek),
18148 (gst_element_get_query_types), (gst_element_query),
18149 (gst_element_get_formats), (gst_element_convert),
18150 (gst_element_is_locked_state), (gst_element_set_locked_state),
18151 (gst_element_sync_state_with_parent), (gst_element_change_state),
18152 (gst_element_finalize), (gst_element_yield),
18153 (gst_element_interrupt), (gst_element_set_scheduler),
18154 (gst_element_get_scheduler), (gst_element_set_loop_function):
18155 * gst/gstelement.h:
18157 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18158 (gst_format_get_by_nick), (gst_format_get_details),
18159 (gst_format_iterate_definitions):
18161 * gst/gstindex.c: (gst_index_gtype_resolver):
18164 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18165 (gst_mem_chunk_free):
18166 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18167 (gst_object_ref), (gst_object_unref), (gst_object_sink),
18168 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18169 (gst_object_dispatch_properties_changed),
18170 (gst_object_set_name_default), (gst_object_set_name),
18171 (gst_object_get_name), (gst_object_set_name_prefix),
18172 (gst_object_get_name_prefix), (gst_object_set_parent),
18173 (gst_object_get_parent), (gst_object_unparent),
18174 (gst_object_check_uniqueness), (gst_object_save_thyself),
18175 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18176 (gst_object_set_property), (gst_object_get_property),
18177 (gst_object_get_path_string):
18179 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18180 (gst_real_pad_init), (gst_real_pad_get_property),
18181 (gst_pad_custom_new), (gst_pad_get_direction),
18182 (gst_pad_set_active), (gst_pad_is_active),
18183 (gst_pad_set_event_function), (gst_pad_is_linked),
18184 (gst_pad_link_free), (gst_pad_link_intersect),
18185 (gst_pad_link_fixate), (gst_pad_set_caps),
18186 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18187 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18188 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18189 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18190 (gst_pad_get_caps), (gst_pad_peer_get_caps),
18191 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18192 (gst_pad_realize), (gst_pad_get_allowed_caps),
18193 (gst_real_pad_dispose), (gst_real_pad_finalize),
18194 (gst_pad_collectv), (gst_pad_collect_valist),
18195 (gst_pad_template_dispose), (gst_pad_template_new),
18196 (gst_pad_get_internal_links):
18198 * gst/gstpipeline.c: (gst_pipeline_dispose),
18199 (gst_pipeline_change_state):
18200 * gst/gstpipeline.h:
18202 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18203 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18204 * gst/gstpluginfeature.h:
18205 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18206 * gst/gstquery.c: (_gst_query_type_initialize),
18207 (gst_query_type_register), (gst_query_type_get_by_nick),
18208 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18210 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18211 * gst/gstscheduler.c: (gst_scheduler_add_element),
18212 (gst_scheduler_factory_create):
18213 * gst/gststructure.c: (gst_structure_set_parent_refcount),
18214 (gst_structure_free), (gst_structure_set_name),
18215 (gst_structure_id_set_value), (gst_structure_set_value),
18216 (gst_structure_set_valist), (gst_structure_remove_field),
18217 (gst_structure_remove_fields),
18218 (gst_structure_remove_fields_valist),
18219 (gst_structure_remove_all_fields), (gst_structure_foreach),
18220 (gst_structure_map_in_place),
18221 (gst_caps_structure_fixate_field_nearest_int),
18222 (gst_caps_structure_fixate_field_nearest_double):
18223 * gst/gststructure.h:
18224 * gst/gstsystemclock.c: (gst_system_clock_class_init),
18225 (gst_system_clock_init), (gst_system_clock_dispose),
18226 (gst_system_clock_async_thread),
18227 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18228 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18229 * gst/gstsystemclock.h:
18230 * gst/gsttag.c: (gst_tag_list_add_value_internal),
18231 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18232 * gst/gsttaginterface.c:
18233 * gst/gstthread.c: (gst_thread_dispose),
18234 (gst_thread_release_children_locks), (gst_thread_change_state),
18235 (gst_thread_main_loop):
18236 * gst/gsttrashstack.h:
18237 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18239 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18240 (gst_element_request_pad), (gst_element_get_pad_from_template),
18241 (gst_element_request_compatible_pad),
18242 (gst_element_get_compatible_pad_filtered),
18243 (gst_element_get_compatible_pad), (gst_element_state_get_name),
18244 (gst_element_link_pads_filtered), (gst_element_link_filtered),
18245 (gst_element_link_many), (gst_element_link),
18246 (gst_element_link_pads), (gst_element_unlink_pads),
18247 (gst_element_unlink_many), (gst_element_unlink),
18248 (gst_pad_can_link_filtered), (gst_pad_can_link),
18249 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18250 (gst_object_default_error), (gst_bin_add_many),
18251 (gst_bin_remove_many), (gst_element_populate_std_props),
18252 (gst_element_class_install_std_props), (gst_buffer_merge),
18253 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18254 (link_fold_func), (gst_pad_proxy_setcaps):
18256 * gst/gstvalue.c: (gst_value_deserialize_string):
18257 * gst/parse/grammar.y:
18258 * gst/schedulers/gstbasicscheduler.c:
18259 (gst_basic_scheduler_cothreaded_chain),
18260 (gst_basic_scheduler_chain_recursive_add),
18261 (gst_basic_scheduler_pad_link):
18262 * gst/schedulers/gstoptimalscheduler.c:
18263 (get_group_schedule_function),
18264 (gst_opt_scheduler_state_transition),
18265 (gst_opt_scheduler_add_element), (element_get_reachables_func):
18266 * libs/gst/bytestream/bytestream.c:
18267 * libs/gst/dataprotocol/dataprotocol.c:
18268 (gst_dp_header_from_buffer):
18271 * tests/threadstate/threadstate2.c: (eos):
18272 * tools/gst-compprep.c: (main):
18273 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18274 (print_pad_info), (print_children_info):
18275 * tools/gst-launch.c: (idle_func), (main):
18276 * tools/gst-md5sum.c: (idle_func), (main):
18277 * tools/gst-xmlinspect.c: (print_element_info):
18278 First THREADED backport attempt, focusing on adding locks and
18279 making sure the API is threadsafe. Needs more work. More docs
18282 2005-02-24 Andy Wingo <wingo@pobox.com>
18284 * tests/bench-complexity.scm:
18285 * tests/complexity.gnuplot: New files, good for running complexity
18288 * tests/Makefile.am:
18289 * tests/complexity.c: New test, sets up N elements, at each level
18290 teeing into M streams per element. Eeeenteresting.
18292 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18293 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18294 running bench-mass_elements.scm.
18296 * tests/bench-mass_elements.scm: New script, runs mass_elements
18297 for various numbers of identities, outputting the results to a
18298 file. Requires guile 1.6. Just for testing.
18300 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
18302 * gst/schedulers/fairscheduler.c:
18303 compile with debug disabled
18305 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
18308 hunting season on 0.9 is now OPEN