1 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
3 * tools/gst-launch.1.in:
4 Update gst-launch man page; add a section with useful
5 environment variables. Fixes #323882.
7 2005-12-16 Stefan Kost <ensonic@users.sf.net>
11 change some char* into char[]
13 2005-12-16 Wim Taymans <wim@fluendo.com>
15 * gst/gstregistryxml.c: (load_feature):
17 Don't use g_object_unref on GstObjects so that we avoid
18 leaks on unsafe glibs.
20 2005-12-16 Wim Taymans <wim@fluendo.com>
22 * gst/gstbin.c: (gst_bin_recalc_state):
25 2005-12-16 Wim Taymans <wim@fluendo.com>
28 Added make forever target for check.
30 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
32 * gst/gst.c: (init_post):
33 make the registry cache file HOST_CPU-dependent
35 2005-12-16 Andy Wingo <wingo@pobox.com>
37 * plugins/elements/gstbufferstore.c
38 (gst_buffer_store_cleared_func): Pay attention to g_list_append
41 * tests/check/gst/gstobject.c
42 (test_fake_object_name_threaded_unique): Pay attention to
43 g_list_sort return value.
45 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
47 * tools/gst-feedback-m.m:
48 Update for 0.9/0.10 (fixes #323870).
50 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
52 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
53 Fix lcopy for mini objects, the mini object needs to be ref'ed.
55 * tests/check/gst/gstminiobject.c: (my_foo_init),
56 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
57 (test_value_collection), (gst_mini_object_suite):
58 Add test to ensure refcounts end up as expected when passing
59 GstMiniObjects through g_object_get() and g_object_set().
61 2005-12-14 Julien MOUTTE <julien@moutte.net>
63 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
64 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
65 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
66 of collectpads. This version removes a lot of races without
67 touching API/ABI. Yay !
69 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
71 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
72 Don't allow activation of a srcpad in pull_range if it has no
74 Change some debug statements to be a little clearer
76 * plugins/elements/gsttypefindelement.c:
77 (gst_type_find_handle_src_query):
78 Check that we have a peer before executing queries thereupon.
80 * tests/examples/metadata/read-metadata.c: (message_loop):
81 Use gst_bus_pop instead of gst_bus_poll when we just want it to
82 immediately return us any available message with 0 timeout.
84 2005-12-12 Michael Smith <msmith@fluendo.com>
86 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
87 Don't unref factories after calling them.
88 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
89 * plugins/elements/gsttypefindelement.c:
90 (gst_type_find_element_chain):
91 Free lists of factories after using them. Fixing typefinding memory
94 2005-12-12 Stefan Kost <ensonic@users.sf.net>
96 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
97 (gst_plugin_feature_load):
98 more meaningful debug output
101 * tests/old/examples/Makefile.am:
102 make make distcheck happy again
104 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
106 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
107 Catch the special case where we are operating chain-based,
108 but the downstream peer pad has no chain function. Emit a
109 custom error message in this case instead of letting the
110 core generate one implying that this is some sort of core
111 bug. It's not, it just means that whatever got plugged
112 into the pipeline downstream when we announced the type
113 can only operate pull-based, while our source can only
114 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
115 Error string has not been marked for translation yet, as
116 it probably needs some more work first.
118 (gst_type_find_element_get_best_possibility):
119 Add helper function to find the best of all available
120 found possibilities that qualify given the min. threshold.
122 (gst_type_find_element_handle_event):
123 Fix the case where we get an EOS while still in TYPEFIND
124 mode (we want to chose the best of all possible types,
125 not just the first type that happens to be in our unsorted
126 list of possible types).
128 (gst_type_find_element_chain):
129 Make sure we return GST_FLOW_ERROR when we errored out
130 in stop_typefinding(); also, don't just find the best of
131 all found type entries and then use the last examined
132 type entry, but actually use the best entry.
134 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
136 * tests/examples/typefind/typefind.c: (type_found):
137 * tests/examples/xml/runxml.c: (xml_loaded):
138 More gcc4 fixes and a mem leak fix.
140 2005-12-12 Stefan Kost <ensonic@users.sf.net>
142 * tests/examples/xml/createxml.c: (object_saved):
145 2005-12-12 Stefan Kost <ensonic@users.sf.net>
148 enable the examples even more
150 2005-12-12 Andy Wingo <wingo@pobox.com>
152 * libs/gst/net/gstnettimeprovider.c
153 (gst_net_time_provider_class_init, gst_net_time_provider_init)
154 (gst_net_time_provider_set_property)
155 (gst_net_time_provider_get_property): Export "active" as a GObject
157 (gst_net_time_provider_thread): Only respond to time queries if
158 the time provider is active.
160 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
161 NetTimeProvider, preserving binary compat.
163 2005-12-12 Stefan Kost <ensonic@users.sf.net>
165 * tests/examples/controller/audio-example.c: (main):
166 * tests/examples/launch/Makefile.am:
167 convert comments again
169 2005-12-12 Wim Taymans <wim@fluendo.com>
171 * libs/gst/base/gstpushsrc.c:
174 2005-12-12 Wim Taymans <wim@fluendo.com>
176 * docs/libs/gstreamer-libs-sections.txt:
177 Added new symbol to docs.
179 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
180 (gst_base_src_init), (gst_base_src_set_format),
181 (gst_base_src_default_query), (gst_base_src_query),
182 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
183 (gst_base_src_perform_seek), (gst_base_src_send_event),
184 (gst_base_src_default_event), (gst_base_src_event_handler),
185 (gst_base_src_set_property), (gst_base_src_get_property),
186 (gst_base_src_wait), (gst_base_src_do_sync),
187 (gst_base_src_update_length), (gst_base_src_get_range),
188 (gst_base_src_check_get_range), (gst_base_src_loop),
189 (gst_base_src_default_negotiate), (gst_base_src_start),
190 (gst_base_src_activate_push), (gst_base_src_activate_pull),
191 (gst_base_src_change_state):
192 * libs/gst/base/gstbasesrc.h:
193 Implement seeking to other formats than _BYTES.
194 Implement more seeking methods correctly.
197 Added do_seek vmethod to make life easier for subclasses
199 API addition: gst_base_src_set_format()
201 2005-12-12 Stefan Kost <ensonic@users.sf.net>
203 * tests/examples/Makefile.am:
206 2005-12-12 Stefan Kost <ensonic@users.sf.net>
209 * docs/random/ensonic/media-device-daemon.txt:
210 * tests/examples/controller/.cvsignore:
211 * tests/examples/controller/Makefile.am:
212 * tests/examples/controller/audio-example.c: (main):
213 * tests/examples/helloworld/.cvsignore:
214 * tests/examples/helloworld/Makefile.am:
215 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
216 * tests/examples/launch/.cvsignore:
217 * tests/examples/launch/Makefile.am:
218 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
219 * tests/examples/metadata/.cvsignore:
220 * tests/examples/metadata/Makefile.am:
221 * tests/examples/metadata/read-metadata.c: (message_loop),
222 (make_pipeline), (print_tag), (main):
223 * tests/examples/queue/.cvsignore:
224 * tests/examples/queue/Makefile.am:
225 * tests/examples/queue/queue.c: (event_loop), (main):
226 * tests/examples/typefind/.cvsignore:
227 * tests/examples/typefind/Makefile.am:
228 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
230 * tests/examples/xml/.cvsignore:
231 * tests/examples/xml/Makefile.am:
232 * tests/examples/xml/createxml.c: (object_saved), (main):
233 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
234 * tests/old/examples/Makefile.am:
235 * tests/old/examples/TODO:
236 * tests/old/examples/controller/.cvsignore:
237 * tests/old/examples/controller/Makefile.am:
238 * tests/old/examples/controller/audio-example.c:
239 * tests/old/examples/helloworld/.cvsignore:
240 * tests/old/examples/helloworld/Makefile.am:
241 * tests/old/examples/helloworld/helloworld.c:
242 * tests/old/examples/launch/.cvsignore:
243 * tests/old/examples/launch/Makefile.am:
244 * tests/old/examples/launch/mp3parselaunch.c:
245 * tests/old/examples/launch/mp3play:
246 * tests/old/examples/manual/Makefile.am:
247 * tests/old/examples/metadata/Makefile.am:
248 * tests/old/examples/metadata/read-metadata.c:
249 * tests/old/examples/queue/.cvsignore:
250 * tests/old/examples/queue/Makefile.am:
251 * tests/old/examples/queue/queue.c:
252 * tests/old/examples/typefind/.cvsignore:
253 * tests/old/examples/typefind/Makefile.am:
254 * tests/old/examples/typefind/typefind.c:
255 * tests/old/examples/xml/.cvsignore:
256 * tests/old/examples/xml/Makefile.am:
257 * tests/old/examples/xml/createxml.c:
258 * tests/old/examples/xml/runxml.c:
259 applied some simple fixing to some examples
260 re-enabled the working examples
262 2005-12-12 Wim Taymans <wim@fluendo.com>
264 * gst/gstsegment.c: (gst_segment_init),
265 (gst_segment_set_last_stop), (gst_segment_set_seek),
266 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
267 (gst_segment_to_running_time):
268 Added more documentation.
269 Make sure the last_pos value is updated properly.
270 Make sure to_stream_time and to_running_time don't
271 operate on wrong values.
273 * tests/check/gst/gstsegment.c: (GST_START_TEST):
276 2005-12-12 Michael Smith <msmith@fluendo.com>
278 * plugins/elements/gsttypefindelement.c: (free_entry),
279 (gst_type_find_element_chain):
280 Now that we're not leaking factories, make sure we keep references
281 to them while we need them.
283 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
285 * tests/check/gst/struct_i386.h:
286 ifdef out the XML structs
288 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
290 * gst/gstvalue.c: (gst_value_transform_double_fraction):
291 floor is not needed, F is always positive; this obviates the
292 need for adding -lm when building without libxml
294 2005-12-12 Wim Taymans <wim@fluendo.com>
296 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
297 Take current playback rate into account when reporting
300 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
302 * docs/manual/mime-world.fig:
303 Let's try this again, this time with a file that is
304 actually in XFig format.
306 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
308 * docs/manual/mime-world.fig:
309 Add audioconvert element to diagram so that it
310 matches the text and the code (fixes #319526).
312 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
314 * docs/pwg/building-chainfn.xml:
315 * docs/pwg/building-pads.xml:
316 * docs/pwg/building-state.xml:
317 * docs/pwg/other-source.xml:
318 Update state change stuff for 0.10 (fixes #322969).
320 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
322 * docs/manual/advanced-dataaccess.xml:
323 * docs/manual/appendix-checklist.xml:
324 * docs/manual/appendix-programs.xml:
325 * docs/manual/basics-pads.xml:
326 * docs/manual/highlevel-components.xml:
327 * docs/manual/manual.xml:
328 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
329 add converters in front of pipelines; remove curly
330 brackets for threads stuff, they no longer exist; use
331 GST_TYPE_FRACTION for framerates; update some pieces of
332 code to 0.10, but there's plenty more to do.
334 * docs/manual/appendix-porting.xml:
335 Expand on asynchroneous state changes; s/0.9/0.10/;
336 mention disappearance of gst_init_get_popt_table()
339 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
341 * docs/faq/using.xml:
342 Spider no longer exists, and neither does gst-launch-ext.
343 Update examples to use decodebin and playbin and put
344 converters in front of sinks (fixes #323726).
346 2005-12-09 Michael Smith <msmith@fluendo.com>
348 * plugins/elements/gsttypefindelement.c: (find_peek),
349 (gst_type_find_element_chain):
350 Fix leaking element factories in typefinding.
351 Fix problem where we forgot about a probable type on non-seekable
352 files, and thus later mis-typefound it.
354 2005-12-09 Michael Smith <msmith@fluendo.com>
356 * common/m4/gst-makecontext.m4:
357 * common/m4/gst-mcsc.m4:
359 * win32/common/config.h:
360 * win32/common/config.h.in:
361 Remove makecontext stuff; not used in 0.10 and causes problems on
362 HPUX according to bug #322441
364 2005-12-07 Wim Taymans <wim@fluendo.com>
366 * tests/check/Makefile.am:
367 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
369 * tests/check/libs/struct_i386.h:
370 Added ABI check for libs
372 2005-12-07 Wim Taymans <wim@fluendo.com>
374 * tests/check/Makefile.am:
375 And add the struct_i386.h to dist.
377 2005-12-07 Wim Taymans <wim@fluendo.com>
379 * tests/check/Makefile.am:
380 * tests/check/gst/.cvsignore:
381 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
383 * tests/check/gst/struct_i386.h:
384 Added check for ABI compatibility.
386 2005-12-07 Wim Taymans <wim@fluendo.com>
388 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
389 (gst_fake_src_get_times), (gst_fake_src_create):
390 Fix broken sync option, fixes #323259
392 2005-12-07 Wim Taymans <wim@fluendo.com>
397 * gst/gstcaps.c: (gst_caps_is_equal):
398 Don't assert on NULL <--> X. Fixes #323260
400 * gst/gstminiobject.c: (gst_mini_object_replace):
401 If we're doing atomic operations, we might just as well use
402 the proper way to get an atomic pointer.
404 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
407 2005-12-07 Michael Smith <msmith@fluendo.com>
409 * gst/parse/grammar.y:
410 Remove handling of { } for threads.
412 2005-12-06 David Schleef <ds@schleef.org>
414 * libs/gst/base/gstbasetransform.c: speling fix.
416 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
418 * docs/libs/tmpl/gstdataprotocol.sgml:
419 * docs/random/omega/testing/gstobject.c:
423 * gst/gstelementfactory.c:
428 * gst/gstpadtemplate.c:
429 * gst/gstregistryxml.c:
431 * gst/gsttagsetter.c:
434 * libs/gst/base/gstbasesrc.c:
435 * libs/gst/net/gstnetclientclock.c:
436 * libs/gst/net/gstnettimeprovider.c:
437 * plugins/elements/gstfakesrc.c:
438 * plugins/elements/gstfdsrc.c:
439 * plugins/elements/gstfilesrc.c:
440 * plugins/elements/gstidentity.c:
441 * plugins/elements/gstqueue.c:
442 * plugins/elements/gsttypefindelement.c:
443 * plugins/indexers/gstfileindex.c:
444 * plugins/indexers/gstmemindex.c:
445 * tests/check/gst/gsttag.c:
446 * tests/old/examples/cutter/cutter.c:
447 * tests/old/examples/mixer/mixer.c:
448 * tests/old/examples/xml/runxml.c: (main):
449 * tests/old/testsuite/caps/normalisation.c:
450 * tests/old/testsuite/debug/global.c:
451 * tests/old/testsuite/parse/parse1.c:
452 * tools/gst-xmlinspect.c:
453 * win32/common/dirent.c:
456 === release 0.10.0 ===
458 2005-12-05 <thomas (at) apestaart (dot) org>
461 releasing 0.10.0, "Maroilles"
463 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
465 submitted by: Funda Wang <fundawang@linux.net.cn>
469 added Chinese (Traditional) translation
471 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
473 * docs/gst/gstreamer-sections.txt:
474 * docs/libs/tmpl/gstdataprotocol.sgml:
475 * docs/random/thomasvs/TODO:
480 2005-12-05 Andy Wingo <wingo@pobox.com>
482 patch by: Wim Taymans <wim@fluendo.com>
484 * libs/gst/base/gstbasetransform.c
485 (gst_base_transform_prepare_output_buf)
486 (gst_base_transform_buffer_alloc):
487 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
488 alloc_buffer_and_set_caps.
490 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
491 set_caps on the source pad.
492 (gst_pad_alloc_buffer_and_set_caps): New function, does what
493 alloc_buffer used to do. Fixes #322874.
495 * docs/gst/gstreamer-sections.txt:
496 * docs/design/part-negotiation.txt:
497 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
500 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
502 patch by: Sebastien Moutte
505 * win32/common/config.h.in:
506 * win32/vs6/libgstcontroller.dsp:
509 2005-12-05 Wim Taymans <wim@fluendo.com>
511 * gst/gstcaps.c: (gst_caps_is_equal):
512 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
513 (gst_fake_src_create):
514 Back out previous code changes, leave doc updates, file bugs
517 2005-12-05 Wim Taymans <wim@fluendo.com>
519 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
520 (gst_fake_src_get_times), (gst_fake_src_create):
521 * plugins/elements/gstfakesrc.h:
522 Fix broken sync code.
524 2005-12-05 Wim Taymans <wim@fluendo.com>
526 * gst/gstcaps.c: (gst_caps_is_equal):
527 Comparing NULL against !NULL yields different caps, not a
530 2005-12-05 Wim Taymans <wim@fluendo.com>
533 Fix small typo in docs.
535 2005-12-05 Andy Wingo <wingo@pobox.com>
537 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
539 * gst/gst.c (init_post): remove hard-coded 0.9 location for
540 registries/plugins with a MAJORMINOR one.
541 (plugin_desc): Rename library from gstcoreleements to
542 staticelements. Fixes #323222.
544 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
546 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
547 Change debug category to 'collectpads' from 'collect_pads'
550 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
552 patch by: Sebastien Moutte
554 * libs/gst/controller/gstinterpolation.c:
555 use convert function for uint64/double
556 * win32/vs6/libgstcontroller.dsp:
559 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
561 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
562 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
564 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
565 add tests that seem to show that the guint64/gdouble conversions
568 2005-12-02 Wim Taymans <wim@fluendo.com>
570 * gst/gstregistry.c: (gst_registry_add_path):
572 * gst/gstregistryxml.c:
575 2005-12-02 Wim Taymans <wim@fluendo.com>
577 * gst/gstutils.c: (gst_util_uint64_scale_int64),
578 (gst_util_uint64_scale_int):
581 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
584 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
587 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
590 * win32/common/config.h:
591 * win32/vs6/gstreamer.dsw:
592 * win32/vs6/libgstcoreelements.dsp:
593 * win32/vs6/libgstelements.dsp:
594 renamed core elements plugin
596 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
598 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
600 do piece-wise major/minor comparison so 0.9 < 0.10
601 also allow .exe extensions for tools
603 2005-12-02 Michael Smith <msmith@fluendo.com>
606 Escape a % to make gtkdoc happier; bug 322958.
608 === release 0.9.7 ===
610 2005-12-01 <thomas (at) apestaart (dot) org>
613 releasing 0.9.7, "My Dog Has No Nose"
615 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
617 * common/gst-xmlinspect.py:
619 * docs/libs/tmpl/gstdataprotocol.sgml:
620 * docs/random/release:
639 * win32/common/config.h:
640 * win32/common/config.h.in:
641 * win32/vs6/gst_inspect.dsp:
642 * win32/vs6/gst_launch.dsp:
643 * win32/vs6/libgstbase.dsp:
644 * win32/vs6/libgstelements.dsp:
645 * win32/vs6/libgstreamer.dsp:
646 * win32/vs7/GStreamer.vcproj:
647 * win32/vs7/gst-inspect.vcproj:
648 * win32/vs7/gst-launch.vcproj:
649 * win32/vs7/libgstbase.vcproj:
650 bump GST_MAJORMINOR to 0.10
651 reset libtool version
653 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
657 Added Bulgarian translation by (Alexander Shopov)
659 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
661 * tests/check/gst/gstplugin.c:
664 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
666 * common/gst-xmlinspect.py:
667 * common/gtk-doc-plugins.mak:
670 * docs/gst/Makefile.am:
671 * docs/gst/gstreamer-docs.sgml:
672 * docs/gst/gstreamer-sections.txt:
673 * docs/gst/gstreamer.types:
674 * docs/gst/gstreamer.types.in:
675 * docs/plugins/Makefile.am:
676 * docs/plugins/gstreamer-plugins-docs.sgml:
677 * docs/plugins/gstreamer-plugins-sections.txt:
678 * docs/plugins/gstreamer-plugins.types:
679 * docs/plugins/inspect.stamp:
680 * docs/plugins/inspect/plugin-coreelements.xml:
681 * docs/plugins/inspect/plugin-coreindexers.xml:
682 * docs/plugins/scanobj-build.stamp:
684 * plugins/elements/Makefile.am:
685 * plugins/elements/gstelements.c:
686 * plugins/elements/gstfakesink.c:
687 * plugins/elements/gstfakesrc.c:
688 * plugins/elements/gstfilesink.c:
689 * plugins/elements/gstfilesrc.c:
690 * plugins/elements/gstqueue.c:
691 * plugins/indexers/Makefile.am:
692 * plugins/indexers/gstindexers.c:
693 document core plugins in a separate document just like all the
695 rename these plugins to something starting with core
697 2005-12-01 Andy Wingo <wingo@pobox.com>
699 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
700 padding here before, but it missed the commit.
702 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
704 * libs/gst/controller/gstinterpolation.c:
705 whitespace prices have crashed, we should feel free to use some now
706 use gst_guint64_to_gdouble
708 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
710 * libs/gst/controller/gstcontroller.c:
711 * libs/gst/controller/gsthelper.c:
712 * libs/gst/controller/gstinterpolation.c:
713 * libs/gst/controller/lib.c:
714 wrap config.h include
716 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
718 * docs/gst/gstreamer-sections.txt:
721 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
723 * plugins/elements/gstelements.c:
724 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
725 (gst_fd_sink__class_init), (gst_fd_sink__init),
726 (gst_fd_sink__chain), (gst_fd_sink__set_property),
727 (gst_fd_sink__get_property):
728 * plugins/elements/gstfdsink.h:
729 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
730 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
731 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
732 (gst_fd_src_unlock), (gst_fd_src_set_property),
733 (gst_fd_src_get_property), (gst_fd_src_create),
734 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
735 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
736 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
737 (gst_fd_src_uri_handler_init):
738 * plugins/elements/gstfdsrc.h:
739 * plugins/elements/gstqueue.c: (gst_queue_get_type):
742 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
744 * docs/gst/Makefile.am:
745 * docs/gst/gstreamer.types.in:
749 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
756 * tests/benchmarks/complexity.c:
757 * tests/benchmarks/mass-elements.c:
758 * tests/check/Makefile.am:
760 * tools/gst-inspect.c:
761 * tools/gst-xmlinspect.c:
762 various fixes to make
763 --disable-nls --disable-registry --disable-loadsave
764 --disable-parse --disable-gst-debug
765 work and get the core .so down to 360444 bytes after stripping
767 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
772 * docs/random/thomasvs/TODO:
777 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
779 * win32/GStreamer.vcproj:
782 * win32/Makefile.inspect:
783 * win32/Makefile.launch:
784 * win32/Makefile.register:
786 * win32/gst-inspect.vcproj:
787 * win32/gst-launch.vcproj:
788 * win32/gst-register.vcproj:
789 * win32/gstelements.vcproj:
790 * win32/gstgetbits.def:
791 * win32/gstgetbits.vcproj:
792 * win32/gstreamer-dbg.def:
793 * win32/gstreamer.def:
794 * win32/libgstbase.def:
795 * win32/libgstbase.vcproj:
796 * win32/link_oldruntime.c:
801 move even more stuff, win32/ is nice and clean now
803 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
805 * libs/gst/control/.cvsignore:
810 * win32/gstbytestream.def:
811 * win32/gstbytestream.vcproj:
813 * win32/gstenumtypes.c:
814 * win32/gstenumtypes.h:
815 * win32/gstoptimalscheduler.vcproj:
816 * win32/gstversion.h:
818 * win32/testsuite/bins.vcproj:
819 * win32/testsuite/bytestream.vcproj:
820 * win32/testsuite/caps.vcproj:
821 * win32/testsuite/cleanup.vcproj:
822 * win32/testsuite/clock.vcproj:
823 * win32/testsuite/debug.vcproj:
824 * win32/testsuite/dlopen.vcproj:
825 * win32/testsuite/dynparams.vcproj:
826 * win32/testsuite/elements.vcproj:
827 * win32/testsuite/ghostpads.vcproj:
828 * win32/testsuite/indexers.vcproj:
829 * win32/testsuite/negotiation.vcproj:
830 * win32/testsuite/parse.vcproj:
831 * win32/testsuite/plugin.vcproj:
832 * win32/testsuite/refcounting.vcproj:
833 * win32/testsuite/schedulers.vcproj:
834 * win32/testsuite/states.vcproj:
835 * win32/testsuite/tags.vcproj:
836 * win32/testsuite/threads.vcproj:
837 remove old win32 stuff that isn't maintained and should be
840 2005-11-30 Andy Wingo <wingo@pobox.com>
842 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
843 loading the gst.interfaces python module bork.
845 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
846 available since GLib 2.2. Fixes #318031.
848 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
853 * check/elements/.cvsignore:
854 * check/elements/fakesrc.c:
855 * check/elements/fdsrc.c:
856 * check/elements/identity.c:
857 * check/generic/.cvsignore:
858 * check/generic/states.c:
859 * check/gst-libs/.cvsignore:
860 * check/gst-libs/controller.c:
861 * check/gst-libs/gdp.c:
862 * check/gst/.cvsignore:
863 * check/gst/capslist.h:
865 * check/gst/gstbin.c:
866 * check/gst/gstbuffer.c:
867 * check/gst/gstbus.c:
868 * check/gst/gstcaps.c:
869 * check/gst/gstelement.c:
870 * check/gst/gstevent.c:
871 * check/gst/gstghostpad.c:
872 * check/gst/gstiterator.c:
873 * check/gst/gstmessage.c:
874 * check/gst/gstminiobject.c:
875 * check/gst/gstobject.c:
876 * check/gst/gstpad.c:
877 * check/gst/gstpipeline.c:
878 * check/gst/gstplugin.c:
879 * check/gst/gstsegment.c:
880 * check/gst/gststructure.c:
881 * check/gst/gstsystemclock.c:
882 * check/gst/gsttag.c:
883 * check/gst/gstutils.c:
884 * check/gst/gstvalue.c:
885 * check/net/.cvsignore:
886 * check/net/gstnetclientclock.c:
887 * check/net/gstnettimeprovider.c:
888 * check/pipelines/.cvsignore:
889 * check/pipelines/cleanup.c:
890 * check/pipelines/simple_launch_lines.c:
891 * check/pipelines/stress.c:
892 * check/states/.cvsignore:
893 * check/states/sinks.c:
895 * examples/Makefile.am:
896 * examples/appreader/.cvsignore:
897 * examples/appreader/Makefile.am:
898 * examples/appreader/appreader.c:
899 * examples/controller/.cvsignore:
900 * examples/controller/Makefile.am:
901 * examples/controller/audio-example.c:
902 * examples/cutter/.cvsignore:
903 * examples/cutter/Makefile.am:
904 * examples/cutter/cutter.c:
905 * examples/cutter/cutter.h:
906 * examples/events/Makefile.am:
907 * examples/events/seek.c:
908 * examples/helloworld/.cvsignore:
909 * examples/helloworld/Makefile.am:
910 * examples/helloworld/helloworld.c:
911 * examples/helloworld2/.cvsignore:
912 * examples/helloworld2/Makefile.am:
913 * examples/helloworld2/helloworld2.c:
914 * examples/launch/.cvsignore:
915 * examples/launch/Makefile.am:
916 * examples/launch/mp3parselaunch.c:
917 * examples/launch/mp3play:
918 * examples/manual/.cvsignore:
919 * examples/manual/Makefile.am:
920 * examples/manual/extract.pl:
921 * examples/metadata/Makefile.am:
922 * examples/metadata/read-metadata.c:
923 * examples/mixer/.cvsignore:
924 * examples/mixer/Makefile.am:
925 * examples/mixer/mixer.c:
926 * examples/mixer/mixer.h:
927 * examples/pingpong/.cvsignore:
928 * examples/pingpong/Makefile.am:
929 * examples/pingpong/pingpong.c:
930 * examples/plugins/.cvsignore:
931 * examples/plugins/Makefile.am:
932 * examples/plugins/example.c:
933 * examples/plugins/example.h:
934 * examples/pwg/.cvsignore:
935 * examples/pwg/Makefile.am:
936 * examples/pwg/extract.pl:
937 * examples/queue/.cvsignore:
938 * examples/queue/Makefile.am:
939 * examples/queue/queue.c:
940 * examples/queue2/.cvsignore:
941 * examples/queue2/Makefile.am:
942 * examples/queue2/queue2.c:
943 * examples/queue3/.cvsignore:
944 * examples/queue3/Makefile.am:
945 * examples/queue3/queue3.c:
946 * examples/queue4/.cvsignore:
947 * examples/queue4/Makefile.am:
948 * examples/queue4/queue4.c:
949 * examples/retag/.cvsignore:
950 * examples/retag/Makefile.am:
951 * examples/retag/retag.c:
952 * examples/retag/transcode.c:
953 * examples/thread/.cvsignore:
954 * examples/thread/Makefile.am:
955 * examples/thread/thread.c:
956 * examples/typefind/.cvsignore:
957 * examples/typefind/Makefile.am:
958 * examples/typefind/typefind.c:
959 * examples/xml/.cvsignore:
960 * examples/xml/Makefile.am:
961 * examples/xml/createxml.c:
962 * examples/xml/runxml.c:
964 * tests/check/Makefile.am:
965 * testsuite/.cvsignore:
966 * testsuite/Makefile.am:
968 * testsuite/caps/.cvsignore:
969 * testsuite/caps/Makefile.am:
970 * testsuite/caps/app_fixate.c:
971 * testsuite/caps/audioscale.c:
972 * testsuite/caps/caps.c:
973 * testsuite/caps/caps.h:
974 * testsuite/caps/caps_strings:
975 * testsuite/caps/compatibility.c:
976 * testsuite/caps/deserialize.c:
977 * testsuite/caps/enumcaps.c:
978 * testsuite/caps/eratosthenes.c:
979 * testsuite/caps/filtercaps.c:
980 * testsuite/caps/fixed.c:
981 * testsuite/caps/fraction-convert.c:
982 * testsuite/caps/fraction-multiply-and-zero.c:
983 * testsuite/caps/intersect2.c:
984 * testsuite/caps/intersection.c:
985 * testsuite/caps/normalisation.c:
986 * testsuite/caps/random.c:
987 * testsuite/caps/renegotiate.c:
988 * testsuite/caps/sets.c:
989 * testsuite/caps/simplify.c:
990 * testsuite/caps/string-conversions.c:
991 * testsuite/caps/structure.c:
992 * testsuite/caps/subtract.c:
993 * testsuite/caps/union.c:
994 * testsuite/debug/.cvsignore:
995 * testsuite/debug/Makefile.am:
996 * testsuite/debug/category.c:
997 * testsuite/debug/commandline.c:
998 * testsuite/debug/global.c:
999 * testsuite/debug/output.c:
1000 * testsuite/debug/printf_extension.c:
1001 * testsuite/dlopen/.cvsignore:
1002 * testsuite/dlopen/Makefile.am:
1003 * testsuite/dlopen/dlopen_gst.c:
1004 * testsuite/dlopen/loadgst.c:
1005 * testsuite/elements/.cvsignore:
1006 * testsuite/elements/Makefile.am:
1007 * testsuite/elements/gst-inspect-check.in:
1008 * testsuite/elements/struct_i386.h:
1009 * testsuite/elements/struct_size.c:
1010 * testsuite/indexers/.cvsignore:
1011 * testsuite/indexers/Makefile.am:
1012 * testsuite/indexers/cache1.c:
1013 * testsuite/indexers/indexdump.c:
1014 * testsuite/parse/.cvsignore:
1015 * testsuite/parse/Makefile.am:
1016 * testsuite/parse/parse1.c:
1017 * testsuite/parse/parse2.c:
1018 * testsuite/plugin/.cvsignore:
1019 * testsuite/plugin/Makefile.am:
1020 * testsuite/plugin/README:
1021 * testsuite/plugin/dynamic.c:
1022 * testsuite/plugin/linked.c:
1023 * testsuite/plugin/loading.c:
1024 * testsuite/plugin/registry.c:
1025 * testsuite/plugin/static.c:
1026 * testsuite/plugin/static2.c:
1027 * testsuite/plugin/testplugin.c:
1028 * testsuite/plugin/testplugin2.c:
1029 * testsuite/plugin/testplugin2_s.c:
1030 * testsuite/plugin/testplugin_s.c:
1031 * testsuite/refcounting/.cvsignore:
1032 * testsuite/refcounting/Makefile.am:
1033 * testsuite/refcounting/bin.c:
1034 * testsuite/refcounting/element.c:
1035 * testsuite/refcounting/element_pad.c:
1036 * testsuite/refcounting/mainloop.c:
1037 * testsuite/refcounting/mem.c:
1038 * testsuite/refcounting/mem.h:
1039 * testsuite/refcounting/object.c:
1040 * testsuite/refcounting/pad.c:
1041 * testsuite/refcounting/sched.c:
1042 * testsuite/refcounting/thread.c:
1043 * testsuite/states/.cvsignore:
1044 * testsuite/states/Makefile.am:
1045 * testsuite/states/bin.c:
1046 * testsuite/states/locked.c:
1047 * testsuite/states/parent.c:
1048 * testsuite/threads/.cvsignore:
1049 * testsuite/threads/159566.c:
1050 * testsuite/threads/159852.c:
1051 * testsuite/threads/Makefile.am:
1052 * testsuite/threads/queue.c:
1053 * testsuite/threads/signals.c:
1054 * testsuite/threads/staticrec.c:
1055 * testsuite/threads/thread.c:
1056 * testsuite/threads/threadb.c:
1057 * testsuite/threads/threadc.c:
1058 * testsuite/threads/threadd.c:
1059 * testsuite/threads/threade.c:
1060 * testsuite/threads/threadf.c:
1061 * testsuite/threads/threadg.c:
1062 * testsuite/threads/threadh.c:
1063 * testsuite/threads/threadi.c:
1064 move all of these under tests
1066 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1069 * tests/Makefile.am:
1072 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1074 * docs/gst/gstreamer-sections.txt:
1075 * tests/sched/.cvsignore:
1076 * tests/sched/Makefile.am:
1077 * tests/sched/cases/(fs-fs).xml:
1078 * tests/sched/cases/(fs-i-fs).xml:
1079 * tests/sched/cases/(fs-i-i-fs).xml:
1080 * tests/sched/cases/(fs-i-q[i-fs]).xml:
1081 * tests/sched/dynamic-pipeline.c:
1082 * tests/sched/interrupt1.c:
1083 * tests/sched/interrupt2.c:
1084 * tests/sched/interrupt3.c:
1085 * tests/sched/runtestcases:
1086 * tests/sched/runxml.c:
1087 * tests/sched/sched-stress.c:
1088 * tests/sched/sort.c:
1089 * tests/sched/testcases:
1090 * tests/sched/testcases1.tc:
1091 * tests/seeking/.cvsignore:
1092 * tests/seeking/Makefile.am:
1093 * tests/seeking/seeking1.c:
1094 * tests/threadstate/.cvsignore:
1095 * tests/threadstate/Makefile.am:
1096 * tests/threadstate/test1.c:
1097 * tests/threadstate/test2.c:
1098 * tests/threadstate/threadstate1.c:
1099 * tests/threadstate/threadstate2.c:
1100 * tests/threadstate/threadstate3.c:
1101 * tests/threadstate/threadstate4.c:
1102 * tests/threadstate/threadstate5.c:
1103 remove obsolete tests
1105 * tests/bench-complexity.scm:
1106 * tests/bench-mass_elements.scm:
1107 * tests/complexity.c:
1108 * tests/complexity.gnuplot:
1109 * tests/instantiate/.cvsignore:
1110 * tests/instantiate/Makefile.am:
1111 * tests/instantiate/caps.c:
1112 * tests/mass_elements.c:
1113 * tests/network-clock-utils.scm:
1114 * tests/network-clock.scm:
1116 First pass at cleaning up tests/ dir before moving the rest
1117 Combined with CVS surgery
1119 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1122 queue has moved, update
1124 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1126 * docs/gst/gstreamer-sections.txt:
1127 remove double entries from the docs
1128 * gst/gst_private.h:
1129 * gst/gstinfo.c: (_gst_debug_init):
1130 remove the THREAD debug category
1134 * docs/gst/gstreamer.types:
1135 * plugins/elements/gstqueue.c: (gst_queue_get_type),
1136 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1137 completely move queue and fix up debugging categories
1139 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1141 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1142 make initialization portable, using LL is not
1144 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1146 * win32/common/gstconfig.h:
1149 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1151 * win32/common/libgstreamer.def:
1152 rename symbols; sort base section
1154 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1156 * gst/gstclock.c: (do_linear_regression):
1157 remove crack non-portable handrolled DEBUG macro
1159 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1161 * docs/random/release:
1163 * win32/common/gstenumtypes.c: (register_gst_object_flags),
1164 (gst_object_flags_get_type), (register_gst_bin_flags),
1165 (gst_bin_flags_get_type), (register_gst_buffer_flag),
1166 (gst_buffer_flag_get_type), (register_gst_bus_flags),
1167 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1168 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1169 (gst_caps_flags_get_type), (register_gst_clock_return),
1170 (gst_clock_return_get_type), (register_gst_clock_entry_type),
1171 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1172 (gst_clock_flags_get_type), (register_gst_state),
1173 (gst_state_get_type), (register_gst_state_change_return),
1174 (gst_state_change_return_get_type), (register_gst_state_change),
1175 (gst_state_change_get_type), (register_gst_element_flags),
1176 (gst_element_flags_get_type), (register_gst_core_error),
1177 (gst_core_error_get_type), (register_gst_library_error),
1178 (gst_library_error_get_type), (register_gst_resource_error),
1179 (gst_resource_error_get_type), (register_gst_stream_error),
1180 (gst_stream_error_get_type), (register_gst_event_type_flags),
1181 (gst_event_type_flags_get_type), (register_gst_event_type),
1182 (gst_event_type_get_type), (register_gst_seek_type),
1183 (gst_seek_type_get_type), (register_gst_seek_flags),
1184 (gst_seek_flags_get_type), (register_gst_format),
1185 (gst_format_get_type), (register_gst_index_certainty),
1186 (gst_index_certainty_get_type), (register_gst_index_entry_type),
1187 (gst_index_entry_type_get_type),
1188 (register_gst_index_lookup_method),
1189 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1190 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1191 (gst_index_resolver_method_get_type), (register_gst_index_flags),
1192 (gst_index_flags_get_type), (register_gst_debug_level),
1193 (gst_debug_level_get_type), (register_gst_debug_color_flags),
1194 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1195 (gst_iterator_result_get_type), (register_gst_iterator_item),
1196 (gst_iterator_item_get_type), (register_gst_message_type),
1197 (gst_message_type_get_type), (register_gst_mini_object_flags),
1198 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1199 (gst_pad_link_return_get_type), (register_gst_flow_return),
1200 (gst_flow_return_get_type), (register_gst_activate_mode),
1201 (gst_activate_mode_get_type), (register_gst_pad_direction),
1202 (gst_pad_direction_get_type), (register_gst_pad_flags),
1203 (gst_pad_flags_get_type), (register_gst_pad_presence),
1204 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1205 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1206 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1207 (gst_plugin_error_get_type), (register_gst_plugin_flags),
1208 (gst_plugin_flags_get_type), (register_gst_rank),
1209 (gst_rank_get_type), (register_gst_query_type),
1210 (gst_query_type_get_type), (register_gst_tag_merge_mode),
1211 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1212 (gst_tag_flag_get_type), (register_gst_task_state),
1213 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1214 (gst_alloc_trace_flags_get_type),
1215 (register_gst_type_find_probability),
1216 (gst_type_find_probability_get_type), (register_gst_uri_type),
1217 (gst_uri_type_get_type), (register_gst_parse_error),
1218 (gst_parse_error_get_type):
1219 * win32/common/gstenumtypes.h:
1220 * win32/common/gstversion.h:
1221 update visual studio generated files
1223 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1225 * win32/vs6/libgstbase.dsp:
1226 * win32/vs6/libgstelements.dsp:
1227 update project files for new locations
1229 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1234 reinstate and update
1239 * docs/random/LICENSE:
1242 2005-11-30 Edward Hervey <edward@fluendo.com>
1244 * gst/gsttypefind.c: (gst_type_find_register):
1245 * gst/gsttypefind.h:
1246 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1247 (gst_type_find_factory_dispose):
1248 * gst/gsttypefindfactory.h:
1249 Fix memory leak in GstTypeFindFactory.
1251 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1254 * plugins/elements/Makefile.am:
1255 * plugins/elements/gstelements.c:
1256 * plugins/elements/gstqueue.c:
1257 move queue from core to the elements plugin
1259 2005-11-29 Andy Wingo <wingo@pobox.com>
1261 * libs/gst/base/gstbasetransform.h:
1262 * libs/gst/base/gstbasesrc.h:
1263 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1265 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1266 of pointers by which to pad very extensible base classes (like the
1267 ones in libs/gst/base).
1269 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1271 * docs/gst/gstreamer-docs.sgml:
1272 * docs/gst/gstreamer-sections.txt:
1273 * docs/libs/gstreamer-libs-docs.sgml:
1274 * docs/libs/gstreamer-libs-sections.txt:
1275 moving documentation from core to lib
1277 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1279 * check/Makefile.am:
1281 * docs/gst/Makefile.am:
1283 * gst/base/.cvsignore:
1284 * gst/base/Makefile.am:
1286 * gst/base/gstadapter.c:
1287 * gst/base/gstadapter.h:
1288 * gst/base/gstbasesink.c:
1289 * gst/base/gstbasesink.h:
1290 * gst/base/gstbasesrc.c:
1291 * gst/base/gstbasesrc.h:
1292 * gst/base/gstbasetransform.c:
1293 * gst/base/gstbasetransform.h:
1294 * gst/base/gstcollectpads.c:
1295 * gst/base/gstcollectpads.h:
1296 * gst/base/gstpushsrc.c:
1297 * gst/base/gstpushsrc.h:
1298 * gst/base/gsttypefindhelper.c:
1299 * gst/base/gsttypefindhelper.h:
1300 * gst/check/Makefile.am:
1301 * gst/check/gstcheck.c:
1302 * gst/check/gstcheck.h:
1303 * gst/net/Makefile.am:
1305 * gst/net/gstnetclientclock.c:
1306 * gst/net/gstnetclientclock.h:
1307 * gst/net/gstnettimepacket.c:
1308 * gst/net/gstnettimepacket.h:
1309 * gst/net/gstnettimeprovider.c:
1310 * gst/net/gstnettimeprovider.h:
1311 * libs/gst/Makefile.am:
1312 * libs/gst/base/Makefile.am:
1313 * libs/gst/base/gstbasetransform.c:
1314 * libs/gst/check/Makefile.am:
1315 * plugins/elements/Makefile.am:
1317 CVS surgery + support to move base, check, and net out of gst
1320 2005-11-29 Andy Wingo <wingo@pobox.com>
1322 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1324 * gst/gststructure.h (struct _GstStructure): Only one pointer of
1327 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1329 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1331 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1333 * gst/gstobject.h: (struct _GstObject): Only one pointer of
1334 padding; reduces object size by about 30%. We don't expect
1335 anything else to go into gstobject.
1337 * gst/gstminiobject.h (struct _GstMiniObject)
1338 (struct _GstMiniObjectClass): Only one pointer of padding; the
1339 payload is only a pointer and two ints anyway. For the class there
1340 are only two methods as well.
1342 * gst/gstelement.h (struct _GstElementClass): Removed
1343 the state_changed signal callback, it is not used.
1345 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1347 * docs/gst/gstreamer.types:
1348 fix includes, though they are a little dinky
1350 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1352 * check/Makefile.am:
1353 look in the right place for elements, a lot more chance of
1356 remove indexers and elements subdirs
1357 * plugins/Makefile.am:
1358 make indexers conditional
1360 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1364 * plugins/elements/Makefile.am:
1365 * plugins/elements/gstcapsfilter.c:
1366 * plugins/elements/gstfilesink.c:
1367 * plugins/elements/gstfilesrc.c:
1368 * plugins/elements/gstidentity.c:
1369 * plugins/indexers/Makefile.am:
1370 do CVS surgery and related build fixery to move elements
1371 and indexers in a new gstreamer/plugins directory, out of the
1374 2005-11-29 Andy Wingo <wingo@pobox.com>
1376 * check/Makefile.am:
1377 * pkgconfig/gstreamer-net-uninstalled.pc.in:
1378 * pkgconfig/gstreamer-net.pc.in:
1379 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1382 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1384 * tools/Makefile.am:
1385 * tools/gst-complete.1.in:
1386 * tools/gst-complete.c:
1387 * tools/gst-compprep.1.in:
1388 * tools/gst-compprep.c:
1389 removing -compprep and -complete
1391 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1393 * gst/gstevent.c: (gst_event_new_new_segment),
1394 (gst_event_parse_new_segment):
1396 fix #320529 - clean up new_segment API and structure.
1397 Let's hope everyone was using the methods, and not the structure.
1399 2005-11-29 Edward Hervey <edward@fluendo.com>
1401 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1402 (gst_base_sink_event), (gst_base_sink_do_sync),
1403 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1404 Properly handle non GST_FORMAT_TIME segment
1405 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1406 Properly handle non GST_FORMAT_TIME segment
1408 This function is valid if the accumulator is 0 and the format
1409 is different from the requested format.
1411 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
1413 * docs/gst/gstreamer-sections.txt:
1414 Add gst_query_new_seeking and gst_query_parse_seeking to the
1417 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
1419 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1420 Treat a pad alloc with new caps the same as if we were not
1421 negotiated, in order to allow a changing upstream output
1422 to produce a new format of data.
1424 2005-11-29 Edward Hervey <edward@fluendo.com>
1426 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1427 (gst_base_transform_event), (gst_base_transform_eventfunc):
1428 The event virtual method is now properly implemented, with a default
1430 Sub classes should call the parent_class event method. They should
1431 return FALSE if they had a problem handling the given event, or don't
1432 want GstBaseTransform to send that even downstream
1433 * gst/elements/gstidentity.c: (gst_identity_class_init),
1434 (gst_identity_init), (gst_identity_event),
1435 (gst_identity_transform_ip), (gst_identity_set_property),
1436 (gst_identity_get_property):
1437 * gst/elements/gstidentity.h:
1438 Added the single-segment boolean property.
1439 If set to TRUE, it will output a single segment of data, starting from
1440 0, will eat up all incoming newsegment, and modify the timestamp of the
1443 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
1445 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1446 Don't ref NULL target pad (#322751). Improve docs.
1448 2005-11-29 Michael Smith <msmith@fluendo.com>
1450 * gst/gstregistryxml.c: (load_plugin):
1451 Don't crash if we failed to load a feature from a plugin.
1453 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1455 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1457 use more check API and less GLib API
1459 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1462 don't run checks if we don't have check
1464 remove the registry when running make torture
1465 * docs/gst/gstreamer-sections.txt:
1466 remove second multiply
1467 * gst/gstqueue.c: (gst_queue_loop):
1468 fix a compile warning when disabling debug
1470 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1473 Hey! Let's print the pad name if the pointer != NULL instead
1474 of when it == NULL :-)
1476 2005-11-28 Wim Taymans <wim@fluendo.com>
1478 * check/gst/gstutils.c: (GST_START_TEST):
1479 Updated check, add some scaling accuracy checking code.
1481 * gst/gstutils.c: (gst_util_div128_64),
1482 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1483 (gst_util_uint64_scale_int):
1484 Fix 6 times faster division code. Optimize for common
1485 1/1 and less common X/1 cases.
1487 2005-11-28 Wim Taymans <wim@fluendo.com>
1489 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1492 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1493 (do_linear_regression), (gst_clock_add_observation):
1495 Release lock when the clock cannot be slaved.
1496 Catch the case where the regression returned an invalid denominator.
1498 * gst/gstutils.c: (gst_util_div128_64_iterate),
1499 (gst_util_div128_64), (gst_util_uint64_scale_int64),
1500 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1501 Add protentially more performant non-iterative 128/64 divide function
1502 that unfortunatly does not work yet.
1503 Shortcut the trivial 0/X = 0 case.
1504 Remove the warnings on overflow.
1506 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1508 * gst/gstplugin.c: (gst_plugin_register_func):
1509 everything causing a plugin not to load should be at least a WARNING
1511 2005-11-28 Stefan Kost <ensonic@users.sf.net>
1513 * docs/random/ensonic/dparams.txt:
1514 some TODOs for the next dev cycle
1515 * libs/gst/controller/gstcontroller.c:
1516 (gst_controlled_property_set_interpolation_mode),
1517 (gst_controlled_property_new):
1518 * libs/gst/controller/gstcontroller.h:
1519 use base type to assign acccessor functions
1521 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1523 * check/Makefile.am:
1524 Oops, that should have been top_srcdir
1526 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1528 * check/Makefile.am:
1529 * check/elements/fdsrc.c: (GST_START_TEST):
1530 Use a cmdline define to specify the location of a file to use for
1531 testing, to avoid breaking distcheck.
1533 2005-11-28 Andy Wingo <wingo@pobox.com>
1535 * gst/gstpad.c (fixate_value): Use array functions for arrays.
1537 2005-11-28 Edward Hervey <edward@fluendo.com>
1539 * tools/gst-launch.c: (main):
1540 Clarify the output strings, makes it easier to translate.
1543 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1546 don't try and build net if we don't even have <sys/socket.h>
1548 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
1550 * check/Makefile.am:
1551 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1552 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1553 Add tests for fdsrc seekability
1555 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1556 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1557 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1558 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1559 * gst/elements/gstfdsrc.h:
1560 fdsrc should not be a 'live' source.
1561 Implement seeking on seekable fd's.
1563 * gst/gstquery.c: (gst_query_new_seeking),
1564 (gst_query_parse_seeking):
1566 Implement SEEKING query functions:
1567 *_new_seeking and *_parse_seeking
1569 2005-11-27 Stefan Kost <ensonic@users.sf.net>
1571 * gst/gstelement.c: (gst_element_dispose):
1574 * gst/gstiterator.c:
1575 * gst/gststructure.c:
1578 * libs/gst/controller/gstcontroller.c:
1579 (gst_controlled_property_set_interpolation_mode):
1580 * libs/gst/controller/gstcontroller.h:
1581 * libs/gst/controller/gstinterpolation.c:
1582 (interpolate_none_get_enum_value_array):
1583 support controlling enums
1585 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1588 Improve documentation for gst_value_union().
1591 Change return value for union, intersect and subtract functions
1592 from gint to gboolean.
1594 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1596 * gst/gstvalue.c: (gst_value_serialize_any_list),
1597 (gst_value_transform_any_list_string),
1598 (gst_value_deserialize_list), (gst_value_deserialize_array),
1599 (gst_value_set_int_range), (gst_value_deserialize_int_range),
1600 (gst_value_set_double_range), (gst_value_deserialize_double_range),
1601 (gst_value_set_fraction_range_full),
1602 (gst_value_deserialize_fraction_range),
1603 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1604 (gst_value_deserialize_boolean),
1605 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1606 (gst_value_serialize_float), (gst_value_deserialize_float),
1607 (gst_string_wrap), (gst_value_deserialize_string),
1608 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1609 (gst_value_union_int_range_int_range),
1610 (gst_value_intersect_int_range_int_range),
1611 (gst_value_intersect_double_range_double_range),
1612 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1613 (gst_value_subtract_int_range_int_range),
1614 (gst_value_subtract_double_double_range),
1615 (gst_value_subtract_double_range_double_range),
1616 (gst_value_deserialize_fraction):
1618 Use gint, gdouble and gchar in our API instead of int, double and
1619 char (and make usage in gstvalue.c more consistent).
1621 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1623 * check/Makefile.am:
1624 * libs/gst/controller/Makefile.am:
1625 * libs/gst/dataprotocol/Makefile.am:
1626 fix up Makefile.am and remove GST_ENABLE_NEW
1628 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1632 * gst/base/Makefile.am:
1633 * gst/check/Makefile.am:
1634 * gst/elements/Makefile.am:
1635 * gst/net/Makefile.am:
1636 update LDFLAGS use some more
1638 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1640 * common/m4/gst-doc.m4:
1643 2005-11-26 Edward Hervey <edward@fluendo.com>
1645 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1646 This shouldn't issue a g_warning since it returns NULL if it
1647 couldn't find the plugin, and all functions using this behave
1648 properly on a NULL return. Switching to a GST_WARNING.
1650 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
1652 * gst/gstbin.c: (gst_bin_handle_message_func):
1653 Don't leak clock messages.
1655 2005-11-25 Wim Taymans <wim@fluendo.com>
1657 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1658 (gst_util_uint64_scale_int):
1659 Optimisations, remove unneeded vars.
1661 2005-11-25 Wim Taymans <wim@fluendo.com>
1663 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1664 Added more checks for the high precision uint64 cases.
1666 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1667 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1668 Implement high precision (guint64 * guint64) / guint64.
1670 2005-11-24 Wim Taymans <wim@fluendo.com>
1672 * gst/base/gstbasesrc.c: (gst_base_src_query):
1673 Fix wrong percentage query.
1675 * gst/gstutils.c: (gst_util_uint64_scale),
1676 (gst_util_uint64_scale_int):
1677 Add some more common cases that can be handled
1678 efficiently to _scale.
1680 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1682 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1683 (gst_mini_object_suite):
1684 don't use check calls from threads; check probably isn't
1685 threadsafe and using a lock to make it threadsafe would
1686 defeat the purpose of this check
1687 * gst/check/gstcheck.c:
1688 * gst/check/gstcheck.h:
1689 use GST_DEBUG some more
1691 2005-11-24 Wim Taymans <wim@fluendo.com>
1693 * gst/gstutils.c: (gst_util_uint64_scale),
1694 (gst_util_uint64_scale_int):
1695 Chain trivial case to _scale_int.
1697 2005-11-24 Wim Taymans <wim@fluendo.com>
1699 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1700 Added test for scaling.
1705 * gst/gstutils.c: (gst_util_uint64_scale_int):
1706 Implemented high precision scaling code.
1708 2005-11-24 Stefan Kost <ensonic@users.sf.net>
1711 do not crash on pad==NULL
1713 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1715 Patch by: Stefan Kost
1717 * common/gtk-doc.mak:
1718 * docs/gst/Makefile.am:
1719 * docs/libs/Makefile.am:
1720 Fix distcheck issues for the libraries docs build
1723 2005-11-24 Michael Smith <msmith@fluendo.com>
1725 * docs/manual/basics-helloworld.xml:
1726 Fix bug #315027: memory leak in example code in docs.
1728 2005-11-24 Michael Smith <msmith@fluendo.com>
1730 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1731 Unlock the PREROLL_LOCK in a failure case.
1733 2005-11-24 Wim Taymans <wim@fluendo.com>
1735 * docs/gst/gstreamer-sections.txt:
1736 * gst/base/gstadapter.h:
1737 * gst/base/gstbasesink.h:
1738 * gst/base/gstbasesrc.h:
1739 * gst/base/gstbasetransform.h:
1740 * gst/base/gstpushsrc.h:
1741 * gst/elements/gstfakesink.h:
1742 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1743 * gst/elements/gstfakesrc.h:
1744 * gst/elements/gstfilesink.h:
1745 * gst/elements/gstfilesrc.h:
1748 * gst/gstbuffer.c: (_gst_buffer_copy):
1751 * gst/gstchildproxy.c:
1754 * gst/gstelementfactory.c:
1755 * gst/gstelementfactory.h:
1757 * gst/gstghostpad.h:
1759 * gst/gstinterface.h:
1760 * gst/gstminiobject.c:
1761 * gst/gstminiobject.h:
1764 * gst/gstpadtemplate.h:
1765 * gst/gstpipeline.h:
1766 * gst/gstpluginfeature.h:
1771 * gst/gsttagsetter.c:
1772 * gst/gsttagsetter.h:
1775 * gst/gsttypefind.h:
1778 * gst/net/gstnetclientclock.c:
1779 * gst/net/gstnetclientclock.h:
1780 * gst/net/gstnettimepacket.c:
1781 * gst/net/gstnettimeprovider.c:
1782 * gst/net/gstnettimeprovider.h:
1785 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1787 * configure.ac: back to HEAD
1789 === release 0.9.6 ===
1791 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1794 releasing 0.9.6, "Always On Time"
1796 2005-11-23 Wim Taymans <wim@fluendo.com>
1798 * docs/gst/gstreamer-sections.txt:
1799 * gst/glib-compat.c:
1800 * gst/gsttagsetter.c:
1802 * gst/net/gstnetclientclock.c:
1803 * gst/net/gstnettimepacket.h:
1806 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1808 * docs/faq/using.xml:
1809 * docs/libs/tmpl/gstcontrol.sgml:
1810 * docs/manual/advanced-dparams.xml:
1811 * docs/manual/appendix-checklist.xml:
1812 * docs/manual/basics-elements.xml:
1813 * docs/pwg/other-source.xml:
1814 * docs/random/moving-plugins:
1816 * tools/gst-launch.1.in:
1817 remove mentions of sinesrc
1819 2005-11-23 Michael Smith <msmith@fluendo.com>
1821 * docs/gst/gstreamer-sections.txt:
1822 Update for new API and API changes.
1824 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1826 Documentation typo fix.
1827 * gst/net/gstnettimepacket.c:
1828 Documentation fixes for arguments.
1830 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
1832 * gst/gststructure.c: (gst_structure_get_fraction),
1833 (gst_structure_parse_value),
1834 (gst_structure_fixate_field_nearest_fraction):
1835 * gst/gststructure.h:
1836 * gst/gstutils.c: (gst_util_uint64_scale_int):
1838 * scripts/update-funcnames:
1840 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1841 Make gst_structure_fixate_field_nearest_fraction take a numerator
1842 and denominator argument instead of a GValue
1843 add gst_structure_get_fraction helper function.
1845 2005-11-23 Wim Taymans <wim@fluendo.com>
1847 * docs/design/part-TODO.txt:
1850 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1851 * gst/net/gstnetclientclock.h:
1852 Use parent fields for timeout and window_size.
1854 2005-11-23 Andy Wingo <wingo@pobox.com>
1856 * check/net/gstnetclientclock.c (test_functioning): Adjust to
1857 rate_num/rate_denom change.
1859 * gst/net/gstnetclientclock.c
1860 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1861 OBJECT_LOCK. Don't call add_observation with the lock.
1863 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1865 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1867 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1868 deal with rate as a fraction whose numerator and denominator are
1869 GstClockTime values.
1870 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1871 master; the other fields are protected by the SLAVE_LOCK.
1872 (do_linear_regression): Note that this must be called with the
1874 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1875 OBJECT_LOCK. Call set_calibration instead of touching the
1877 (gst_clock_set_property, gst_clock_get_property): Protect
1878 master/slave parameters with the SLAVE_LOCK.
1880 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1881 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1882 note that all of the instance variables that add_observation and
1883 the set_master functions use are protected by that lock and not
1885 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1887 * gst/gstclock.c (gst_clock_add_observation): No longer requires
1888 the caller to take the object lock.
1890 2005-11-23 Wim Taymans <wim@fluendo.com>
1892 * gst/gsterror.c: (_gst_core_errors_init):
1894 Add error for clock stuff.
1896 * gst/gstpipeline.c: (gst_pipeline_change_state),
1897 (gst_pipeline_set_clock):
1898 Post clock error when clock cannot be used in a pipeline.
1900 2005-11-23 Stefan Kost <ensonic@users.sf.net>
1902 * docs/gst/gstreamer-sections.txt:
1903 make two symbols from gstinfo private for the docs
1904 * gst/base/gstcollectpads.h:
1906 fix doc typos, update docs
1908 2005-11-22 Wim Taymans <wim@fluendo.com>
1910 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1911 (gst_base_sink_wait), (gst_base_sink_do_sync),
1912 (gst_base_sink_handle_event):
1913 * gst/base/gstbasesink.h:
1914 No need to store the clock, the parent element class already
1917 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1918 Updates for clock_set returning a gboolean
1920 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1921 (gst_clock_id_wait_async), (gst_clock_class_init),
1922 (gst_clock_init), (gst_clock_finalize),
1923 (gst_clock_get_internal_time), (gst_clock_get_time),
1924 (gst_clock_slave_callback), (gst_clock_set_master),
1925 (gst_clock_get_master), (do_linear_regression),
1926 (gst_clock_add_observation), (gst_clock_set_property),
1927 (gst_clock_get_property):
1929 Implement master/slave. When setting a clock as a slave, a
1930 periodic timeout is scheduled to sample master and slave times.
1931 Then the slave clock is recalibrated to match offset and rate
1932 of the master clock.
1933 Update logging a bit.
1934 Add flag so that a clock can state that is cannot be slaved to
1937 * gst/gstelement.c: (gst_element_set_clock):
1939 The set clock returns a gboolean for when an element cannot
1940 deal with the selected clock in the pipeline.
1942 * gst/gstpipeline.c: (gst_pipeline_change_state),
1943 (gst_pipeline_set_clock):
1944 * gst/gstpipeline.h:
1945 Handle the case where the selected clock cannot be set on
1948 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1949 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1950 (gst_net_client_clock_set_property),
1951 (gst_net_client_clock_get_property),
1952 (gst_net_client_clock_observe_times):
1953 * gst/net/gstnetclientclock.h:
1954 Use regression code in GstClock parent, remove duplicated
1957 2005-11-22 Michael Smith <msmith@fluendo.com>
1959 * gst/gstutils.c: (gst_util_clock_time_scale):
1961 * docs/gst/gstreamer-sections.txt:
1962 Rename method to have extra underscore.
1964 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
1966 * gst/elements/Makefile.am:
1967 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1968 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1969 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1970 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1971 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1972 * gst/elements/gstfakesrc.h:
1973 * gst/gstqueue.c: (queue_leaky_get_type):
1974 correctly fix GEnumValues so that nick is the short lowercase
1976 * tools/gst-inspect.c: (print_element_properties_info):
1977 also show the nick, since it's useful to use from parse_launch
1981 2005-11-22 Michael Smith <msmith@fluendo.com>
1983 * gst/gstutils.c: (gst_util_clocktime_scale):
1985 * docs/gst/gstreamer-sections.txt:
1986 Add util method for scaling a clocktime by a fraction. Useful
1987 implementation is left as an exercise for the reader.
1989 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1991 * gst/gstvalue.c: (gst_value_collect_fraction_range):
1992 If needed, allocate storage in the destination value during
1995 2005-11-22 Edward Hervey <edward@fluendo.com>
1997 * docs/gst/gstreamer-sections.txt:
2002 * gst/gstutils.c: (gst_util_set_object_arg):
2003 * tools/gst-compprep.c: (main):
2004 * tools/gst-inspect.c: (print_element_properties_info):
2005 Removed GstURI, closes bug #321061
2007 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2009 * check/gst/gststructure.c: (GST_START_TEST):
2010 * gst/gststructure.c: (gst_structure_parse_value):
2011 Oops, broke automatic string type parsing.
2012 Add a test to catch it in future.
2014 2005-11-22 Andy Wingo <wingo@pobox.com>
2016 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
2017 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2018 Actually rename the function implementations. Grr.
2020 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2022 * check/gst/capslist.h:
2024 * check/gst/gststructure.c: (GST_START_TEST),
2025 (gst_structure_suite):
2026 Test automatic value type detection in gst_structure_from_string.
2027 * gst/gststructure.c: (gst_structure_parse_value):
2028 Add fraction as a type we try and guess automatically in
2029 caps/structure strings.
2031 2005-11-22 Andy Wingo <wingo@pobox.com>
2033 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2035 * gst/gsttagsetter.h:
2036 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2037 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2038 (gst_tag_setter_add_tag_valist)
2039 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2040 _add_values, _add_valist, and _add_valist_values. Since this is an
2041 interface the function suffixes should be more explicit so
2042 language binding don't end up with element.add_valist ->
2043 gst_tag_setter_add_valist, for example. Fixes #322069.
2045 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2047 * check/gst/gstcaps.c: (GST_START_TEST):
2048 Extend caps string tests to check that a caps to string
2049 conversion is reversible and produces the same caps.
2051 * gst/gststructure.c: (gst_structure_value_get_generic_type):
2052 Output "fraction" as the generic type fraction range, so caps
2053 serialisation and deserialisation works.
2054 * check/gst/capslist.h:
2055 * gst/gstvalue.c: (gst_value_deserialize_fraction):
2056 Support 'MIN' and 'MAX' for deserialising fractions.
2058 2005-11-22 Andy Wingo <wingo@pobox.com>
2060 * gst/gstevent.h (gst_event_new_new_segment)
2061 (gst_event_parse_new_segment, gst_event_new_buffer_size)
2062 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2063 Renamed from *_newsegment, *_buffersize, *_notarget.
2065 * scripts/update-funcnames: New script, performs the changes
2068 2005-11-22 Wim Taymans <wim@fluendo.com>
2070 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2071 Make sure the GstFlowReturn is returned.
2073 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2074 (gst_bus_add_signal_watch):
2076 add gst_bus_add_signal_watch_full.
2078 * gst/gstplugin.c: (gst_plugin_load_file):
2079 Small style cleanup.
2081 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2083 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2084 Block the fakesrc srcpad when we send an event, to avoid
2085 contention on the stream_lock causing random test failures.
2087 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2089 * check/gst/gstvalue.c: (GST_START_TEST):
2090 * gst/gstvalue.c: (gst_value_fraction_subtract):
2093 2005-11-22 Stefan Kost <ensonic@users.sf.net>
2096 include "gstchildproxy.h"
2097 * gst/gstchildproxy.h:
2098 * libs/gst/controller/gstcontroller.h:
2099 use G_GNUC_NULL_TERMINATED
2101 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
2103 * check/gst/capslist.h:
2104 * check/gst/gstcaps.c: (GST_START_TEST):
2105 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2106 * gst/gststructure.c: (gst_structure_parse_range),
2107 (gst_structure_fixate_field_nearest_fraction):
2108 * gst/gststructure.h:
2109 * gst/gstvalue.c: (gst_value_init_fraction_range),
2110 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2111 (gst_value_collect_fraction_range),
2112 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2113 (gst_value_set_fraction_range_full),
2114 (gst_value_get_fraction_range_min),
2115 (gst_value_get_fraction_range_max),
2116 (gst_value_serialize_fraction_range),
2117 (gst_value_transform_fraction_range_string),
2118 (gst_value_compare_fraction_range),
2119 (gst_value_deserialize_fraction_range),
2120 (gst_value_intersect_fraction_fraction_range),
2121 (gst_value_intersect_fraction_range_fraction_range),
2122 (gst_value_subtract_fraction_fraction_range),
2123 (gst_value_subtract_fraction_range_fraction),
2124 (gst_value_subtract_fraction_range_fraction_range),
2125 (gst_value_collect_fraction), (gst_value_fraction_multiply),
2126 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2127 (gst_value_transform_string_fraction), (_gst_value_initialize):
2129 Implement fraction ranges and extend GstFraction to support
2130 arithmetic subtraction, as well as deserialization from integer
2131 strings such as "100"
2132 Add a testsuite as for int and double range set operations
2134 2005-11-21 Andy Wingo <wingo@pobox.com>
2138 * gst/gststructure.h: Add glib-compat.h.
2140 2005-11-21 Wim Taymans <wim@fluendo.com>
2142 * gst/gstbin.c: (gst_bin_change_state_func):
2145 2005-11-21 Wim Taymans <wim@fluendo.com>
2148 And add a nice define too.
2150 2005-11-21 Wim Taymans <wim@fluendo.com>
2152 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2153 (gst_segment_new), (gst_segment_free), (gst_segment_init),
2154 (gst_segment_set_duration), (gst_segment_set_last_stop),
2155 (gst_segment_set_seek), (gst_segment_set_newsegment),
2156 (gst_segment_to_stream_time), (gst_segment_to_running_time),
2159 Make binding friendly.
2161 2005-11-21 Andy Wingo <wingo@pobox.com>
2163 * gst/gsttagsetter.h:
2165 * gst/gststructure.h:
2167 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2170 * gst/gsterror.c (_gst_core_errors_init):
2171 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2174 * gst/Makefile.am (gst_headers): Add glib-compat.h.
2175 (noinst_HEADERS): noinst the -private.
2177 2005-11-21 Michael Smith <msmith@fluendo.com>
2180 * gst/gstregistry.h:
2181 Remove unimplemented declarations for which we can see no sensible
2184 2005-11-21 Andy Wingo <wingo@pobox.com>
2186 * gst/gst.h: Include glib-compat.h.
2188 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2190 * gst/glib-compat.c: Include the public and the private header.
2192 * gst/glib-compat-private.h: Copied here from glib-compat.h.
2196 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2198 * check/gst/gstevent.c (create_custom_events): Check that
2199 FLUSH_STOP is serialized.
2201 * check/elements/identity.c (event_func):
2202 * check/elements/fakesrc.c (event_func): No stream lock, the core
2205 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2206 stream lock taking, yay.
2208 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2209 ensure that core takes the stream lock.
2211 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2214 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2215 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2216 it already. For the flush start we do take it though so we get the
2217 right preroll state change messages.
2219 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2220 the stream lock here, the core does it for us.
2222 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2223 GST_STREAM_GET_LOCK.
2224 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
2225 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
2226 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2227 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2228 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
2229 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2231 * gst/gstpad.c: Update for stream lock name change.
2233 * gst/base/gstbasesink.c: Update for preroll lock name change.
2235 2005-11-21 Wim Taymans <wim@fluendo.com>
2237 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2238 (gst_clock_get_master):
2240 * gst/gstsystemclock.c: (gst_system_clock_init):
2241 Convert Clock flags to object flags.
2242 Added methods to manage master/slave clocks.
2244 2005-11-21 Wim Taymans <wim@fluendo.com>
2246 * check/gst/gstsegment.c: (GST_START_TEST):
2247 * docs/design/part-TODO.txt:
2248 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2249 (gst_base_sink_event), (gst_base_sink_do_sync),
2250 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2251 (gst_base_sink_query), (gst_base_sink_change_state):
2252 * gst/base/gstbasesink.h:
2253 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2254 (gst_base_src_default_newsegment),
2255 (gst_base_src_configure_segment), (gst_base_src_do_seek),
2256 (gst_base_src_get_range), (gst_base_src_loop),
2257 (gst_base_src_change_state):
2258 * gst/base/gstbasesrc.h:
2259 * gst/base/gstbasetransform.c:
2260 (gst_base_transform_prepare_output_buf),
2261 (gst_base_transform_event), (gst_base_transform_change_state):
2262 * gst/base/gstbasetransform.h:
2263 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2264 (gst_collect_pads_event):
2265 * gst/base/gstcollectpads.h:
2266 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2267 (gst_fake_src_create):
2268 * gst/elements/gstfakesrc.h:
2269 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2270 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2271 (gst_segment_set_last_stop), (gst_segment_set_seek),
2272 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2273 (gst_segment_to_running_time), (gst_segment_clip):
2275 More segment updates, replace code in plugins with segment
2278 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2280 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2281 Don't ignore sscanf results
2283 2005-11-21 Andy Wingo <wingo@pobox.com>
2285 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2288 * *.c: Ran scripts/update-macros. Oh yes.
2290 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2291 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2294 * scripts/update-macros: New script. Run it on your files to
2295 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2298 2005-11-21 Stefan Kost <ensonic@users.sf.net>
2300 * docs/gst/Makefile.am:
2301 * docs/gst/gstreamer-docs.sgml:
2302 * docs/gst/gstreamer-sections.txt:
2303 * docs/gst/gstreamer.types:
2305 more docs fixes, add new api to the docs
2307 2005-11-21 Andy Wingo <wingo@pobox.com>
2309 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2310 state_broadcast call.
2312 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2314 2005-11-21 Julien MOUTTE <julien@moutte.net>
2316 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2317 function calls for arrays.
2319 2005-11-21 Stefan Kost <ensonic@users.sf.net>
2321 * docs/random/ensonic/media-device-daemon.txt:
2322 wild idea, can this be done?
2323 * docs/gst/gstreamer-sections.txt:
2328 * gst/gstpluginfeature.c:
2332 doc fixes and additions
2334 2005-11-21 Andy Wingo <wingo@pobox.com>
2336 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
2337 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
2338 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
2339 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2340 private to the basesrc implementation.
2342 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2343 behalf of event function if necessary. It should no longer be
2344 necessary to take the stream lock in pad's event functions. Fixes
2347 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2348 * docs/gst/gstreamer-sections.txt:
2349 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2350 (gst_structure_fixate_field_nearest_double),
2351 (gst_structure_fixate_field_boolean):
2352 * gst/gststructure.h:
2353 * win32/common/libgstreamer.def:
2354 * win32/gstreamer.def:
2356 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2359 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2361 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2362 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2363 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2364 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2365 (gst_fdsrc_uri_handler_init):
2366 * gst/elements/gstfdsrc.h:
2367 Port fd:// URI handler from 0.8 to fdsrc
2369 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2371 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2372 (gst_value_serialize_fourcc):
2374 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2375 consistent with our other format defines (#320324).
2377 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2379 * gst/gstvalue.c: (gst_value_is_fixed):
2380 Revert previous commit. Value lists are by definition
2381 not fixed, as they are a list of possible values.
2383 2005-11-21 Andy Wingo <wingo@pobox.com>
2385 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2386 during the stable series if we need it. Fixes #319178.
2388 * gst/gstevent.c (gst_event_new_filler): Removed.
2390 * check/gst/gstevent.c: Update comment about filler events.
2392 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2394 * gst/gstvalue.c: (gst_value_is_fixed):
2395 Should handle both value arrays and value lists.
2397 2005-11-21 Andy Wingo <wingo@pobox.com>
2399 patch by: Alessandro Dessina <alessandro nnva org>
2401 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2402 functions to access arrays. Fixes #321962.
2404 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2406 * docs/gst/gstreamer.types:
2407 gst_collectpads_get_type => gst_collect_pads_get_type.
2409 * gst/base/gstbasetransform.c:
2410 Remove unused SIGNAL_HANDOFF enum.
2412 2005-11-21 Andy Wingo <wingo@pobox.com>
2414 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2415 the event type (upstream, downstream, serialized). Renamed
2416 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2417 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2418 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2420 * gst/gstevent.c: Update for new CUSTOM event names.
2422 * check/gst/gstevent.c: Update check for new CUSTOM event names.
2425 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2428 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2430 * docs/gst/gstreamer-sections.txt:
2431 * win32/common/libgstbase.def:
2432 * win32/libgstbase.def:
2433 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2434 (gst_collect_pads_class_init), (gst_collect_pads_init),
2435 (gst_collect_pads_finalize), (gst_collect_pads_new),
2436 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2437 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2438 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2439 (gst_collect_pads_start), (gst_collect_pads_stop),
2440 (gst_collect_pads_peek), (gst_collect_pads_pop),
2441 (gst_collect_pads_available), (gst_collect_pads_read),
2442 (gst_collect_pads_flush), (gst_collect_pads_event),
2443 (gst_collect_pads_chain):
2444 * gst/base/gstcollectpads.h:
2445 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2446 unimplemented functions as unimplemented. Add padding to
2447 GstCollectData. (#320766, #320423)
2449 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2452 Improve docs for DURATION message (usage of duration parameter)
2455 2005-11-20 Wim Taymans <wim@fluendo.com>
2457 * check/Makefile.am:
2458 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2462 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2463 (gst_segment_set_seek), (gst_segment_set_newsegment),
2464 (gst_segment_to_stream_time), (gst_segment_to_running_time),
2467 Added segment helper structure and methods. Not fully implemented
2469 Added segment check.
2471 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
2473 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2474 Add a deserialisation test for fractions
2475 * examples/metadata/read-metadata.c: (message_loop),
2476 (make_pipeline), (main):
2477 Fix up metadata reading sample.
2478 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2480 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2481 Don't try and fixate empty caps
2482 * gst/gst_private.h:
2483 Wrap in G_BEGIN_DECLS/G_END_DECLS
2484 * gst/gstvalue.c: (gst_value_collect_fraction),
2485 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2486 (gst_value_transform_string_fraction),
2487 (gst_value_compare_fraction):
2488 Add some extra guards to ensure that we don't end up
2489 with an invalid denominator of 0 in a gstfraction and
2490 that fractions always get reduced.
2492 2005-11-20 Wim Taymans <wim@fluendo.com>
2494 * docs/gst/gstreamer-sections.txt:
2505 2005-11-20 Wim Taymans <wim@fluendo.com>
2507 * docs/design/part-TODO.txt:
2509 Make a proper enum of the flag.
2511 2005-11-19 Wim Taymans <wim@fluendo.com>
2513 * docs/design/part-TODO.txt:
2514 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2515 (gst_format_to_quark), (gst_format_register):
2517 * gst/gstquery.c: (_gst_query_initialize),
2518 (gst_query_type_get_name), (gst_query_type_to_quark),
2519 (gst_query_type_register):
2521 Add type to quark and type to string conversions.
2523 2005-11-19 Andy Wingo <wingo@pobox.com>
2525 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2528 2005-11-19 Wim Taymans <wim@fluendo.com>
2530 * docs/design/part-TODO.txt:
2531 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2532 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2533 (gst_bin_handle_message_func):
2535 Make message handling overridable.
2537 2005-11-19 Andy Wingo <wingo@pobox.com>
2539 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2542 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2544 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2545 is a GstClockTime. Fixes #321710.
2547 * gst/gstclock.h (GstClock): Remove offset property. Add
2548 internal_calibration and external_calibration. Fix padding. Pad
2549 also by GstClockTime so we don't run into problems.
2551 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2552 (gst_clock_get_rate_offset): Remove.
2553 (gst_clock_set_time_adjust): Remove. Fixes #321712.
2556 * gst/gstutils.c (g_static_rec_cond_wait)
2557 (g_static_rec_cond_timed_wait): Removed, no longer needed.
2559 * gst/gstbin.c: Remove terrible continue_state prototype.
2561 * gst/gstelement.h (gst_element_continue_state): Make public.
2564 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2565 by continue_state. Fixes #319389.
2567 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2568 Really fixes #168438. However I don't see anywhere where the
2569 filter function is called... stupid GStreamer...
2571 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2572 don't have a dispose function, so it won't get called when the
2573 object is unreffed, but oh well!
2575 * gst/gstindex.c (gst_index_set_filter_full): New API function,
2576 allows a destroy function to be set so user_data can be freed.
2578 (gst_index_set_filter): Call gst_index_set_filter_full.
2580 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2582 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2583 string should produce an error, given the lack of a way to
2584 represent NULL strings. Fixes #165650.
2587 * gst/gstvalue.c (gst_value_array_append_value)
2588 (gst_value_array_prepend_value, gst_value_array_get_size)
2589 (gst_value_array_get_value): New API, copied from
2590 gst_value_list_*, only operates on arrays.
2591 (gst_value_list_append_value, gst_value_list_prepend_value)
2592 (gst_value_list_concat, gst_value_list_get_size)
2593 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2595 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2596 init_list, because it works on both.
2597 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2598 (gst_value_copy_list_or_array): Renamed from copy_list.
2599 (gst_value_free_list_or_array): Renamed from free_list.
2600 (gst_value_collect_list_or_array): Renamed from collect_list.
2601 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2602 (gst_value_list_or_array_peek_pointer): Renamed from
2604 (_gst_value_array_value_table, _gst_value_list_value_table):
2605 Update value table functions.
2606 (gst_value_compare_list_or_array): Renamed from compare_list.
2608 * gsttaglist.h: Whoops, foreach function returns void. Also fix
2612 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2613 GstTagList*. Fixes #143472.
2615 * gst/gststructure.h: Clarify what the foreach/map functions can
2616 or can't do to their arguments.
2618 2005-11-18 Wim Taymans <wim@fluendo.com>
2620 * gst/gstclock.c: (gst_clock_set_calibration),
2621 (gst_clock_get_calibration):
2623 Calibration can be set with internal time equal to current
2626 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
2632 2005-11-18 Andy Wingo <wingo@pobox.com>
2635 * pkgconfig/gstreamer-net.pc.in:
2636 * pkgconfig/gstreamer-net-uninstalled.pc.in:
2637 * pkgconfig/Makefile.am: Add net pkgconfig files.
2639 2005-11-18 Stefan Kost <ensonic@users.sf.net>
2642 * gst/gstghostpad.c:
2648 2005-11-18 Andy Wingo <wingo@pobox.com>
2650 * gst/net/gstnetclientclock.c: Turn off debugging.
2652 * check/net/gstnetclientclock.c (test_functioning): Assert that the
2653 times connverge somewhat. Can't make a real test.
2655 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2656 integer arithmetic. Return the minimum of the domain, which can be
2657 set as "internal" for gst_clock_set_calibration.
2658 (gst_net_client_clock_observe_times): Call _set_calibration.
2659 (gst_net_client_clock_new): Call _set_calibration instead of
2662 * check/net/gstnetclientclock.c (test_functioning): Use the right
2666 * gst/gstclock.c (gst_clock_get_calibration)
2667 (gst_clock_set_calibration): New functions, obsolete the ones I
2668 added yesterday. Doh. Precision issues mean we have to extrapolate
2669 from a point in the more recent past than 1970.
2670 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2672 (gst_clock_adjust_unlocked): Use the right calibration data.
2674 2005-11-18 Edward Hervey <edward@fluendo.com>
2676 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2677 Also reset the ->current_* values in READY->PAUSED
2679 2005-11-18 Andy Wingo <wingo@pobox.com>
2681 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2682 Whoops, check the right fd. Also add some debugging.
2683 (gst_net_client_clock_observe_times): Adjust for int64 offset.
2684 (do_linear_regression): Add a crapload of debugging. Subtract off
2685 the minimum values from the input series to discard unneeded bits.
2686 Use only int arithmetic. There is still double arithmetic when
2687 calculating the intercept that needs fixing. Return boolean to
2688 indicate success; FALSE would mean the domain or range is too
2689 great. Still needs fixes.
2691 2005-11-18 Wim Taymans <wim@fluendo.com>
2693 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2694 For the current position in stream time, we need to subtract
2697 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2698 Release lock before calling the callback function of async
2701 2005-11-18 Andy Wingo <wingo@pobox.com>
2703 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2704 Port goes all the way to MAXUINT16.
2706 * gst/net/gstnettimeprovider.c: Make the port range the same as
2707 for the kernel: 0 assigns, otherwise ports are less than
2710 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2713 * check/net/gstnetclientclock.c (test_functioning): Add the start
2716 2005-11-18 Wim Taymans <wim@fluendo.com>
2718 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2719 (gst_bin_remove_func), (bin_bus_handler):
2721 Removing a clock provider from a bin, triggers a clock lost message
2722 so that a new clock will be selected.
2723 Adding a clock to a bin triggers a clock provider message.
2724 Make sure we reselect a clock when we received a clock lost message.
2725 Keep a reference to the element that provided the clock.
2727 2005-11-18 Andy Wingo <wingo@pobox.com>
2729 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2730 the clock initially so it produces values around the base time.
2731 (gst_net_client_clock_class_init): Typo fix.
2732 (gst_net_client_clock_thread): Add note on when the socket gets
2735 2005-11-17 Wim Taymans <wim@fluendo.com>
2737 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2738 Free remote and local time arrays.
2740 2005-11-17 Wim Taymans <wim@fluendo.com>
2742 * gst/net/gstnetclientclock.c: (do_linear_regression),
2743 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2744 Fix compilation, uninitialized vars and a forgotten continue.
2746 2005-11-17 Andy Wingo <wingo@pobox.com>
2748 * check/Makefile.am (check_PROGRAMS):
2749 * check/net/gstnetclientclock.c: Add a most minimal test for the
2750 net client clock. More to come later.
2753 * gst/net/Makefile.am: Add netclientclock.
2755 * gst/net/gstnetclientclock.h:
2756 * gst/net/gstnetclientclock.c: New files, implement an untested
2757 GstClock that takes its time from a network time provider.
2758 Implements the algorithm in network-clock.scm.
2760 * tests/network-clock.scm (*window-size*): Rename from
2762 * tests/network-clock.scm (network-time):
2763 * tests/network-clock-utils.scm (q-push): Update callers.
2765 2005-11-17 Wim Taymans <wim@fluendo.com>
2767 * gst/gstbin.c: (gst_bin_provide_clock_func),
2768 (gst_bin_sort_iterator_new):
2769 And unref the child too..
2771 2005-11-17 Wim Taymans <wim@fluendo.com>
2773 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2774 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2775 Refactor the sort iterator so it can be used while holding the
2777 Make clock selection select a clock closest to the source.
2779 2005-11-17 Michael Smith <msmith@fluendo.com>
2781 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2782 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2784 Anonymous structs are a gcc (and some other compilers) extension, so
2785 don't use them. Since this is only for ABI-compatibility, and our
2786 API/ABI freeze is over in a few days, this whole thing will only
2787 last a few days, so don't bother trying to think up a meaningful
2788 name for the struct.
2790 2005-11-17 Andy Wingo <wingo@pobox.com>
2792 * gst/gstclock.h (GstClock): Add rate and offset properties,
2793 preserving ABI stability. Add rate/offset accessors. Will file bug
2794 for the freeze break.
2796 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2797 and offset, trying to keep precision and avoiding
2799 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2800 functions. Make gst_clock_set_time_adjust obsolete.
2801 (gst_clock_set_time_adjust): Note that this function is obsolete.
2804 * gst/base/gstbasetransform.h: Make the ABI-stability hack
2805 greppable by using GST_PADDING-1+1.
2807 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
2809 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2811 * gst/gstmessage.c: (gst_message_parse_clock_lost):
2812 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2814 * gst/gstpadtemplate.h:
2815 * gst/gstpluginfeature.h:
2816 Don't use c++ style comments in headers (#321638).
2818 2005-11-16 Andy Wingo <wingo@pobox.com>
2820 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2823 * check/net/gstnettimeprovider.c: Check to see that the time
2824 provider actually provides times. Works, yo!
2826 2005-11-16 Wim Taymans <wim@fluendo.com>
2828 * check/Makefile.am:
2831 * check/elements/fakesrc.c: (GST_START_TEST):
2832 Set element to NULL before disposing it.
2834 2005-11-16 Andy Wingo <wingo@pobox.com>
2836 * gst/net/Makefile.am:
2838 * gst/net/gstnettimeprovider.c:
2839 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2840 provider, include it from gstnet.h, and add it to the build.
2842 * gst/net/gstnettimepacket.h:
2843 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2844 sending and receiving.
2846 2005-11-16 Wim Taymans <wim@fluendo.com>
2848 * check/Makefile.am:
2849 Enable valgrind check.
2851 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2852 (gst_fake_src_alloc_buffer):
2855 2005-11-16 Wim Taymans <wim@fluendo.com>
2857 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2858 Call parent finalize too.
2860 2005-11-16 Wim Taymans <wim@fluendo.com>
2862 * check/Makefile.am:
2863 Enable valgrind check that should work fine now.
2865 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2866 * gst/gstqueue.c: (gst_queue_init):
2867 Fix memleaks in pad allocation.
2869 2005-11-16 Andy Wingo <wingo@pobox.com>
2871 * gst/net/Makefile.am:
2872 * gst/net/gstnet.h: New part of core to hold network elements and
2873 objects. Put in core because it exposes API that applications want
2874 to use. The library is named libgstnet-tempname right now because
2875 of the existing libgstnet in gst-plugins-base. Solution is
2876 probably to rename the one in plugins-base; will file a bug for
2879 * gst/net/gstnettimeprovider.c:
2880 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2881 get_time call over the network.
2884 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2886 * check/Makefile.am:
2887 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2888 get additions shortly.
2890 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2892 * gst/gstpad.c: (gst_pad_new_from_static_template):
2894 add gst_pad_new_from_static_template functions
2895 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2896 (gst_check_setup_sink_pad):
2897 * gst/elements/gsttee.c: (gst_tee_init):
2900 2005-11-16 Wim Taymans <wim@fluendo.com>
2902 * gst/gstpad.c: (gst_pad_pause_task):
2903 Removed warning, it's not really an error either.
2905 2005-11-16 Wim Taymans <wim@fluendo.com>
2907 * gst/base/gstbasetransform.c:
2908 (gst_base_transform_prepare_output_buf),
2909 (gst_base_transform_event):
2910 Check if the caps are NULL, this can happen if the element
2911 is shutting down and the pad caps are set to NULL.
2913 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2915 * gst/elements/gsttee.c: (gst_tee_init):
2916 fix pad template leak in tee
2918 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2920 * gst/glib-compat.c: (g_value_dup_gst_object):
2921 * gst/glib-compat.h:
2922 * gst/gstpad.c: (gst_pad_set_property):
2923 use gst_object_ref when setting the pad template; this will
2924 trigger the pad template leaks on GLib 2.6 and the slaves
2926 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2928 * gst/glib-compat.c: (gst_flags_get_first_value):
2929 * gst/glib-compat.h:
2930 * gst/gstregistryxml.c:
2931 remove functions copied from GLib 2.6
2933 2005-11-16 Michael Smith <msmith@fluendo.com>
2936 Don't link against VALGRIND_LIBS. That was always the wrong thing to
2937 do, but only breaks with newer valgrind versions. We're not a
2938 valgrind tool, we have no link-time dependencies on libcoregrind.
2940 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2942 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2947 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2949 * gst/base/gstbasesrc.c: (gst_base_src_init):
2950 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2951 * gst/gstqueue.c: (gst_queue_init):
2952 * gst/gstregistryxml.c: (load_feature):
2953 Revert all these unrefs, they don't even pass make check !
2955 2005-11-15 Johan Dahlin <johan@gnome.org>
2957 * gst/base/gstbasesrc.c: (gst_base_src_init):
2958 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2959 * gst/gstqueue.c: (gst_queue_init):
2960 Free pad templates, fixes a couple of leaks.
2962 2005-11-15 Daniel Fischer <dan at f3c dot com>
2964 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2966 * gst/gstpad.c: (gst_pad_get_property):
2967 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2968 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2971 2005-11-15 Wim Taymans <wim@fluendo.com>
2976 2005-11-15 Andy Wingo <wingo@pobox.com>
2978 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2980 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2981 using GST_CLOCK_TIME_NONE to disable base time management.
2982 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2983 time if it was NONE before.
2984 (gst_pipeline_change_state): Only munge the base time if
2985 stream_time != GST_CLOCK_TIME_NONE.
2987 * check/gst/gstpipeline.c (test_base_time): Punt around the
2988 problem of the probe not being called, because that's not the
2989 issue I'm looking at. Add a check that setting stream_time to NONE
2990 disables base time management.
2992 2005-11-15 Wim Taymans <wim@fluendo.com>
2994 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2995 segment_stop == -1 at startup.
2997 * gst/base/gstbasetransform.c: (gst_base_transform_event),
2998 (gst_base_transform_change_state):
2999 Init segment values at start.
3001 2005-11-15 Wim Taymans <wim@fluendo.com>
3003 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3004 0 segment values are 0 in any format.
3006 * gst/base/gstbasetransform.c: (gst_base_transform_event):
3007 * gst/base/gstbasetransform.h:
3008 Parse newsegment correctly in basetransform
3010 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3011 Sync to clock using updated segment values.
3013 2005-11-15 Andy Wingo <wingo@pobox.com>
3015 * check/gst/gstpipeline.c (test_base_time): Add check that the
3016 base time and stream time are reset correctly.
3018 2005-11-15 Wim Taymans <wim@fluendo.com>
3020 * docs/design/part-TODO.txt:
3021 Some more TODO items.
3023 2005-11-15 Andy Wingo <wingo@pobox.com>
3025 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3026 error if the user selected "no clock" as the clocking method.
3028 * check/gst/gstpipeline.c (test_base_time): New test for buffer
3029 timestamps with live capture.
3031 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3032 is 0 but we are a live source, timestamp the buffers using the
3035 2005-11-14 Stefan Kost <ensonic@users.sf.net>
3037 * docs/gst/gstreamer-sections.txt:
3039 * gst/gstghostpad.c:
3044 2005-11-14 Wim Taymans <wim@fluendo.com>
3047 add suppressions from Wim's Debian machine
3049 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
3052 add suppressions from Andy's AMD64 Ubuntu machine
3054 2005-11-14 Andy Wingo <wingo@pobox.com>
3056 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3057 STATE_LOCK not necessary. Fixes #311489.
3059 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3062 * gst/gstindex.c (gst_index_add_object): Note in the docs that
3063 this function is not implemented.
3065 2005-11-14 Julien MOUTTE <julien@moutte.net>
3067 * gst/base/gstbasetransform.c:
3068 (gst_base_transform_prepare_output_buf):
3069 Ref the source pad caps while we need them.
3072 2005-11-11 Wim Taymans <wim@fluendo.com>
3074 * docs/gst/gstreamer-sections.txt:
3075 Added some docs for GstCollectData.
3077 * gst/base/gstadapter.c:
3078 Some small code example fix.
3080 * gst/base/gstcollectpads.c:
3081 * gst/base/gstcollectpads.h:
3084 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
3086 * configure.ac: back to HEAD
3088 === release 0.9.5 ===
3090 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
3093 releasing 0.9.5, "Bike Lunch Day"
3095 2005-11-11 Wim Taymans <wim@fluendo.com>
3097 * gst/gstbuffer.c: (_gst_buffer_copy):
3100 * gst/gstcaps.c: (gst_caps_is_equal):
3102 Make _is_equal fast in the trivial cases.
3104 * gst/gstminiobject.c:
3105 * gst/gstminiobject.h:
3106 More docs. Spifify .h file.
3111 2005-11-11 Wim Taymans <wim@fluendo.com>
3113 * gst/base/gstbasetransform.c:
3114 (gst_base_transform_prepare_output_buf),
3115 (gst_base_transform_handle_buffer):
3117 If we're processing a buffer and need to allocate an output
3118 buffer, we cannot accept a format change. If we did get a
3119 format change, we have to alloc a buffer ourselves of the
3122 2005-11-11 Wim Taymans <wim@fluendo.com>
3124 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3125 While checking the flag for reentrancy in the gstcaps function
3126 is nice to detect recursive invocations, it also makes it
3127 impossible to call getcaps from multiple threads, which must be
3128 possible. So, checking for recursive calls has to go.
3130 2005-11-11 Michael Smith <msmith@fluendo.com>
3132 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3133 Don't sync on buffers that fall partially outside our current
3134 segment. Prevents an assertion failure/abort playing some files.
3136 2005-11-10 Andy Wingo <wingo@pobox.com>
3138 * check/gst/gstbin.c (test_message_state_changed_children): Style
3141 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3142 gst_bus_poll with the signal watch. Ensures that poll and a signal
3143 watch see the same messages.
3145 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3146 a poll and a watch at the same time get the same messages.
3148 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
3150 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3151 * gst/gstcaps.c: (gst_caps_intersect):
3152 Don't call gst_caps_do_simplify - it doesn't respect order of caps
3153 and it's not needed.
3155 2005-11-10 Wim Taymans <wim@fluendo.com>
3157 * docs/design/part-TODO.txt:
3160 2005-11-10 Wim Taymans <wim@fluendo.com>
3162 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3163 * gst/base/gstbasesrc.c: (gst_base_src_wait),
3164 (gst_base_src_do_sync), (gst_base_src_get_range):
3165 Implement clock sync in base class.
3167 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
3169 patch by: Tim-Philipp Müller <tim at centricular dot net>
3171 * gst/gststructure.c: (gst_structure_parse_field),
3172 (gst_structure_from_string):
3173 Forward-port a 0.8 patch to handle escaped spaces in structure string,
3174 so that gst_parse_launch() can deal with spaces in filtered link
3175 caps (fixes #164479)
3176 * check/gst/capslist.h:
3177 * check/gst/gststructure.c: (GST_START_TEST):
3178 add unit tests for this change
3180 2005-11-10 Wim Taymans <wim@fluendo.com>
3182 * docs/gst/gstreamer-sections.txt:
3185 Fix docs, move some STATE macros to private.
3187 2005-11-10 Wim Taymans <wim@fluendo.com>
3189 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3190 Added check for bug #317341
3194 Some more spiffifying.
3196 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3197 Call peer linkfunction if we are a source pad. Totally fixes
3201 Update docs, source pads should call the peer linkfunction
3202 so they can atomically perform the pad link.
3204 2005-11-09 Wim Taymans <wim@fluendo.com>
3208 Uber-spiffy-spiffify some more.
3210 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
3212 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3213 * gst/elements/gstfilesink.c: (gst_file_sink_init):
3214 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3215 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3216 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3217 * gst/gstpad.c: (gst_pad_init):
3218 Use GST_DEBUG_FUNCPTR() more extensively.
3220 2005-11-09 Wim Taymans <wim@fluendo.com>
3222 * gst/gstobject.c: (gst_object_class_init):
3224 Documentation fixes.
3226 2005-11-09 Edward Hervey <edward@fluendo.com>
3228 * gst/gsttypefindfactory.c:
3231 2005-11-09 Edward Hervey <edward@fluendo.com>
3233 * gst/base/gsttypefindhelper.c:
3234 * gst/gsttypefind.c:
3235 * gst/gsttypefind.h:
3238 2005-11-09 Wim Taymans <wim@fluendo.com>
3240 * gst/gstiterator.c:
3247 2005-11-09 Wim Taymans <wim@fluendo.com>
3253 2005-11-09 Wim Taymans <wim@fluendo.com>
3255 * docs/gst/gstreamer-sections.txt:
3256 Moved the message async delivery private lock and cond
3257 to the private section.
3263 2005-11-09 Edward Hervey <edward@fluendo.com>
3265 * docs/gst/gstreamer-sections.txt:
3268 Document GstURIHandler
3270 2005-11-09 Wim Taymans <wim@fluendo.com>
3272 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3273 (gst_iterator_find_custom):
3274 * gst/gstiterator.h:
3277 2005-11-09 Wim Taymans <wim@fluendo.com>
3280 Document another field.
3282 * gst/gststructure.c:
3283 * gst/gststructure.h:
3286 2005-11-09 Wim Taymans <wim@fluendo.com>
3291 2005-11-09 Wim Taymans <wim@fluendo.com>
3293 * docs/gst/gstreamer-sections.txt:
3294 Added some new macros.
3301 2005-11-09 Wim Taymans <wim@fluendo.com>
3303 * docs/design/part-TODO.txt:
3304 Some more items for the TODO
3310 2005-11-09 Andy Wingo <wingo@pobox.com>
3312 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3313 to work on something else now tho...
3315 * gst/base/gstadapter.c: More adapter docs.
3317 * gst/elements/gstfilesink.c (gst_file_sink_start)
3318 (gst_file_sink_stop): New functions, replace the state change
3320 (gst_file_sink_class_init): Hook up the start and stop functions.
3321 (gst_file_sink_base_init): Don't set the state change handler any
3322 more. It was a bit ugly too, being set from here...
3323 (gst_file_sink_get_property, gst_file_sink_set_property):
3325 (gst_file_sink_set_location): More robust check that doesn't call
3328 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
3330 * gst/base/gstbasetransform.c: (gst_base_transform_event):
3331 Hold STREAM_LOCK while pushing newsegment or tag events as well.
3333 2005-11-08 Wim Taymans <wim@fluendo.com>
3335 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3336 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3337 (gst_base_sink_chain), (gst_base_sink_change_state):
3338 * gst/base/gstbasesink.h:
3339 * gst/base/gstbasesrc.h:
3342 Avoid excessive typechecking in macros.
3344 * gst/gstminiobject.c: (gst_mini_object_get_type),
3345 (gst_mini_object_init), (gst_mini_object_new),
3346 (gst_mini_object_free):
3347 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3348 (gst_object_finalize):
3349 Remove cruft code, optimize alloc_trace.
3351 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
3353 * docs/faq/gst-uninstalled:
3354 fix up PS1 for systems that try to reset it
3356 2005-11-07 Wim Taymans <wim@fluendo.com>
3358 * gst/base/gstbasesrc.c: (gst_base_src_init),
3359 (gst_base_src_get_range):
3360 Set the segment_end to -1 initially. Fixed typefind.
3362 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
3364 * gst/base/gstadapter.c:
3365 Debug category should be 'adapter', not 'GstAdapter'.
3367 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3368 (gst_collectpads_class_init), (gst_collectpads_init),
3369 (gst_collectpads_peek), (gst_collectpads_pop),
3370 (gst_collectpads_event), (gst_collectpads_chain):
3371 Add debug category and some debugging output. Use boilerplate
3372 macros. Remove some extraneous words from docs.
3374 2005-11-05 Andy Wingo <wingo@pobox.com>
3376 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3379 2005-11-04 Stefan Kost <ensonic@users.sf.net>
3381 * docs/gst/gstreamer-sections.txt:
3384 * gst/gstminiobject.h:
3389 2005-11-04 Wim Taymans <wim@fluendo.com>
3391 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3392 Small update to stop at the configured segment_end
3395 2005-11-04 Stefan Kost <ensonic@users.sf.net>
3397 * gst/gstregistry.c:
3398 * gst/gstregistry.h:
3401 2005-11-04 Edward Hervey <edward@fluendo.com>
3403 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3404 Check if we are doing a segment seek and have arrived at the
3405 end of that segment.
3407 2005-11-04 Wim Taymans <wim@fluendo.com>
3409 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3410 Don't leak a mutex unlock in case of an error.
3415 2005-11-04 Wim Taymans <wim@fluendo.com>
3417 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3419 Get the context to wake up only once.
3421 2005-11-03 Wim Taymans <wim@fluendo.com>
3423 * check/states/sinks.c: (GST_START_TEST):
3424 Uncomment fixed check.
3426 * docs/design/part-TODO.txt:
3429 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3430 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3431 (gst_base_sink_get_position):
3432 If we are going to PLAYING, post the right pending state
3433 when we post the intermediate paused message.
3435 * gst/gstelement.c: (gst_element_continue_state),
3436 (gst_element_set_state_func), (gst_element_change_state):
3437 Don't post state changes that were between the same state
3440 2005-11-03 Stefan Kost <ensonic@users.sf.net>
3442 * docs/gst/gstreamer-sections.txt:
3445 * gst/gstminiobject.h:
3448 more docs and doc style fixes
3450 2005-11-03 Stefan Kost <ensonic@users.sf.net>
3452 * docs/gst/gstreamer-sections.txt:
3454 * gst/gstminiobject.c:
3457 2005-11-03 Andy Wingo <wingo@pobox.com>
3459 * check/states/sinks.c (test_livesrc_sink): Add checks that the
3460 state-changed messages actually have the right order and the right
3463 2005-11-03 Wim Taymans <wim@fluendo.com>
3465 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3466 Added some more checks. Specifically the case where NO_PREROLL
3467 elements are in the pipeline.
3469 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3470 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3471 (gst_base_sink_get_position):
3472 Post READY->PAUSED state change messages too.
3473 Fix bug where VOID was posted as pending state...
3475 * gst/gstbin.c: (gst_bin_recalc_state):
3476 use _element_continue_state() to continue the state change.
3478 * gst/gstelement.c: (gst_element_continue_state),
3479 (gst_element_commit_state), (gst_element_set_state_func),
3480 (gst_element_change_state), (gst_element_change_state_func):
3481 Lots of state change cleanups, assign the STATE_RETURN in
3482 a new continue_state() function that also propagates the
3483 last return value from a state change to the app.
3484 Update some debug statements with proper category.
3486 2005-11-03 Wim Taymans <wim@fluendo.com>
3488 * docs/design/part-events.txt:
3489 * docs/design/part-gstpipeline.txt:
3490 * docs/design/part-messages.txt:
3491 * docs/design/part-overview.txt:
3492 * docs/design/part-seeking.txt:
3493 * docs/design/part-states.txt:
3494 * docs/design/part-trickmodes.txt:
3495 * docs/manual/advanced-position.xml:
3499 People think !! is ugly, this looks better.
3501 * gst/gstpad.c: (gst_pad_set_blocked_async):
3502 Remove !! since it's fixed elsewhere now.
3504 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3506 * gst/gstminiobject.h:
3508 Add !! to _FLAG_IS_SET macros to make the result boolean.
3510 2005-11-03 Edward Hervey <edward@fluendo.com>
3512 * gst/gstpad.c: (gst_pad_set_blocked_async):
3513 comparing a flag and a gboolean rarely returns coherent results...
3514 Added two characters (!!) to make that work correctly.
3516 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3518 * gst/gstbus.c: (gst_bus_class_init):
3521 * gst/gstqueue.c: (gst_queue_loop):
3522 Don't assume a miniobject that isn't a buffer is an
3523 event (it could be that there is a refcounting
3524 problem somewhere and the pointer is stale and
3525 refers to an already destroyed miniobject).
3527 2005-11-03 Julien MOUTTE <julien@moutte.net>
3529 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3531 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3533 * docs/manual/advanced-position.xml:
3534 Update seek example and explanations to current 0.9 API.
3536 * gst/elements/gsttypefindelement.c:
3537 (gst_type_find_element_activate):
3538 Remove FIXME comment now that the found caps
3541 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
3543 * gst/gstregistryxml.c: (load_feature):
3544 Add another GST_STR_NULL instance
3546 2005-11-02 Edward Hervey <edward@fluendo.com>
3548 * gst/gstpad.c: (handle_pad_block):
3549 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3551 2005-11-02 Wim Taymans <wim@fluendo.com>
3556 * gst/gstelement.c: (gst_element_commit_state):
3557 Remove unused value.
3559 * gst/gstiterator.c:
3560 Mention that the returned element is reffed in the docs.
3562 2005-11-02 Wim Taymans <wim@fluendo.com>
3564 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3565 (gst_pad_push), (gst_pad_push_event):
3566 Unlock blocked pads when they are flushed.
3568 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3571 * docs/gst/gstreamer-sections.txt:
3574 * gst/gstregistry.c: (gst_registry_scan_path_level):
3575 fix for a nasty little missed situation where an installed plug-in
3576 which was in the cache did not get overridden by an uninstalled one
3577 which was earlier in the plugin path because the newly created plugin
3578 for the uninstalled one (not in the registry) didn't get its
3579 ->registered set to TRUE
3581 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3583 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3584 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3585 (gst_collectpads_is_active), (gst_collectpads_collect),
3586 (gst_collectpads_collect_range), (gst_collectpads_start),
3587 (gst_collectpads_stop), (gst_collectpads_peek),
3588 (gst_collectpads_pop), (gst_collectpads_available),
3589 (gst_collectpads_read), (gst_collectpads_flush):
3590 Guard public API with assertions.
3593 Fix docs for gst_pad_set_link_function().
3595 2005-11-02 Johan Dahlin <johan@gnome.org>
3597 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
3598 Unref found_caps after we used it.
3600 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3602 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3603 Don't try to ref NULL.
3605 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3607 * win32/common/config.h.in:
3608 provide a GST_FUNCTION that just gives a string for now
3610 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3612 * win32/common/gstenumtypes.c: (register_gst_object_flags),
3613 (gst_object_flags_get_type), (register_gst_bin_flags),
3614 (gst_bin_flags_get_type), (register_gst_buffer_flag),
3615 (gst_buffer_flag_get_type), (register_gst_bus_flags),
3616 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3617 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3618 (gst_clock_return_get_type), (register_gst_clock_entry_type),
3619 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3620 (gst_clock_flags_get_type), (register_gst_state),
3621 (gst_state_get_type), (register_gst_state_change_return),
3622 (gst_state_change_return_get_type), (register_gst_state_change),
3623 (gst_state_change_get_type), (register_gst_element_flags),
3624 (gst_element_flags_get_type), (register_gst_core_error),
3625 (gst_core_error_get_type), (register_gst_library_error),
3626 (gst_library_error_get_type), (register_gst_resource_error),
3627 (gst_resource_error_get_type), (register_gst_stream_error),
3628 (gst_stream_error_get_type), (register_gst_event_type),
3629 (gst_event_type_get_type), (register_gst_seek_type),
3630 (gst_seek_type_get_type), (register_gst_seek_flags),
3631 (gst_seek_flags_get_type), (register_gst_format),
3632 (gst_format_get_type), (register_gst_index_certainty),
3633 (gst_index_certainty_get_type), (register_gst_index_entry_type),
3634 (gst_index_entry_type_get_type),
3635 (register_gst_index_lookup_method),
3636 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3637 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3638 (gst_index_resolver_method_get_type), (register_gst_index_flags),
3639 (gst_index_flags_get_type), (register_gst_debug_level),
3640 (gst_debug_level_get_type), (register_gst_debug_color_flags),
3641 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3642 (gst_iterator_result_get_type), (register_gst_iterator_item),
3643 (gst_iterator_item_get_type), (register_gst_message_type),
3644 (gst_message_type_get_type), (register_gst_mini_object_flags),
3645 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3646 (gst_pad_link_return_get_type), (register_gst_flow_return),
3647 (gst_flow_return_get_type), (register_gst_activate_mode),
3648 (gst_activate_mode_get_type), (register_gst_pad_direction),
3649 (gst_pad_direction_get_type), (register_gst_pad_flags),
3650 (gst_pad_flags_get_type), (register_gst_pad_presence),
3651 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3652 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3653 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3654 (gst_plugin_error_get_type), (register_gst_plugin_flags),
3655 (gst_plugin_flags_get_type), (register_gst_rank),
3656 (gst_rank_get_type), (register_gst_query_type),
3657 (gst_query_type_get_type), (register_gst_tag_merge_mode),
3658 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3659 (gst_tag_flag_get_type), (register_gst_task_state),
3660 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3661 (gst_alloc_trace_flags_get_type),
3662 (register_gst_type_find_probability),
3663 (gst_type_find_probability_get_type), (register_gst_uri_type),
3664 (gst_uri_type_get_type), (register_gst_parse_error),
3665 (gst_parse_error_get_type):
3666 * win32/common/gstversion.h:
3669 2005-11-01 Luca Ognibene <luogni@tin.it>
3672 fix docs. popt is dead, long live GOption.
3674 2005-10-31 Wim Taymans <wim@fluendo.com>
3679 2005-10-31 Andy Wingo <wingo@pobox.com>
3683 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3685 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3686 need to serialize property notifications on GLib 2.8. GLib 2.6 has
3687 the possibility of deadlocks here if code calling notify() or
3688 set() has a lock that can be taken in another notify handler (ABBA
3689 with class lock and e.g. python GIL state lock).
3691 2005-10-28 Julien MOUTTE <julien@moutte.net>
3693 * gst/gstbus.c: Doc updates.
3695 2005-10-28 Wim Taymans <wim@fluendo.com>
3697 * docs/design/part-TODO.txt:
3698 * gst/gstiterator.c:
3699 * gst/gstsystemclock.c:
3700 * gst/gstsystemclock.h:
3703 2005-10-28 Edward Hervey <edward@fluendo.com>
3705 * docs/gst/gstreamer-docs.sgml:
3706 * docs/gst/gstreamer-sections.txt:
3707 the GstURIType documentation page is private, it only defines GstURIType
3708 which should be defined in the GstURIHandler page
3710 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
3712 * gst/gstbin.c: (gst_bin_class_init):
3715 Documentation updates.
3717 2005-10-28 Wim Taymans <wim@fluendo.com>
3719 * docs/gst/gstreamer-sections.txt:
3722 Documented the clocks.
3724 2005-10-28 Stefan Kost <ensonic@users.sf.net>
3726 * docs/gst/gstreamer-sections.txt:
3727 move some macros to private sections
3728 * gst/gstminiobject.c:
3729 * gst/gstminiobject.h:
3730 add descriptions provided by ds and some more
3732 mark macro as to be removed
3734 2005-10-28 Wim Taymans <wim@fluendo.com>
3736 * docs/design/part-TODO.txt:
3737 Add an item to TODO.
3739 * gst/gstiterator.c: (gst_iterator_fold),
3740 (gst_iterator_find_custom):
3741 * gst/gstiterator.h:
3744 2005-10-28 Wim Taymans <wim@fluendo.com>
3746 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3747 (gst_base_transform_init):
3750 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3751 An EOS event marks the queue as completely filled.
3753 2005-10-27 Wim Taymans <wim@fluendo.com>
3755 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3756 (gst_base_sink_do_sync), (gst_base_sink_get_position):
3757 Some more debugging.
3759 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3760 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3761 (gst_base_transform_event), (gst_base_transform_getrange),
3762 (gst_base_transform_chain):
3763 * gst/base/gstbasetransform.h:
3765 Protect transform and concurrent buffer alloc with a new lock.
3766 Try not to break ABI/API.
3768 2005-10-27 Wim Taymans <wim@fluendo.com>
3770 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3771 (gst_base_src_init), (gst_base_src_query),
3772 (gst_base_src_default_newsegment),
3773 (gst_base_src_configure_segment), (gst_base_src_do_seek),
3774 (gst_base_src_send_event), (gst_base_src_event_handler),
3775 (gst_base_src_pad_get_range), (gst_base_src_loop),
3776 (gst_base_src_unlock), (gst_base_src_default_negotiate),
3777 (gst_base_src_start), (gst_base_src_deactivate),
3778 (gst_base_src_activate_push), (gst_base_src_change_state):
3779 Move some stuff around and cleanup things.
3781 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
3783 * gst/base/gstbasesrc.c: (gst_base_src_query):
3784 Add missing break statements.
3786 2005-10-27 Wim Taymans <wim@fluendo.com>
3788 * check/gst/gstbin.c: (GST_START_TEST):
3789 An extra refcount is taken in basesrc.
3791 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3792 (gst_base_src_get_range), (gst_base_src_pad_get_range),
3793 (gst_base_src_loop):
3794 Small cleanups, check for flushing after being unlocked from the
3795 LIVE_LOCK. take refcounts correctly (not yet everywhere).
3796 Don't send out EOS when going to READY.
3798 2005-10-27 Wim Taymans <wim@fluendo.com>
3800 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3801 (gst_base_sink_get_position):
3804 * gst/gstbin.c: (message_check), (bin_replace_message),
3805 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3806 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3807 (bin_query_duration_init), (bin_query_duration_fold),
3808 (bin_query_duration_done), (bin_query_generic_fold),
3810 * tools/gst-launch.c: (main):
3813 2005-10-26 Stefan Kost <ensonic@users.sf.net>
3815 * examples/controller/audio-example.c: (main):
3816 * examples/queue/queue.c: (event_loop):
3817 * gst/base/gstbasetransform.h:
3818 * gst/gstelement.c: (gst_element_send_event):
3820 * gst/gstpad.c: (gst_pad_send_event):
3823 changing log priority in error situations
3825 2005-10-25 Wim Taymans <wim@fluendo.com>
3827 * gst/gstbin.c: (message_check), (bin_replace_message),
3828 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3829 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3830 (bin_query_duration_init), (bin_query_duration_fold),
3831 (bin_query_duration_done), (bin_query_generic_fold),
3833 Some doc and debug updates.
3834 Cache previously requested query DURATION for speed. invalidate
3835 cached duration if element posts a DURATION message.
3837 2005-10-25 Wim Taymans <wim@fluendo.com>
3839 * docs/design/part-TODO.txt:
3842 * gst/gstbin.c: (message_check), (bin_replace_message),
3843 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3844 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3845 (bin_query_duration_init), (bin_query_duration_fold),
3846 (bin_query_duration_done), (bin_query_generic_fold),
3848 Handle SEGMENT_START/DONE messages correctly.
3849 More evolved query algorithm that handles duration queries
3852 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3853 (gst_element_get_state_func), (gst_element_abort_state),
3854 (gst_element_commit_state), (gst_element_lost_state):
3855 Some more debugging.
3860 2005-10-25 Wim Taymans <wim@fluendo.com>
3862 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3863 Don't use invalid stream_time.
3865 * gst/gstevent.c: (gst_event_new_newsegment):
3866 stream_time in newsegment cannot be undefined.
3868 2005-10-24 Wim Taymans <wim@fluendo.com>
3873 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3875 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3877 2005-10-24 Stefan Kost <ensonic@users.sf.net>
3879 * docs/libs/tmpl/gstdparam.sgml:
3880 * docs/libs/tmpl/gstdplinint.sgml:
3881 * docs/libs/tmpl/gstdpman.sgml:
3882 * docs/libs/tmpl/gstdpsmooth.sgml:
3883 * docs/libs/tmpl/gstunitconvert.sgml:
3886 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
3891 === release 0.9.4 ===
3893 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3896 releasing 0.9.4, "Tyrannosaurus Rex"
3898 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
3900 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3901 (gst_file_sink_get_current_offset):
3902 Use fseeko() and ftello() if available. When falling back on
3903 lseek() to get the current offset, fflush() first to make sure
3904 everything is up-to-date and we get the right offset.
3906 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3908 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3909 * gst/base/gstbasesrc.c: (gst_base_src_loop):
3910 * gst/gsterror.c: (_gst_stream_errors_init):
3912 * gst/gstqueue.c: (gst_queue_loop):
3914 remove prematurely added error category and clean up the instances
3916 2005-10-21 Wim Taymans <wim@fluendo.com>
3918 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3919 (gst_base_sink_get_position), (gst_base_sink_query),
3920 (gst_base_sink_change_state):
3921 Simply set the right flag when going to playing, that's all
3922 we need to do instead of calling a function inside the object
3923 lock (that could take the lock as well and deadlock)
3925 2005-10-21 Wim Taymans <wim@fluendo.com>
3927 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3928 (gst_base_src_loop):
3929 Don't warn, the peer element knows what to do best when
3930 the seek failed, it might try something else.
3932 2005-10-21 Wim Taymans <wim@fluendo.com>
3934 * gst/base/gstbasesrc.c: (gst_base_src_init),
3935 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3938 2005-10-21 Wim Taymans <wim@fluendo.com>
3940 * docs/design/part-segments.txt:
3943 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3944 Correctly set caps, even on the subbufer.
3946 2005-10-21 Wim Taymans <wim@fluendo.com>
3948 * docs/gst/gstreamer-docs.sgml:
3949 * docs/gst/gstreamer-sections.txt:
3956 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3960 And 2% more doc coverage.
3962 2005-10-21 Andy Wingo <wingo@pobox.com>
3964 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3967 2005-10-20 Wim Taymans <wim@fluendo.com>
3969 * gst/gsterror.c: (gst_error_get_message):
3972 * gst/gststructure.c:
3977 2005-10-20 Wim Taymans <wim@fluendo.com>
3982 Another 1% more coverage.
3984 2005-10-20 Wim Taymans <wim@fluendo.com>
3986 * docs/gst/gstreamer-sections.txt:
3987 * gst/gstelement.c: (gst_element_get_state_func),
3988 (gst_element_abort_state), (gst_element_commit_state),
3989 (gst_element_lost_state):
3991 * gst/gstquery.c: (gst_query_set_position),
3992 (gst_query_parse_position), (gst_query_set_duration),
3993 (gst_query_parse_duration), (gst_query_new_convert):
3995 Yay! 1% more docs coverage.
3997 2005-10-20 Wim Taymans <wim@fluendo.com>
4000 * gst/gstquery.c: (gst_query_set_position),
4001 (gst_query_parse_position), (gst_query_set_duration),
4002 (gst_query_parse_duration), (gst_query_new_convert):
4004 * gst/gstutils.c: (gst_element_query_convert):
4006 Docs and consistency fixes.
4008 2005-10-20 Wim Taymans <wim@fluendo.com>
4014 2005-10-20 Wim Taymans <wim@fluendo.com>
4016 * gst/gstbin.c: (message_check), (bin_replace_message),
4017 (bin_remove_messages), (is_eos), (gst_bin_add_func),
4018 (update_degree), (gst_bin_sort_iterator_next),
4019 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4020 Reworked the message handling a bit, cache the messages instead of
4021 only the senders. alows us to do more in the future.
4023 2005-10-20 Wim Taymans <wim@fluendo.com>
4025 * docs/design/part-TODO.txt:
4028 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4029 (gst_base_sink_query):
4030 Don't use clock time to report position when in EOS.
4032 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
4034 * tools/gst-inspect.c: (print_interfaces),
4035 (print_element_properties_info), (print_element_info):
4036 Fix interface output with gst-inspect -a; don't print
4037 newlines after double/float properties.
4039 2005-10-20 Wim Taymans <wim@fluendo.com>
4041 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4042 (gst_base_sink_query):
4043 Speed up current position calculation.
4045 * gst/base/gstbasesrc.c: (gst_base_src_query),
4046 (gst_base_src_default_newsegment):
4047 Correctly set stream position in newsegment.
4049 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4050 (update_degree), (gst_bin_sort_iterator_next),
4051 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4052 * gst/gstmessage.c: (gst_message_new_custom):
4053 Clean up debugging info
4055 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4056 (gst_queue_loop), (gst_queue_handle_src_query):
4059 2005-10-19 Wim Taymans <wim@fluendo.com>
4061 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4062 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4063 Fix query handling again.
4065 2005-10-19 Wim Taymans <wim@fluendo.com>
4067 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4068 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4069 * gst/base/gstbasesrc.c: (gst_base_src_query):
4070 * gst/elements/gstfilesink.c: (gst_file_sink_query):
4071 * gst/elements/gsttypefindelement.c:
4072 (gst_type_find_handle_src_query), (find_element_get_length),
4073 (gst_type_find_element_activate):
4076 * gst/gstquery.c: (gst_query_new_position),
4077 (gst_query_set_position), (gst_query_parse_position),
4078 (gst_query_new_duration), (gst_query_set_duration),
4079 (gst_query_parse_duration), (gst_query_set_segment),
4080 (gst_query_parse_segment):
4082 Bundling query position/duration is not a good idea since duration
4083 does not change much and we don't want to recalculate it for every
4084 position query, so they are separated again..
4085 Base value in segment query is not needed.
4087 * gst/gstqueue.c: (gst_queue_handle_src_query):
4088 * gst/gstutils.c: (gst_element_query_position),
4089 (gst_element_query_duration), (gst_pad_query_position),
4090 (gst_pad_query_duration):
4092 Updates for query API change.
4093 Added some docs here and there.
4095 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
4097 * check/gst/gstbin.c: (GST_START_TEST):
4098 * check/gst/gstghostpad.c: (GST_START_TEST):
4099 * check/pipelines/cleanup.c: (GST_START_TEST):
4100 wait on thread to die so we can check refcount correctly
4102 2005-10-18 Wim Taymans <wim@fluendo.com>
4104 * check/pipelines/stress.c: (GST_START_TEST):
4105 Make check a little more time consuming.
4107 2005-10-18 Wim Taymans <wim@fluendo.com>
4109 * check/Makefile.am:
4110 * check/pipelines/stress.c: (GST_START_TEST),
4111 (simple_launch_lines_suite), (main):
4112 Small state change torture test.
4114 * docs/design/part-states.txt:
4115 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4116 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4117 (gst_base_sink_change_state):
4118 Never take state lock from streaming thread, clean up ugly
4119 hacks. Unfortunatly core does not yet support nice ways to
4122 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4124 Start state recalc if a STATE_DIRTY message is posted, but only
4125 on the toplevel bin.
4127 * gst/gstelement.c: (gst_element_sync_state_with_parent),
4128 (gst_element_get_state_func), (gst_element_abort_state),
4129 (gst_element_commit_state), (gst_element_lost_state),
4130 (gst_element_set_state_func), (gst_element_change_state):
4132 State variables are now protected with the LOCK, the state
4133 lock is only used to serialize _set_state().
4135 2005-10-18 Wim Taymans <wim@fluendo.com>
4137 * check/gst/gstbin.c: (GST_START_TEST):
4138 * check/gst/gstmessage.c: (GST_START_TEST):
4139 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4140 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4142 * gst/gstelement.c: (gst_element_abort_state),
4143 (gst_element_commit_state), (gst_element_lost_state):
4144 * gst/gstmessage.c: (gst_message_new_state_changed),
4145 (gst_message_new_state_dirty), (gst_message_new_segment_start),
4146 (gst_message_new_segment_done), (gst_message_new_duration),
4147 (gst_message_parse_state_changed),
4148 (gst_message_parse_segment_start),
4149 (gst_message_parse_segment_done), (gst_message_parse_duration):
4151 * tools/gst-launch.c: (event_loop):
4152 Seriously, this is better than a previous commit as we only need
4153 to notify the fact that an element changed state in a streaming
4154 thread, marking the state of the parents dirty, hence the
4155 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4158 2005-10-18 Wim Taymans <wim@fluendo.com>
4160 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4161 (gst_bin_recalc_func):
4162 * gst/gstelement.c: (gst_element_set_clock),
4163 (gst_element_abort_state), (gst_element_lost_state):
4164 Cleanups, prepare for state change fixes.
4166 2005-10-18 Wim Taymans <wim@fluendo.com>
4169 * gst/gstelement.c: (gst_element_class_init),
4170 (gst_element_set_state), (gst_element_set_state_func):
4172 Pending ABI changes.
4173 GThreadPool in GstBinClass to monitor async state changes.
4174 state_cookie in GstElement to detect concurrent gst/set state.
4175 set_state is now virtual too in case a very complicated element
4176 has to be constructed.
4178 2005-10-18 Wim Taymans <wim@fluendo.com>
4180 * check/gst/gstbin.c: (GST_START_TEST):
4181 * check/gst/gstmessage.c: (GST_START_TEST):
4182 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4183 * gst/gstbin.c: (bin_bus_handler):
4184 * gst/gstelement.c: (gst_element_commit_state),
4185 (gst_element_lost_state):
4186 * gst/gstmessage.c: (gst_message_new_state_changed),
4187 (gst_message_new_segment_start), (gst_message_new_segment_done),
4188 (gst_message_new_duration), (gst_message_parse_state_changed),
4189 (gst_message_parse_segment_start),
4190 (gst_message_parse_segment_done), (gst_message_parse_duration):
4192 * tools/gst-launch.c: (event_loop):
4193 Make messages future proof.
4194 state-change gets a flag if it was a message comming from the
4196 segment-start/stop can also be specified in other formats.
4197 A message to notify an app that a pipeline changed playback
4199 Also fix a GstMessage leak in -launch
4201 2005-10-18 Andy Wingo <wingo@pobox.com>
4203 * gst/gstelement.c (gst_element_dispose): More helpful message.
4205 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
4207 reviewed by: <delete if not using a buddy>
4209 * common/gtk-doc.mak:
4211 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
4213 * gst/gstregistry.c: (gst_registry_scan_path_level):
4214 unref a plug-in we get that was already initialized
4216 2005-10-18 Stefan Kost <ensonic@users.sf.net>
4218 * docs/gst/gstreamer-sections.txt:
4219 * docs/libs/gstreamer-libs-sections.txt:
4224 2005-10-17 Andy Wingo <wingo@pobox.com>
4226 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4229 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4231 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4233 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4234 (gst_element_get_state_func): Better debug message.
4235 (gst_element_commit_state): s/INFO/DEBUG/.
4236 (gst_element_lost_state, gst_element_change_state):
4238 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4239 (gst_message_new_custom): s/INFO/LOG/.
4241 2005-10-17 Michael Smith <msmith@fluendo.com>
4243 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4244 Check if end time is valid using end time, not start time.
4246 2005-10-17 Stefan Kost <ensonic@users.sf.net>
4248 * check/gst-libs/controller.c: (GST_START_TEST),
4249 (gst_controller_suite):
4250 * libs/gst/controller/gstcontroller.c:
4251 (gst_controlled_property_set_interpolation_mode):
4252 * libs/gst/controller/gstcontroller.h:
4253 * libs/gst/controller/gstinterpolation.c:
4254 * testsuite/controller/.cvsignore:
4255 * testsuite/controller/Makefile.am:
4256 * testsuite/controller/interpolator.c:
4257 merge controller testsuites
4259 remove mem-chunk from docs
4261 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
4263 * gst/gstmemchunk.c:
4264 * gst/gstmemchunk.h:
4265 * gst/gsttrashstack.c:
4266 * gst/gsttrashstack.h:
4267 out. get out. you're fired. to the Attic !
4269 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
4271 * gst/gstcaps.c: (gst_caps_intersect):
4272 fix signedness issues in a (hopefully) correct way
4273 * gst/gstelement.c: (gst_element_pads_activate):
4275 * gst/gstobject.c: (gst_object_set_parent):
4278 2005-10-17 Julien MOUTTE <julien@moutte.net>
4280 * gst/gstvalue.h: Fix prototypes.
4282 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4284 * docs/gst/gstreamer-sections.txt:
4285 * gst/gst.c: (gst_version_string):
4287 * gst/gstversion.h.in:
4288 * win32/common/libgstreamer.def:
4289 add gst_version_string ()
4291 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4295 * gst/gst.c: (init_post):
4296 * win32/common/config.h.in:
4298 * gst/gstcaps.c: (gst_caps_intersect):
4299 use gint64, the range could be bigger than a guint
4301 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4304 document potential problem in 2038
4306 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4308 * gst/gstcaps.c: (gst_caps_intersect):
4309 Fix guint j diving under 0
4311 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4314 * win32/common/config.h:
4315 * win32/common/config.h.in:
4316 check for process.h, declares getpid() on Windows
4318 include process.h if we have it
4319 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4320 * gst/gstmemchunk.h:
4321 fix signedness issues
4322 * win32/common/libgstreamer.def:
4325 2005-10-16 Julien MOUTTE <julien@moutte.net>
4327 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4328 fix. Because of unsigned ints, caps intersection was going nuts and
4329 trying to access structures with G_MAXUINT index. That fixes
4330 videotestsrc ! ffmpegcolorspace ! fakesink
4331 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4334 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4337 use the gettext macro
4338 * gst/elements/gstelements.c:
4340 * gst/indexers/gstindexers.c:
4341 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4342 * win32/common/config.h:
4344 * win32/common/config.h.in:
4345 add the template to generate config.h
4346 * win32/common/gstenumtypes.c:
4347 * win32/common/gstversion.h:
4350 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4352 * gst/gst.c: (gst_version):
4353 * gst/gstversion.h.in:
4356 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
4359 Oops, add missing closing bracket.
4361 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4364 use common m4's for argument checking
4366 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
4368 * docs/gst/gstreamer-sections.txt:
4370 Add GST_EVENT_TYPE_NAME() macro.
4372 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4375 * gst/gstpluginfeature.c:
4377 privatize more symbols
4379 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4382 add srcdir, builddir includes to GST_ALL_CFLAGS, since
4383 everything that uses GStreamer API should have the includes
4385 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4387 * docs/gst/gstreamer-sections.txt:
4388 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4390 give each value a _get_type, removes the DATA exports
4392 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4396 remove _gst_registry_auto_load, not used anymore
4397 * gst/gstbin.c: (gst_bin_get_type):
4399 * gst/gstelement.c: (gst_element_get_type):
4401 * gst/gstobject.c: (gst_object_get_type):
4403 * gst/gstpad.c: (gst_pad_get_type):
4405 make _get_type functions similar, fixes data export from library
4407 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4410 correctly make conditionals
4411 * gst/elements/Makefile.am:
4412 * gst/elements/gstelements.c:
4413 fix typo causing fdsrc not to build
4415 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4417 * testsuite/Makefile.am:
4418 * testsuite/bytestream/.cvsignore:
4419 * testsuite/bytestream/Makefile.am:
4420 * testsuite/bytestream/filepadsink.c:
4421 * testsuite/bytestream/gstbstest.c:
4422 * testsuite/bytestream/test1.c:
4423 * testsuite/bytestream/testfile1:
4424 * testsuite/caps/normalisation.c:
4425 * testsuite/caps/random.c: (main):
4426 * testsuite/cleanup/.cvsignore:
4427 * testsuite/cleanup/Makefile.am:
4428 * testsuite/cleanup/cleanup1.c:
4429 * testsuite/cleanup/cleanup2.c:
4430 * testsuite/cleanup/cleanup3.c:
4431 * testsuite/cleanup/cleanup4.c:
4432 * testsuite/cleanup/cleanup5.c:
4433 * testsuite/controller/interpolator.c:
4434 * testsuite/debug/printf_extension.c: (main):
4435 * testsuite/elements/tee.c:
4436 * testsuite/negotiation/.cvsignore:
4437 * testsuite/negotiation/Makefile.am:
4438 * testsuite/negotiation/pad_link.c:
4439 * testsuite/pad/Makefile.am:
4440 * testsuite/pad/chainnopull.c:
4441 * testsuite/pad/getnopush.c:
4442 * testsuite/pad/link.c:
4443 * testsuite/refcounting/sched.c: (create_pipeline):
4444 * testsuite/registry/Makefile.am:
4445 * testsuite/registry/gst-print-formats.c:
4446 * testsuite/schedulers/.cvsignore:
4447 * testsuite/schedulers/142183-2.c:
4448 * testsuite/schedulers/142183.c:
4449 * testsuite/schedulers/143777-2.c:
4450 * testsuite/schedulers/143777.c:
4451 * testsuite/schedulers/147713.c:
4452 * testsuite/schedulers/147819.c:
4453 * testsuite/schedulers/147894-2.c:
4454 * testsuite/schedulers/147894.c:
4455 * testsuite/schedulers/Makefile.am:
4456 * testsuite/schedulers/group_link.c:
4457 * testsuite/schedulers/queue_link.c:
4458 * testsuite/schedulers/relink.c:
4459 * testsuite/schedulers/unlink.c:
4460 * testsuite/schedulers/unref.c:
4461 * testsuite/schedulers/useless_iteration.c:
4462 * testsuite/states/bin.c:
4463 clean out/remove some stuff from the testsuite directories
4465 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4468 check for some headers
4469 * gst/elements/Makefile.am:
4470 * gst/elements/gstelements.c:
4471 don't compile fdsrc without sys/socket.h
4472 * gst/indexers/Makefile.am:
4473 * gst/indexers/gstindexers.c: (plugin_init):
4474 don't compile fileindex without mmap
4476 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4483 * check/Makefile.am:
4484 * docs/gst/Makefile.am:
4485 * examples/helloworld/Makefile.am:
4487 * gst/base/Makefile.am:
4488 * gst/check/Makefile.am:
4489 * gst/elements/Makefile.am:
4490 * gst/indexers/Makefile.am:
4491 * gst/parse/Makefile.am:
4492 * libs/gst/controller/Makefile.am:
4493 * libs/gst/dataprotocol/Makefile.am:
4494 * examples/helloworld/helloworld.c: (event_loop):
4495 compile fixes, though it's not being compiled currently
4497 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4499 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4500 Add some simple tests for the new taglist date API.
4502 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4504 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4505 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4506 Beautify 'last-message' output: print 'none' for buffer timestamps
4507 and durations if none is set; improve alignment with next messages.
4509 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4511 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4512 * gst/gstpluginfeature.h:
4513 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4514 * gst/gstregistry.h:
4515 * docs/gst/gstreamer-sections.txt:
4516 Add new API to check plugin feature version requirements.
4518 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4519 Some basic tests for the above.
4521 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4523 * gst/gststructure.c: (gst_structure_to_string):
4524 guard against NULL printf - happens when for example
4525 a message structure with GstClock gets serialized
4527 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4529 * gst/base/gstcollectpads.c: (gst_collectpads_event):
4530 Fix presumable copy'n'pasto.
4532 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4534 * gst/elements/gstfakesrc.h:
4535 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4536 * gst/elements/gsttypefindelement.c:
4538 * gst/elements/gstfilesink.c: (gst_file_sink_render):
4539 I wonder if this could actually write +2GB files before
4541 2005-10-13 Andy Wingo <wingo@pobox.com>
4543 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4544 Fix Timmeke Waymans bug.
4545 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4546 string of the proper length to gst_caps_from_string. There's a
4547 potential for, before this fix, that this could cause someone
4548 connecting over the network to cause a segfault if the payload is
4551 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4553 * docs/design/draft-push-pull.txt:
4554 * docs/design/part-overview.txt:
4555 * docs/random/TODO-pre-0.9:
4556 * docs/random/old/ChangeLog.gstreamer:
4557 * gst/base/gstpushsrc.c:
4561 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4563 * gst/glib-compat.c: (gst_flags_get_first_value):
4564 * gst/glib-compat.h:
4565 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4566 (gst_value_compare_double), (gst_value_serialize_flags):
4567 GLib 2.6 g_flags_get_first_value has a bug that triggers an
4570 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4572 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4573 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4575 * tools/gst-launch.c: (event_loop):
4576 print out clock nicely
4578 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4580 * docs/gst/gstreamer-sections.txt:
4582 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4583 (gst_tag_list_get_date_index):
4584 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4585 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4587 2005-10-13 Julien MOUTTE <julien@moutte.net>
4589 * gst/base/gstcollectpads.c: (gst_collectpads_event),
4590 (gst_collectpads_chain):
4591 * gst/base/gstcollectpads.h: Handle newsegment and store informations
4594 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4596 * docs/gst/gstreamer-sections.txt:
4599 * tools/gst-inspect.c: (main):
4600 * tools/gst-launch.c: (main):
4601 * tools/gst-run.c: (main):
4602 * tools/gst-xmlinspect.c: (main):
4603 fix GOption context leaks
4606 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4610 * win32/common/config.h:
4612 * win32/vs6/grammar.dsp:
4613 * win32/vs6/libgstelements.dsp:
4614 * win32/vs6/libgstreamer.dsp:
4617 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4619 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4620 * gst/base/gstbasesrc.c: (gst_base_src_query):
4621 fix more guint64<->gdouble conversions
4623 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4626 add win32-update target
4627 * win32/common/gstconfig.h:
4628 * win32/common/gstenumtypes.c:
4629 * win32/common/gstenumtypes.h:
4630 * win32/common/gstversion.h:
4631 add files that visual studio can't generate
4633 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4636 add a win32-update target
4639 2005-10-12 Wim Taymans <wim@fluendo.com>
4641 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4642 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4643 * gst/gstelement.c: (gst_element_commit_state),
4644 (gst_element_set_state):
4645 Protect flags with proper lock.
4646 unref provided cached clock in dispose.
4648 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4651 * gst/gstminiobject.h:
4653 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4654 removed unused flags from miniobject
4657 2005-10-12 Wim Taymans <wim@fluendo.com>
4659 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4660 (gst_file_sink_event), (gst_file_sink_render):
4661 Flush before seeking.
4663 2005-10-12 Andy Wingo <wingo@pobox.com>
4665 * gst/gst.c (gst_init_check): Ignore unknown options, as has
4666 always been the case.
4668 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4670 * check/gst/gstbin.c: (GST_START_TEST):
4671 * docs/gst/gstreamer-sections.txt:
4672 * gst/base/gstbasesink.c: (gst_base_sink_init):
4673 * gst/base/gstbasesrc.c: (gst_base_src_init),
4674 (gst_base_src_get_range), (gst_base_src_check_get_range),
4675 (gst_base_src_start), (gst_base_src_stop):
4676 * gst/base/gstbasesrc.h:
4677 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4678 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4679 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4683 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4685 * gst/gstelement.c: (gst_element_is_locked_state),
4686 (gst_element_set_locked_state), (gst_element_commit_state),
4687 (gst_element_set_state):
4689 * gst/gstindex.c: (gst_index_init):
4691 * gst/gstminiobject.h:
4692 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4693 (gst_object_set_parent):
4695 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4696 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4698 * gst/gstpadtemplate.h:
4699 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4700 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4701 * gst/gstpipeline.h:
4702 * gst/indexers/gstfileindex.c: (gst_file_index_load),
4703 (gst_file_index_commit):
4704 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4705 * testsuite/pad/link.c: (gst_test_src_init),
4706 (gst_test_filter_init), (gst_test_sink_init):
4707 * testsuite/states/locked.c: (main):
4708 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4709 moved bitshift from macro to enum definition
4711 2005-10-12 Wim Taymans <wim@fluendo.com>
4713 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4714 * gst/elements/gstfilesink.c: (gst_file_sink_event),
4715 (gst_file_sink_render):
4716 Some more debugging info.
4718 2005-10-12 Wim Taymans <wim@fluendo.com>
4720 * docs/design/part-states.txt:
4721 * tools/gst-launch.c: (main):
4723 Revert non-intentional change.
4725 2005-10-12 Wim Taymans <wim@fluendo.com>
4727 * check/gst/gstbin.c: (GST_START_TEST):
4728 * check/gst/gstelement.c: (GST_START_TEST):
4729 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4730 * check/gst/gstghostpad.c: (GST_START_TEST):
4731 * check/gst/gstpipeline.c: (GST_START_TEST):
4732 * check/pipelines/simple_launch_lines.c: (run_pipeline):
4733 * check/states/sinks.c: (GST_START_TEST):
4734 * gst/elements/gsttypefindelement.c: (stop_typefinding):
4735 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4736 (gst_bin_remove_func), (gst_bin_get_state_func),
4737 (gst_bin_recalc_state), (gst_bin_change_state_func),
4739 * gst/gstelement.c: (gst_element_get_state_func),
4740 (gst_element_get_state), (gst_element_abort_state),
4741 (gst_element_commit_state), (gst_element_set_state),
4742 (gst_element_change_state), (gst_element_change_state_func):
4744 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4745 (gst_pipeline_provide_clock_func):
4746 * gst/gstutils.c: (gst_element_link_pads_filtered):
4747 * tools/gst-launch.c: (main):
4748 * tools/gst-typefind.c: (main):
4749 Use GstClockTime in _get_state() instead of GTimeVal.
4750 Remove old code in gstutils.c
4752 2005-10-12 Andy Wingo <wingo@pobox.com>
4754 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4757 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4758 there is no task. Shouldn't affect any code, as nothing in our
4759 plugins checks this return value.
4760 (gst_pad_stop_task): Also take the stream lock if the pad has no
4763 2005-10-12 Wim Taymans <wim@fluendo.com>
4765 * gst/gstpad.c: (pre_activate), (post_activate),
4766 (gst_pad_activate_pull), (gst_pad_activate_push):
4767 Cleanup activation code. Reset old state if
4770 2005-10-12 Wim Taymans <wim@fluendo.com>
4772 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4773 (gst_base_sink_change_state):
4774 No need to prerol after receiving EOS.
4776 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4777 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4778 * gst/elements/gstidentity.c: (gst_identity_event):
4779 Print events more verbosely.
4781 2005-10-12 Wim Taymans <wim@fluendo.com>
4783 * check/Makefile.am:
4784 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4785 * check/states/sinks2.c:
4786 Moved sinks2 testcode in sinks check.
4788 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4789 (gst_bin_remove_func), (gst_bin_recalc_state),
4790 (gst_bin_change_state_func), (bin_bus_handler):
4791 Fix potential race condition when _get_state() iterated over an
4792 ASYNC element right before it posted a state completion.
4795 Do proper cast here.
4797 * gst/gstevent.c: (gst_event_new_newsegment),
4798 (gst_event_parse_newsegment):
4799 A playback rate of 0.0 is not allowed.
4801 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4803 * win32/common/config.h:
4804 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4805 (_trewinddir), (_ttelldir), (_tseekdir):
4806 * win32/common/dirent.h:
4807 * win32/common/gtchar.h:
4808 * win32/common/libgstbase.def:
4809 * win32/common/libgstreamer.def:
4810 * win32/vs6/grammar.dsp:
4811 * win32/vs6/gst_inspect.dsp:
4812 * win32/vs6/gst_launch.dsp:
4813 * win32/vs6/gstreamer.dsw:
4814 * win32/vs6/libgstbase.dsp:
4815 * win32/vs6/libgstelements.dsp:
4816 * win32/vs6/libgstreamer.dsp:
4817 Visual Studio 6 project files, and a new common directory.
4820 2005-10-11 Wim Taymans <wim@fluendo.com>
4822 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4823 (gst_base_sink_do_sync), (gst_base_sink_query),
4824 (gst_base_sink_change_state):
4825 * gst/base/gstbasesink.h:
4826 Correctly parse newsegment info.
4828 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4830 * gst/gst.c: (init_post):
4831 split plugin paths correctly
4833 2005-10-11 Wim Taymans <wim@fluendo.com>
4835 * check/gst/gstevent.c: (GST_START_TEST):
4836 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4837 (gst_base_sink_change_state):
4838 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4839 * gst/base/gstbasetransform.c: (gst_base_transform_event):
4840 * gst/elements/gstfilesink.c: (gst_file_sink_event):
4841 * gst/gstevent.c: (gst_event_new_newsegment),
4842 (gst_event_parse_newsegment):
4844 Added extra flag to newsegment for future API freeze.
4845 Updated check and base elements.
4847 2005-10-11 Julien MOUTTE <julien@moutte.net>
4849 * gst/base/gstcollectpads.c: (gst_collectpads_init),
4850 (gst_collectpads_add_pad), (gst_collectpads_pop),
4851 (gst_collectpads_event), (gst_collectpads_chain):
4852 * gst/base/gstcollectpads.h: Handle EOS correctly.
4854 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4856 * tools/gst-launch.c: (main):
4857 more null protecting
4859 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4861 * gst/gst-i18n-lib.h:
4862 check for ENABLE_NLS, not GETTEXT_PACKAGE
4863 * gst/gstregistry.c: (gst_registry_add_plugin),
4864 (gst_registry_scan_path_level),
4865 (_gst_registry_remove_cache_plugins):
4866 protect possibly NULL strings
4867 * gst/parse/types.h:
4868 config.h already included before
4869 * tools/gst-inspect.c: (main):
4870 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4871 check for ENABLE_NLS, not GETTEXT_PACKAGE
4872 * tools/gst-launch.c: (main):
4873 check for ENABLE_NLS, not GETTEXT_PACKAGE
4875 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4878 if we don't have glib, fail before testing 2.8
4879 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4880 fix a leak, should fix plugins-base testsuite
4882 2005-10-11 Andy Wingo <wingo@pobox.com>
4884 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4885 take the mode we're going to as an arg. Go head and set the mode
4886 and flushing flags now, so that if the activate function starts a
4887 thread all the flags will be in the right state.
4888 (post_activate): Renamed also. Just handle making sure streaming
4889 finishes for the deactivation case, and setting the deactivated
4891 (gst_pad_set_active): Complain loudly if deactivation fails.
4892 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4893 (gst_pad_activate_push): Adapt to pre/post_activate changes,
4894 remove the terrible hack.
4896 2005-10-11 Wim Taymans <wim@fluendo.com>
4898 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4899 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4900 (gst_bin_recalc_state), (gst_bin_change_state_func),
4901 (gst_bin_dispose), (bin_bus_handler):
4903 Prepare to make current EOS message queue more generic.
4906 * gst/gstevent.c: (gst_event_new_newsegment),
4907 (gst_event_parse_newsegment):
4909 Rename base to stream_time.
4914 2005-10-11 Wim Taymans <wim@fluendo.com>
4916 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4917 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4918 (gst_bin_change_state_func), (bin_bus_handler):
4920 Work on proper clock selection.
4922 2005-10-11 Edward Hervey <edward@fluendo.com>
4924 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
4925 * libs/gst/controller/gstcontroller.h:
4926 Added GList* version of _remove_properties() in order to be able to wrap
4929 2005-10-11 Wim Taymans <wim@fluendo.com>
4931 * docs/design/part-states.txt:
4934 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4935 (gst_bin_change_state_func), (bin_bus_handler):
4936 Doc updates. Don't distribute the same clock over and over again.
4942 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4943 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4944 (gst_pad_send_event):
4946 Make probe emission threadsafe again.
4947 Register quarks and move _get_name() from utils.
4950 * gst/gstpipeline.c: (gst_pipeline_class_init),
4951 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4952 Only redistribute the clock of it changed.
4954 * gst/gstsystemclock.h:
4959 Moved the _flow_get_name() to GstPad.
4961 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4963 * check/gst-libs/gdp.c: (GST_START_TEST):
4964 * check/gst/gstcaps.c: (GST_START_TEST):
4965 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4966 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4967 (gst_dp_packet_from_caps):
4968 fix more valgrind warnings before turning up the heat
4970 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4972 * gst/parse/grammar.y:
4973 some cleanup before the hacking
4975 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4977 * gst/base/gstbasesrc.c: (gst_base_src_query):
4979 * gst/gstutils.c: (gst_guint64_to_gdouble),
4980 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4982 externalize, basesrc uses it
4983 obviously the implementation needs testing
4985 2005-10-10 Wim Taymans <wim@fluendo.com>
4987 * tests/sched/Makefile.am:
4988 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4989 (make_pipeline3), (make_pipeline4), (print_elem), (main):
4991 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4993 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4994 apparently converting from guint64 to double is not implemented
4997 2005-10-10 Wim Taymans <wim@fluendo.com>
4999 * check/Makefile.am:
5000 * check/generic/states.c: (GST_START_TEST):
5001 * check/gst/gstbin.c: (GST_START_TEST):
5002 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5003 * check/states/sinks.c: (GST_START_TEST):
5004 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5006 Check fixes, use API as stated in design docs, remove hacks.
5008 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5009 (gst_base_sink_change_state):
5010 Catch stopping our task while we're shutting down.
5012 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5013 (gst_bin_remove_func), (gst_bin_get_state_func),
5014 (gst_bin_recalc_state), (gst_bin_change_state_func),
5017 * gst/gstelement.c: (gst_element_init),
5018 (gst_element_get_state_func), (gst_element_abort_state),
5019 (gst_element_commit_state), (gst_element_lost_state),
5020 (gst_element_set_state), (gst_element_change_state),
5021 (gst_element_change_state_func):
5023 New state change algorithm (see #318116)
5025 * gst/gstpipeline.c: (gst_pipeline_class_init),
5026 (gst_pipeline_init), (gst_pipeline_set_property),
5027 (gst_pipeline_get_property), (do_pipeline_seek),
5028 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5029 * gst/gstpipeline.h:
5030 Remove crude state change hacks.
5035 * tools/gst-launch.c: (main):
5036 Fixes for state change. Needs some more work to fully use the
5039 2005-10-10 Andy Wingo <wingo@pobox.com>
5041 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5043 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5044 this flag, but it's not even in GLib 2.6. Odd. Hack around the
5047 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
5049 * gst/gstiterator.c: (gst_iterator_new):
5050 Fix my previous commit: GTypes passed to gst_iterator_new()
5051 can be fundamental types.
5053 2005-10-10 Wim Taymans <wim@fluendo.com>
5055 * gst/gstelement.c: (gst_element_iterate_pad_list),
5056 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5057 (gst_element_iterate_sink_pads):
5058 Use src/sink pads lists for the respective iterators instead
5061 2005-10-10 Andy Wingo <wingo@pobox.com>
5063 Merged in popt removal + GOption addition patch from Ronald, bug
5066 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5067 GstElement macros around, remove popt-related symbols, add goption
5070 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5072 * docs/gst/Makefile.am:
5073 * docs/libs/Makefile.am: No POPT_CFLAGS.
5075 * examples/manual/Makefile.am:
5076 * docs/manual/basics-init.xml: Doc updates with an example.
5078 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5079 (gst_init), (parse_one_option), (parse_goption_arg):
5080 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5081 bit of hand merging and debugging to get the GOption stuff working
5084 * tests/Makefile.am:
5085 * tools/Makefile.am:
5086 * tools/gst-inspect.c: (main):
5087 * tools/gst-launch.c: (main):
5088 * tools/gst-run.c: (main):
5089 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5091 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
5093 * gst/gstiterator.c: (gst_iterator_new):
5094 Add assertions to make sure passed GType is likely to really
5095 be a GType (as the compiler won't catch it if the size and
5096 GType arguments get mixed up, see #318447).
5098 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
5100 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5102 * gst/gstbin.c: (gst_bin_iterate_sorted):
5103 Pass GType and size arguments to gst_iterator_new() in the right
5104 order (maybe we should make _new() take the GType as first argument
5105 just like _new_list()?) (#318447).
5108 2005-10-10 Wim Taymans <wim@fluendo.com>
5110 * gst/gstelement.c: (gst_element_finalize):
5111 And free the GStaticRecMutex too
5113 2005-10-10 Andy Wingo <wingo@pobox.com>
5115 * gst/gstelement.c (gst_element_init, gst_element_finalize):
5116 Allocate and free the mutex properly.
5118 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5120 (GstElement): The state_lock is now recursive. Rebuild your
5121 plugins, suckers. Old macros adapted.
5123 * docs/gst/gstreamer-sections.txt: Doc updates.
5126 * gst/gstutils.c (g_static_rec_cond_timed_wait)
5127 (g_static_rec_cond_wait): Ported from state changes patch, while
5128 we wait on bug #317802 to be solved in a well-distributed GLib.
5130 * gst/gstelement.c (gst_element_change_state_func): Renamed from
5131 gst_element_change_state, variable name changes.
5132 (gst_element_change_state): Split out of gst_element_set_state in
5133 preparation for the state change merge. Doesn't pay attention to
5134 the 'transition' argument.
5135 (gst_element_set_state): Updates, hopefully purely cosmetic.
5136 (gst_element_sync_state_with_parent): MT-safety. Ported from the
5138 (gst_element_get_state_func): Renamed from get_state, cosmetic
5141 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
5143 * gst/elements/gstelements.c:
5144 * win32/GStreamer.vcproj:
5146 * win32/dirent.c: (_tseekdir):
5147 * win32/gst-inspect.vcproj:
5148 * win32/gst-launch.vcproj:
5149 * win32/gstconfig.h:
5150 * win32/gstelements.vcproj:
5151 * win32/gstenumtypes.c: (gst_object_flags_get_type):
5152 * win32/gstreamer.def:
5154 updates for the win32 build (patch from Sebastien Moutte)
5156 2005-10-10 Andy Wingo <wingo@pobox.com>
5158 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5159 gst_bin_get_state, cleaned up (but no logic changes).
5160 (bin_element_is_sink): Comment updates.
5161 (sink_iterator_filter): Remove needless cast.
5162 (gst_bin_iterate_sinks): Doc update.
5163 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5164 cleaned up (but no logic changes).
5166 * check/states/sinks.c (test_src_sink): Cleanups from the state
5168 (test_livesrc_sink): Sync on the state.
5170 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5171 the state change patch.
5173 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5176 * check/gst/gstbin.c: Merge in some style fixes and additional
5177 checks from Wim's state change patch.
5179 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
5181 * gst/base/gsttypefindhelper.c: (helper_find_peek),
5182 (gst_type_find_helper):
5183 Check whether we have the requested data already in our list of
5184 cached buffers before pulling a new buffer; also make the buffer
5185 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5187 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
5192 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5193 don't use long long, it's not portable. Replacing with
5194 gint64 seems to work; let's hope no skeletons fall out of the closet.
5196 2005-10-10 Andy Wingo <wingo@pobox.com>
5198 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5200 2005-10-09 Stefan Kost <ensonic@users.sf.net>
5202 * docs/gst/gstreamer-sections.txt:
5207 * gst/gstmessage.c: (gst_message_parse_state_changed):
5210 more docs, fix compilation
5212 2005-10-09 Philippe Khalaf <burger@speedy.org>
5214 Fixed a few forgotten variables on previous commit
5216 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
5218 * gst/base/gsttypefindhelper.c: (helper_find_peek):
5219 Fix evil typefind crasher: getrange() might return a short
5220 buffer at the end of a file, but gst_type_find_peek() must
5221 either return the full data as requested or NULL, but
5222 never a short buffer.
5224 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
5226 * gst/gstmessage.c: (gst_message_new_state_changed),
5227 (gst_message_parse_state_changed):
5229 don't use "new", it's a C++ keyword
5231 2005-10-08 Wim Taymans <wim@fluendo.com>
5233 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5234 * gst/gstelement.c: (gst_element_post_message):
5235 * gst/gstpipeline.c: (gst_pipeline_change_state):
5236 Small docs and debug updates.
5238 2005-10-08 Stefan Kost <ensonic@users.sf.net>
5240 * docs/gst/gstreamer-sections.txt:
5241 * gst/gstelementfactory.c:
5246 2005-10-08 Wim Taymans <wim@fluendo.com>
5248 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5249 (gst_bin_dispose), (bin_bus_handler):
5250 Fix typos, add comments.
5251 Clear EOS list when going to PAUSED from any direction and do it
5252 in a threadsafe way.
5253 Get base time in a threadsafe way too.
5254 Fix confusing debug in the change_state function.
5255 Various other small cleanups.
5257 * gst/gstelement.c: (gst_element_post_message):
5258 Fix very verbose bus posting code.
5260 * gst/gstpipeline.c: (gst_pipeline_class_init),
5261 (gst_pipeline_set_property), (gst_pipeline_get_property),
5262 (gst_pipeline_change_state):
5263 Small ARG_ -> PROP_ cleanup
5265 2005-10-08 Wim Taymans <wim@fluendo.com>
5267 * gst/gstbin.c: (is_eos), (bin_bus_handler):
5268 Do a less CPU demanding EOS check because we can.
5270 2005-10-08 Wim Taymans <wim@fluendo.com>
5272 * libs/gst/dataprotocol/dataprotocol.c:
5273 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5274 (gst_dp_packet_from_event):
5275 * libs/gst/dataprotocol/dataprotocol.h:
5276 * libs/gst/dataprotocol/dp-private.h:
5277 It's about time we bump the version number.
5278 Since event types don't fit in the guint8 anymore describing
5279 the payload type, make payload type 16 bits wide.
5281 2005-10-08 Wim Taymans <wim@fluendo.com>
5283 * docs/design/part-TODO.txt:
5284 * docs/design/part-clocks.txt:
5285 * docs/design/part-events.txt:
5286 * docs/design/part-gstbin.txt:
5287 * docs/design/part-gstelement.txt:
5288 * docs/design/part-gstpipeline.txt:
5289 * docs/design/part-live-source.txt:
5290 * docs/design/part-messages.txt:
5291 * docs/design/part-overview.txt:
5292 * docs/design/part-states.txt:
5295 2005-10-08 Wim Taymans <wim@fluendo.com>
5299 Fix event quark registration.
5300 Add some space between events so we can insert them in the
5303 2005-10-08 Wim Taymans <wim@fluendo.com>
5305 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5306 (gst_base_sink_handle_buffer):
5313 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5314 (gst_queue_set_property), (gst_queue_get_property):
5316 Remove old unused properties.
5318 2005-10-08 Stefan Kost <ensonic@users.sf.net>
5319 * docs/gst/gstreamer-sections.txt:
5322 * gst/gstminiobject.c:
5323 * gst/gstminiobject.h:
5327 lots of new docs and doc fixes
5329 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5331 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5333 * gst/gstregistry.c: (gst_registry_lookup_locked),
5334 (gst_registry_scan_path_level):
5335 * gst/gstregistryxml.c: (load_plugin):
5336 Only ever load one plugin for a given plugin basename.
5337 This ensures correct overriding of GST_PLUGIN_PATH over
5338 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5339 system installed plugins.
5341 2005-10-08 Wim Taymans <wim@fluendo.com>
5343 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5344 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5345 Prepare for doing QOS.
5347 2005-10-08 Wim Taymans <wim@fluendo.com>
5349 * check/gst/gstbin.c: (GST_START_TEST):
5350 * check/pipelines/cleanup.c: (GST_START_TEST):
5351 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5352 Allow new clock message too.
5354 2005-10-08 Wim Taymans <wim@fluendo.com>
5356 * gst/gstmessage.c: (gst_message_new_error),
5357 (gst_message_new_warning), (gst_message_new_tag),
5358 (gst_message_new_state_changed), (gst_message_new_clock_provide),
5359 (gst_message_new_clock_lost), (gst_message_new_new_clock),
5360 (gst_message_new_segment_start), (gst_message_new_segment_done),
5361 (gst_message_parse_state_changed),
5362 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5363 (gst_message_parse_new_clock):
5365 Also carry the clock in question.
5367 2005-10-08 Wim Taymans <wim@fluendo.com>
5369 * gst/gstmessage.c: (gst_message_new_custom),
5370 (gst_message_new_eos), (gst_message_new_error),
5371 (gst_message_new_warning), (gst_message_new_tag),
5372 (gst_message_new_state_changed), (gst_message_new_clock_provide),
5373 (gst_message_new_new_clock), (gst_message_new_segment_start),
5374 (gst_message_new_segment_done), (gst_message_parse_state_changed),
5375 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5378 Added clock related messages.
5380 * gst/gstpipeline.c: (gst_pipeline_change_state):
5381 Post message when the clock changed.
5383 * tools/gst-launch.c: (event_loop):
5386 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
5388 * tools/gst-inspect.c: (print_element_properties_info):
5389 Can't pass NULL strings to g_print() on windows.
5391 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5394 * docs/gst/Makefile.am:
5395 * docs/gst/gstreamer-docs.sgml:
5396 * docs/gst/running.xml:
5397 * docs/version.entities.in:
5398 add a chapter on running GStreamer.
5399 document GST_DEBUG and GST_PLUGIN* env vars
5401 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5406 remove PLUGINS_BUILDDIR stuff
5407 * gst/gst.c: (init_post):
5408 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5410 remove, it was condescending and not needed
5412 2005-10-08 Wim Taymans <wim@fluendo.com>
5414 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5415 (gst_base_sink_handle_object), (gst_base_sink_event),
5416 (gst_base_sink_wait), (gst_base_sink_handle_event),
5417 (gst_base_sink_change_state):
5418 * gst/base/gstbasesink.h:
5419 Repost EOS message while going to PLAYING if still EOS.
5420 Make sure that when receiving a FLUSH_START we don't attempt
5421 to sync on the clock anymore.
5423 2005-10-08 Wim Taymans <wim@fluendo.com>
5425 * tools/gst-launch.c: (event_loop):
5426 Better message printout.
5428 2005-10-08 Wim Taymans <wim@fluendo.com>
5430 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5431 (gst_bin_child_proxy_get_children_count):
5432 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5433 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5434 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5435 (gst_child_proxy_set_valist):
5436 * gst/parse/grammar.y:
5437 Make ChildProxy threadsafe and fix mem leaks.
5439 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5441 * gst/gst.c: (init_post):
5442 debug the GST_PLUGIN_ env vars
5444 2005-10-08 Wim Taymans <wim@fluendo.com>
5446 * check/gst/gstbin.c: (GST_START_TEST):
5447 * check/gst/gstmessage.c: (GST_START_TEST):
5448 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5449 * gst/gstelement.c: (gst_element_commit_state),
5450 (gst_element_lost_state):
5451 * gst/gstmessage.c: (gst_message_new_state_changed),
5452 (gst_message_parse_state_changed):
5454 * tools/gst-launch.c: (event_loop):
5455 Added extra field to STATE_CHANGE message with the pending
5456 state, which will be different from the new state soon.
5458 2005-10-08 Wim Taymans <wim@fluendo.com>
5460 * gst/gstbus.c: (gst_bus_pop):
5462 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5463 Small cleanups and doc updates.
5465 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5467 * gst/gst.c: (init_pre):
5468 * gst/gstbin.c: (gst_bin_add_func):
5469 log distributing clocks and base time
5470 * gst/gstregistry.c: (gst_registry_add_plugin),
5471 (gst_registry_scan_path_level), (gst_registry_scan_path):
5472 clean up the debugging output a little
5473 * gst/gstutils.c: (gst_element_state_get_name):
5474 warn about a memleak (I've actually seen this be used, though
5475 it was probably a bug)
5477 2005-10-07 Wim Taymans <wim@fluendo.com>
5479 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5480 (gst_base_src_init), (gst_base_src_default_newsegment),
5481 (gst_base_src_newsegment), (gst_base_src_do_seek),
5482 (gst_base_src_loop), (gst_base_src_start):
5483 * gst/base/gstbasesrc.h:
5484 Make the newsegment event customizable by subclasses.
5486 2005-10-07 Wim Taymans <wim@fluendo.com>
5488 * gst/gstevent.c: (gst_event_new_buffersize),
5489 (gst_event_parse_buffersize):
5491 New event for future idea.
5493 2005-10-07 Andy Wingo <wingo@pobox.com>
5495 * gst/gstelement.c (gst_element_post_message): Doc update.
5497 * docs/gst/gstreamer-sections.txt: Update.
5499 * gst/gstmessage.c (gst_message_new_application): Made into a
5500 function like honest API calls.
5501 (gst_message_new_element): New message type.
5503 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5505 * check/elements/fakesrc.c (test_no_preroll): New check, checks
5506 that setting a live fakesrc to PAUSED returns NO_PREROLL both
5509 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5510 NO_PREROLL from gst_element_change_state to fall through.
5512 2005-10-07 Wim Taymans <wim@fluendo.com>
5514 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5515 (gst_ghost_pad_do_activate_push):
5516 Activating a ghostpad with no internal pad in push mode
5519 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
5522 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5523 Fixes compilation on Windows.
5525 2005-10-07 Michael Smith <msmith@fluendo.com>
5527 * tools/gst-inspect.c:
5528 Print out feature and plugin count at the end when printing out
5531 2005-10-04 Michael Smith <msmith@fluendo.com>
5533 * gst/gsterror.c: (_gst_stream_errors_init):
5534 Add another error string used in a few existing plugins.
5537 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5538 * tools/gst-inspect.c: (print_element_info):
5539 When a feature disappears from a plugin (and the feature exists in
5540 the cached registry file), things went horribly wrong. This isn't a
5541 complete fix, we should actually be removing the 'missing' features
5542 from the features list when we load the actual plugin. That's not
5545 2005-10-04 Johan Dahlin <johan@gnome.org>
5547 * check/gst/gstiterator.c: (GST_START_TEST):
5548 * gst/gstbin.c: (gst_bin_iterate_elements),
5549 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5550 * gst/gstelement.c: (gst_element_iterate_pads):
5551 * gst/gstformat.c: (gst_format_iterate_definitions):
5552 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5553 (gst_iterator_new_list), (gst_iterator_filter):
5554 * gst/gstiterator.h:
5555 * gst/gstquery.c: (gst_query_type_iterate_definitions):
5556 Add a GType to GstIterator, update callsites and tests.
5558 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5560 * gst/gstpad.c: (gst_pad_event_default_dispatch):
5561 give events a chance to be handled by event probes when the pad
5564 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5566 * gst/gstevent.c: (gst_event_type_get_name),
5567 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5569 add string representations for event types
5571 2005-10-06 Wim Taymans <wim@fluendo.com>
5573 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5574 Don't use NULL pointers.
5576 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5578 * gst/gst_private.h:
5582 * gst/gstpluginfeature.c:
5583 widen the debug category in output to fit the biggest one we have
5584 add a bus category and use it
5585 play with the colors
5586 fix up some categories
5588 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5590 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5591 add push activation of sink ghost pads.
5592 Andye, please verify
5594 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5596 * gst/gstutils.c: (gst_element_link_pads):
5597 fix a bug in the case where neither element has a pad
5598 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5599 add a test for that case
5601 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5603 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5604 emit have-data before checking for peers. This allows
5605 for probe handlers to connect elements. This helps autopluggers.
5606 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5608 add six checks, linked/unlinked with no/true/false probe
5610 2005-10-04 Wim Taymans <wim@fluendo.com>
5612 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5613 (gst_fake_sink_event), (gst_fake_sink_preroll),
5614 (gst_fake_sink_render), (gst_fake_sink_change_state):
5615 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5616 (gst_fake_src_get_property), (gst_fake_src_create),
5617 (gst_fake_src_stop):
5618 * gst/elements/gstidentity.c: (gst_identity_stop):
5619 Protect last_message with lock.
5621 2005-10-04 Edward Hervey <edward@fluendo.com>
5624 Added precision in the comments for GST_FORMAT_DEFAULT
5626 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
5628 * tools/gst-launch.c: (main):
5629 Don't try to run erroneous pipelines.
5631 2005-10-04 Julien MOUTTE <julien@moutte.net>
5633 * gst/gstbus.c: We don't need this header.
5635 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5640 === release 0.9.3 ===
5642 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5646 Releasing 0.9.3, "Unregistered"
5648 2005-10-03 Andy Wingo <wingo@pobox.com>
5650 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5651 whereby calling a pad's activatepush() function can start a thread
5652 that starts to push or pull before the pad gets the FLUSHING flag
5653 unset. Hack around it by holding the stream lock until the flag is
5654 set. Need to replace this with a proper solution. Together with
5655 the ghost pad fixes, this fixes mp3 playing/tagreading.
5657 * docs/design/part-gstghostpad.txt: Add a note about activation of
5658 proxy pads outside of ghost pads.
5660 * gst/gstghostpad.c: Implement the ghost pad activation design.
5662 2005-10-02 Andy Wingo <wingo@pobox.com>
5664 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5665 It is volatile, after all.
5667 * docs/design/part-gstghostpad.txt: Flesh out activation with
5670 * gst/base/gstbasesrc.c (gst_base_src_init): Use
5673 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
5676 Fix (unused) AM_CONDITIONAL tests.
5678 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
5680 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5682 * gst/gstutils.c: (gst_pad_query_convert):
5683 Add assertion that makes sure src_val is >=0, just like
5684 gst_query_new_convert() has. (#315895)
5686 2005-09-30 Edward Hervey <edward@fluendo.com>
5688 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5689 Let's not iterate pads we're not interested in, it avoids getting
5690 sky-high refcounts on sinkpad.
5692 2005-09-30 Wim Taymans <wim@fluendo.com>
5694 * gst/gstelement.c: (gst_element_set_state),
5695 (gst_element_change_state):
5696 Small tweak, element in ASYNC remains ASYNC.
5698 2005-09-30 Wim Taymans <wim@fluendo.com>
5700 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5701 Only error is an error.
5703 * gst/gstbin.c: (gst_bin_change_state):
5706 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5707 Also call pad_block in pad alloc.
5709 * gst/gstutils.c: (gst_flow_get_name):
5712 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5714 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5715 (gst_base_src_get_range):
5716 Fix documentation typos. Add some more debug info.
5718 2005-09-29 David Schleef <ds@schleef.org>
5720 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5721 more end-user friendly.
5722 * tools/gst-inspect.c: (main): Check if command-line argument is
5723 a file and attempt to load that file as a plugin.
5725 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5727 * check/gst/gstbin.c:
5728 * check/states/sinks.c:
5729 fix tests for the new warning
5730 * check/gst/gstpipeline.c:
5731 add a test for pipeline and bus interaction
5733 elements should be NULL if they get disposed; add a warning if not
5735 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5738 for 2.6 refcounting, make debug log more correct by printing
5739 the actual refcounts at the time of swap (Wim)
5741 2005-09-29 Andy Wingo <wingo@pobox.com>
5743 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5744 removes signal watches previously added via
5745 gst_bus_add_signal_watch.
5746 (gst_bus_add_signal_watch): Don't return the source id, just store
5747 it on the bus if there wasn't an id already.
5749 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5750 add_signal_watch and remove_signal_watch.
5752 2005-09-29 Edward Hervey <edward@fluendo.com>
5754 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5755 Better if we actually iterate the list :)
5757 2005-09-29 Wim Taymans <wim@fluendo.com>
5759 * check/gst/gstbin.c: (GST_START_TEST):
5760 Change for new bus API.
5762 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5763 (send_messages), (GST_START_TEST), (gstbus_suite):
5764 Change for new bus signal API.
5766 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5767 (gst_bus_source_prepare), (gst_bus_source_check),
5768 (gst_bus_create_watch), (gst_bus_add_watch_full),
5769 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5770 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5772 Remove support for multiple GSources operating on different
5773 message types as it is too complex and unneeded when using
5775 Added support for receiving signals from the bus.
5777 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5779 * docs/libs/tmpl/gstdataprotocol.sgml:
5780 * docs/manual/advanced-dataaccess.xml:
5781 * gst/elements/gstcapsfilter.c:
5783 rename filter-caps to caps property
5785 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5787 * gst/gstvalue.c: (gst_value_deserialize_fraction):
5788 More robust fraction string parsing.
5790 * docs/pwg/appendix-porting.xml:
5791 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5793 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5795 * gst/gstcaps.c: (gst_caps_do_simplify):
5796 Thou shalt not free a structure and then continue using it
5797 in the next loop iteration.
5799 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5801 Add test case for caps simplification.
5803 2005-09-29 Wim Taymans <wim@fluendo.com>
5805 * check/gst/gstbin.c: (GST_START_TEST):
5808 2005-09-29 Wim Taymans <wim@fluendo.com>
5810 * check/gst/gstbin.c: (GST_START_TEST):
5813 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5814 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5815 (find_element), (gst_bin_sort_iterator_next),
5816 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5817 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5818 (gst_bin_change_state), (gst_bin_dispose):
5819 A bin does not have a bus, it gets the bus from the parent.
5821 * gst/gstelement.c: (gst_element_requires_clock),
5822 (gst_element_provides_clock), (gst_element_is_indexable),
5823 (gst_element_is_locked_state), (gst_element_change_state),
5824 (gst_element_set_bus_func):
5827 * gst/gstpipeline.c: (gst_pipeline_class_init),
5828 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5829 The pipeline provides a bus.
5831 2005-09-28 Johan Dahlin <johan@gnome.org>
5833 * gst/gstmessage.c (gst_message_parse_state_changed): Use
5834 gst_structure_get_enum instead of gst_structure_get_int
5836 * gst/gststructure.c (gst_structure_get_enum): Impl.
5838 * gst/gststructure.h (gst_structure_get_enum): Add
5840 * docs/gst/gstreamer-sections.txt: Ditto
5842 * gst/gstmessage.c (gst_message_new_state_changed): Use
5843 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5844 which does introspection.
5845 Reviewed by Christian Schaller
5847 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5849 * gst/gstinfo.c: (gst_debug_log_default):
5850 don't do dummy g_strdup()s
5851 * libs/gst/controller/gstcontroller.c:
5852 (on_object_controlled_property_changed),
5853 (gst_controlled_property_new), (gst_controller_new_valist),
5854 (gst_controller_new_list),
5855 (gst_controller_remove_properties_valist), (gst_controller_set),
5856 (gst_controller_get), (gst_controller_sync_values),
5857 (gst_controller_get_value_array), (_gst_controller_class_init),
5858 (gst_controller_get_type):
5859 * libs/gst/controller/gstcontroller.h:
5860 * libs/gst/controller/gstinterpolation.c:
5861 (gst_controlled_property_find_timed_value_node):
5862 convert // to /**/ comments
5864 2005-09-28 Wim Taymans <wim@fluendo.com>
5866 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5867 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5868 (gst_bus_sync_signal_handler):
5870 Added async-message and sync-message signals to the bus.
5871 Added helper BusFunc to emit signals for all posted messages.
5873 * gst/gstmessage.c: (gst_message_type_get_name),
5874 (gst_message_type_to_quark), (gst_message_get_type):
5876 Register quarks for message names.
5878 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5880 * docs/libs/gstreamer-libs-sections.txt:
5881 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5882 (gst_controller_new_list):
5883 * libs/gst/controller/gstcontroller.h:
5884 added another constructor for language bindings
5886 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
5888 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5892 * gst/gstinfo.c: (_gst_debug_init):
5893 slightly more readable color for refcount debugging
5895 2005-09-28 Wim Taymans <wim@fluendo.com>
5897 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5898 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5899 (find_element), (gst_bin_sort_iterator_next),
5900 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5901 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5902 (gst_bin_change_state), (gst_bin_dispose):
5903 Small doc fixes. get_clock -> provide_clock.
5905 * gst/gstelement.c: (gst_element_class_init),
5906 (gst_element_provides_clock), (gst_element_provide_clock),
5907 (gst_element_get_clock), (gst_element_commit_state),
5908 (gst_element_lost_state):
5910 Make get/set_clock() symetric. Add provide_clock vmethod since
5911 that is actually what this function does.
5913 * gst/gstpipeline.c: (gst_pipeline_class_init),
5914 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5915 (gst_pipeline_get_clock):
5916 get_clock -> provide_clock.
5918 2005-09-28 Andy Wingo <wingo@pobox.com>
5920 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5921 lieu of real docs...
5923 * gst/elements/gstfdsrc.c: Cleaned up a bit.
5925 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
5927 * gst/elements/gstcapsfilter.c:
5928 * gst/elements/gstfakesink.c:
5929 * gst/elements/gstfakesrc.c:
5930 * gst/elements/gstfdsink.c:
5931 * gst/elements/gstfdsrc.c:
5932 * gst/elements/gstfilesink.c:
5933 * gst/elements/gstfilesrc.c:
5934 * gst/elements/gstidentity.c:
5935 * gst/elements/gsttee.c:
5936 * gst/elements/gsttypefindelement.c:
5937 Make element details static.
5939 2005-09-28 Wim Taymans <wim@fluendo.com>
5941 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5942 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5943 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5944 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5945 (gst_bin_change_state), (gst_bin_dispose):
5946 Some documentation updates.
5947 Clean up dispose handlers.
5949 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5950 * gst/gstpad.c: (gst_pad_dispose):
5951 Clean up dispose handler.
5953 * gst/gstpipeline.c: (gst_pipeline_change_state):
5954 Removed spurious UNLOCK.
5956 2005-09-27 Stefan Kost <ensonic@users.sf.net>
5958 * docs/gst/gstreamer-sections.txt:
5959 * gst/base/gstbasesrc.h:
5964 * gst/gstpipeline.c:
5965 * gst/gstpipeline.h:
5968 added two new functions to the docs
5969 documents all undocumented GstXXXFlags
5970 completed some incomplete docs
5972 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
5974 * gst/gstbin.c: (gst_bin_dispose):
5975 * gst/gstelement.c: (gst_element_dispose):
5976 remove now useless and leaky resurrection code in dispose
5977 * gst/base/gstbasesrc.c: (gst_base_src_init):
5978 * gst/gstelementfactory.c: (gst_element_factory_create):
5979 * gst/gstobject.c: (gst_object_set_parent):
5982 2005-09-27 Wim Taymans <wim@fluendo.com>
5984 * docs/design/part-TODO.txt:
5987 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5988 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5989 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5990 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5991 (gst_bin_change_state):
5993 Remove element variable, we keep element info in the iterator now.
5995 2005-09-27 Andy Wingo <wingo@pobox.com>
5997 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6000 2005-09-27 Wim Taymans <wim@fluendo.com>
6002 * check/gst/gstbin.c: (GST_START_TEST):
6003 Enable check that works now.
6005 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6006 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6007 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6008 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6009 (gst_bin_change_state):
6011 Redid the state change algorithm using a topological sort algo.
6012 Handles all cases correctly.
6013 Exposed iterator for state change order.
6016 Temp storage for state changes. Need to get rid of this soon.
6018 2005-09-27 Wim Taymans <wim@fluendo.com>
6020 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6021 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6022 (link_fold_func), (gst_pad_proxy_setcaps):
6023 Leak fixes, the fold functions need to unref the passed object and
6024 _get_parent_*() returns ref to parent.
6026 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
6028 * check/gst/gstbuffer.c: (test_make_writable):
6029 Plug leak in test case and fix 'make check-valgrind'
6031 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
6033 * gst/gstbuffer.c: (gst_subbuffer_init):
6034 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6035 works correctly in all circumstances (we could have just copied
6036 the parent buffer's readonly flag, but conceptually it seems
6037 cleaner to mark all subbuffers as read-only). (based on patch
6038 by Alessandro Decina, #314710).
6040 * check/gst/gstbuffer.c: (create_read_only_buffer),
6041 (test_make_writable), (test_subbuffer_make_writable),
6043 Add some tests for gst_buffer_make_writable().
6045 2005-09-27 Wim Taymans <wim@fluendo.com>
6047 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6048 use gst_object_has_ancestor().
6050 * gst/gstobject.c: (gst_object_has_ancestor):
6052 gst_object_has_ancestor() copied from gstbin.c as it is a
6055 * tests/instantiate/create.c: (create_all_elements):
6056 * tests/lat.c: (handoff_src), (handoff_sink):
6057 * tests/sched/runxml.c: (main):
6058 * tests/seeking/seeking1.c: (main):
6059 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6061 Fix compilation of some tests.
6063 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
6066 Remove comment. GST_TYPE_G_ERROR is here to stay,
6067 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6070 2005-09-26 Wim Taymans <wim@fluendo.com>
6072 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6073 Added check that shows error in state change order.
6075 2005-09-26 Wim Taymans <wim@fluendo.com>
6077 * gst/gstbin.c: (gst_bin_change_state):
6078 Make state change function use 3 queues again, we were
6079 adding elements in the wrong order.
6081 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6084 * gst/gstpad.c: (gst_pad_dispose):
6085 Added some debug info first.
6087 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
6089 * docs/design/draft-push-pull.txt:
6090 * docs/design/part-events.txt:
6091 * docs/design/part-overview.txt:
6092 * docs/design/part-scheduling.txt:
6093 Replace all _pull_region() with _pull_range()
6095 2005-09-26 Andy Wingo <wingo@pobox.com>
6097 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6099 * check/gst-libs/controller.c: Update for controller api change.
6102 * tests/Makefile.am:
6103 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6104 over by GLib bug 118439.
6106 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6107 routines to a function.
6109 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6111 * libs/gst/controller/gsthelper.c:
6112 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6113 (gst_object_sync_values): Renamed from sink_values. Ugh.
6115 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6117 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6118 Renamed from controller_key, as it is exported.
6120 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6122 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
6127 * gst/gstpadtemplate.h:
6130 * gst/gstqueryutils.c:
6131 * gst/gstqueryutils.h:
6132 remove queryutils headers after moving the two used functions
6133 to gstquery. also fixes build problem for gstsiddec
6135 2005-09-26 Michael Smith <msmith@fluendo.com>
6137 * tools/gst-launch.1.in:
6138 Correct documentation in manpage of debug syntax
6140 2005-09-26 Wim Taymans <wim@fluendo.com>
6142 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6143 (gst_base_src_is_seekable), (gst_base_src_change_state):
6144 Some more debugging info.
6146 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6148 * docs/gst/gstreamer-sections.txt:
6149 * gst/base/gstbasetransform.h:
6153 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6155 * docs/gst/.cvsignore:
6156 * docs/gst/tmpl/.cvsignore:
6157 * docs/gst/tmpl/gstpipeline.sgml:
6158 * docs/gst/tmpl/gstplugin.sgml:
6159 * gst/gstpipeline.c:
6162 inlined the last two docs files
6163 removed the tmpl directory from cvs (no more conflicts here!)
6165 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6167 * docs/gst/gstreamer-sections.txt:
6168 * docs/gst/tmpl/.cvsignore:
6169 * docs/gst/tmpl/gstpad.sgml:
6170 * docs/gst/tmpl/gstpadtemplate.sgml:
6172 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6173 (gst_pad_finalize), (gst_pad_set_pad_template):
6175 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6176 (gst_pad_template_class_init), (gst_pad_template_init),
6177 (gst_pad_template_dispose), (name_is_valid),
6178 (gst_static_pad_template_get), (gst_pad_template_new),
6179 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6180 (gst_pad_template_pad_created):
6181 * gst/gstpadtemplate.h:
6182 inlined two more docs
6183 factored gstpadtemplate out of gstpad
6185 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
6187 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6188 (test_children_state_change_order_semi_sink):
6189 Fix test case: we can't rely on a fixed state change order when
6190 going from READY => PAUSED because the sink might commit its
6191 new state first when the first buffer created by the source
6192 reaches the sink before the source has finished its change state.
6193 (Test case still fails at times, see #316856, comment 5 onwards)
6195 2005-09-24 Wim Taymans <wim@fluendo.com>
6197 * docs/design/part-events.txt:
6198 * docs/design/part-gstbus.txt:
6199 * docs/design/part-gstpipeline.txt:
6200 * docs/design/part-messages.txt:
6201 * docs/design/part-overview.txt:
6202 * docs/design/part-segments.txt:
6209 * gst/gstiterator.c:
6210 Various documentation updates.
6212 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
6215 Well, that's embarassing. Luckily we weren't using
6216 GST_CLOCK_DIFF anywhere.
6218 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6220 * common/gtk-doc.mak:
6221 don't fail on building XML, FC4 slave shows a bunch of doc
6222 missing bits that I don't get
6224 * gst/gstpipeline.c:
6225 * gst/gststructure.c:
6228 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
6230 * docs/design/part-gstbin.txt:
6231 * docs/design/part-gstbus.txt:
6233 Add blurb about how the bus goes into flushing mode and
6234 drops all messages when its bin goes from READY into NULL
6237 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6239 * docs/gst/gstreamer-sections.txt:
6240 * gst/gststructure.c: (gst_structure_get_clock_time):
6241 * gst/gststructure.h:
6242 add a method to get a GstClockTime out of a structure
6244 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
6246 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6247 (test_children_state_change_order_semi_sink), (gst_bin_suite):
6248 Added test to check state change order in bins (can still be made
6249 to fail here under heavy disk load; bails out with 'Push on pad
6250 fakesink:sink0, but it was not activated in push mode').
6252 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6253 Fix state change order when there is only a semi sink (#316856)
6255 * gst/gstbus.c: (gst_bus_class_init):
6256 Use _class_peek_parent(), not _class_ref(); fix docs to say
6257 'default main context' instead of 'mainloop' where that is
6260 * gst/gstelement.c: (gst_element_commit_state),
6261 (gst_element_set_state):
6262 Fix typos in debug messages
6264 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6267 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6268 * gst/gstpluginfeature.c:
6271 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6272 change an assert into an error until it gets fixed properly
6274 2005-09-23 Stefan Kost <ensonic@users.sf.net>
6276 * docs/gst/gstreamer-sections.txt:
6277 * docs/gst/tmpl/.cvsignore:
6278 * docs/gst/tmpl/gstelement.sgml:
6279 * docs/gst/tmpl/gstinfo.sgml:
6280 * docs/gst/tmpl/gstobject.sgml:
6285 * gst/gstobject.c: (gst_object_class_init):
6287 inlined 3 more biiiig doc files and added some missing docs on the fly
6289 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6291 * check/gst/.cvsignore:
6292 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6293 * gst/gstregistryxml.c: (load_plugin),
6294 (gst_registry_xml_save_plugin):
6295 put back source in registry. add checks for find_plugin.
6296 * testsuite/states/bin.c: (assert_state), (empty_bin),
6297 (test_adding_one_element), (main):
6298 * testsuite/states/locked.c: (main):
6299 some compile/run fixes
6301 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6303 * check/gst/gstvalue.c: (GST_START_TEST):
6304 fix leaks in the test itself
6306 2005-09-22 Wim Taymans <wim@fluendo.com>
6308 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6309 (gst_base_sink_send_event), (gst_base_sink_peer_query),
6310 (gst_base_sink_query):
6311 Prepare for more accurate position reporting and query
6314 * gst/gstelement.c: (gst_element_send_event),
6315 (gst_element_set_state):
6318 2005-09-22 Wim Taymans <wim@fluendo.com>
6320 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6321 (gst_query_parse_segment):
6324 Add segment query for future use.
6326 2005-09-22 Wim Taymans <wim@fluendo.com>
6328 * gst/gstbin.c: (gst_bin_add_func):
6329 Some more debug info.
6331 * gst/gstelement.c: (gst_element_send_event):
6335 Don't know how flags got broken.
6340 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
6342 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6343 Add simplistic test suite for GST_TYPE_DATE serialisation and
6346 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
6348 * docs/gst/gstreamer-sections.txt:
6349 * gst/gststructure.c: (gst_structure_set_valist),
6350 (gst_structure_get_date):
6351 * gst/gststructure.h:
6352 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6353 (gst_date_copy), (gst_value_compare_date),
6354 (gst_value_serialize_date), (gst_value_deserialize_date),
6355 (gst_value_transform_date_string),
6356 (gst_value_transform_string_date), (_gst_value_initialize):
6358 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6359 bunch of utility functions along with a hack that checks that
6360 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6361 is required. Part of the grand scheme in #170777.
6363 2005-09-22 Andy Wingo <wingo@pobox.com>
6365 * gst/gstconfig.h.in: Psych out gtk-doc.
6367 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6369 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6371 * tools/gst-inspect.c (print_element_list): Plug some
6372 inconsequential leaks.
6374 * gst/gstregistry.c (gst_registry_get_default): Doc.
6376 * check/gst/gstplugin.c:
6377 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6378 * gst/gstelementfactory.c (gst_element_factory_create):
6379 * gst/gstindexfactory.c (gst_index_factory_create): Update for
6382 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6383 (gst_plugin_feature_load): Doc, don't eat refs.
6385 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6386 (gst_plugin_list_free): Doc.
6387 (gst_plugin_load_file): Doc updates.
6389 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6390 accessors returning refcounted objects, return a ref.
6392 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6393 accessor for caps. IDEMPOTENCE. Oh yes.
6395 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
6397 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6399 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6400 (_gst_debug_register_funcptr):
6401 Add mutex to serialise access to the hash table with
6402 the function pointer => function name string mapping;
6403 make that hash table static scope (#316809).
6405 * gst/registries/.cvsignore:
6406 Remove left-over file.
6408 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
6410 * docs/pwg/appendix-porting.xml:
6411 And something about newsegment events and caps-on-buffers to
6412 the porting guide (feel free to improve).
6414 2005-09-21 Andy Wingo <wingo@pobox.com>
6416 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6417 data and event probes on the same pad.
6418 (test_buffer_probe_once): Test that removing probes from within
6419 the probe functions works.
6421 2005-09-21 Andy Wingo <wingo@pobox.com>
6423 * check/gst/gstutils.c: New file.
6424 (test_buffer_probe_n_times): A simple buffer probe test. More to
6427 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6428 have-data::buffer, not have-data.
6429 (gst_pad_add_event_probe): Likewise for have-data::event.
6430 (gst_pad_add_data_probe): More docs. The part about 'resolving the
6431 peer' isn't quite right yet though.
6432 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
6433 (gst_pad_remove_data_probe): Change to take the guint handler_id
6434 as their arg, not the function+data, which is more glib-like.
6436 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6437 the signal emission to indicate if the data is a buffer or an
6439 (gst_pad_get_type): Initialize buffer and event quarks.
6440 (gst_pad_class_init): have-data is now a detailed signal, yes it
6443 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
6445 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6446 * gst/gstutils.c: (gst_util_set_value_from_string),
6447 (gst_util_set_object_arg):
6448 Don't put functional code in g_return_if_fail() or
6449 g_return_val_if_fail() statements, otherwise things will
6450 break when G_DISABLE_CHECKS is defined during compilation.
6452 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6454 * docs/gst/tmpl/.cvsignore:
6455 * docs/gst/tmpl/gstvalue.sgml:
6458 inlied another one and added some obvious docs
6460 2005-09-21 Wim Taymans <wim@fluendo.com>
6462 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6463 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6464 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6465 (gst_fdsrc_get_property), (gst_fdsrc_create):
6466 * gst/elements/gstfdsrc.h:
6467 Properly implement fdsrc. Removed signal and timeout,
6468 better implemented somewhere else.
6470 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6472 * docs/gst/tmpl/.cvsignore:
6473 * docs/gst/tmpl/gstimplementsinterface.sgml:
6474 * gst/gstinterface.c:
6477 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6479 * docs/gst/gstreamer-sections.txt:
6480 * docs/gst/tmpl/.cvsignore:
6481 * docs/gst/tmpl/gstenumtypes.sgml:
6482 remove obsolete doc file
6484 2005-09-21 David Schleef <ds@schleef.org>
6486 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6487 little beer, fix a little leak.
6489 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6491 * docs/gst/gstreamer-docs.sgml:
6492 * docs/gst/gstreamer-sections.txt:
6493 * docs/gst/tmpl/.cvsignore:
6498 * gst/gstindex.c: (gst_index_class_init):
6500 * gst/gstindexfactory.c: (gst_index_factory_get_type),
6501 (gst_index_factory_class_init), (gst_index_factory_init),
6502 (gst_index_factory_finalize), (gst_index_factory_new),
6503 (gst_index_factory_destroy), (gst_index_factory_find),
6504 (gst_index_factory_create), (gst_index_factory_make):
6505 * gst/gstindexfactory.h:
6506 * gst/gstpluginfeature.c:
6507 * gst/gstpluginfeature.h:
6508 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6509 more docs inlined, splitted gstindex.{c,h}
6511 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6513 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6516 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6518 * gst/elements/gstfilesink.c: (gst_file_sink_init):
6519 Set sync to FALSE by default.
6521 2005-09-20 Wim Taymans <wim@fluendo.com>
6523 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6524 (gst_base_sink_init):
6525 Make sync property settable from subclass.
6527 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6528 (gst_fake_sink_change_state):
6529 Set sync to FALSE by default.
6531 2005-09-20 Wim Taymans <wim@fluendo.com>
6533 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6534 * tools/gst-launch.c: (main):
6535 The timeout handler should have lower priority than the source
6536 so we don't timeout before popping a message with 0 timeout.
6537 Dump error messages after failed state change.
6539 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6541 * tools/gst-inspect.c: (print_element_properties_info):
6544 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6546 * check/gst/gstevent.c:
6547 * gst/elements/gstfakesink.c:
6548 * gst/elements/gstfakesink.h:
6549 remove the sync property from fakesink.
6550 has the side effect of setting sync TRUE
6551 for fakesink, which is a change. Anyone who knows how
6552 to fix this nicely in a GObject-y way, feel free.
6554 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6556 * docs/gst/gstreamer-docs.sgml:
6557 remove probe refsection
6559 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6561 * check/Makefile.am:
6562 disable valgrinding the controller test again
6563 * docs/gst/gstreamer-sections.txt:
6564 update for api-changes
6566 2005-09-20 Wim Taymans <wim@fluendo.com>
6568 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6569 (gst_base_sink_set_property), (gst_base_sink_get_property),
6570 (gst_base_sink_do_sync):
6571 * gst/base/gstbasesink.h:
6572 Added sync property to basesink to disable clock sync.
6574 2005-09-20 Andy Wingo <wingo@pobox.com>
6576 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6577 eating the caller's refcount.
6579 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
6580 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6583 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6584 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6585 of GLib 2.8 public, so we can know which refcount to check in
6588 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6589 (gst_object_init): Only set the gst refcount if we're going ahead
6590 with the refcount hack.
6592 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6594 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6595 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6596 more leaks plumbed, added more debug-logging
6600 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6603 remove include of gstmemchunk.h
6605 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6607 * gst/gstclock.c: (_gst_clock_id_free):
6608 Commit from the Political Party For More Atomic CVS Commits,
6609 so that people don't waste too much of their day fishing
6610 out obvious leaks out of massive commits.
6611 Oh, and fix a pretty damn obvious leak in the memchunk
6614 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6616 * check/Makefile.am:
6617 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6618 plug mem-leak, re-add to valgrindable tests
6620 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6623 unbreak the build for those who have chronic arthritis
6624 and typing "make check" is just too taxing on the hands
6626 2005-09-20 Andy Wingo <wingo@pobox.com>
6628 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6629 really want it out, you should fix plugins at the same time.
6631 2005-09-19 Stefan Kost <ensonic@users.sf.net>
6634 * docs/gst/gstreamer-sections.txt:
6636 added missing symbols to api docs
6637 disable ref-count hack if we have glib >= 2.8
6639 2005-09-19 David Schleef <ds@schleef.org>
6641 * docs/gst/Makefile.am: Ignore a few more internal headers
6642 * docs/gst/gstreamer-docs.sgml: Remove old sections
6643 * docs/gst/gstreamer-sections.txt: Remove old sections
6644 * docs/gst/tmpl/gstobject.sgml: update
6645 * docs/gst/tmpl/gstplugin.sgml: update
6646 * docs/gst/tmpl/gstpluginfeature.sgml: update
6647 * docs/random/ds/0.9-suggested-changes: update.
6648 * gst/Makefile.am: remove memchunk and trashstack, since they're
6650 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6651 * gst/gst.h: don't include some headers
6652 * gst/gstchildproxy.c: add gstmarshal.h
6653 * gst/gstclock.c: Don't use memchunks
6654 * gst/gstminiobject.c: Add some docs
6655 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6656 * gst/gstobject.h: same
6657 * gst/gstplugin.c: include gstmacros.h
6658 * gst/gstplugin.h: don't include gstmacros.h, since it's private
6659 * gst/gstquery.c: don't use memchunks
6660 * gst/gstregistry.c: rename gst_registry_deinit()
6661 * gst/gstregistry.h: same
6663 2005-09-19 David Schleef <ds@schleef.org>
6665 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6666 * docs/libs/gstreamer-libs-sections.txt:
6667 * docs/libs/tmpl/gstgetbits.sgml:
6668 * docs/libs/tmpl/gstputbits.sgml:
6670 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
6672 * win32/gstenumtypes.c:
6673 * win32/gstenumtypes.h:
6676 2005-09-19 Wim Taymans <wim@fluendo.com>
6678 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6679 Automatically PAUSE and RESUME a pipeline when a flushing seek
6682 2005-09-19 Andy Wingo <wingo@pobox.com>
6684 * gst/gstregistry.h: Spacing fixen.
6686 2005-09-19 Wim Taymans <wim@fluendo.com>
6688 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6689 Handle state change failure more correctly.
6691 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6693 * check/Makefile.am:
6694 * check/pipelines/cleanup.c: (run_pipeline):
6695 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6697 enable cleanup again after fixing the leak
6699 some more info on docs
6701 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6703 * check/Makefile.am:
6704 re-enable tests now that leaks are plugged
6706 * check/gst/gstbin.c:
6707 * check/gst/gstpipeline.c:
6708 add some more tests while fixing leaks
6710 make sure binaries are uptodate when valgrinding/gdbing
6712 * gst/gstelementfactory.c:
6713 remove a ref too many, and add a FIXME for when we get
6714 round to disposing of classes
6716 fix the refcounting when loading a plugin from a file and
6717 the code pretends that the pointer is the same even though
6718 of course it can change
6719 * gst/gstpluginfeature.c:
6720 unref plugins marked cached (a bit confusing as a name)
6721 as the docs state should be done
6722 various doc additions to explain refcounting
6723 * gst/gstregistry.c:
6724 * gst/gstregistryxml.c:
6727 2005-09-19 Wim Taymans <wim@fluendo.com>
6729 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6730 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6731 (send_messages), (GST_START_TEST), (gstbus_suite):
6732 * check/gst/gstpipeline.c: (GST_START_TEST):
6733 * check/pipelines/cleanup.c: (run_pipeline):
6734 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6736 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6737 (gst_bus_source_check), (gst_bus_source_dispatch),
6738 (gst_bus_create_watch), (gst_bus_add_watch_full),
6739 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6741 * tools/gst-launch.c: (event_loop):
6742 * tools/gst-md5sum.c: (event_loop):
6743 GstBusHandler -> GstBusFunc, return value has the same meaning as
6744 any other GSource (FALSE == remove source).
6745 _add_watch() and _add_watch_full() now take a MessageType mask to
6746 only handle specific types of messages.
6747 _poll() returns the GstMessage instead of the message type to avoid
6749 _have_pending() takes a MessageType mask now too.
6750 Added testsuite for multiple bus watches.
6751 Fix testsuites and applications for new bus API.
6753 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6755 * check/Makefile.am:
6756 mark a bunch of the tests as to fix until we fix them
6758 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6761 use GST_PLUGIN settings for valgrind tests as well, so we're
6762 valgrinding the correct thing
6763 * gst/gst.c: (init_post):
6766 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6768 * gst/gst.c: (init_post), (gst_deinit):
6769 * gst/gstelementfactory.c: (gst_element_factory_class_init),
6770 (gst_element_factory_finalize), (gst_element_factory_cleanup):
6771 * gst/gstindex.c: (gst_index_factory_class_init),
6772 (gst_index_factory_finalize):
6773 * gst/gstobject.c: (gst_object_dispose):
6774 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6775 (gst_plugin_load_file), (gst_plugin_desc_free):
6776 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6777 (gst_plugin_feature_finalize):
6778 * gst/gstregistry.c: (gst_registry_class_init),
6779 (gst_registry_init), (gst_registry_finalize),
6780 (gst_registry_get_default), (gst_registry_deinit):
6781 * gst/gstregistry.h:
6782 * gst/gstregistryxml.c: (load_feature), (load_plugin):
6783 various cleanups and memleak plugging. make valgrind is happy now.
6785 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6788 add a check-valgrind target
6790 2005-09-18 David Schleef <ds@schleef.org>
6792 * tools/gst-inspect.c: Revert the GOption code.
6794 2005-09-17 David Schleef <ds@schleef.org>
6796 * check/Makefile.am: Fix environment variables.
6797 * check/gst/gstplugin.c: Fix for API changes.
6798 * tools/gst-inspect.c: Fix for API changes.
6799 * tools/gst-xmlinspect.c: Fix for API changes.
6800 * gst/gstelementfactory.c:
6803 * gst/gstpluginfeature.c:
6804 * gst/gstpluginfeature.h:
6805 * gst/gstregistry.c:
6806 * gst/gstregistry.h:
6807 * gst/gstregistryxml.c:
6808 * gst/gsttypefind.c:
6809 * gst/gsttypefindfactory.c:
6810 * gst/indexers/gstfileindex.c:
6811 * gst/indexers/gstmemindex.c:
6812 * gst/schedulers/Makefile.am:
6813 Change registry to keep track of both plugins and features,
6814 removing the feature tracking from plugins themselves.
6816 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
6818 * check/Makefile.am:
6819 * tools/gst-register.1.in:
6822 2005-09-15 David Schleef <ds@schleef.org>
6824 * check/gst/gstplugin.c:
6825 * gst/gstelementfactory.c:
6827 * gst/gstpluginfeature.c:
6828 * gst/gstregistry.c:
6829 Getting tired of debugging. Disabled all the unreffing of
6830 plugins and features, which fixes the segfaults, but of
6831 course leaks like crazy. At least playbin works.
6833 2005-09-15 David Schleef <ds@schleef.org>
6835 * check/gst/gstplugin.c: (register_check_elements),
6836 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6838 * gst/elements/gsttypefindelement.c: Fix refcounting.
6839 * gst/gsttypefind.c:
6840 * gst/gsttypefindfactory.c:
6841 * gst/gsttypefindfactory.h:
6843 2005-09-15 David Schleef <ds@schleef.org>
6845 * gst/gstindex.c: get refcounting correct.
6846 * gst/gstregistry.c: Handle the case where a feature/plugin is
6849 2005-09-15 David Schleef <ds@schleef.org>
6851 * check/Makefile.am:
6852 * check/gst/gstplugin.c: Add test
6853 * gst/gstplugin.c: Fix problems noticed by testsuite
6855 * gst/gstregistry.c:
6856 * gst/gstregistry.h:
6858 2005-09-15 David Schleef <ds@schleef.org>
6860 * gst/gstplugin.c: Implement semi-decent recounting and locking
6861 in plugins and plugin features.
6863 * gst/gstpluginfeature.c:
6864 * gst/gstpluginfeature.h:
6865 * gst/gstregistry.c:
6867 2005-09-15 Michael Smith <msmith@fluendo.com>
6869 * gst/gstregistry.c: (gst_registry_get_feature_list):
6870 Implement this. Makes oggdemux work; decodebin still broken.
6872 2005-09-14 David Schleef <ds@schleef.org>
6874 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6876 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6877 * gst/check/Makefile.am:
6878 * libs/gst/controller/Makefile.am:
6879 * libs/gst/dataprotocol/Makefile.am:
6881 2005-09-14 David Schleef <ds@schleef.org>
6883 * configure.ac: Remove getbits library. Nothing uses it, and
6884 it should be in something like liboil if someone did want
6886 * libs/gst/Makefile.am:
6887 * libs/gst/getbits/Makefile.am:
6888 * libs/gst/getbits/gbtest.c:
6889 * libs/gst/getbits/getbits.c:
6890 * libs/gst/getbits/getbits.h:
6891 * libs/gst/getbits/gstgetbits_generic.c:
6892 * libs/gst/getbits/gstgetbits_i386.s:
6893 * libs/gst/getbits/gstgetbits_inl.h:
6895 2005-09-14 David Schleef <ds@schleef.org>
6897 * gst/Makefile.am: Dist glib-compat.h
6899 2005-09-14 David Schleef <ds@schleef.org>
6901 * configure.ac: Remove gst/registries, since it's no longer used.
6902 * gst/registries/Makefile.am:
6903 * gst/registries/gstlibxmlregistry.c:
6904 * gst/registries/gstlibxmlregistry.h:
6905 * gst/registries/gstxmlregistry.c:
6906 * gst/registries/gstxmlregistry.h:
6907 * gst/registries/registrytest.c:
6909 2005-09-14 David Schleef <ds@schleef.org>
6911 * gst/glib-compat.h:
6912 * gst/gstregistryxml.c:
6913 Convergence is near. Seriously.
6915 2005-09-14 David Schleef <ds@schleef.org>
6917 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6918 * gst/glib-compat.h:
6919 Attempt #4 to appease the buildbots.
6921 2005-09-14 David Schleef <ds@schleef.org>
6923 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6926 2005-09-14 David Schleef <ds@schleef.org>
6928 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6931 2005-09-14 David Schleef <ds@schleef.org>
6933 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6936 2005-09-14 David Schleef <ds@schleef.org>
6938 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6939 * gst/glib-compat.h: Add some functions that are in newer versions
6940 of glib than we care to require.
6941 * gst/gstregistryxml.c: Use them.
6943 2005-09-14 David Schleef <ds@schleef.org>
6945 * po/POTFILES.in: remove gst-register.c
6947 2005-09-14 David Schleef <ds@schleef.org>
6949 * docs/gst/gstreamer-docs.sgml:
6950 * docs/gst/gstreamer-sections.txt:
6951 * docs/gst/gstreamer.types:
6952 * docs/gst/tmpl/gstelement.sgml:
6953 * docs/gst/tmpl/gstplugin.sgml:
6954 * docs/gst/tmpl/gstpluginfeature.sgml:
6955 Documentation updates for registry changes.
6957 2005-09-14 David Schleef <ds@schleef.org>
6959 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6960 because we don't require glib-2.8.
6962 2005-09-14 David Schleef <ds@schleef.org>
6964 * gst/gstregistryxml.c: Added. Essentially moved out of the
6965 registries directory.
6967 2005-09-14 David Schleef <ds@schleef.org>
6969 * check/Makefile.am:
6970 * check/generic/states.c:
6974 * gst/gst_private.h:
6975 * gst/gstelementfactory.c:
6980 * gst/gstpluginfeature.c:
6981 * gst/gstpluginfeature.h:
6982 * gst/gstregistry.c:
6983 * gst/gstregistry.h:
6984 * gst/gstregistrypool.c: remove
6985 * gst/gstregistrypool.h: remove
6986 * gst/gsttypefind.c:
6987 * gst/gsttypefindfactory.c:
6989 * tools/Makefile.am:
6990 * tools/gst-compprep.c:
6991 * tools/gst-inspect.c:
6992 * tools/gst-register.c: remove
6993 * tools/gst-xmlinspect.c:
6994 Registry rewrite. Changes registry from being a file created
6995 by a tool into a simple cache file created automatically by
6996 libgstreamer. Removed gst-register (because it's no longer
6997 needed). Remove registry pools, because we only have one
6998 registry implementation (XML). Fix up other subsystems as
7001 2005-09-13 Michael Smith <msmith@fluendo.com>
7003 * gst/gstconfig.h.in:
7004 Don't Use windows linking attributes for MinGW. Fixes #316157
7006 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
7008 * gst/gstutils.c: (set_state_async_thread_func),
7009 (gst_element_set_state_async):
7010 Apparently people think it's better if this function doesn't
7011 try to set the state to whatever state was asked for on the first
7012 call to this function for any object. Seriously.
7014 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
7016 * check/gst/gstpipeline.c: (GST_START_TEST):
7017 * docs/gst/gstreamer-sections.txt:
7018 * gst/gstutils.c: (set_state_async_thread_func),
7019 (gst_element_set_state_async):
7021 add a "gst_element_set_state_async" method that
7022 sets the state and starts a thread to make sure the state
7023 change completes as best as it can
7025 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
7027 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7028 codify design+behaviour in testsuite after discussion
7030 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
7032 * docs/gst/tmpl/gstelement.sgml:
7033 * docs/manual/appendix-quotes.xml:
7035 * gst/gstelement.c: (gst_element_set_state):
7038 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
7040 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7041 (gst_base_transform_prepare_output_buf),
7042 (gst_base_transform_handle_buffer):
7043 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7044 (gst_capsfilter_prepare_buf):
7045 Remove the requirement for sub-classes to call the parent
7046 implementation of prepare_output_buffer with a wrapper function.
7049 * gst/gsttagsetter.h:
7052 2005-09-11 Stefan Kost <ensonic@users.sf.net>
7054 * docs/gst/gstreamer-sections.txt:
7057 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
7059 * docs/gst/gstreamer-sections.txt:
7060 * docs/gst/tmpl/gstelement.sgml:
7061 * docs/gst/tmpl/gstplugin.sgml:
7062 * gst/gstminiobject.c:
7064 docs now stop throwing warnings
7066 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
7068 * docs/gst/gstreamer-sections.txt:
7069 * docs/gst/gstreamer.types:
7070 * docs/gst/tmpl/gstpad.sgml:
7071 * docs/gst/tmpl/gsttypes.sgml:
7072 * gst/base/gstadapter.h:
7073 * gst/base/gstbasesink.h:
7074 * gst/base/gstbasesrc.h:
7084 * gst/gststructure.c:
7085 * gst/registries/gstlibxmlregistry.h:
7086 various documentation fixes
7088 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
7090 * docs/gst/gstreamer-sections.txt:
7091 * docs/gst/tmpl/gstvalue.sgml:
7092 rearrange gstvalue section
7093 * gst/gstutils.c: (gst_element_state_get_name):
7095 * gst/gstvalue.c: (_gst_value_initialize):
7099 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
7101 * check/gst-libs/controller.c:
7103 * gst/base/gstbasetransform.c:
7104 (gst_base_transform_default_prepare_buf),
7105 (gst_base_transform_handle_buffer):
7106 * gst/base/gstbasetransform.h:
7107 Some more basetransform changes and fixes to enable sub-classes
7108 that modify buffer metadata only.
7109 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7110 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7111 (gst_capsfilter_prepare_buf):
7112 If the output pad has fixed allowed caps and input buffers
7113 don't have any, set the fixed caps on outgoing buffers.
7115 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
7116 * check/elements/identity.c: (GST_START_TEST):
7117 Make the error a little clearer when the test fails because
7118 identity made a copy of the buffer.
7119 * docs/gst/gstreamer-sections.txt:
7120 New symbols in gstbasetransform.h
7121 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7122 (gst_base_transform_init), (gst_base_transform_transform_size),
7123 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7124 (gst_base_transform_default_prepare_buf),
7125 (gst_base_transform_get_unit_size),
7126 (gst_base_transform_buffer_alloc),
7127 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7128 (gst_base_transform_change_state),
7129 (gst_base_transform_set_passthrough),
7130 (gst_base_transform_set_in_place),
7131 (gst_base_transform_is_in_place):
7132 * gst/base/gstbasetransform.h:
7133 Change BaseTransform to separate in_place operate from same_caps
7134 output. in_place implies that the element can perform the transform
7135 on incoming buffers in-place, even if the caps on the output are
7137 Sub-class elements can now implement special buffer allocation
7138 methods for outgoing buffers if they wish to.
7139 Big documentation addition.
7140 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7141 * gst/elements/gstelements.c:
7142 Changes for basetransform modifications.
7143 * gst/elements/Makefile.am:
7144 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7145 Compile fix. Extra debug output.
7147 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7149 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7151 add tests for valid pad naming
7152 * gst/check/gstcheck.c: (gst_check_log_message_func),
7153 (gst_check_log_critical_func):
7155 remove printing of code, it is fragile when the code contains
7156 % and the line number is enough info
7157 * gst/check/gstcheck.h:
7158 * gst/gstpad.c: (gst_pad_template_new):
7161 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7164 say what CHECK flags we use
7165 * docs/libs/gstreamer-libs.types:
7166 * libs/gst/controller/Makefile.am:
7167 * libs/gst/controller/gst-controller.c:
7168 * libs/gst/controller/gst-controller.h:
7169 * libs/gst/controller/gst-helper.c:
7170 * libs/gst/controller/gst-interpolation.c:
7171 * libs/gst/controller/gstcontroller.c:
7172 * libs/gst/controller/gsthelper.c:
7173 * libs/gst/controller/gstinterpolation.c:
7174 * tools/gst-inspect.c: (print_plugin_info):
7175 we don't use dashes in header names
7177 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7179 * check/Makefile.am:
7180 * check/gst/.cvsignore:
7181 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7182 (gst_pipeline_suite), (main):
7183 adding a test for pipelines and state changes
7184 * gst/gstutils.c: (get_state_func):
7186 * gstreamer.spec.in:
7189 2005-09-08 Michael Smith <msmith@fluendo.com>
7191 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7192 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7193 (gst_file_src_is_seekable), (gst_file_src_get_size),
7194 (gst_file_src_start):
7195 * gst/elements/gstfilesrc.h:
7196 Various fixes for unseekable, unmmapable, and non-normal files, so
7197 that fallback to read() rather than mmap() works.
7198 * gst/gstevent.c: (gst_event_new_newsegment):
7199 Allow newsegment events with segment_start == segment_end, as will
7200 correctly happen if you use filesrc on a zero-size file, for
7203 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
7205 * gst/gstplugin.c: (gst_plugin_load_file):
7206 Call g_module_close when we don't load the module
7208 * gst/registries/gstlibxmlregistry.c:
7209 (gst_xml_registry_get_property):
7210 Port leak fix from 0.8
7212 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7214 * docs/gst/gstreamer-docs.sgml:
7215 * docs/gst/tmpl/.cvsignore:
7216 * docs/gst/tmpl/gsttrace.sgml:
7217 * docs/gst/tmpl/gsttrashstack.sgml:
7226 * gst/gsttaginterface.c:
7227 * gst/gsttaginterface.h:
7230 * gst/gsttagsetter.c:
7231 * gst/gsttagsetter.h:
7234 * gst/gsttrashstack.c:
7235 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7236 inlined docs for gsttrace, gsttrashstack
7238 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7241 * gst/elements/gstbufferstore.h:
7242 * gst/elements/gsttypefindelement.c:
7243 * gst/elements/gsttypefindelement.h:
7245 * gst/gsttypefind.c:
7246 * gst/gsttypefind.h:
7247 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7248 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7249 (gst_type_find_factory_dispose),
7250 (gst_type_find_factory_unload_thyself),
7251 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7252 (gst_type_find_factory_get_caps),
7253 (gst_type_find_factory_get_extensions),
7254 (gst_type_find_factory_call_function):
7255 * gst/gsttypefindfactory.h:
7256 * gst/registries/gstlibxmlregistry.c:
7257 * gst/registries/gstxmlregistry.c:
7258 splitted gsttypefind into gsttypefind, gsttypefindfactory
7260 2005-09-07 Andy Wingo <wingo@pobox.com>
7262 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7263 condition whereby the pad's task function is entered before the
7264 pad_mode variable was set.
7266 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
7268 * gst/gstpad.c: (gst_pad_alloc_buffer):
7269 Catch misbehaving pad_alloc functions that don't
7270 set up caps and do it for them.
7272 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7274 * check/pipelines/simple_launch_lines.c: (run_pipeline):
7276 * docs/gst/tmpl/.cvsignore:
7277 * docs/gst/tmpl/gstmemchunk.sgml:
7278 * docs/gst/tmpl/gstparse.sgml:
7279 * docs/gst/tmpl/gsttaglist.sgml:
7280 * docs/gst/tmpl/gsttagsetter.sgml:
7281 * docs/gst/tmpl/gsttypefind.sgml:
7282 * docs/gst/tmpl/gsttypefindfactory.sgml:
7283 * gst/gstmemchunk.c:
7286 * gst/gsttaginterface.c:
7287 * gst/gsttypefind.c:
7288 * gst/gsttypefind.h:
7291 === release 0.9.2 ===
7293 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
7298 releasing 0.9.2, "South"
7300 2005-09-05 Andy Wingo <wingo@pobox.com>
7302 * gst/registries/gstxmlregistry.h:
7303 * gst/registries/gstxmlregistry.c: Um... resurrect...
7305 * gst/registries/gstxmlregistry.h:
7306 * gst/registries/gstxmlregistry.c: and update to newer API.
7307 Incidentally they should be a bit faster now that they don't have
7310 2005-09-05 Andy Wingo <wingo@pobox.com>
7312 * gst/registries/gstxmlregistry.h:
7313 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7314 replaced by the libxml registry a while back
7316 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
7318 * docs/gst/tmpl/gstplugin.sgml:
7319 * gst/elements/gstelements.c:
7321 * gst/gstplugin.c: (gst_plugin_register_func),
7322 (gst_plugin_desc_copy), (gst_plugin_desc_free),
7323 (gst_plugin_get_source):
7325 * gst/registries/gstlibxmlregistry.c: (load_plugin),
7326 (gst_xml_registry_save_plugin):
7327 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7328 (gst_xml_registry_save_plugin):
7329 * tools/gst-inspect.c: (print_plugin_info):
7330 add a "source" plugin description field, to represent the source
7331 module this plugin is a part of. By default GST_PLUGIN_DEFINE
7332 will set it to PACKAGE, which is automake's idea of the name of
7335 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
7341 * docs/faq/Makefile.am:
7342 * docs/gst/tmpl/gstelement.sgml:
7343 * docs/gst/tmpl/gsttypes.sgml:
7344 * docs/htmlinstall.mak:
7345 * docs/manual/Makefile.am:
7346 * docs/pwg/Makefile.am:
7347 reorganize doc build a little
7348 split out docbook and gtk-doc stuff
7349 have two separate --enable's and enable them through autogen
7350 but disable by default in configure (to be similar to other
7352 * gstreamer.spec.in:
7353 clean up docs install
7373 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
7375 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7378 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7379 (gst_fake_sink_change_state):
7380 Make state change function thread-safe.
7382 * gst/gstpad.c: (gst_pad_alloc_buffer):
7383 Set offset on generic buffer allocated by fallback.
7385 2005-09-03 Stefan Kost <ensonic@users.sf.net>
7387 * docs/gst/gstreamer-sections.txt:
7388 * docs/gst/tmpl/gstelement.sgml:
7390 * libs/gst/controller/gst-controller.c:
7391 (gst_controlled_property_set_interpolation_mode),
7392 (gst_controlled_property_new),
7393 (gst_controller_find_controlled_property):
7394 run the wingo-magic script against the docs
7396 2005-09-02 Stefan Kost <ensonic@users.sf.net>
7398 * docs/gst/gstreamer-docs.sgml:
7399 * docs/gst/gstreamer-sections.txt:
7400 * docs/gst/tmpl/.cvsignore:
7401 * docs/gst/tmpl/gstelementdetails.sgml:
7402 * docs/gst/tmpl/gstelementfactory.sgml:
7405 * gst/gstelementfactory.c:
7406 * gst/gstelementfactory.h:
7407 merged elementdetails docs into elementfactory docs
7410 2005-09-02 Andy Wingo <wingo@pobox.com>
7412 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7413 consider this enum an enum and not a flags.
7415 2005-09-02 Stefan Kost <ensonic@users.sf.net>
7417 * docs/gst/gstreamer-docs.sgml:
7418 * docs/gst/tmpl/.cvsignore:
7419 * docs/gst/tmpl/gstghostpad.sgml:
7420 * docs/gst/tmpl/gstiterator.sgml:
7421 * docs/gst/tmpl/gstmacros.sgml:
7422 * docs/gst/tmpl/gstrealpad.sgml:
7423 * docs/gst/tmpl/gstregistry.sgml:
7424 * docs/gst/tmpl/gstregistrypool.sgml:
7425 * docs/gst/tmpl/gststructure.sgml:
7426 * docs/gst/tmpl/gstsystemclock.sgml:
7427 * docs/gst/tmpl/gsttrace.sgml:
7428 * gst/gstghostpad.c:
7430 * gst/gstmemchunk.c:
7431 * gst/gstmemchunk.h:
7433 * gst/gstregistry.c:
7434 * gst/gstregistrypool.c:
7435 * gst/gststructure.c:
7436 * gst/gstsystemclock.c:
7439 2005-09-02 Andy Wingo <wingo@pobox.com>
7441 * gst/gstelement.h (GstState): Renamed from GstElementState,
7442 changed to be a normal enum instead of flags.
7443 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7444 munged to be GST_STATE_CHANGE_*.
7445 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7446 work with the new state representation.
7447 (GstStateChange): New enumeration of possible state transitions.
7448 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7449 (GstElementClass::change_state): Pass the GstStateChange along as
7450 an argument. Helps language bindings, so they don't have to use
7451 tricky lock-needing macros like GST_STATE_CHANGE ().
7453 * scripts/update-states (file): New script. Run it on a file to
7454 update it for state naming and API changes. Updates files in
7457 * All files updated for the new API.
7459 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
7461 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7462 * gst/gstutils.c: (gst_util_set_value_from_string),
7463 (gst_util_set_object_arg):
7464 fix a bunch of unchecked return values
7465 * tools/gst-complete.c: (main):
7466 * gstreamer.spec.in:
7469 2005-09-01 Wim Taymans <wim@fluendo.com>
7471 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7472 (gst_base_sink_event), (gst_base_sink_do_sync),
7473 (gst_base_sink_handle_event):
7474 * gst/base/gstbasesink.h:
7475 Handle newsegments more correctly.
7480 * gst/gstevent.c: (gst_event_new_newsegment):
7481 A newsegment cannot have a start_time of -1
7483 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
7485 * win32/gstenumtypes.c:
7486 * win32/gstenumtypes.h:
7489 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7491 * libs/gst/controller/gst-controller.c:
7492 (gst_controlled_property_set_interpolation_mode),
7493 (gst_controlled_property_new):
7496 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
7498 * docs/faq/gst-uninstalled:
7503 * gst/gstutils.c: (gst_element_link_filtered):
7505 add gst_element_link_filtered
7507 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7509 * docs/gst/gstreamer-docs.sgml:
7510 * docs/gst/gstreamer-sections.txt:
7511 * docs/gst/tmpl/.cvsignore:
7512 * docs/gst/tmpl/gsterror.sgml:
7513 * docs/gst/tmpl/gstfilter.sgml:
7514 * docs/gst/tmpl/gsturihandler.sgml:
7515 * docs/gst/tmpl/gsturitype.sgml:
7516 * docs/gst/tmpl/gstutils.sgml:
7517 * docs/gst/tmpl/gstxml.sgml:
7525 inlined more docs, fixed double id-ref
7527 2005-08-31 Wim Taymans <wim@fluendo.com>
7529 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7530 (gst_base_transform_handle_buffer):
7531 Passthrough elements don't need the caps as they don't care.
7533 2005-08-31 Wim Taymans <wim@fluendo.com>
7535 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7536 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7537 Don't leak refcounts on buffers.
7539 2005-08-31 Wim Taymans <wim@fluendo.com>
7541 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7542 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7543 (gst_base_transform_chain), (gst_base_transform_change_state):
7544 * gst/base/gstbasetransform.h:
7545 Handle the case where we are not negotiated more gracefully.
7547 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
7549 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7550 (gst_file_src_map_region):
7551 Set READONLY flag on mmap'ed buffers, otherwise
7552 gst_buffer_make_writable() won't work properly (#314708).
7554 2005-08-31 Wim Taymans <wim@fluendo.com>
7556 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7557 passthrough elements can even do inplace on non writable
7558 buffers (as they don't touch them).
7560 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7562 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7563 (gst_test_mono_source_set_property),
7564 (gst_test_mono_source_class_init), (GST_START_TEST),
7565 (gst_controller_suite):
7566 more tests (hehe I have the most)
7568 describe popping messages whenusing mulltiple sources
7569 * libs/gst/controller/gst-controller.c:
7570 (gst_controlled_property_set_interpolation_mode),
7571 (gst_controlled_property_new):
7572 * libs/gst/controller/gst-controller.h:
7573 * libs/gst/controller/gst-interpolation.c:
7574 implement boolean properties
7576 2005-08-31 Wim Taymans <wim@fluendo.com>
7578 * gst/gstminiobject.c: (gst_mini_object_ref):
7579 Cannot assert that the refcount has to be positive
7580 since a disposed object can be resurrected.
7582 2005-08-31 Wim Taymans <wim@fluendo.com>
7584 * gst/gstpad.c: (gst_pad_init):
7585 Revert change, need to first fix badly behaving
7588 2005-08-30 Wim Taymans <wim@fluendo.com>
7590 * check/elements/fakesrc.c: (setup_fakesrc):
7591 * check/elements/identity.c: (setup_identity):
7592 Activate pads before using them.
7594 2005-08-30 Wim Taymans <wim@fluendo.com>
7596 * gst/base/gstadapter.c: (gst_adapter_flush):
7597 Flushing out 0 bytes is ok for this function.
7599 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7600 no newsegment gives a warning and sets the start/stop to
7603 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7604 (gst_base_transform_set_passthrough):
7607 * gst/gstminiobject.c: (gst_mini_object_ref):
7608 Check refcount here too.
7610 * gst/gstpad.c: (gst_pad_init):
7611 Pads are initially flushing and refusing data.
7613 * gst/gstutils.c: (gst_element_link_pads_filtered):
7614 When adding a capsfilter element make sure it has the
7615 same state as the parent bin.
7617 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7619 * docs/gst/tmpl/.cvsignore:
7620 * docs/gst/tmpl/gstformat.sgml:
7621 * docs/gst/tmpl/gstversion.sgml:
7625 * gst/gstversion.h.in:
7626 more docs and two more inlined
7628 2005-08-30 Wim Taymans <wim@fluendo.com>
7630 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7631 Don't sync to clock.
7633 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7635 * docs/gst/gstreamer-sections.txt:
7636 ultral33t func10ns deserve to appear in the docs actually
7637 * docs/gst/tmpl/.cvsignore:
7638 * docs/gst/tmpl/gstcompat.sgml:
7639 * docs/gst/tmpl/gstconfig.sgml:
7640 * gst/check/gstcheck.c:
7642 * gst/gstconfig.h.in:
7645 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7647 * docs/gst/tmpl/.cvsignore:
7648 * docs/gst/tmpl/gstquery.sgml:
7649 * docs/gst/tmpl/gstutils.sgml:
7652 inlined and extended docs
7654 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7656 * check/gst-libs/controller.c: (GST_START_TEST),
7657 (gst_controller_suite):
7659 * docs/gst/tmpl/gstutils.sgml:
7660 * docs/libs/gstreamer-libs-sections.txt:
7661 * docs/libs/tmpl/gstdataprotocol.sgml:
7663 * examples/controller/audio-example.c: (main):
7664 controller example works now
7667 * tools/gst-inspect.c: (print_element_properties_info):
7668 show param spec flags
7670 2005-08-29 Andy Wingo <wingo@pobox.com>
7672 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7674 2005-08-28 Andy Wingo <wingo@pobox.com>
7676 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7677 as having two arguments instead of just one. Allows superclasses
7678 to access information on subclasses -- see the terrible for() loop
7679 in gtype.c:g_type_create_instance for the reason why. All callers
7682 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7684 * docs/design/part-messages.txt:
7686 * docs/gst/tmpl/.cvsignore:
7687 * docs/gst/tmpl/gstcaps.sgml:
7688 * docs/gst/tmpl/gstclock.sgml:
7695 added descriptions for bus and message
7696 inline caps and clock docs
7698 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7704 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7706 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7709 2005-08-26 Andy Wingo <wingo@pobox.com>
7711 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7712 element_set_state's return val.
7713 (test_2_elements): Add test that's been disabled for months.
7715 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7716 can-activate-pull properties.
7718 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7719 can-activate-pull properties. Implement is_seekable so fakesrc can
7720 operate in pull mode.
7722 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7724 (gst_base_sink_activate, gst_base_sink_activate_pull)
7725 (gst_base_sink_activate_push): Make activation mode choosing work.
7727 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7728 is right. Make pull mode work. Post an eos before pausing in pull
7730 (gst_base_sink_change_state): Pay attention to the core's
7731 change_state() return val.
7733 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7734 has-getrange properties. Cleanups.
7736 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7737 has_getrange and replace with can_activate_pull and
7740 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7741 locking comments. Remove has_loop, has_chain and replace with
7742 can_activate_pull and can_activate_push.
7744 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
7747 * examples/Makefile.am:
7748 * examples/metadata/Makefile.am:
7749 * examples/metadata/read-metadata.c: (message_loop),
7750 (have_pad_handler), (make_pipeline), (print_tag), (main):
7751 Add metadata reading example that loops over a list of filenames,
7752 dumping any tags found.
7754 * gst/gstbus.c: (gst_bus_dispose):
7755 * gst/gstelement.c: (gst_element_dispose):
7756 Release a few potentially-held references in dispose.
7758 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7760 * docs/gst/tmpl/gstminiobject.sgml:
7761 do *not* add tmpl/*.sgml files to CVS!
7763 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7765 * libs/gst/bytestream/.cvsignore:
7766 * libs/gst/bytestream/Makefile.am:
7767 * libs/gst/bytestream/adapter.c:
7768 * libs/gst/bytestream/adapter.h:
7769 * libs/gst/bytestream/bytestream.c:
7770 * libs/gst/bytestream/bytestream.h:
7771 * libs/gst/bytestream/filepad.c:
7772 * libs/gst/bytestream/filepad.h:
7773 removing obsolete files
7775 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7777 * docs/gst/gstreamer-docs.sgml:
7778 * docs/libs/gstreamer-libs-docs.sgml:
7779 disabed additional index entries again, as this makes docs-gen just
7780 slow and they aren't useful yet
7781 * docs/libs/gstreamer-libs-sections.txt:
7782 little -section.txt cleanup for libs
7784 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
7786 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7787 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7788 fix up some debugging
7789 (gst_base_transform_get_unit_size),
7790 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7791 (gst_base_transform_handle_buffer):
7792 * gst/base/gstbasetransform.h:
7793 handle and store timed NEWSEGMENT events so that subclasses that
7794 calculate time by counting samples have a segment_start time they
7795 need to add to their timestamps - see audioresample
7797 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7800 removed ';' from the end of macro defs
7801 * docs/gst/gstreamer-docs.sgml:
7802 * docs/gst/gstreamer-sections.txt:
7803 * docs/gst/tmpl/.cvsignore:
7805 * gst/gstelement.c: (gst_element_class_init),
7806 (gst_element_set_state), (activate_pads),
7807 (gst_element_save_thyself):
7808 * gst/gstevent.c: (gst_event_new_newsegment):
7810 * gst/gstiterator.c:
7811 * gst/gstiterator.h:
7814 * gst/gstutils.c: (gst_pad_query_convert):
7816 fixed parameter name mismatches between source, header and docs
7817 added some more docs, resolved the last batch of unused elements in
7818 docs (now someone needs to doc them)
7820 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7822 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7823 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7824 don't walk through the plugins backwards. Where is all this
7825 reversed logic coming from ?
7827 2005-08-25 Wim Taymans <wim@fluendo.com>
7829 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7830 (gst_base_transform_transform_size),
7831 (gst_base_transform_configure_caps),
7832 (gst_base_transform_get_unit_size),
7833 (gst_base_transform_buffer_alloc),
7834 (gst_base_transform_change_state):
7835 * gst/base/gstbasetransform.h:
7836 Cache caps unit_size.
7837 Make sure we cannot negotiate up and downstream at the
7840 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7842 * gst/gst.c: (init_pre), (init_post):
7843 register the installed plugin path after the env var
7844 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7845 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7846 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7847 directories, so the tests can prefer uninstalled over installed
7849 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7851 * gst/base/gstbasetransform.h:
7856 2005-08-25 Wim Taymans <wim@fluendo.com>
7858 * gst/gstbin.c: (bin_bus_handler):
7859 Be a bit more conservative about the posted message.
7861 * gst/gstbus.c: (gst_bus_post):
7862 Some cleanups, warn wrong return values.
7864 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
7866 * check/gst/gstbin.c: (GST_START_TEST):
7867 * gst/gstbin.c: (bin_bus_handler):
7868 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7869 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7870 (gst_message_new_warning), (gst_message_new_tag),
7871 (gst_message_new_state_changed), (gst_message_new_segment_start),
7872 (gst_message_new_segment_done), (gst_message_new_custom):
7874 * tools/gst-launch.c: (event_loop):
7875 * tools/gst-md5sum.c: (event_loop):
7876 Revert unpopular change for GST_MESSAGE_SRC to GObject.
7878 2005-08-25 Wim Taymans <wim@fluendo.com>
7880 * check/generic/states.c: (GST_START_TEST):
7881 Cleanup can be done at the end.
7883 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7884 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7885 (gst_task_get_state), (gst_task_start), (gst_task_pause):
7886 Oh boy.. Thanks for finding this, Thomas.
7888 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7890 * docs/gst/gstreamer.types:
7893 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7895 * docs/gst/gstreamer-docs.sgml:
7896 * docs/gst/gstreamer-sections.txt:
7897 * docs/gst/tmpl/.cvsignore:
7899 * gst/gstiterator.c:
7901 * gst/registries/gstxmlregistry.h:
7902 added missing classes and symbols (123 more to go)
7903 removed removed symbols from section file
7904 fixed many doc-comments
7906 2005-08-24 Wim Taymans <wim@fluendo.com>
7908 * check/generic/states.c: (GST_START_TEST):
7909 Make sure all tasks are stopped.
7911 * check/gst/gstbin.c: (GST_START_TEST):
7912 Unref after usage for proper valgrinding.
7914 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7915 Really wait for the task to stop before destroying the
7918 * gst/gstqueue.c: (gst_queue_sink_activate_push),
7919 (gst_queue_src_activate_push):
7920 Small cleanups. Don't stop the task when we did not start
7923 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7924 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7925 (gst_task_get_state), (gst_task_start), (gst_task_pause),
7928 Protect the stream lock with the object lock.
7929 Disallow setting the stream lock when running.
7930 Add cleanup_all to wait for the threadpool to finish.
7931 Remove code to autoallocate a mutex if none was provided.
7932 Add _join() to wait for a task to stop.
7933 Protect the thread pool with a global lock.
7935 2005-08-24 Wim Taymans <wim@fluendo.com>
7937 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7938 (gst_base_sink_get_times), (gst_base_sink_do_sync),
7939 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7940 * gst/base/gstbasesink.h:
7941 Handle newsegment events correctly.
7942 Drop buffers out of the segment range.
7944 2005-08-22 Andy Wingo <wingo@pobox.com>
7946 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7947 macro, implements an interface and gstimplementsinterface for a
7950 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7952 * check/Makefile.am:
7953 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7954 add a test that does a bunch of state changes on elements
7955 needs some fixing for valgrind
7956 * check/states/sinks.c: (gst_object_suite):
7959 add prototype for gst_caps_is_equal_fixed
7961 * gst/gstregistrypool.c:
7964 2005-08-24 Andy Wingo <wingo@pobox.com>
7966 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7967 convert a negative value. Doesn't make much sense. Mostly this is
7968 here to force callers to ensure -1 maps to -1.
7970 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7972 * docs/pwg/advanced-types.xml:
7973 Well done to Michael for catching my deliberate introduction
7974 of this spelling mistake.
7975 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7977 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7978 unlink pads before removing the element from the bin.
7980 2005-08-24 Andy Wingo <wingo@pobox.com>
7982 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7983 the same thing as GST_DEBUG=*:4.
7984 (parse_debug_level, parse_debug_category): New helper parsers.
7986 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7988 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7989 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7990 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7991 (gst_base_transform_buffer_alloc),
7992 (gst_base_transform_handle_buffer):
7993 use gboolean return values and pointers to size so we can use the
7994 full GST_BUFFER_SIZE range (guint) for buffer sizes
7995 use GstPadDirection for transform_caps
7996 * gst/base/gstbasetransform.h:
7997 rename get_size to get_unit_size since that's what it is
7998 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7999 use GstPadDirection for transform_caps
8000 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8002 cleanup and debugging
8004 2005-08-24 Stefan Kost <ensonic@users.sf.net>
8006 * gst/gstelement.c: (gst_element_class_init),
8007 (gst_element_set_state), (activate_pads),
8008 (gst_element_save_thyself):
8009 * tools/gst-compprep.c: (main):
8010 * tools/gst-inspect.c: (print_element_properties_info):
8011 * tools/gst-xmlinspect.c: (print_element_properties):
8012 Fixed long standing mem-leak
8014 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
8016 * check/gst/gstbin.c: (GST_START_TEST):
8017 * gst/gstbin.c: (bin_bus_handler):
8018 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8019 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8020 (gst_message_new_warning), (gst_message_new_tag),
8021 (gst_message_new_state_changed), (gst_message_new_segment_start),
8022 (gst_message_new_segment_done), (gst_message_new_custom):
8024 * tools/gst-launch.c: (event_loop):
8025 * tools/gst-md5sum.c: (event_loop):
8026 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8027 that applications can sensibly post custom messages with references
8028 to their own objects.
8030 2005-08-24 Andy Wingo <wingo@pobox.com>
8032 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8035 2005-08-24 Wim Taymans <wim@fluendo.com>
8037 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8038 (gst_base_transform_transform_caps),
8039 (gst_base_transform_transform_size),
8040 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8041 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8042 (gst_base_transform_handle_buffer):
8043 * gst/base/gstbasetransform.h:
8044 Many fixes and new features added by Thomas. Can now also do
8045 transforms with variable sizes and a custom fixate_caps function.
8047 2005-08-24 Wim Taymans <wim@fluendo.com>
8049 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8053 Cast to ClockTime before formatting to time.
8058 2005-08-24 Stefan Kost <ensonic@users.sf.net>
8060 * check/gst-libs/controller.c: (GST_START_TEST),
8061 (gst_controller_suite):
8062 * docs/gst/tmpl/gstcaps.sgml:
8063 * docs/gst/tmpl/gstghostpad.sgml:
8064 * docs/gst/tmpl/gstquery.sgml:
8065 * docs/gst/tmpl/gstutils.sgml:
8066 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8067 (gst_object_sink_values), (gst_object_get_value_arrays),
8068 (gst_object_get_value_array):
8069 gracefully handle helper method calls to objects that are not beeing
8070 controlled, added test case for that
8072 2005-08-23 Wim Taymans <wim@fluendo.com>
8074 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8075 (gst_event_new_newsegment), (gst_event_parse_newsegment),
8076 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8077 (gst_event_parse_qos), (gst_event_new_seek),
8078 (gst_event_parse_seek):
8080 Some more debugging output and doc cleanups.
8082 * gst/gstqueue.c: (gst_queue_handle_sink_event):
8083 Fix possible deadlock.
8085 2005-08-23 Stefan Kost <ensonic@users.sf.net>
8087 * docs/gst/gstreamer-docs.sgml:
8088 * docs/gst/gstreamer-sections.txt:
8089 * docs/gst/gstreamer.types:
8090 * docs/gst/tmpl/.cvsignore:
8095 added 100 symbols from gstreamer-unused.txt to the right sections
8096 fixed more broken comments
8097 added GstBus to docs
8099 2005-08-23 Stefan Kost <ensonic@users.sf.net>
8101 * docs/gst/gstreamer-sections.txt:
8102 * docs/gst/tmpl/.cvsignore:
8103 * docs/gst/tmpl/gstbin.sgml:
8104 * docs/gst/tmpl/gstbuffer.sgml:
8105 * gst/base/gstbasesrc.c:
8106 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8109 * tools/gst-launch.1.in:
8110 inlined more doc comments, added missing comments and fixed comments
8113 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
8115 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8119 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8121 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8122 * gst/gststructure.h:
8123 add a fixate function for booleans; add a FIXME that these func
8124 names should probably be gst_structure_fixate_*
8126 2005-08-23 Stefan Kost <ensonic@users.sf.net>
8128 * docs/gst/gstreamer-docs.sgml:
8129 * docs/gst/gstreamer-sections.txt:
8131 * gst/gstbin.c: (gst_bin_get_type),
8132 (gst_bin_child_proxy_get_child_by_index),
8133 (gst_bin_child_proxy_get_children_count),
8134 (gst_bin_child_proxy_init):
8135 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8136 (gst_child_proxy_get_child_by_index),
8137 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8138 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8139 (gst_child_proxy_get), (gst_child_proxy_set_property),
8140 (gst_child_proxy_set_valist), (gst_child_proxy_set),
8141 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8142 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8143 * gst/gstchildproxy.h:
8144 * gst/parse/grammar.y:
8145 * tools/gst-inspect.c: (print_interfaces),
8146 (print_element_properties_info), (print_element_info):
8147 ported gstchildproxy over from 0.8
8148 ported gst-inspect fixes and enhancements over from 0.8
8150 2005-08-22 Wim Taymans <wim@fluendo.com>
8152 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8153 (gst_base_transform_handle_buffer):
8154 Also call the transform function if we have ANY caps.
8156 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8159 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
8161 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8162 Don't pretend to handle seek events if the source is not seekable
8164 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
8166 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8167 Remove extra parameter to debug output
8169 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8170 (gst_base_src_do_seek), (gst_base_src_activate_push):
8171 Fix seek event handling.
8173 * gst/gstpipeline.c: (gst_pipeline_change_state):
8174 * gst/gstqueue.c: (gst_queue_handle_sink_event),
8175 (gst_queue_src_activate_push):
8176 Don't start the src pad task on FLUSH_STOP if the pad
8180 2005-08-22 Wim Taymans <wim@fluendo.com>
8182 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8183 Added check for gst_static_caps_get() refcounting.
8185 2005-08-22 Wim Taymans <wim@fluendo.com>
8187 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8188 Make _static_caps_get() refcounting sane.
8190 * gst/gstelement.c: (gst_element_set_state):
8191 Add g_return_val_if_fail() to protect against segfaults.
8193 2005-08-22 Stefan Kost <ensonic@users.sf.net>
8195 * docs/gst/tmpl/gstevent.sgml:
8198 inlined remaining docs, added missing doc comments
8200 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
8202 * check/gst/gstbin.c: (GST_START_TEST):
8203 since we don't know when preroll is done, use refcount range
8205 * gst/check/gstcheck.h:
8206 add macro for checking refcount range
8208 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
8210 * check/Makefile.am:
8211 clean up environment for when registry gets built versus
8212 when actual tests are run; valgrind seems to not report
8213 leaks if GST_PLUGIN_PATH is set to some specific values
8214 * check/gst/gstbin.c: (GST_START_TEST):
8215 add more refcounting checks; maybe this exposes a
8218 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8219 * gst/check/gstcheck.h:
8220 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8221 (gst_bin_change_state):
8222 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8223 add/fix debugging/whitespace
8225 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
8227 * check/gst/gstevent.c: (event_probe), (test_event),
8229 Er, don't call gst_bin_watch_for_state_change you idiot.
8231 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
8233 * check/Makefile.am:
8234 Use CHECK_CFLAGS and CHECK_LIBS
8235 * check/gst/gstevent.c: (event_probe), (test_event),
8238 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8239 (gst_base_src_start), (gst_base_src_stop),
8240 (gst_base_src_activate_push), (gst_base_src_activate_pull),
8241 (gst_base_src_change_state):
8242 Sprinkle gst_base_src_stop liberally around error paths to fix
8243 problems reusing a source after failed state changes.
8244 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8245 (helper_find_suggest), (gst_type_find_helper):
8246 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8248 * docs/gst/tmpl/gstevent.sgml:
8249 Migrate part of the docs from the SGML file. Wait for ensonic to
8250 tell me how I did it wrong ;)
8251 * tools/gst-typefind.c: (main):
8252 Extra robustness to state changes between files.
8254 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
8256 * check/Makefile.am:
8257 don't valgrind the controller test - it's leaking - Stefan, HELP
8258 * gst/check/gstcheck.c: (gst_check_message_error),
8259 (gst_check_chain_func), (gst_check_setup_element),
8260 (gst_check_teardown_element), (gst_check_setup_src_pad),
8261 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8262 (gst_check_teardown_sink_pad):
8263 * gst/check/gstcheck.h:
8264 add a bunch of methods to set up elements, and src and sink pads
8265 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8266 * check/elements/identity.c: (setup_identity), (cleanup_identity),
8271 whitespace/doc fixes
8273 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8276 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8277 be handled by the application and not always printed as well
8279 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8281 * check/Makefile.am:
8283 * gst/check/gstcheck.c: (gst_check_message_error):
8284 * gst/check/gstcheck.h:
8285 add a fail_unless_equals_int
8286 add fail_unless for error messages
8288 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8290 * check/Makefile.am:
8292 * common/Makefile.am:
8295 factor out some of the common stuff so we can use it
8297 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8299 * check/Makefile.am:
8300 * check/gst/gstiterator.c: (GST_START_TEST):
8301 * check/gst/gstsystemclock.c: (GST_START_TEST),
8302 (gst_systemclock_suite):
8303 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8307 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8309 * check/elements/.cvsignore:
8310 * check/elements/gstfakesrc.c:
8311 rename to name of element
8312 * check/elements/identity.c: (chain_func), (event_func),
8313 (setup_identity), (cleanup_identity), (GST_START_TEST),
8314 (identity_suite), (main):
8315 add a test for identity
8316 * check/Makefile.am:
8317 * pkgconfig/Makefile.am:
8318 * pkgconfig/gstreamer-check.pc.in:
8319 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8323 move the check stuff to a library that gets installed
8324 * check/gst-libs/controller.c: (GST_START_TEST):
8325 * check/gst-libs/gdp.c:
8326 * check/gst/gst.c: (GST_START_TEST):
8327 * check/gst/gstbin.c:
8328 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8329 * check/gst/gstbus.c:
8330 * check/gst/gstcaps.c: (GST_START_TEST):
8331 * check/gst/gstelement.c:
8332 * check/gst/gstghostpad.c:
8333 * check/gst/gstiterator.c:
8334 * check/gst/gstmessage.c:
8335 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8336 * check/gst/gstobject.c:
8337 * check/gst/gstpad.c: (GST_START_TEST):
8338 * check/gst/gststructure.c: (GST_START_TEST):
8339 * check/gst/gstsystemclock.c: (GST_START_TEST),
8340 (gst_systemclock_suite):
8341 * check/gst/gsttag.c: (gst_tag_suite):
8342 * check/gst/gstvalue.c:
8343 * check/pipelines/cleanup.c:
8344 * check/pipelines/simple_launch_lines.c:
8345 * check/states/sinks.c:
8346 change include statement
8348 * docs/gst/gstreamer-sections.txt:
8349 * docs/gst/tmpl/gstpad.sgml:
8350 document more pad stuff
8351 * gst/gstminiobject.c: (gst_mini_object_ref),
8352 (gst_mini_object_unref):
8355 2005-08-19 Stefan Kost <ensonic@users.sf.net>
8357 * docs/gst/tmpl/gst.sgml:
8359 eliminate another tmpl file, fix spelling in the long-description
8361 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8363 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8364 (test_event), (timediff), (gstevents_suite):
8365 Should fix build on 64-bit arch's
8367 2005-08-18 Andy Wingo <wingo@pobox.com>
8369 Make sure that when a pipeline goes to PLAYING, that data has
8370 actually hit the sink.
8372 * check/states/sinks.c (test_sink): A sink that doesn't get any
8373 data shouldn't return SUCCESS for going to either PLAYING or
8374 PAUSED. Test also the return values on the way back down.
8376 * gst/gstelement.c (gst_element_set_state): When changing the
8377 state of an element currently changing state asynchronously, go to
8378 lost-state after commiting the pending state. Makes future calls
8379 to get_state continue to return ASYNC.
8381 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8382 ASYNC when going to PLAYING if we still don't have preroll, as can
8383 happen with live sources.
8385 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8387 * docs/pwg/advanced-types.xml:
8388 Hack long paragraph into 2 chunks as a workaround for buggy
8389 jadetex version in sid and breezy that loops infinitely and
8392 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8394 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8395 (test_event), (timediff), (gstevents_suite):
8396 Provide more error margin in clock measurements to allow for
8397 g_get_current_time inaccuracies.
8399 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8401 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8402 (test_event), (timediff), (gstevents_suite):
8403 Fix error message output so I might be able to tell why the
8404 test works here but fails on the build farm.
8406 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8408 * check/Makefile.am:
8409 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8410 (test_event), (timediff), (gstevents_suite), (main):
8413 * docs/design/part-seeking.txt:
8416 * docs/gst/tmpl/gstevent.sgml:
8417 * docs/gst/tmpl/gstfakesrc.sgml:
8420 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8421 Treat a buffer-without-newsegment the same as a receiving
8422 a newsegment not in time format, and disable syncing to the clock
8425 * gst/gstbus.c: (gst_bus_set_sync_handler):
8426 Assert if anyone tries to replace the existing sync_handler for bus,
8427 as only the owner should be setting it.
8430 Have a fixed set of custom event enums with events identified by
8431 their structure name (as in 0.8), rather than a free-for-all
8432 allowing collisions between enum values from different plugins.
8434 * gst/gstpad.c: (gst_pad_class_init):
8437 * gst/gstqueue.c: (gst_queue_handle_sink_event):
8438 Handle out-of-band downstream events from the sending thread.
8440 2005-08-17 Andy Wingo <wingo@pobox.com>
8442 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8443 play-timeout==0 to mean no timeout at all. In that case, don't
8444 bother with a get_state or a warning, just return directly, even
8447 * gst/base/gstbasetransform.c: Debug changes.
8450 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8451 ensure bins post state change messages. A bit of a hack but I can't
8452 think of a way to avoid it.
8454 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8456 2005-08-16 Andy Wingo <wingo@pobox.com>
8458 * gst/base/gstadapter.h:
8459 * gst/base/gstadapter.c (gst_adapter_take): New function, like
8460 peek() but you own the data. Not terribly efficient atm.
8462 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8464 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8465 (gst_element_found_tags):
8467 Add two utility functions for tag handling.
8469 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8471 * docs/manual/advanced-dataaccess.xml:
8472 * docs/manual/basics-helloworld.xml:
8473 Fix docs to use _bin_add() before _link(), which fixes the examples
8474 with recent core versions (reported by Madhan Raj M
8475 <raj_madan@rediffmail.com>, #313199).
8477 2005-08-16 Wim Taymans <wim@fluendo.com>
8479 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8480 Added subtract checks.
8482 * docs/design/part-events.txt:
8483 Some more docs about newsegment
8485 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8488 * gst/gstcaps.c: (gst_caps_to_string):
8489 Add comments, cleanups.
8491 * gst/gstelement.c: (gst_element_save_thyself):
8494 * gst/gstvalue.c: (gst_value_collect_int_range),
8495 (gst_string_unwrap), (gst_value_union_int_int_range),
8496 (gst_value_union_int_range_int_range),
8497 (gst_value_intersect_int_int_range),
8498 (gst_value_intersect_int_range_int_range),
8499 (gst_value_intersect_double_double_range),
8500 (gst_value_intersect_double_range_double_range),
8501 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8502 (gst_value_subtract_int_range_int),
8503 (gst_value_subtract_double_range_double),
8504 (gst_value_subtract_double_range_double_range),
8505 (gst_value_subtract_from_list), (gst_value_subtract_list),
8506 (gst_value_can_compare), (gst_value_compare_fraction):
8507 Cleanups, add comments, remove unneeded asserts.
8509 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8511 * tools/gst-launch.c: (event_loop):
8512 don't convert NULL structures to strings
8514 2005-08-15 Stefan Kost <ensonic@users.sf.net>
8516 * docs/gst/gstreamer-sections.txt:
8517 made some defines private
8518 * docs/gst/tmpl/gstconfig.sgml:
8519 * docs/gst/tmpl/gstqueue.sgml:
8520 * docs/gst/tmpl/gsttaglist.sgml:
8521 * docs/gst/tmpl/gsttypes.sgml:
8522 * docs/gst/tmpl/gstutils.sgml:
8523 * docs/pwg/appendix-porting.xml:
8524 * gst/base/gstbasesink.h:
8525 * gst/base/gstbasesrc.c:
8526 * gst/base/gstbasesrc.h:
8527 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8528 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8529 * gst/gstelement.c: (gst_element_class_init):
8530 * gst/gstpad.c: (gst_pad_class_init):
8531 * gst/gstqueue.c: (gst_queue_class_init):
8532 * gst/gstxml.c: (gst_xml_class_init):
8533 documented all undocumented signal inline
8534 * libs/gst/controller/gst-controller.h:
8537 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8539 * docs/pwg/appendix-porting.xml:
8540 Document _set_link_function -> _set_setcaps_function.
8542 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8544 * check/Makefile.am:
8545 add a .check target for running the check
8546 * check/gst-libs/controller.c: (GST_START_TEST):
8548 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8549 complete checks for gstbuffer; would be nice if I could get the
8550 gcov stuff to work so I can see if I actually completed gstbuffer.c
8552 add ASSERT_BUFFER_REFCOUNT
8554 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
8556 * docs/gst/gstreamer-sections.txt:
8557 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8559 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8560 spew out a warning if a tag that is already registered
8561 is re-registered, unless it is re-registered with a
8562 different type (#308438).
8564 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
8566 * docs/pwg/appendix-porting.xml:
8567 * docs/pwg/building-state.xml:
8568 Add some paragraphs about state changes in 0.9 to the PWG
8569 and the porting guide, in particular about the new meaning
8570 of GST_STATE_PAUSED and how to write state change functions
8571 with concurrent access by multiple threads in mind.
8573 2005-08-11 Stefan Kost <ensonic@users.sf.net>
8575 * docs/gst/gstreamer-docs.sgml:
8576 * docs/libs/gstreamer-libs-docs.sgml:
8577 added deprecation and since indexes
8578 * libs/gst/controller/gst-controller.c:
8579 * libs/gst/controller/gst-helper.c:
8583 2005-08-11 Wim Taymans <wim@fluendo.com>
8585 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8586 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8587 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8588 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8589 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8590 (gst_ghost_pad_set_target):
8591 Actually implement (re)setting the target on a ghostpad
8592 as described in the docs.
8594 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8596 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8597 Check whether GST_DEBUG_NO_COLOR environment variable is
8598 set and disable coloured debug output if that is the case.
8600 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8602 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8603 (gst_type_find_helper):
8604 The memory returned by gst_type_find_peek() needs to
8605 stay valid until the end of a typefind function, and
8606 typefind functions may keep results from different
8607 offsets around, so we can't just unref the buffer from
8608 the previous _peek(), but have to save all buffers
8609 returned by _peek() until typefinding is done and only
8612 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
8614 * docs/gst/gstreamer-sections.txt:
8616 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8618 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8620 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8621 Fix a pretty good memleak.
8623 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8625 * gst/gstiterator.h:
8626 Fix wrong include and 'make distcheck'.
8628 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8630 * gst/gstbin.c: (bin_bus_handler):
8631 Use gst_element_post_message() instead.
8633 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8635 * gst/base/gstadapter.h:
8636 * gst/base/gstbasesink.h:
8637 * gst/base/gstbasesrc.h:
8638 * gst/base/gstbasetransform.h:
8639 * gst/base/gstcollectpads.h:
8640 * gst/base/gstpushsrc.h:
8641 * gst/gstiterator.h:
8642 Add padding to our base elements' class and instance structs and
8643 to GstIterator (you will need to rebuild all plugins and apps!)
8645 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8647 * gst/gstbin.c: (bin_bus_handler):
8648 Make default message forwarding from child->bus to bin->bus
8649 threadsafe and make it not emit warnings if the parent has no bus.
8651 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8653 * gst/gstelement.c: (activate_pads):
8654 On paused->ready, set pad->caps to NULL, as is the documented
8655 behaviour in this state change. Fixes playback of series of
8656 media files when visualization is enabled in Totem.
8658 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8660 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8661 Allow NULL as filter-caps (which means "any").
8663 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8665 * docs/libs/gstreamer-libs-sections.txt:
8666 * libs/gst/controller/gst-controller.c:
8667 * libs/gst/controller/gst-controller.h:
8668 * libs/gst/controller/gst-helper.c:
8669 adding more entries to the docs and fix small doc-bugs
8671 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8673 * docs/gst/gstreamer-docs.sgml:
8674 * docs/gst/gstreamer-sections.txt:
8675 * docs/gst/gstreamer.types:
8676 * docs/gst/tmpl/gstbasesink.sgml:
8677 * docs/gst/tmpl/gstbasesrc.sgml:
8678 * docs/gst/tmpl/gstbasetransform.sgml:
8679 * docs/gst/tmpl/gstfakesrc.sgml:
8680 * gst/base/gstcollectpads.c:
8681 * gst/base/gstcollectpads.h:
8682 * libs/gst/controller/gst-controller.c:
8683 * libs/gst/controller/gst-controller.h:
8684 * libs/gst/controller/gst-helper.c:
8685 * libs/gst/controller/gst-interpolation.c:
8686 * libs/gst/controller/lib.c:
8687 added long/short desc for controller docs
8688 added collectpads base class docs
8689 added correct includes to base-class docs
8691 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8693 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8694 (gst_test_mono_source_set_property),
8695 (gst_test_mono_source_class_init), (GST_START_TEST),
8696 (gst_controller_suite):
8697 * docs/gst/gstreamer-docs.sgml:
8698 * docs/gst/gstreamer-sections.txt:
8699 * docs/gst/gstreamer.types:
8700 * docs/libs/gstreamer-libs-docs.sgml:
8701 * docs/libs/gstreamer-libs-sections.txt:
8702 * gst/base/gstadapter.c:
8703 * libs/gst/controller/gst-controller.c:
8704 (gst_controlled_property_new), (gst_controlled_property_free),
8705 (gst_controller_new_valist),
8706 (gst_controller_remove_properties_valist),
8707 (gst_controller_sink_values), (_gst_controller_finalize):
8708 * libs/gst/controller/gst-controller.h:
8709 * libs/gst/controller/gst-helper.c:
8710 (gst_object_control_properties), (gst_object_uncontrol_properties),
8711 (gst_object_get_controller), (gst_object_set_controller),
8712 (gst_object_sink_values), (gst_object_get_value_arrays),
8713 (gst_object_get_value_array):
8714 more tests (and fixes) for the controller
8715 more docs for the controller
8716 integrated companies docs for the adapter
8718 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
8720 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8721 (GST_START_TEST), (fakesrc_suite):
8722 add tests for sizetype
8724 2005-08-04 Andy Wingo <wingo@pobox.com>
8726 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8727 fixes buffer_alloc proxying among other things.
8729 * gst/base/gstbasetransform.c:
8730 * gst/base/gstbasetransform.h:
8731 Revert patch to gstbasetransform from 7-28 removing
8734 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8735 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8736 Semantics changed, should return not the size of the output buffer
8737 but the byte size of a buffer with a given caps.
8739 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8741 (gst_base_transform_configure_caps): Don't set out_size here: (in,
8742 out) are not the pad caps until setcaps finishes.
8743 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8744 not-in-place case as well. Deal with changing from in-place to
8745 not-in-place within calling pad_alloc_buffer. Still a bit
8746 concerned about the overhead here...
8748 2005-08-03 Andy Wingo <wingo@pobox.com>
8750 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8751 fixating is an error.
8753 2005-08-04 Edward Hervey <edward@fluendo.com>
8755 * gst/base/gstadapter.h:
8756 Added gst_adapter_get_type() to the header
8758 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8760 * check/Makefile.am:
8761 * check/gst-libs/controller.c:
8762 * libs/gst/controller/gst-controller.c:
8763 (gst_controller_new_valist):
8764 added check test suite for the controller
8765 * gst/base/gstpushsrc.c:
8768 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8770 * docs/gst/Makefile.am:
8771 * docs/gst/gstreamer-docs.sgml:
8772 * docs/gst/gstreamer-sections.txt:
8773 * docs/gst/gstreamer.types:
8774 * docs/gst/tmpl/gstfakesrc.sgml:
8776 * gst/base/gstbasesink.c:
8777 * gst/base/gstbasesink.h:
8778 * gst/base/gstbasesrc.c:
8779 * gst/base/gstbasesrc.h:
8780 * gst/base/gstbasetransform.c:
8781 * gst/base/gstpushsrc.c:
8782 * gst/base/gstpushsrc.h:
8783 add short/long description docs to base classes
8784 add pushsrc to the docs
8785 remove consolidated doc fragments
8787 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8790 * docs/libs/Makefile.am:
8791 * docs/libs/gstreamer-libs-docs.sgml:
8792 * docs/libs/gstreamer-libs-sections.txt:
8793 * docs/libs/gstreamer-libs.types:
8794 * examples/Makefile.am:
8795 * examples/controller/.cvsignore:
8796 * examples/controller/Makefile.am:
8797 * examples/controller/audio-example.c: (main):
8798 * libs/gst/Makefile.am:
8799 * libs/gst/controller/.cvsignore:
8800 * libs/gst/controller/Makefile.am:
8801 * libs/gst/controller/gst-controller.c:
8802 (on_object_controlled_property_changed), (gst_timed_value_compare),
8803 (gst_timed_value_find),
8804 (gst_controlled_property_set_interpolation_mode),
8805 (gst_controlled_property_new), (gst_controlled_property_free),
8806 (gst_controller_find_controlled_property),
8807 (gst_controller_new_valist), (gst_controller_new),
8808 (gst_controller_remove_properties_valist),
8809 (gst_controller_remove_properties), (gst_controller_set),
8810 (gst_controller_set_from_list), (gst_controller_unset),
8811 (gst_controller_get), (gst_controller_get_all),
8812 (gst_controller_sink_values), (gst_controller_get_value_arrays),
8813 (gst_controller_get_value_array),
8814 (gst_controller_set_interpolation_mode),
8815 (_gst_controller_finalize), (_gst_controller_init),
8816 (_gst_controller_class_init), (gst_controller_get_type):
8817 * libs/gst/controller/gst-controller.h:
8818 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8819 (g_object_uncontrol_properties), (g_object_get_controller),
8820 (g_object_set_controller), (g_object_sink_values),
8821 (g_object_get_value_arrays), (g_object_get_value_array):
8822 * libs/gst/controller/gst-interpolation.c:
8823 (gst_controlled_property_find_timed_value_node),
8824 (interpolate_none_get), (interpolate_trigger_get),
8825 (interpolate_trigger_get_value_array):
8826 * libs/gst/controller/lib.c: (gst_controller_init):
8827 * pkgconfig/Makefile.am:
8828 * pkgconfig/gstreamer-control-uninstalled.pc.in:
8829 * pkgconfig/gstreamer-control.pc.in:
8830 * testsuite/Makefile.am:
8831 * testsuite/controller/.cvsignore:
8832 * testsuite/controller/Makefile.am:
8833 * testsuite/controller/interpolator.c: (main):
8834 added controller code
8835 removed dparam pc files
8837 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8838 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8839 (gst_collectpads_stop):
8840 Broadcast the condition when shutting down, to make sure we wake all
8841 threads up. Shut down pads on finalize, for safety.
8843 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8844 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8845 (gst_base_transform_handle_buffer),
8846 (gst_base_transform_change_state):
8847 Handle PAUSED->READY->PAUSED transition after negotiation
8849 * gst/gstmessage.c: (gst_message_init):
8850 Extra piece of debug for new messages.
8852 2005-08-01 Stefan Kost <ensonic@users.sf.net>
8855 * docs/gst/tmpl/gstbasesrc.sgml:
8856 * docs/gst/tmpl/gstelement.sgml:
8857 * docs/gst/tmpl/gstevent.sgml:
8858 * docs/gst/tmpl/gstfakesrc.sgml:
8859 * docs/gst/tmpl/gstformat.sgml:
8860 * docs/gst/tmpl/gstghostpad.sgml:
8861 * docs/gst/tmpl/gstpad.sgml:
8862 * docs/gst/tmpl/gstquery.sgml:
8863 * docs/gst/tmpl/gststructure.sgml:
8864 * docs/gst/tmpl/gsttaglist.sgml:
8865 * docs/gst/tmpl/gstvalue.sgml:
8866 * docs/libs/gstreamer-libs-docs.sgml:
8867 * docs/libs/gstreamer-libs-sections.txt:
8868 * docs/libs/gstreamer-libs.types:
8869 * libs/gst/Makefile.am:
8870 * libs/gst/control/.cvsignore:
8871 * libs/gst/control/Makefile.am:
8872 * libs/gst/control/control.c:
8873 * libs/gst/control/control.h:
8874 * libs/gst/control/dparam.c:
8875 * libs/gst/control/dparam.h:
8876 * libs/gst/control/dparam_smooth.c:
8877 * libs/gst/control/dparam_smooth.h:
8878 * libs/gst/control/dparamcommon.h:
8879 * libs/gst/control/dparammanager.c:
8880 * libs/gst/control/dparammanager.h:
8881 * libs/gst/control/dplinearinterp.c:
8882 * libs/gst/control/dplinearinterp.h:
8883 * libs/gst/control/unitconvert.c:
8884 * libs/gst/control/unitconvert.h:
8885 * testsuite/Makefile.am:
8886 * testsuite/dynparams/.cvsignore:
8887 * testsuite/dynparams/Makefile.am:
8888 * testsuite/dynparams/dparamstest.c:
8889 * tools/Makefile.am:
8890 * tools/gst-inspect.c: (print_element_info), (main):
8891 * tools/gst-xmlinspect.c: (print_element_info), (main):
8892 deactivate and remove dparams (libgstcontrol)
8894 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8896 * gst/elements/gsttypefindelement.c:
8897 (gst_type_find_element_have_type), (gst_type_find_element_init),
8898 (stop_typefinding), (gst_type_find_element_handle_event),
8899 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8900 * gst/elements/gsttypefindelement.h:
8901 Set caps on all outgoing buffers, not just the first one.
8903 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8905 * gst/elements/gsttypefindelement.c:
8906 (gst_type_find_element_have_type),
8907 (gst_type_find_element_check_set_buffer_caps),
8908 (gst_type_find_element_init), (stop_typefinding),
8909 (gst_type_find_element_handle_event),
8910 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8911 * gst/elements/gsttypefindelement.h:
8912 Set caps on first outgoing buffer when we've found the type.
8914 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8916 * docs/gst/gstreamer-docs.sgml:
8917 * docs/gst/gstreamer-sections.txt:
8918 * docs/gst/tmpl/gstscheduler.sgml:
8919 * docs/gst/tmpl/gstschedulerfactory.sgml:
8920 Remove some old cruft from docs.
8922 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
8925 Fix inline docs for GstPadLinkReturn.
8927 * gst/gststructure.c: (gst_structure_has_name):
8928 * gst/gststructure.h:
8929 * docs/gst/gstreamer-sections.txt:
8930 New API: gst_structure_has_name().
8932 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
8935 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8936 and _LARGEFILE_SOURCE in config.h as required. Do not
8937 export those flags in our .pc files any longer (#142209).
8939 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8941 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8942 (gst_file_sink_do_seek), (gst_file_sink_event),
8943 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8944 Redo seek/tell calls with large file support in mind; add some
8945 debugging messages; add log message that tells us when large
8946 file support is unavailable or not enabled for some reason.
8948 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8949 Add log message that tells us when large file support
8950 is unavailable or not enabled for some reason.
8952 2005-07-29 Wim Taymans <wim@fluendo.com>
8954 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8955 Added test for removing an element with ghostpad from a bin.
8956 Fixed test as current implementation does the right thing.
8958 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8959 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8960 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8961 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8962 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8963 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8964 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8965 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8966 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8967 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8968 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8969 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8970 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8971 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8972 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8973 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8974 * gst/gstghostpad.h:
8975 Clean up ghostpads, remove properties for internal stuff.
8978 Prepare for switching targets, not all use cases work yet.
8980 2005-07-29 Wim Taymans <wim@fluendo.com>
8982 * docs/design/part-gstghostpad.txt:
8985 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8986 (gst_bin_remove_func):
8987 Unlinking pads while holding the bin LOCK is not a good
8990 * gst/gstpad.c: (gst_pad_class_init),
8991 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8992 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8993 No prob setting template after creating the pad.
8995 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
8997 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8998 (gst_bus_peek), (gst_bus_source_dispatch),
8999 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9000 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9001 gst_bus_poll may be called from other threads. Handle
9002 this nicely by not making poll_data disappear off the
9003 stack once gst_bus_poll returns.
9004 gst_bus_peek now increments the refcount on the returned
9007 2005-07-29 Wim Taymans <wim@fluendo.com>
9009 * docs/design/part-gstghostpad.txt:
9010 Overview of current GhostPad datastructures and use
9011 cases for changing the target.
9013 2005-07-28 Wim Taymans <wim@fluendo.com>
9015 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9016 Added checks for hierarchy consistency whan adding linked
9019 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9020 Added check to test element scheduling without bin/pipeline.
9022 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9023 First add elements to bin, then link.
9025 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9026 (gst_bin_remove_func):
9027 Unlink pads from elements added/removed from bin to maintain
9028 hierarchy consistency.
9030 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9032 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9033 (gst_base_transform_handle_buffer):
9034 * gst/base/gstbasetransform.h:
9035 Remove broken delay_configure (fixes renegotiation of software
9036 scaling pipelines); remove some leftover printf()s.
9038 2005-07-28 Wim Taymans <wim@fluendo.com>
9040 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9041 Added some more tests for wrong hierarchy
9043 * docs/design/part-overview.txt:
9046 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9049 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9050 (gst_element_dispose):
9053 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9054 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9055 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9056 (gst_pad_set_caps), (gst_pad_send_event):
9057 Check for correct hierarchy when linking pads. Moving to
9058 strict requirement for ghostpads when linking elements in
9062 Clean ups. Added WRONG_HIERARCHY return value.
9064 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9066 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9067 Better debug if no transform is possible.
9069 2005-07-27 Wim Taymans <wim@fluendo.com>
9071 * docs/random/wtay/network-transp:
9074 2005-07-27 Wim Taymans <wim@fluendo.com>
9076 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9077 (gst_dp_event_from_packet):
9078 Fix serialization of seek events.
9080 2005-07-27 Wim Taymans <wim@fluendo.com>
9082 * check/gst-libs/gdp.c: (GST_START_TEST):
9083 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9084 Fix compilation and fix event serialization.
9086 2005-07-27 Wim Taymans <wim@fluendo.com>
9089 * docs/design/part-TODO.txt:
9090 * docs/design/part-events.txt:
9093 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9094 (gst_base_sink_event), (gst_base_sink_do_sync),
9095 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9096 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9097 (gst_base_src_do_seek), (gst_base_src_event_handler),
9098 (gst_base_src_loop):
9099 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9100 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9101 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9102 (gst_base_transform_event), (gst_base_transform_handle_buffer),
9103 (gst_base_transform_set_passthrough),
9104 (gst_base_transform_is_passthrough):
9105 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9106 * gst/elements/gstfilesink.c: (gst_file_sink_event):
9112 * gst/gstelement.c: (gst_element_seek):
9114 Update gst_element_seek.
9116 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9117 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9118 (gst_event_new_flush_start), (gst_event_new_flush_stop),
9119 (gst_event_new_eos), (gst_event_new_newsegment),
9120 (gst_event_parse_newsegment), (gst_event_new_tag),
9121 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9122 (gst_event_parse_qos), (gst_event_new_seek),
9123 (gst_event_parse_seek), (gst_event_new_navigation):
9125 Make GstEvent use GstStructure. Add parsing code, make sure the
9126 API is sufficiently generic.
9127 Mark possible directions of events and serialization.
9129 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9130 (_gst_message_copy), (gst_message_new_segment_start),
9131 (gst_message_new_segment_done), (gst_message_new_custom),
9132 (gst_message_parse_segment_start),
9133 (gst_message_parse_segment_done):
9136 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9137 (gst_pad_set_caps), (gst_pad_send_event):
9138 Update for new events.
9139 Catch events sent in wrong directions.
9141 * gst/gstqueue.c: (gst_queue_link_src),
9142 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9143 (gst_queue_handle_src_query):
9148 Remove event code from this file.
9150 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9151 (gst_dp_event_from_packet):
9154 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9156 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9157 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9158 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9159 Make debugging actually useful.
9161 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9163 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9164 (gst_pad_fixate_caps):
9165 Implement default fixation once again, so that gst_pad_fixate()
9166 actually does anything at all. This probably needs to be some
9167 sort of a last resort, and use profile-based fixation first, but
9168 since that doesn't exist yet, this is the best we have. Fixes
9169 visualization in Totem.
9171 2005-07-22 Wim Taymans <wim@fluendo.com>
9173 * docs/design/part-events.txt:
9176 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9177 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9178 (gst_base_sink_activate_pull):
9181 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9182 (gst_fake_src_create):
9183 Fix handoff marshall.
9185 * gst/elements/gstidentity.c: (gst_identity_class_init),
9186 (gst_identity_transform_ip):
9187 We're a real inplace element.
9189 * gst/gstbus.c: (gst_bus_post):
9190 Added some comments.
9192 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9193 * tests/muxing/case1.c: (main):
9194 * tests/sched/dynamic-pipeline.c: (main):
9195 * tests/sched/interrupt1.c: (main):
9196 * tests/sched/interrupt2.c: (main):
9197 * tests/sched/interrupt3.c: (main):
9198 * tests/sched/runxml.c: (main):
9199 * tests/sched/sched-stress.c: (main):
9200 * tests/seeking/seeking1.c: (event_received), (main):
9201 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9203 * tests/threadstate/threadstate3.c: (main):
9204 * tests/threadstate/threadstate4.c: (main):
9205 * tests/threadstate/threadstate5.c: (main):
9208 2005-07-21 Wim Taymans <wim@fluendo.com>
9210 * docs/design/part-seeking.txt:
9211 Some small additions.
9213 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9214 (gst_base_sink_get_times), (gst_base_sink_do_sync),
9215 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9216 * gst/base/gstbasesink.h:
9217 discont values are gint64, handle the math correctly.
9219 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9220 Make the basesrc report error if the source pad is not linked.
9222 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9223 (gst_queue_loop), (gst_queue_handle_src_query),
9224 (gst_queue_src_activate_push):
9225 Make queue collect data even if the srcpad is not linked.
9226 Start pushing out data as soon as it is linked.
9228 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9230 Added gst_flow_get_name() to ease error reporting.
9232 2005-07-20 Wim Taymans <wim@fluendo.com>
9234 * gst/gstmessage.c: (gst_message_new_segment_start),
9235 (gst_message_new_segment_done), (gst_message_parse_segment_start),
9236 (gst_message_parse_segment_done):
9238 Added a bunch of messages for advanced seeking.
9240 * gst/parse/grammar.y:
9241 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9242 (gst_dpman_state_changed):
9243 Fix some new-pad -> pad-added signals
9245 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9247 * docs/manual/appendix-porting.xml:
9248 * docs/pwg/appendix-porting.xml:
9249 Document new-pad/state-change signal renames and the FixedList
9252 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9254 * docs/manual/advanced-autoplugging.xml:
9255 * docs/manual/basics-helloworld.xml:
9256 * docs/manual/basics-pads.xml:
9257 * docs/random/ds/0.9-suggested-changes:
9258 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9263 * gst/gststructure.c: (gst_structure_value_get_generic_type),
9264 (gst_structure_parse_array), (gst_structure_parse_value):
9265 * gst/gstvalue.c: (gst_type_is_fixed),
9266 (gst_value_list_prepend_value), (gst_value_list_append_value),
9267 (gst_value_list_get_size), (gst_value_list_get_value),
9268 (gst_value_transform_array_string), (gst_value_serialize_array),
9269 (gst_value_deserialize_array), (gst_value_intersect_array),
9270 (gst_value_is_fixed), (_gst_value_initialize):
9272 GstElement::new-pad -> pad-added, GstElement::state-change ->
9273 state-changed, GstValueFixedList -> GstValueArray, add format and
9274 flags as their own arguments in gst_element_seek() (should improve
9275 "bindeability"), remove function generators since they don't work
9276 under a whole bunch of compilers (they were deprecated already
9279 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9281 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9282 (_gst_debug_register_funcptr):
9284 Fix illegal cast on some platforms (#309253).
9286 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9288 * gst/gstmessage.c: (gst_message_new_custom):
9290 Add _new_custom, make _new_application a macro to _new_custom.
9292 2005-07-20 Wim Taymans <wim@fluendo.com>
9294 * gst/base/gstbasesrc.c: (gst_base_src_init),
9295 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9296 * gst/base/gstbasesrc.h:
9297 Add a gboolean to decide when to push out a discont.
9299 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9300 (gst_queue_loop), (gst_queue_handle_src_query),
9301 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9302 (gst_queue_set_property), (gst_queue_get_property):
9305 * tests/threadstate/threadstate1.c: (main):
9306 Make a thread test compile and run... very silly..
9309 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9311 * docs/manual/appendix-porting.xml:
9312 Mention removal of libgstgconf-0.9.la and existence of gconf
9315 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9317 * docs/pwg/advanced-clock.xml:
9318 * docs/pwg/appendix-porting.xml:
9319 * docs/pwg/intro-preface.xml:
9320 * docs/pwg/other-base.xml:
9321 * docs/pwg/other-manager.xml:
9322 * docs/pwg/other-nton.xml:
9323 * docs/pwg/other-ntoone.xml:
9324 * docs/pwg/other-oneton.xml:
9326 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9327 demuxer), remove n-to-n (was never written), fix some code examples
9328 and links and update the porting section to include all this.
9330 2005-07-19 Wim Taymans <wim@fluendo.com>
9332 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9333 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9334 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9335 (gst_queue_src_activate_push), (gst_queue_change_state),
9336 (gst_queue_get_property):
9338 Propagate GstFlowReturn more intelligently upstream and output
9339 an ERROR/EOS when streaming stopped due to fatal error.
9341 2005-07-19 Wim Taymans <wim@fluendo.com>
9343 * tools/gst-launch.c: (check_intr), (event_loop), (main):
9344 Don't block forever for the state change to complete, the
9345 pipeline already did with a sensible timeout.
9347 2005-07-19 Wim Taymans <wim@fluendo.com>
9349 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9350 Make sure we never call the create function is we
9353 2005-07-19 Andy Wingo <wingo@pobox.com>
9355 * gst/parse/parse.l: Attempt to solve bug #172815.
9357 2005-07-19 Wim Taymans <wim@fluendo.com>
9359 * docs/design/part-clocks.txt:
9360 * docs/design/part-events.txt:
9361 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9363 Only update the seeking values when we are not
9366 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
9368 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9369 Oops, ignore the result of gst_pad_push_event here.
9371 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
9373 * gst/base/gstbasesrc.c: (gst_base_src_loop),
9374 (gst_base_src_activate_push):
9375 Send discont event from the loop function, as pads
9376 aren't activated yet in the activate_push handler.
9378 * gst/gstbin.c: (bin_bus_handler):
9379 Don't leak element name.
9381 2005-07-18 Andy Wingo <wingo@pobox.com>
9383 * configure.ac: Use AS_LIBTOOL_TAGS.
9385 2005-07-18 Wim Taymans <wim@fluendo.com>
9387 * docs/gst/gstreamer.types:
9388 Remove deleted types.
9390 2005-07-18 Wim Taymans <wim@fluendo.com>
9392 * check/elements/gstfakesrc.c: (GST_START_TEST):
9395 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9396 (init_popt_callback):
9398 * gst/gst_private.h:
9399 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9400 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9403 * gst/gstconfig.h.in:
9404 * gst/gstelement.c: (gst_element_class_init),
9405 (gst_element_set_base_time), (gst_element_get_base_time),
9406 (iterator_fold_with_resync), (gst_element_change_state),
9407 (gst_element_dispose), (gst_element_get_bus):
9409 * gst/gstelementfactory.h:
9410 * gst/gsterror.c: (_gst_core_errors_init):
9413 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9415 * gst/gstinfo.c: (_gst_debug_init):
9416 * gst/gstmessage.c: (_gst_message_copy):
9418 * gst/gstminiobject.h:
9421 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9422 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9425 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9426 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9427 (gst_pipeline_get_last_stream_time):
9428 * gst/gstpipeline.h:
9429 * gst/gstpluginfeature.h:
9431 * gst/gstscheduler.c:
9432 * gst/gstscheduler.h:
9433 * gst/gststructure.h:
9434 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9435 (gst_task_finalize), (gst_task_func), (gst_task_create),
9436 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9437 (gst_task_stop), (gst_task_pause):
9439 * gst/gsttypefind.h:
9441 * gst/registries/gstlibxmlregistry.c: (load_feature),
9442 (gst_xml_registry_load), (gst_xml_registry_save_feature):
9443 * gst/registries/gstxmlregistry.c:
9444 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9445 * gst/schedulers/threadscheduler.c:
9446 * libs/gst/control/dparammanager.h:
9447 * tools/gst-inspect.c: (print_element_list),
9448 (print_plugin_features), (print_element_features):
9449 * tools/gst-xmlinspect.c: (print_element_list),
9450 (print_plugin_info), (main):
9451 Removed plugable schedulers.
9452 Removed Scheduler/Manager from elements.
9453 Removed gsttypes.h, rearranged includes.
9454 Removed dependency pad<->element, element<>pipeline, and
9455 various others, fix includes.
9456 implement gst_pad_get_parent() with gst_object_get_parent()
9457 Make GstTask sefcontained.
9458 Fix _get_state() on GstBin, it did not return ASYNC with a 0
9460 Fix endless loop in iterator_fold_with_resync.
9463 2005-07-18 Wim Taymans <wim@fluendo.com>
9469 2005-07-18 Wim Taymans <wim@fluendo.com>
9474 2005-07-18 Wim Taymans <wim@fluendo.com>
9480 2005-07-18 Wim Taymans <wim@fluendo.com>
9482 * docs/design/part-dynamic.txt:
9483 * docs/design/part-events.txt:
9484 * docs/design/part-seeking.txt:
9485 Some more docs in the works.
9487 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9488 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9489 (gst_base_transform_setcaps), (gst_base_transform_get_size),
9490 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9491 (gst_base_transform_handle_buffer),
9492 (gst_base_transform_sink_activate_push),
9493 (gst_base_transform_src_activate_pull),
9494 (gst_base_transform_set_passthrough),
9495 (gst_base_transform_is_passthrough):
9498 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9501 * gst/gstevent.c: (gst_event_finalize):
9504 * gst/gstutils.c: (gst_element_unlink),
9505 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9506 (gst_pad_proxy_setcaps):
9508 Add _get_parent_element() to get a pads parent as an element.
9510 2005-07-18 Wim Taymans <wim@fluendo.com>
9512 * check/gst/gstbin.c: (GST_START_TEST):
9515 2005-07-18 Wim Taymans <wim@fluendo.com>
9517 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9518 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9519 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9520 (gst_base_sink_event), (gst_base_sink_do_sync),
9521 (gst_base_sink_chain), (gst_base_sink_loop),
9522 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9523 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9525 Fix logic for returning ASYNC when not prerolled.
9527 2005-07-18 Wim Taymans <wim@fluendo.com>
9529 * gst/gstqueue.c: (gst_queue_handle_sink_event):
9530 Fix nasty refcount bug.
9532 2005-07-16 Philippe Khalaf <burger@speedy.org>
9534 * gst/elements/gstfdsrc.c:
9535 * gst/elements/gstfdsrc.h:
9536 * gst/elements/gstelements.c:
9537 * gst/elements/Makefile.am:
9538 Ported fdsrc to 0.9.
9540 2005-07-16 Wim Taymans <wim@fluendo.com>
9542 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9543 (gst_base_sink_do_sync):
9546 2005-07-16 Wim Taymans <wim@fluendo.com>
9548 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9549 (gst_base_sink_event), (gst_base_sink_get_times),
9550 (gst_base_sink_do_sync), (gst_base_sink_change_state):
9551 * gst/base/gstbasesink.h:
9552 Store and use discont values when syncing buffers as described
9555 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9556 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9557 (gst_base_src_activate_push):
9558 Push discont event when starting.
9560 * gst/elements/gstidentity.c: (gst_identity_transform):
9563 * gst/gstbin.c: (gst_bin_change_state):
9564 Small cleanups in base_time distribution.
9566 * gst/gstelement.c: (gst_element_set_base_time),
9567 (gst_element_get_base_time), (gst_element_change_state):
9569 Added methods for the base_time of the element.
9572 * gst/gstpipeline.c: (gst_pipeline_send_event),
9573 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9574 (gst_pipeline_get_last_stream_time):
9575 * gst/gstpipeline.h:
9577 Handle seeking as described in design doc, remove stream_time
9579 Cleanups clock and stream_time selection code. Added accessors
9580 for the stream_time.
9583 2005-07-16 Andy Wingo <wingo@pobox.com>
9585 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9588 2005-07-16 Wim Taymans <wim@fluendo.com>
9590 * check/gst/gstbin.c: (GST_START_TEST):
9591 Make elements silent as the deep_notify refs the
9592 parent, which might make the test fail.
9594 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9595 Don't hold the lock for too long.
9597 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
9599 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9600 Don't unref the caps we passed to gst_caps_make_writable() after
9601 passing them. gst_caps_make_writable() will do that for us.
9603 2005-07-15 Andy Wingo <wingo@pobox.com>
9605 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9608 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9609 own marshalling function for the handoff signal. Properly type the
9610 buffer as a buffer. Fixes some warnings. Should do a more general
9612 (gst_identity_class_init): Plug into the right marshaller.
9614 2005-07-15 Wim Taymans <wim@fluendo.com>
9616 * docs/design/part-TODO.txt:
9617 * docs/design/part-clocks.txt:
9618 * docs/design/part-element-sink.txt:
9619 * docs/design/part-events.txt:
9620 * docs/design/part-gstpipeline.txt:
9621 Updated docs, mostly DISCONT related.
9623 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
9625 * docs/pwg/building-pads.xml:
9626 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9628 2005-07-15 Andy Wingo <wingo@pobox.com>
9630 * tools/gst-typefind.c: Update, add copyright block.
9632 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9633 Normalize and truncate caps before fixation.
9636 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9637 discards all but the first structure from its argument.
9639 2005-07-15 Wim Taymans <wim@fluendo.com>
9641 * gst/base/gstbasetransform.c: (gst_base_transform_init),
9642 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9643 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9644 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9645 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9646 (gst_base_transform_chain), (gst_base_transform_change_state),
9647 (gst_base_transform_set_passthrough),
9648 (gst_base_transform_is_passthrough):
9649 * gst/base/gstbasetransform.h:
9650 Make passthrough work using the bufferpools.
9651 Changed API a bit, subclasses have to write into a buffer
9652 provided by the base class.
9653 More debug info in nego functions.
9655 * gst/elements/gstidentity.c: (gst_identity_init),
9656 (gst_identity_transform):
9657 Port to new base class.
9659 2005-07-15 Wim Taymans <wim@fluendo.com>
9661 * gst/gstmessage.c: (gst_message_new_state_changed):
9662 * tools/gst-launch.c: (event_loop), (main):
9663 Totally dump messages in -launch with the -m option.
9664 Fix message name for State messages,
9666 2005-07-14 Wim Taymans <wim@fluendo.com>
9668 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9669 Post error messages on errors.
9671 2005-07-14 Wim Taymans <wim@fluendo.com>
9673 * gst/gstcaps.c: (gst_caps_do_simplify):
9677 Define error for stream stopped.
9679 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9680 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9681 Do proper return values.
9683 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9684 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9685 (gst_pad_get_range):
9686 Better return values.
9689 Reorganise return values, add macro to check for fatal errors.
9691 * gst/gstqueue.c: (gst_queue_chain):
9692 Return proper GstFlowReturn values,
9694 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
9696 * docs/gst/gstreamer-sections.txt:
9697 * docs/gst/gstreamer.types:
9698 * docs/gst/tmpl/gst.sgml:
9699 * docs/gst/tmpl/gstbasesink.sgml:
9700 * docs/gst/tmpl/gstbasesrc.sgml:
9701 * docs/gst/tmpl/gstbasetransform.sgml:
9702 * docs/gst/tmpl/gstbin.sgml:
9703 * docs/gst/tmpl/gstbuffer.sgml:
9704 * docs/gst/tmpl/gstcaps.sgml:
9705 * docs/gst/tmpl/gstclock.sgml:
9706 * docs/gst/tmpl/gstcompat.sgml:
9707 * docs/gst/tmpl/gstconfig.sgml:
9708 * docs/gst/tmpl/gstelement.sgml:
9709 * docs/gst/tmpl/gstelementdetails.sgml:
9710 * docs/gst/tmpl/gstelementfactory.sgml:
9711 * docs/gst/tmpl/gstenumtypes.sgml:
9712 * docs/gst/tmpl/gsterror.sgml:
9713 * docs/gst/tmpl/gstevent.sgml:
9714 * docs/gst/tmpl/gstfakesink.sgml:
9715 * docs/gst/tmpl/gstfakesrc.sgml:
9716 * docs/gst/tmpl/gstfilesink.sgml:
9717 * docs/gst/tmpl/gstfilesrc.sgml:
9718 * docs/gst/tmpl/gstfilter.sgml:
9719 * docs/gst/tmpl/gstformat.sgml:
9720 * docs/gst/tmpl/gstghostpad.sgml:
9721 * docs/gst/tmpl/gstimplementsinterface.sgml:
9722 * docs/gst/tmpl/gstindex.sgml:
9723 * docs/gst/tmpl/gstindexfactory.sgml:
9724 * docs/gst/tmpl/gstinfo.sgml:
9725 * docs/gst/tmpl/gstiterator.sgml:
9726 * docs/gst/tmpl/gstmacros.sgml:
9727 * docs/gst/tmpl/gstmemchunk.sgml:
9728 * docs/gst/tmpl/gstminiobject.sgml:
9729 * docs/gst/tmpl/gstobject.sgml:
9730 * docs/gst/tmpl/gstpad.sgml:
9731 * docs/gst/tmpl/gstpadtemplate.sgml:
9732 * docs/gst/tmpl/gstparse.sgml:
9733 * docs/gst/tmpl/gstpipeline.sgml:
9734 * docs/gst/tmpl/gstplugin.sgml:
9735 * docs/gst/tmpl/gstpluginfeature.sgml:
9736 * docs/gst/tmpl/gstquery.sgml:
9737 * docs/gst/tmpl/gstqueue.sgml:
9738 * docs/gst/tmpl/gstregistry.sgml:
9739 * docs/gst/tmpl/gstregistrypool.sgml:
9740 * docs/gst/tmpl/gstscheduler.sgml:
9741 * docs/gst/tmpl/gstschedulerfactory.sgml:
9742 * docs/gst/tmpl/gststructure.sgml:
9743 * docs/gst/tmpl/gstsystemclock.sgml:
9744 * docs/gst/tmpl/gsttaglist.sgml:
9745 * docs/gst/tmpl/gsttagsetter.sgml:
9746 * docs/gst/tmpl/gsttrace.sgml:
9747 * docs/gst/tmpl/gsttrashstack.sgml:
9748 * docs/gst/tmpl/gsttypefind.sgml:
9749 * docs/gst/tmpl/gsttypefindfactory.sgml:
9750 * docs/gst/tmpl/gsttypes.sgml:
9751 * docs/gst/tmpl/gsturihandler.sgml:
9752 * docs/gst/tmpl/gsturitype.sgml:
9753 * docs/gst/tmpl/gstutils.sgml:
9754 * docs/gst/tmpl/gstvalue.sgml:
9755 * docs/gst/tmpl/gstversion.sgml:
9756 * docs/gst/tmpl/gstxml.sgml:
9757 * docs/libs/tmpl/gstcontrol.sgml:
9758 * docs/libs/tmpl/gstdataprotocol.sgml:
9759 * docs/libs/tmpl/gstdparam.sgml:
9760 * docs/libs/tmpl/gstdplinint.sgml:
9761 * docs/libs/tmpl/gstdpman.sgml:
9762 * docs/libs/tmpl/gstdpsmooth.sgml:
9763 * docs/libs/tmpl/gstgetbits.sgml:
9764 * docs/libs/tmpl/gstunitconvert.sgml:
9765 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9766 (gst_push_src_base_init), (gst_push_src_class_init),
9767 (gst_push_src_init), (gst_push_src_create):
9768 * gst/base/gstpushsrc.h:
9769 * gst/elements/gstelements.c:
9770 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9771 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9772 (gst_fake_sink_init), (gst_fake_sink_set_property),
9773 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9774 (gst_fake_sink_event), (gst_fake_sink_preroll),
9775 (gst_fake_sink_render), (gst_fake_sink_change_state):
9776 * gst/elements/gstfakesink.h:
9777 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9778 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9779 (gst_fake_src_base_init), (gst_fake_src_class_init),
9780 (gst_fake_src_init), (gst_fake_src_event_handler),
9781 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9782 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9783 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9784 (gst_fake_src_create_buffer), (gst_fake_src_create),
9785 (gst_fake_src_start), (gst_fake_src_stop):
9786 * gst/elements/gstfakesrc.h:
9787 * gst/elements/gstfilesink.c: (_do_init),
9788 (gst_file_sink_base_init), (gst_file_sink_class_init),
9789 (gst_file_sink_init), (gst_file_sink_dispose),
9790 (gst_file_sink_set_location), (gst_file_sink_set_property),
9791 (gst_file_sink_get_property), (gst_file_sink_open_file),
9792 (gst_file_sink_close_file), (gst_file_sink_query),
9793 (gst_file_sink_event), (gst_file_sink_render),
9794 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9795 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9796 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9797 * gst/elements/gstfilesink.h:
9798 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9799 (gst_file_src_class_init), (gst_file_src_init),
9800 (gst_file_src_finalize), (gst_file_src_set_location),
9801 (gst_file_src_set_property), (gst_file_src_get_property),
9802 (gst_file_src_map_region), (gst_file_src_map_small_region),
9803 (gst_file_src_create_mmap), (gst_file_src_create_read),
9804 (gst_file_src_create), (gst_file_src_is_seekable),
9805 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9806 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9807 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9808 (gst_file_src_uri_handler_init):
9809 * gst/elements/gstfilesrc.h:
9810 more autistic cleanliness in functions/names/defines
9812 2005-07-13 Andy Wingo <wingo@pobox.com>
9814 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9815 source couldn't negotiate.
9817 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9821 * gst/gstutils.c (gst_element_link_pads_filtered): New old
9822 function. I am channeling Hades. Put your boots on suckers!!!
9824 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
9826 * testsuite/caps/Makefile.am:
9827 * testsuite/caps/value_compare.c:
9828 * testsuite/caps/value_intersect.c:
9829 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9830 move two testsuite apps over to the check dir
9832 2005-07-12 Wim Taymans <wim@fluendo.com>
9834 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9835 Added more debug info in the negotiate process.
9838 Prepare for segment playback.
9840 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9846 * tools/gst-launch.c: (main):
9847 NULL pipeline on errors.
9849 2005-07-12 Andy Wingo <wingo@pobox.com>
9851 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9852 not it comes from a malloc region. Make sure our copy gets freed.
9854 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9856 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9857 * check/gst/gstmessage.c: (GST_START_TEST):
9858 * check/gst/gststructure.c: (GST_START_TEST),
9859 (gst_structure_suite), (main):
9861 * gst/gstelement.c: (gst_element_message_full):
9862 clean up GError and debug string now that they get copied
9863 * gst/gstmessage.c: (gst_message_new_error),
9864 (gst_message_new_warning), (gst_message_parse_error),
9865 (gst_message_parse_warning):
9866 use GST_TYPE_G_ERROR for structure_new, and take copies of
9867 arguments, so that we don't mess up refcounting
9869 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9871 * check/Makefile.am:
9872 add per-test valgrind targets
9873 * check/gst-libs/gdp.c: (GST_START_TEST),
9874 (gst_data_protocol_suite), (main):
9877 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9879 * check/Makefile.am:
9880 instate more valgrindable tests
9881 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9882 (GST_START_TEST), (fakesrc_suite):
9883 * check/gst/gstpad.c: (GST_START_TEST):
9884 * check/gst/gststructure.c: (GST_START_TEST):
9886 * docs/gst/tmpl/gstminiobject.sgml:
9887 * gst/gstpad.c: (gst_pad_finalize):
9888 fix the static mutex leak
9890 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9892 * check/Makefile.am:
9893 add two more tests for valgrinding
9894 * check/gst/gstvalue.c: (GST_START_TEST):
9895 test refcount of deserialized buffer, found a leak
9896 * docs/gst/gstreamer-docs.sgml:
9897 * docs/gst/gstreamer-sections.txt:
9898 * docs/gst/gstreamer.types:
9899 * docs/gst/tmpl/gstminiobject.sgml:
9900 add miniobject to docs
9901 * gst/gstminiobject.c:
9903 * gst/gstvalue.c: (gst_value_deserialize_buffer),
9904 (gst_string_unwrap):
9905 fix a hard-to-find invalid write for one of the tests
9906 fix a leak for deserialized buffers
9908 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9910 * docs/pwg/advanced-events.xml:
9911 * docs/pwg/advanced-request.xml:
9912 * docs/pwg/advanced-scheduling.xml:
9913 * docs/pwg/appendix-porting.xml:
9914 * docs/pwg/building-boiler.xml:
9915 * docs/pwg/intro-preface.xml:
9916 * docs/pwg/other-ntoone.xml:
9917 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9918 of example code and explanation for pad activation, loop() and
9919 getrange() functions and a bit more. Remove old comments pointing
9921 * examples/pwg/Makefile.am:
9922 Add loop/getrange examples.
9924 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9927 check for valgrind binary + some fixes
9929 valgrind suppressions for the tests
9930 * check/Makefile.am:
9931 add a valgrind: target that valgrinds the unit tests
9932 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9933 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9934 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9935 * check/gst/gstghostpad.c:
9937 * check/gst/gstdata.c:
9939 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9940 (thread_unref), (gst_mini_object_suite), (main):
9942 * gst/gst.c: (gst_deinit):
9944 add a method to clean up.
9945 * gst/gstsystemclock.c: (gst_system_clock_dispose),
9946 (gst_system_clock_obtain):
9947 allow for disposing the system clock.
9948 * tools/gst-launch.c: (main):
9951 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9953 * docs/gst/tmpl/gstbasesrc.sgml:
9954 * docs/gst/tmpl/gstfakesrc.sgml:
9955 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9956 (gst_base_src_init), (gst_base_src_set_property),
9957 (gst_base_src_get_property), (gst_base_src_get_range),
9958 (gst_base_src_start):
9959 * gst/base/gstbasesrc.h:
9960 add num-buffers property
9961 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9962 (gst_fakesrc_init), (gst_fakesrc_set_property),
9963 (gst_fakesrc_get_property), (gst_fakesrc_create),
9964 (gst_fakesrc_start):
9965 remove num-buffers property
9967 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9969 * docs/gst/gstreamer-sections.txt:
9970 * docs/gst/tmpl/gstbasesink.sgml:
9971 * docs/gst/tmpl/gstbasesrc.sgml:
9972 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9973 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9974 (gst_base_sink_finalize), (gst_base_sink_set_clock),
9975 (gst_base_sink_set_property), (gst_base_sink_get_property),
9976 (gst_base_sink_handle_object), (gst_base_sink_event),
9977 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9978 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9979 (gst_base_sink_loop), (gst_base_sink_deactivate),
9980 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9981 (gst_base_sink_change_state):
9982 * gst/base/gstbasesink.h:
9983 * gst/base/gstbasesrc.h:
9984 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9985 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9986 (gst_filesink_init):
9987 more macro splitting
9989 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9991 * gst/gstelement.c: (gst_element_get_bus):
9993 * tools/gst-launch.c: (check_intr), (event_loop):
9996 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9998 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10001 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
10003 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10004 (gst_base_src_finalize):
10005 add finalize method and clean up properly
10006 * gst/gstpipeline.c: (gst_pipeline_dispose):
10009 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
10011 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10013 add more things to check
10014 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10015 * gst/gstelement.c:
10018 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
10020 * check/elements/gstfakesrc.c: (chain_func), (event_func),
10021 (GST_START_TEST), (fakesrc_suite):
10022 * check/gst-libs/gdp.c: (GST_START_TEST):
10023 * check/gst/gst.c: (GST_START_TEST):
10024 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10025 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10026 * check/gst/gstbus.c: (GST_START_TEST):
10027 * check/gst/gstcaps.c: (GST_START_TEST):
10028 * check/gst/gstdata.c: (GST_START_TEST):
10029 * check/gst/gstelement.c: (GST_START_TEST):
10030 * check/gst/gstghostpad.c: (GST_START_TEST):
10031 * check/gst/gstiterator.c: (GST_START_TEST):
10032 * check/gst/gstmessage.c: (GST_START_TEST):
10033 * check/gst/gstobject.c: (GST_START_TEST):
10034 * check/gst/gstpad.c: (GST_START_TEST):
10035 * check/gst/gststructure.c: (GST_START_TEST):
10036 * check/gst/gstsystemclock.c: (GST_START_TEST),
10037 (gst_systemclock_suite):
10038 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10039 * check/gst/gstvalue.c: (GST_START_TEST):
10040 * check/pipelines/cleanup.c: (GST_START_TEST):
10041 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10042 * check/states/sinks.c: (GST_START_TEST):
10043 * check/gstcheck.c: (gst_check_init):
10044 * check/gstcheck.h:
10045 add debugging category
10046 use GST_START_TEST now, so we add a debug line
10048 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
10050 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10051 add test for state change message on a bin
10052 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10054 * gst/gstbin.c: (gst_bin_init):
10055 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10056 * gst/gstelement.c: (gst_element_post_message),
10057 (gst_element_set_state):
10058 * gst/gstelementfactory.c: (gst_element_factory_create):
10059 * gst/gstmessage.c: (gst_message_new):
10060 * gst/gstscheduler.c:
10061 various debugging additions and cleanups
10063 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10065 * check/Makefile.am:
10066 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10068 adding tests for elements
10069 * gst/gstelement.c: (gst_element_dispose):
10071 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10073 * gst/registries/gstlibxmlregistry.c: (load_feature):
10074 plug more leaks. A simple gst_init() now is leakfree, yay.
10076 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10078 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10079 (gst_xml_registry_load):
10080 plug another memleak
10082 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10085 use GST_SET_ERROR_CFLAGS
10086 * docs/faq/cvs.xml:
10087 change to ERROR_CFLAGS
10089 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
10092 make GST_ERROR_CFLAGS overridable and re-enable Werror
10093 * docs/faq/cvs.xml:
10094 add a note about error CFLAGS
10095 * docs/gst/tmpl/gstfakesrc.sgml:
10096 * gst/elements/gstfakesrc.c:
10097 comment out some unused code
10098 * gst/gst.c: (split_and_iterate):
10099 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10103 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
10105 * common/Makefile.am:
10106 * common/gtk-doc.mak:
10107 * docs/gst/Makefile.am:
10108 factor out gtk-doc.mak
10110 2005-07-07 Wim Taymans <wim@fluendo.com>
10112 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10113 (gst_thread_scheduler_dispose):
10114 Unlock the STREAM_LOCK completely.
10116 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
10118 * check/Makefile.am:
10119 * check/elements/.cvsignore:
10120 * check/elements/gstfakesrc.c: (chain_func), (event_func),
10121 (START_TEST), (fakesrc_suite), (main):
10122 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10123 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10124 (gst_fakesrc_create), (gst_fakesrc_start):
10125 * gst/elements/gstfakesrc.h:
10126 adding a first element test
10128 2005-07-07 Andy Wingo <wingo@pobox.com>
10130 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10133 2005-07-07 Wim Taymans <wim@fluendo.com>
10139 2005-07-07 Wim Taymans <wim@fluendo.com>
10141 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10142 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10143 Allow subclasses to implement their own negotiation.
10145 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10147 * docs/design/part-gstbin.txt:
10148 * docs/design/part-gstpipeline.txt:
10149 Update design notes to reflect the movement of
10150 responsibility for bus handling from GstPipeline to
10153 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10156 Remove unnecessary queue2/3/4 examples.
10158 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10160 * examples/Makefile.am:
10161 * examples/helloworld/helloworld.c: (event_loop), (main):
10162 * examples/queue/queue.c: (event_loop), (main):
10163 * examples/queue2/queue2.c: (main):
10164 Update a couple of the examples to work again.
10166 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10167 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10168 Spelling corrections and extra debug.
10170 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10171 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10172 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10174 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10175 (gst_pipeline_change_state):
10176 * gst/gstpipeline.h:
10177 Move the bus handler for children to the GstBin, and create a
10178 separate bus for receiving messages from children to the one the
10179 bus sends 'upwards' on.
10181 2005-07-06 Wim Taymans <wim@fluendo.com>
10184 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10185 (gst_base_sink_handle_object), (gst_base_sink_loop),
10186 (gst_base_sink_change_state):
10187 * gst/base/gstbasesink.h:
10188 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10189 (gst_base_src_init), (gst_base_src_setcaps),
10190 (gst_base_src_getcaps), (gst_base_src_loop),
10191 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10192 (gst_base_src_start), (gst_base_src_change_state):
10193 * gst/base/gstbasesrc.h:
10194 Make basesrc negotiate.
10195 Handle the case where preroll fails in basesink.
10198 2005-07-06 Wim Taymans <wim@fluendo.com>
10200 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10201 Implement the fixate function.
10202 Clean up acceptcaps.
10204 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10206 * docs/pwg/building-filterfactory.xml:
10207 * docs/pwg/pwg.xml:
10208 Remove never-written filter-factory chapter; I'll add the various
10209 base classes to part 4 ("other element types") later on.
10211 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10213 * docs/pwg/advanced-negotiation.xml:
10214 * docs/pwg/building-boiler.xml:
10215 * docs/pwg/building-pads.xml:
10216 * docs/pwg/pwg.xml:
10217 * examples/pwg/Makefile.am:
10218 Add a chapter on caps negotiation, simplify the original code
10219 samples a bit w.r.t. caps negotiation, add link to the advanced
10220 section. Add a bunch of examples showing different use cases of
10221 different types of caps negotiation. Upstream renegotiation isn't
10222 fully documented yet since nobody knows how that works.
10224 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
10226 * check/gst/gstpad.c:
10227 * check/gstcheck.c:
10228 * gst/gstpad.c: (gst_pad_get_internal_links_default):
10229 if pad has no parent, return NULL as list of internal links
10231 2005-07-05 Andy Wingo <wingo@pobox.com>
10233 * gst/elements/gstfilesrc.c:
10234 * gst/elements/gstfakesrc.c:
10235 * gst/base/gstpushsrc.c:
10236 * gst/base/gstbasesrc.h:
10237 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10239 2005-07-05 Stefan Kost <ensonic@users.sf.net>
10242 better report generation target (lcov needs a patch)
10244 2005-07-05 Andy Wingo <wingo@pobox.com>
10246 * gst/elements, testsuite: Null if we got it...
10248 2005-07-05 Wim Taymans <wim@fluendo.com>
10251 * libs/gst/dataprotocol/Makefile.am:
10252 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10253 * libs/gst/dataprotocol/dataprotocol.h:
10254 * pkgconfig/Makefile.am:
10255 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10256 * pkgconfig/gstreamer-dataprotocol.pc.in:
10257 Ported dataprotol to 0.9.
10258 Added pkgconfig files.
10260 2005-07-05 Andy Wingo <wingo@pobox.com>
10262 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10263 Default to returning TRUE for the case when tranform_caps returns
10264 a fixed caps, like for identity or volume.
10266 * check/gst/gstbus.c (pound_bus_with_messages):
10267 * check/gst/gstmessage.c (START_TEST):
10268 * check/pipelines/simple_launch_lines.c (got_handoff): Application
10269 message API change.
10271 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10272 logic weaks here: always run transform_caps, trying passthrough
10273 operation only if the original caps intersects with the transform.
10275 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10276 source and sink caps.
10278 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10279 Intersect the peer caps with the pad template before going into
10281 (gst_base_transform_transform_caps): More debugging.
10283 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10286 2005-07-04 Edward Hervey <edward@fluendo.com>
10290 (gst_pad_add_*_probe): now returns the signal id for better wrapping
10293 2005-07-04 Andy Wingo <wingo@pobox.com>
10295 * check/gst/gstpad.c: Only set explicit caps on pads.
10297 2005-07-01 Andy Wingo <wingo@pobox.com>
10299 * tests/network-clock.scm: Commentary update.
10301 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10302 Didn't really make sense, not implementable with basetransform,
10304 (gst_identity_transform): Unref inbuf via make_writable. Feeble
10305 attempt at implementing the sync property, needs an unlock method.
10307 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10308 New func, by default returns the same caps (the identity
10310 (gst_base_transform_getcaps): Uses transform_caps to return
10311 something sensible.
10312 (gst_base_transform_setcaps): Complicated logic to get caps on
10313 both pads, even if they are different, and to call set_caps once
10314 for every time both pads get their caps set.
10315 (gst_base_transform_handle_buffer): Give the ref to the transform
10316 function. Allows in-place modification of the buffer.
10318 * gst/base/gstbasetransform.h (transform_caps): New class method.
10319 Given caps on one side, what can I do on the other.
10320 (set_caps): Take two caps, one for each side of the element.
10323 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10324 caps in place. This is safe because we can check the mutability of
10325 the caps, and a good idea because fixate functions are just called
10326 as a matter of last resort. (Not actually implemented.)
10327 (gst_pad_set_caps): If the caps we're setting is actually the same
10328 as the existing pad caps, just update the pointer without calling
10329 setcaps. Assert that caps is either NULL or fixed, as per the
10332 * gst/gstghostpad.c: Update for fixate changes.
10334 2005-07-02 Andy Wingo <wingo@pobox.com>
10337 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10338 two refcounts makes it immutable, which is enough. Doc more.
10340 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
10342 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10343 Put the mini_object into GValue as a mini_object,
10344 not a gpointer, since that's how we declared
10347 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10349 * examples/pwg/Makefile.am:
10350 Fix buildbot again.
10352 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10354 * docs/pwg/building-testapp.xml:
10356 * examples/pwg/Makefile.am:
10359 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10362 * examples/Makefile.am:
10363 * examples/pwg/Makefile.am:
10364 * examples/pwg/extract.pl:
10365 Enable building the PWG examples.
10366 * docs/pwg/advanced-interfaces.xml:
10367 Add URI interface stub.
10368 * docs/pwg/advanced-types.xml:
10369 * docs/pwg/other-autoplugger.xml:
10370 * docs/pwg/appendix-porting.xml:
10371 * docs/pwg/pwg.xml:
10372 Add porting guide (mostly stubs), remove autoplugging (see ADM).
10373 * docs/pwg/building-boiler.xml:
10374 * docs/pwg/building-chainfn.xml:
10375 * docs/pwg/building-pads.xml:
10376 * docs/pwg/building-props.xml:
10377 * docs/pwg/building-state.xml:
10378 * docs/pwg/building-testapp.xml:
10379 Update the building-*.xml parts for 0.9 changes. All examples
10380 code blocks compile in examples/pwg/*.
10382 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10384 * docs/manual/advanced-autoplugging.xml:
10385 * docs/manual/appendix-checklist.xml:
10386 * docs/manual/appendix-integration.xml:
10387 * docs/manual/highlevel-components.xml:
10388 Fix playbin/decodebin examples, update docs a bit, mention bus
10389 instead of signals in various places, mention kmplayer and
10390 kaffeine since they have a working GStreamer backend in the KDE
10393 2005-06-30 Wim Taymans <wim@fluendo.com>
10396 * docs/design/draft-ghostpads.txt:
10397 * docs/design/draft-push-pull.txt:
10398 * docs/design/draft-query.txt:
10399 * docs/design/part-TODO.txt:
10400 * docs/design/part-query.txt:
10401 Added CHANGES-0.9 doc, updated status of other docs.
10406 2005-06-30 Wim Taymans <wim@fluendo.com>
10408 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10409 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10410 (gst_base_sink_change_state):
10411 * gst/base/gstbasesink.h:
10412 Some tweaks, only EOS and a buffer complete a preroll.
10414 2005-06-30 Andy Wingo <wingo@pobox.com>
10416 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10417 activate_push down to the internal pad as well.
10419 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
10421 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10423 * gst/gsttaginterface.c:
10424 Some documentation fixes (#307394 and #307397).
10426 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
10428 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10430 * gst/gstvalue.c: (gst_value_intersect_list):
10431 Fix memleak (#309125).
10433 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10435 * docs/manual/advanced-dataaccess.xml:
10436 Fix fakesrc example to compile; doesn't work, bug somewhere...?
10437 * docs/manual/basics-pads.xml:
10438 Add reference for filtered caps to above chapter.
10440 2005-06-30 Wim Taymans <wim@fluendo.com>
10442 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10443 (gst_bin_change_state):
10445 Lame attempt at making the state change function a bit
10448 2005-06-30 Wim Taymans <wim@fluendo.com>
10450 * docs/design/part-clocks.txt:
10451 * docs/design/part-element-sink.txt:
10452 * docs/design/part-events.txt:
10453 * docs/design/part-preroll.txt:
10454 * docs/design/part-states.txt:
10455 Some more tweeks and additions to the docs.
10457 2005-06-30 Wim Taymans <wim@fluendo.com>
10459 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10460 (default_have_data), (gst_pad_class_init), (gst_pad_init),
10461 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10462 (gst_pad_check_pull_range), (gst_pad_get_range),
10463 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10465 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10466 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10467 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10468 (gst_pad_remove_buffer_probe):
10469 Removed atomic operations, use existing LOCK.
10470 Move exception handling out of main code path.
10472 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10474 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10475 (silly_return_true_function), (gst_pad_class_init),
10476 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10477 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10478 (gst_pad_send_event):
10479 Fix accumulator, add default value by using _emitv() instead
10480 of _emit() for signal emission.
10482 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10484 * docs/manual/advanced-dataaccess.xml:
10485 * examples/manual/Makefile.am:
10487 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10490 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
10492 * gst/elements/gstfilesink.c: (gst_filesink_render):
10493 Simplify code so that we don't have to handle short
10494 writes and return GST_FLOW_ERROR if an error occured.
10496 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10498 * docs/gst/gstreamer-docs.sgml:
10499 Remove probes more.
10501 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10503 * docs/gst/gstreamer-sections.txt:
10504 * docs/gst/tmpl/gstpad.sgml:
10505 * docs/gst/tmpl/gstprobe.sgml:
10507 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10508 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10509 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10510 (gst_pad_push_event), (gst_pad_send_event):
10512 * gst/gstutils.c: (gst_pad_add_data_probe),
10513 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10514 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10515 (gst_pad_remove_buffer_probe):
10517 Remove old probes, add new g-signal-based probes and some utility
10520 2005-06-29 Edward Hervey <edward@fluendo.com>
10522 * gst/gstelementfactory.c:
10525 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10526 the definition to the header file.
10528 2005-06-29 Andy Wingo <wingo@pobox.com>
10530 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10531 plugins from the source directory.
10533 2005-06-29 Wim Taymans <wim@fluendo.com>
10535 * docs/gst/tmpl/gstbuffer.sgml:
10536 * docs/gst/tmpl/gstclock.sgml:
10537 Some fixings for blantently wrong text.
10539 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10541 * check/Makefile.am:
10542 * gst/gst.c: (add_path_func), (init_pre):
10543 * gst/gstregistry.c: (gst_registry_add_path):
10544 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10545 only scan the GST_PLUGIN_PATH locations, and not add
10548 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10550 * docs/gst/gstreamer-sections.txt:
10551 * docs/gst/tmpl/gstbasesrc.sgml:
10552 * gst/gstelement.c:
10553 * gst/gstelement.h:
10558 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10560 * docs/manual/advanced-autoplugging.xml:
10561 Fix autoplugging example.
10563 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10565 * docs/manual/advanced-autoplugging.xml:
10566 * docs/manual/mime-world.fig:
10567 Try to get autoplugging working, fix type detection. Fix text
10568 in hello-world image.
10570 2005-06-29 Wim Taymans <wim@fluendo.com>
10572 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10573 (gst_base_sink_change_state):
10577 map SIGNAL and BROADCAST to the right function.
10580 Remove redundant braces.
10582 * gst/gstpad.c: (gst_pad_set_caps):
10583 Don't call setcaps function when reseting caps to NULL.
10585 * gst/gstsystemclock.c: (gst_system_clock_dispose),
10586 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10587 (gst_system_clock_id_unschedule):
10588 Use BROADCAST as this is what we do.
10590 2005-06-29 Wim Taymans <wim@fluendo.com>
10592 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10593 We are actually prerolling before commiting the state
10596 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10598 * docs/manual/advanced-clocks.xml:
10599 * docs/manual/advanced-interfaces.xml:
10600 * docs/manual/advanced-metadata.xml:
10601 * docs/manual/advanced-position.xml:
10602 * docs/manual/advanced-schedulers.xml:
10603 * docs/manual/advanced-threads.xml:
10604 * docs/manual/appendix-porting.xml:
10605 * docs/manual/basics-bins.xml:
10606 * docs/manual/basics-bus.xml:
10607 * docs/manual/basics-elements.xml:
10608 * docs/manual/basics-helloworld.xml:
10609 * docs/manual/basics-pads.xml:
10610 * docs/manual/highlevel-components.xml:
10611 * docs/manual/manual.xml:
10612 * docs/manual/thread.fig:
10613 Update (until threads/scheduling) Application Development Manual;
10614 remove GstThread, add GstBus, add simple porting checklist, add
10615 documentation for tag writing, clocks, make all examples until this
10616 part compile and run.
10617 * examples/manual/Makefile.am:
10618 Update from changes to Application Development Manual; add bus
10619 example, remove thread example.
10621 2005-06-28 Wim Taymans <wim@fluendo.com>
10623 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10624 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10625 (gst_bus_source_dispatch):
10626 Add debugging messages.
10627 Make internal methods static.
10628 Handle the case where the bus is flushed in the handler.
10630 * gst/gstelement.c: (gst_element_get_bus):
10631 Fix refcount in _get_bus();
10633 * gst/gstpipeline.c: (gst_pipeline_change_state),
10634 (gst_pipeline_get_clock_func):
10635 Clock refcounting fixes.
10636 Handle the case where preroll timed out more gracefully.
10638 * gst/gstsystemclock.c: (gst_system_clock_dispose):
10639 Clean up the internal thread in dispose. This is needed
10640 for subclasses that actually get disposed.
10642 * gst/schedulers/threadscheduler.c:
10643 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10644 (gst_thread_scheduler_dispose):
10645 Free thread pool in dispose.
10647 2005-06-28 Andy Wingo <wingo@pobox.com>
10649 * tests/network-clock-utils.scm (debug, print-event): New utils.
10651 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10652 (*packet-loss*): Unified loss probability.
10653 (network-time): Report out-of-band events.
10655 * tests/plot-data: Add support for out-of-band events. Hack it
10656 into this script instead of passing it down the pipe; should fix
10659 2005-06-28 Wim Taymans <wim@fluendo.com>
10661 * docs/gst/gstreamer.types:
10662 * docs/gst/tmpl/gstbasesrc.sgml:
10663 * docs/gst/tmpl/gstpad.sgml:
10666 2005-06-28 Wim Taymans <wim@fluendo.com>
10668 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10669 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10670 (gst_proxy_pad_do_fixatecaps):
10671 Correctly proxy the check_pull_range function.
10673 2005-06-28 Andy Wingo <wingo@pobox.com>
10675 * tests/network-clock.scm: Removed need for slib.
10677 2005-06-28 Wim Taymans <wim@fluendo.com>
10679 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10680 (gst_basesink_preroll_queue_flush):
10681 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10682 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10683 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10684 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10685 (gst_proxy_pad_set_property):
10688 * gst/gstqueue.c: (gst_queue_init):
10689 The deprecated pad loop function is removed now.
10691 2005-06-28 Andy Wingo <wingo@pobox.com>
10693 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10694 New parameters, simulate network packet loss.
10696 * tests/network-clock-utils.scm: Initialize the RNG.
10698 2005-06-28 Wim Taymans <wim@fluendo.com>
10700 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10701 (gst_basesink_event), (gst_basesink_deactivate):
10702 Flushing the preroll queue always needs to unlock the waiters.
10704 2005-06-28 Edward Hervey <edward@fluendo.com>
10706 * gst/gstpipeline.c: (gst_pipeline_send_event):
10707 Wheen a seek was successful on a pipeline, set the stream_time to the
10708 seek offset in order to have a synchronized stream_time.
10710 2005-06-28 Wim Taymans <wim@fluendo.com>
10712 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10713 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10714 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10715 (gst_proxy_pad_do_fixatecaps):
10716 Call wrapper function instead of just calling the function
10717 pointers. This takes care of any locking and whatmore.
10719 2005-06-28 Wim Taymans <wim@fluendo.com>
10721 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10722 (gst_pad_pull_range):
10724 CONNECTED -> LINKED.
10726 2005-06-28 Andy Wingo <wingo@pobox.com>
10728 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10729 source-munging commit!!!
10731 * gst/gstobject.c (gst_object_unref, gst_object_ref)
10732 (gst_object_sink): Take gpointer arguments, not GstObject --
10733 avoids casts. Like GLib.
10735 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10738 2005-06-27 Andy Wingo <wingo@pobox.com>
10740 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10743 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10744 returns a sorted copy of the trace list.
10745 (gst_alloc_trace_print_live): New API, only prints traces with
10746 live objects. Sort the list.
10747 (gst_alloc_trace_print_all): Sort the list.
10748 (gst_alloc_trace_print): Align columns.
10750 * gst/elements/gstttypefindelement.c:
10751 * gst/elements/gsttee.c:
10752 * gst/base/gstbasesrc.c:
10753 * gst/base/gstbasesink.c:
10754 * gst/base/gstbasetransform.c:
10755 * gst/gstqueue.c: Adapt for pad activation changes.
10757 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10759 (gst_pipeline_dispose): Drop ref on sched.
10761 * gst/gstpad.c (gst_pad_init): Set the default activate func.
10762 (gst_pad_activate_default): Push mode by default.
10763 (pre_activate_switch, post_activate_switch): New stubs, things to
10764 do before and after switching activation modes on pads.
10765 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10766 the pad's activate function to choose which mode to activate.
10767 Shortcut on deactivation and call the right function directly.
10768 (gst_pad_activate_pull): New API, (de)activates a pad in pull
10770 (gst_pad_activate_push): New API, same for push mode.
10771 (gst_pad_set_activate_function)
10772 (gst_pad_set_activatepull_function)
10773 (gst_pad_set_activatepush_function): Setters for new API.
10775 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10776 Trace all miniobjects.
10777 (gst_mini_object_make_writable): Unref the arg if we copy, like
10778 gst_caps_make_writable.
10780 * gst/gstmessage.c (_gst_message_initialize): No trace init.
10782 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
10783 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10784 Adapt for new pad API.
10786 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10788 * gst/gstelement.h:
10789 * gst/gstelement.c (gst_element_iterate_src_pads)
10790 (gst_element_iterate_sink_pads): New API functions.
10792 * gst/gstelement.c (iterator_fold_with_resync): New utility,
10793 should fold into gstiterator.c in some form.
10794 (gst_element_pads_activate): Simplified via use of fold and
10795 delegation of decisions to gstpad->activate.
10797 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10800 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10801 class once in init, like gstmessage. Didn't run into this issue
10802 but it seems correct. Don't initialize a trace, gstminiobject does
10805 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10806 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10808 (assert_live_count): New util function, uses alloc traces to check
10811 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10812 To be modified when unlink drops the internal pad.
10814 2005-06-27 Wim Taymans <wim@fluendo.com>
10816 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10817 (gst_bin_change_state):
10818 Cleanup the get_state() function a little, make sure it
10819 iterates the same set of elements.
10820 Added stub iterate_state_order().
10822 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
10824 * docs/gst/gstreamer-docs.sgml:
10825 * docs/gst/gstreamer-sections.txt:
10826 * docs/gst/gstreamer.types:
10827 * docs/gst/tmpl/gstbasesink.sgml:
10828 * docs/gst/tmpl/gstbasesrc.sgml:
10829 * docs/gst/tmpl/gstbasetransform.sgml:
10830 * docs/gst/tmpl/gstelement.sgml:
10831 * docs/gst/tmpl/gstiterator.sgml:
10832 * gst/base/gstbasesrc.c:
10833 * gst/base/gstbasesrc.h:
10834 * gst/base/gstbasetransform.h:
10835 * gst/gstelement.c:
10836 * gst/gstiterator.h:
10837 adding basetransform and iterator docs
10839 2005-06-27 Andy Wingo <wingo@pobox.com>
10841 * docs/design/part-activation.txt: Notes on how activation should
10842 work -- not quite implemented yet.
10844 2005-06-25 Wim Taymans <wim@fluendo.com>
10846 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10847 At least get the chain function correct, needs more
10850 2005-06-25 Wim Taymans <wim@fluendo.com>
10852 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10853 (gst_basesink_handle_object), (gst_basesink_event),
10854 (gst_basesink_do_sync), (gst_basesink_handle_event),
10855 (gst_basesink_change_state):
10857 Right, two problems here: ghostpads don't take locks and
10858 glib _rec_mutex_lock_full() with depth==0 still locks.
10859 Catch illegal locking and g_warn them.
10861 2005-06-25 Wim Taymans <wim@fluendo.com>
10863 * check/states/sinks.c: (START_TEST), (gst_object_suite):
10864 Have to check for completion now...
10866 2005-06-25 Wim Taymans <wim@fluendo.com>
10868 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10869 (gst_basesink_handle_object), (gst_basesink_event),
10870 (gst_basesink_do_sync), (gst_basesink_handle_event),
10871 (gst_basesink_change_state):
10873 Unlock STREAM_LOCK whatever the recursion was.
10875 2005-06-25 Wim Taymans <wim@fluendo.com>
10877 * gst/base/gstbasesink.c: (gst_basesink_set_property),
10878 (gst_basesink_preroll_queue_empty),
10879 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10880 (gst_basesink_event), (gst_basesink_do_sync),
10881 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10882 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10883 (gst_basesink_change_state):
10884 Reworked the base sink, handle event and buffer serialisation
10885 correctly and removed possible deadlock.
10886 Handle EOS correctly.
10888 2005-06-25 Wim Taymans <wim@fluendo.com>
10890 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10891 (gst_pipeline_change_state):
10892 * tools/gst-launch.c: (check_intr), (event_loop), (main):
10893 Allow elements to post EOS in the state change function.
10894 Fix up -launch, make it exit the poll loop when the
10895 pipeline actually changed state.
10896 Fix up warning parsing in -launch.
10898 2005-06-25 Wim Taymans <wim@fluendo.com>
10900 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10901 (gst_tee_sink_activate):
10902 Core takes STREAM_LOCK for us now.
10904 2005-06-25 Wim Taymans <wim@fluendo.com>
10906 * gst/gstelement.c: (gst_element_get_state_func),
10907 (gst_element_set_state):
10908 * gst/gstelement.h:
10909 * gst/gstmessage.c: (gst_message_parse_error),
10910 (gst_message_parse_warning):
10911 Keep track of current target state while performing a state
10912 change so that subclasses can do something interesting.
10913 Fix parsing of warning/error messages when GError is NULL.
10915 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
10917 * docs/gst/Makefile.am:
10918 * docs/gst/gstreamer-docs.sgml:
10919 * docs/gst/gstreamer-sections.txt:
10920 * docs/gst/gstreamer.types:
10921 * docs/gst/tmpl/gstbasesink.sgml:
10922 * docs/gst/tmpl/gstbasesrc.sgml:
10923 * docs/gst/tmpl/gstbin.sgml:
10924 * docs/gst/tmpl/gstcompat.sgml:
10925 * docs/gst/tmpl/gstfakesink.sgml:
10926 * docs/gst/tmpl/gstfakesrc.sgml:
10927 * docs/gst/tmpl/gstfilesink.sgml:
10928 * docs/gst/tmpl/gstfilesrc.sgml:
10929 * docs/gst/tmpl/gstindex.sgml:
10930 * docs/manual/appendix-quotes.xml:
10931 * gst/base/gstbasesrc.h:
10932 * gst/elements/gstfakesrc.h:
10933 * gst/gstmessage.h:
10934 start pulling in base classes and elements in our docs
10936 2005-06-24 Stefan Kost <ensonic@users.sf.net>
10938 * docs/gst/Makefile.am:
10939 * docs/libs/Makefile.am:
10940 fixed make distcheck with gtk-doc 1.3
10942 2005-06-23 Wim Taymans <wim@fluendo.com>
10944 * gst/gstelement.c: (gst_element_get_state_func),
10945 (gst_element_set_state), (gst_element_change_state):
10946 When the state did not change, also report NO_PREROLL
10949 2005-06-23 Wim Taymans <wim@fluendo.com>
10951 * gst/gstpad.c: (gst_pad_event_default):
10952 * gst/gstqueue.c: (gst_queue_loop):
10953 No unsafe task pausing please.
10955 2005-06-23 Wim Taymans <wim@fluendo.com>
10957 * gst/schedulers/threadscheduler.c:
10958 (gst_thread_scheduler_task_start),
10959 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10960 Ref the task before pushing it on the threadpool. This
10961 makes sure that we have a ref when the threadfunction is
10964 2005-06-23 Andy Wingo <wingo@pobox.com>
10966 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10967 offset is greater than the file's size.
10969 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
10970 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10971 * gst/gstobject.c (gst_object_class_init): Make the class lock
10972 recursive. Wim won't let me drop deep_notify. Decodebin works
10973 again, whoopdy doo.
10975 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10976 internal pad, and hacks accordingly. Doesn't do it on the target
10977 pad because we change its caps. Probably catches all cases of
10979 (gst_ghost_pad_set_property): Connect to notify::caps as
10982 * tests/network-clock.scm (plot-simulation): Pipe data to the
10983 elite python skript.
10985 * tests/network-clock-utils.scm (define-parameter): New macro,
10986 defines a parameter that can be set via the command line.
10987 (set-parameter!, parse-parameter-arguments): Command line args
10990 * tests/plot-data: Simple matplotlib-based plotter, takes input on
10993 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
10995 * gst/elements/gsttypefindelement.c:
10996 (gst_type_find_element_handle_event):
10997 Don't restart typefinding on a discont.
10998 * gst/gstelement.c: (gst_element_set_state):
10999 Debug spelling fix.
11000 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11001 Allow changing mode of an active pad.
11002 Debug output fixes.
11003 * gst/registries/gstlibxmlregistry.c: (load_feature):
11004 Don't cast a static pad template to a normal pad template.
11006 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
11008 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11009 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11010 remove gst_strtoll completely, since it didn't actually do
11011 anything more than what g_ascii_strtoull already does.
11012 check for range errors when deserializing
11013 do a cast for the unsigned cases; but further fixing needs
11014 a decision on what the interpretation of "(int)" and
11015 deserialization should be for values that fall outside the
11016 type's boundaries (ie, refuse, or interpret as casting)
11018 2005-06-23 Wim Taymans <wim@fluendo.com>
11020 * check/Makefile.am:
11021 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11022 * docs/design/part-live-source.txt:
11023 * docs/design/part-states.txt:
11024 * gst/base/gstbasesrc.c: (gst_basesrc_init),
11025 (gst_basesrc_set_live), (gst_basesrc_is_live),
11026 (gst_basesrc_get_range), (gst_basesrc_activate),
11027 (gst_basesrc_change_state):
11028 * gst/base/gstbasesrc.h:
11029 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11030 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11031 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11032 * gst/gstelement.c: (gst_element_get_state_func),
11033 (gst_element_set_state):
11034 * gst/gstelement.h:
11036 * tools/gst-launch.c: (event_loop), (main):
11037 Added support for live sources and other elements that
11039 Updated design docs, added live-source design doc.
11040 Implemented live source functionality in basesrc
11041 Fix error condition in _bin_get_state()
11042 Implement live source handling in -launch.
11043 Added check for live sources.
11044 Fixed case in GstBin where elements were changed state
11048 2005-06-23 Andy Wingo <wingo@pobox.com>
11050 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11051 borken refcounting.
11053 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11054 gst_caps_replace takes care of this for us.
11056 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11057 gst_pad_set_caps on the target, not just its setcaps() function.
11059 * tests/network-clock.scm:
11060 * tests/network-clock-utils.scm: A network clock simulator.
11061 Something of an algorithmic testbed before doing something in C.
11063 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
11065 * check/Makefile.am:
11066 * check/gst/capslist.h:
11067 copy over from 0.8, and add two with bitmasks specified with
11069 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11070 add test to parse everything from capslist.h
11071 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11073 add test for structure deserialization
11074 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11075 add tests for deserialization of strings to int types
11076 * gst/gststructure.c: (gst_structure_nth_field_name):
11077 * gst/gststructure.h:
11078 add a way to get the name of a field referenced by index
11079 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11080 instead of checking if the resulting long long lies between
11081 min and max, we check if the long long would fit into
11082 a number of bytes for the final type.
11083 This fixes cases where a string represents 2^32 - 1, which
11084 when cast to int would be the (valid) -1, but is bigger than
11087 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
11089 * gst/parse/grammar.y:
11090 add a log line for type deserialization
11092 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
11094 * check/gst/gstvalue.c: (START_TEST):
11095 * gst/gstvalue.c: (gst_value_deserialize):
11096 return long long, not int, so gint64 deserialization actually
11097 works. Is there any flag that makes the compiler check this ?
11100 2005-06-22 Wim Taymans <wim@fluendo.com>
11103 Added convenience macros for setting buffers in GValue.
11105 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
11107 * check/gst/.cvsignore:
11108 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11109 add a test deserializing int64, and comment part out because
11112 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
11114 * check/Makefile.am:
11115 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11116 * testsuite/Makefile.am:
11117 * testsuite/caps/Makefile.am:
11118 * testsuite/caps/value_serialize.c:
11119 * testsuite/test_gst_init.c:
11120 move a value_serialize test over
11122 2005-06-20 Wim Taymans <wim@fluendo.com>
11127 * gst/gstvalue.c: (gst_value_compare_buffer),
11128 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11129 (gst_value_compare_flags), (gst_value_serialize_flags),
11130 (gst_value_deserialize_flags), (_gst_value_initialize):
11131 Fix serialisation of buffers, they are not boxed types anymore
11133 2005-06-20 Wim Taymans <wim@fluendo.com>
11135 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11136 Testcase to show error in buffer-on-caps serialisation.
11138 2005-06-20 Andy Wingo <wingo@pobox.com>
11140 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11141 will be adding to later.
11143 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11144 if its socks fill with rocks.
11145 (gst_system_clock_obtain): Set the name on object construction.
11146 Avoid double-checked locking.
11148 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
11150 * gst/gsturi.c: (gst_element_make_from_uri):
11151 Fix potential endless loop.
11153 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11155 * check/Makefile.am:
11157 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11159 move over from testsuite dir and clean up
11162 * testsuite/Makefile.am:
11163 * testsuite/tags/.cvsignore:
11164 * testsuite/tags/Makefile.am:
11165 * testsuite/tags/merge.c:
11166 remove testsuite/tags
11168 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11170 * docs/gst/gstreamer-sections.txt:
11171 * docs/gst/tmpl/gstenumtypes.sgml:
11172 * win32/gstenumtypes.c:
11173 clean up documentation build a little
11175 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11177 * check/gstcheck.h:
11178 add macros for checking refcounts on objects and caps
11179 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11180 add some more unit tests
11181 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11182 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11183 fix leaked refcounts (I hope :)) so unittest works
11187 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11189 * configure.ac: back to HEAD
11191 === release 0.9.1 ===
11193 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
11199 2005-06-17 Andy Wingo <wingo@pobox.com>
11201 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11202 assert; it's always possible that the pad gets deactivated in
11203 between the checks in gstpad.c and the implementation. Rely on
11204 finish_preroll() to return a FLUSHING or similar instead of on the
11207 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11208 clock and post an EOS message if we come out of finish_preroll in
11211 2005-06-16 David Schleef <ds@schleef.org>
11213 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11214 (gst_capsfilter_set_property): Allow NULL as possible value
11215 for filter_caps property, indicating GST_CAPS_ANY.
11217 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11219 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11221 * gst/schedulers/Makefile.am:
11223 * gstreamer.spec.in:
11226 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11228 * gstreamer.spec.in:
11231 2005-06-08 Andy Wingo <wingo@pobox.com>
11233 * gst/gstutils.c: RPAD fixes all around.
11234 (gst_element_link_pads): Refcounting fixes.
11236 * tools/gst-inspect.c:
11237 * tools/gst-xmlinspect.c:
11239 * gst/base/gsttypefindhelper.c:
11240 * gst/base/gstbasesink.c:
11241 * gst/gstqueue.c: RPAD fixes.
11243 * gst/gstghostpad.h:
11244 * gst/gstghostpad.c: New ghost pad implementation as full proxy
11245 pads. The tricky thing is they provide both source and sink
11246 interfaces, since they proxy the internal pad for the external
11247 pad, and vice versa. Implement with lower-level ProxyPad objects,
11248 with the interior proxy pad as a child of the exterior ghost pad.
11249 Should write a doc on this.
11251 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11252 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11255 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11256 pads are real pads. No ghost pads in this file. Not documenting
11257 the myriad s/RPAD/PAD/ and REALIZE fixes.
11258 (gst_pad_class_init): Add properties for "direction" and
11259 "template". Both are construct-only, so they can't change during
11260 the life of the pad. Fixes properly deriving from GstPad.
11261 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11262 derived objects, just set properties when creating the objects via
11264 (gst_pad_get_parent): Implement as a function, return NULL if the
11265 parent is not an element.
11266 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11267 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11269 * gst/gstobject.c (gst_object_class_init): Make name a construct
11270 property. Don't set it in the object init.
11272 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11273 with UNKNOWN direction.
11274 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11275 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11276 (gst_element_remove_pad): Remove ghost-pad special cases.
11277 (gst_element_pads_activate): Remove rpad cruft.
11279 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11280 catch the pad's-parent-not-an-element case.
11282 * gst/gst.h: Include gstghostpad.h.
11284 * gst/gst.c (init_post): No more real, ghost pads.
11286 * gst/Makefile.am: Add gstghostpad.[ch].
11288 * check/Makefile.am:
11289 * check/gst/gstbin.c:
11290 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11291 into a bin creates ghost pads, and that the refcounts are right.
11292 Partly moved from gstbin.c.
11294 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11296 * check/gst-libs/.cvsignore:
11297 * check/gst/.cvsignore:
11298 * check/pipelines/.cvsignore:
11300 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11301 (START_TEST), (cleanup_suite), (main):
11302 add some tests related to cleanup after running pipelines
11304 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11306 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11307 add a testsuite for GstBuffer
11309 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11311 * gst/gstminiobject.h:
11312 add defines for accessing the refcount
11314 2005-06-03 Stefan Kost <ensonic@users.sf.net>
11316 * Makefile.am: added support for html unit test coverage reports
11318 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
11320 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11321 Free existing caps if the capsfilter changes. Add a FIXME about
11322 setting those caps on the pads.
11324 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11325 Before adding a ghost pad to a parent bin, check that there isn't
11326 already one for the element on the bin. Prevents infinite recursion
11327 when using decodebin in parse pipelines. Andy says he'll rewrite the
11328 way this works anyway, so ignore the hack.
11330 2005-06-02 Andy Wingo <wingo@pobox.com>
11332 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11333 file size, pass it on to the type find helper.
11335 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11336 segment_start and segment_end properly according to the seek
11337 method. Segment_end is still a bit flaky because offset can be
11338 negative for CUR and END cases, but it takes -1 as an "unset"
11341 2005-06-02 Wim Taymans <wim@fluendo.com>
11343 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11344 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11345 (gst_basesink_activate):
11346 * gst/base/gstbasesink.h:
11347 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11348 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11349 (gst_pad_query), (gst_pad_start_task):
11351 * gst/gstqueue.c: (gst_queue_bufferalloc),
11352 (gst_queue_handle_sink_event), (gst_queue_chain):
11353 Bufferalloc: return GstFlowReturn to more accuratly report
11354 why allocation failed.
11356 2005-06-02 Wim Taymans <wim@fluendo.com>
11358 * gst/gstpipeline.c: (gst_pipeline_send_event):
11359 Take snapshot of state without blocking.
11361 2005-06-02 Wim Taymans <wim@fluendo.com>
11363 * docs/design/part-TODO.txt:
11364 * docs/design/part-caps.txt:
11365 * docs/design/part-clocks.txt:
11366 * docs/design/part-negotiation.txt:
11367 * docs/design/part-preroll.txt:
11370 2005-05-30 Wim Taymans <wim@fluendo.com>
11372 * gst/elements/gstidentity.c: (gst_identity_event),
11373 (gst_identity_transform), (gst_identity_get_property):
11374 Protect last_message property as it is accessed from
11377 2005-05-30 Wim Taymans <wim@fluendo.com>
11379 * gst/gstelement.c: (gst_element_init),
11380 (gst_element_pads_activate), (gst_element_change_state):
11381 Slicker pad activation code.
11383 2005-05-30 Wim Taymans <wim@fluendo.com>
11386 * gst/gstelement.h:
11387 * gst/gstelementfactory.h:
11389 Move elementfactory methods to separate .h file.
11391 2005-05-30 Wim Taymans <wim@fluendo.com>
11393 * docs/design/part-overview.txt:
11394 * gst/gstsystemclock.h:
11395 Small typo fixes, doc updates.
11397 2005-05-30 Wim Taymans <wim@fluendo.com>
11399 * gst/gst.c: (gst_init_get_popt_table), (init_post),
11400 (init_popt_callback):
11401 Remove cpu-opt flag.
11403 2005-05-30 Wim Taymans <wim@fluendo.com>
11405 * gst/gstbuffer.c: (gst_subbuffer_finalize),
11406 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11408 Avoid typechecking in places where not needed.
11409 Added accessor for malloc_data.
11411 2005-05-30 Wim Taymans <wim@fluendo.com>
11413 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11414 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11415 (gst_pad_configure_sink), (gst_pad_configure_src),
11416 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11417 (gst_pad_start_task):
11418 Propagate errors from _set_caps() in configure_src/sink
11419 functions instead of returning TRUE.
11420 FLUSH events can travel up and downstream
11423 2005-05-30 Wim Taymans <wim@fluendo.com>
11425 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11426 (gst_basesink_activate):
11427 Handle EOS in preroll.
11429 2005-05-30 Wim Taymans <wim@fluendo.com>
11431 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11432 (gst_queue_loop), (gst_queue_handle_src_event):
11433 Remove old pieces of code
11434 Flushing the queue in an upstream event is a very bad idea.
11436 2005-05-26 Andy Wingo <wingo@pobox.com>
11438 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11439 gst_value_set_mini_object so as to add a ref on the object (which
11440 will be removed when the value is unset).
11442 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11443 arg type in ::handoff.
11445 * gst/gstelement.c (gst_element_change_state): Also deactivate
11446 pads in READY->NULL, just in case the element didn't make it to
11447 PAUSED. Wingo tested, Wim approved.
11449 2005-05-26 Wim Taymans <wim@fluendo.com>
11451 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11452 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11453 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11454 A flushing pad cannot be used to alloc_buffer from.
11456 2005-05-26 Wim Taymans <wim@fluendo.com>
11458 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11459 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11460 (gst_bus_source_dispatch), (gst_bus_source_finalize),
11461 (gst_bus_create_watch), (gst_bus_add_watch_full):
11463 Implement a real GSource and use g_main_context_wakeup() to
11464 signal new messages instead of the socketpair.
11466 2005-05-25 Wim Taymans <wim@fluendo.com>
11468 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11469 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11470 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11471 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11472 (gst_pad_send_event), (gst_pad_start_task):
11473 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11474 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11475 (gst_queue_sink_activate), (gst_queue_src_activate),
11476 (gst_queue_change_state):
11478 Fix state changes for non sinks. We now change sinks, then elements
11479 with unconnected srcpads, then the rest.
11480 More efficient queue unlocking in flush and state changes.
11481 Set the pad activate mode even if it does not have an activate
11484 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11486 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11487 Don't go in pull mode for non-seekable sources.
11488 * gst/elements/gsttypefindelement.h:
11489 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11490 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11491 (free_entry), (stop_typefinding),
11492 (gst_type_find_element_handle_event), (find_peek),
11493 (gst_type_find_element_chain), (do_pull_typefind),
11494 (gst_type_find_element_change_state):
11495 Allow typefinding (w/o seeking) in push-mode, simplified version
11496 of what was in 0.8.
11497 * gst/gstutils.c: (gst_buffer_join):
11499 gst_buffer_join() from 0.8.
11501 2005-05-25 Wim Taymans <wim@fluendo.com>
11503 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11504 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11505 (gst_pad_send_event), (gst_pad_start_task):
11506 Disable attempt at mode switching until it is figured out.
11508 2005-05-25 Wim Taymans <wim@fluendo.com>
11510 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11511 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11512 (gst_basesink_finish_preroll), (gst_basesink_chain),
11513 (gst_basesink_loop), (gst_basesink_activate),
11514 (gst_basesink_change_state):
11515 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11516 (gst_basesrc_get_range), (gst_basesrc_loop),
11517 (gst_basesrc_activate):
11518 * gst/elements/gsttee.c: (gst_tee_sink_activate):
11519 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11520 (gst_real_pad_init), (gst_real_pad_set_property),
11521 (gst_real_pad_get_property), (gst_pad_set_active),
11522 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11523 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11524 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11525 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11526 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11527 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11528 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11529 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11530 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11531 (gst_pad_stop_task):
11533 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11534 (gst_queue_loop), (gst_queue_src_activate):
11535 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11536 (gst_task_get_state):
11538 * gst/schedulers/threadscheduler.c:
11539 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11540 Implement gst_pad_pause/start/stop_task(), take STREAM lock
11542 Remove ACTIVE pad flag, use FLUSHING everywhere
11543 Added _pad_chain(), _pad_get_range() to call chain/getrange
11545 Add locks around IS_FLUSHING when reading.
11546 Take STREAM lock in chain(), get_range() functions so plugins
11547 don't need to take it anymore.
11551 2005-05-25 Wim Taymans <wim@fluendo.com>
11553 * tools/gst-launch.c: (event_loop):
11554 Unref message after using its contents instead of
11557 2005-05-24 Wim Taymans <wim@fluendo.com>
11559 * docs/design/draft-ghostpads.txt:
11560 * docs/design/draft-push-pull.txt:
11561 * docs/design/draft-query.txt:
11562 * docs/design/part-overview.txt:
11563 Docs updates, added general overview doc.
11565 2005-05-21 David Schleef <ds@schleef.org>
11567 * docs/gst/tmpl/old/GstBin.sgml:
11568 * docs/gst/tmpl/old/GstBuffer.sgml:
11569 * docs/gst/tmpl/old/GstCaps.sgml:
11570 * docs/gst/tmpl/old/GstClock.sgml:
11571 * docs/gst/tmpl/old/GstCompat.sgml:
11572 * docs/gst/tmpl/old/GstData.sgml:
11573 * docs/gst/tmpl/old/GstElement.sgml:
11574 * docs/gst/tmpl/old/GstEvent.sgml:
11575 * docs/gst/tmpl/old/GstIndex.sgml:
11576 * docs/gst/tmpl/old/GstStructure.sgml:
11577 * docs/gst/tmpl/old/GstTag.sgml:
11578 * docs/gst/tmpl/old/cothreads.sgml:
11579 * docs/gst/tmpl/old/cothreads_compat.sgml:
11580 * docs/gst/tmpl/old/gettext.sgml:
11581 * docs/gst/tmpl/old/gobject2gtk.sgml:
11582 * docs/gst/tmpl/old/grammar.tab.sgml:
11583 * docs/gst/tmpl/old/gst-i18n-app.sgml:
11584 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11585 * docs/gst/tmpl/old/gst_private.sgml:
11586 * docs/gst/tmpl/old/gstaggregator.sgml:
11587 * docs/gst/tmpl/old/gstarch.sgml:
11588 * docs/gst/tmpl/old/gstatomic_impl.sgml:
11589 * docs/gst/tmpl/old/gstbufferstore.sgml:
11590 * docs/gst/tmpl/old/gstdata_private.sgml:
11591 * docs/gst/tmpl/old/gstdisksink.sgml:
11592 * docs/gst/tmpl/old/gstdisksrc.sgml:
11593 * docs/gst/tmpl/old/gstelementfactory.sgml:
11594 * docs/gst/tmpl/old/gstextratypes.sgml:
11595 * docs/gst/tmpl/old/gstfakesink.sgml:
11596 * docs/gst/tmpl/old/gstfakesrc.sgml:
11597 * docs/gst/tmpl/old/gstfdsink.sgml:
11598 * docs/gst/tmpl/old/gstfdsrc.sgml:
11599 * docs/gst/tmpl/old/gstfilesink.sgml:
11600 * docs/gst/tmpl/old/gstfilesrc.sgml:
11601 * docs/gst/tmpl/old/gsthttpsrc.sgml:
11602 * docs/gst/tmpl/old/gstidentity.sgml:
11603 * docs/gst/tmpl/old/gstindexfactory.sgml:
11604 * docs/gst/tmpl/old/gstmarshal.sgml:
11605 * docs/gst/tmpl/old/gstmd5sink.sgml:
11606 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11607 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11608 * docs/gst/tmpl/old/gstpadtemplate.sgml:
11609 * docs/gst/tmpl/old/gstpipefilter.sgml:
11610 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11611 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11612 * docs/gst/tmpl/old/gstshaper.sgml:
11613 * docs/gst/tmpl/old/gstspider.sgml:
11614 * docs/gst/tmpl/old/gstspideridentity.sgml:
11615 * docs/gst/tmpl/old/gststatistics.sgml:
11616 * docs/gst/tmpl/old/gsttee.sgml:
11617 * docs/gst/tmpl/old/gsttimecache.sgml:
11618 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11619 * docs/gst/tmpl/old/gstxmlregistry.sgml:
11620 * docs/gst/tmpl/old/gthread-cothreads.sgml:
11621 * docs/gst/tmpl/old/types.sgml:
11622 I didn't intend to add these or check them in.
11624 2005-05-19 David Schleef <ds@schleef.org>
11626 * configure.ac: Use -no-common everywhere. In a sane world, it
11627 would be the default in libtool, because without it, you can't
11628 build DLLs on Windows.
11629 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11630 * docs/gst/gstreamer-sections.txt:
11631 * docs/gst/tmpl/gstcpu.sgml:
11632 * docs/gst/tmpl/gstdata.sgml:
11633 * docs/gst/tmpl/gstthread.sgml:
11635 2005-05-19 David Schleef <ds@schleef.org>
11637 * gst/gstminiobject.c: (gst_value_set_mini_object),
11638 (gst_value_take_mini_object), (gst_value_get_mini_object):
11639 * gst/gstminiobject.h: Add GValue set/get functions.
11641 2005-05-19 Wim Taymans <wim@fluendo.com>
11643 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11644 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11645 (gst_subbuffer_init), (gst_buffer_is_span_fast):
11647 * gst/gstbus.c: (gst_bus_post):
11648 * gst/gstelement.c: (gst_element_get_random_pad):
11649 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11650 Make subbufer unref the parent in finalize.
11651 some more debugging info.
11654 2005-05-19 Wim Taymans <wim@fluendo.com>
11656 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11657 (gst_basesink_init), (gst_basesink_finalize),
11658 (gst_basesink_activate), (gst_basesink_change_state):
11659 Don't free preroll queue too early.
11661 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11665 Hi, I'm outdated. Please shoot me.
11667 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11669 * gst/gstpipeline.c: (gst_pipeline_send_event):
11670 Do not access variables after they have been deleted.
11672 2005-05-19 Wim Taymans <wim@fluendo.com>
11674 * tools/gst-inspect.c: (print_plugin_features):
11675 A plugin feature does unfortunatly not use the
11678 2005-05-18 Wim Taymans <wim@fluendo.com>
11680 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11681 Port _span() functions to new subbuffers.
11683 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11685 * gst/gstbin.c: (gst_bin_add_func):
11686 Fix clock settery in bins when adding kids after the clock has
11689 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11691 * gst/elements/gstidentity.c: (gst_identity_class_init):
11692 Workaround until signals support GstMiniObject.
11694 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
11697 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11699 2005-05-18 Wim Taymans <wim@fluendo.com>
11701 * gst/base/Makefile.am:
11702 * gst/base/gstadapter.c: (gst_adapter_base_init),
11703 (gst_adapter_class_init), (gst_adapter_init),
11704 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11705 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11706 (gst_adapter_flush), (gst_adapter_available),
11707 (gst_adapter_available_fast):
11708 * gst/base/gstadapter.h:
11709 Ported and added adapter to the base classes.
11711 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11714 * gst/gstmessage.c:
11715 Make sure the class is reffed/unreffed once before threads can be
11716 used. Fixes #304551.
11718 2005-05-17 Wim Taymans <wim@fluendo.com>
11720 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11721 (gst_basesink_chain_unlocked), (gst_basesink_activate):
11722 * gst/gstminiobject.c: (gst_mini_object_get_type),
11723 (gst_mini_object_free):
11724 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11725 (gst_pad_push), (gst_pad_push_event):
11726 * gst/gstqueue.c: (gst_queue_change_state):
11727 Don't queue buffers in basesink when we are flushing.
11728 Unref buffer when flushing in basesink.
11729 Flush queue when going to READY
11730 Unref buffer when _push() returns an error.
11731 Don't free MiniObject instance when refcount is incremented
11732 in _finalize() so that we can recover objects.
11734 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
11736 * docs/manual/advanced-schedulers.xml:
11737 * docs/manual/appendix-checklist.xml:
11738 * docs/pwg/advanced-clock.xml:
11739 * docs/pwg/advanced-interfaces.xml:
11740 * docs/pwg/advanced-request.xml:
11741 * docs/pwg/advanced-types.xml:
11742 * docs/pwg/intro-preface.xml:
11743 * examples/plugins/example.c: (gst_example_get_type),
11744 (gst_example_class_init), (gst_example_chain),
11745 (gst_example_set_property), (gst_example_get_property),
11746 (gst_example_change_state), (plugin_init):
11747 * examples/plugins/example.h:
11750 2005-05-17 Wim Taymans <wim@fluendo.com>
11752 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11753 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11754 * gst/gstqueue.c: (gst_queue_change_state):
11755 Clear queue when going to READY.
11756 Remove IN_SETCAPS flag too.
11758 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
11760 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11761 Remove implicit cast from gboolean to GstElementStateReturn;
11762 make sure we still return failure in paused => ready case if
11763 the parent class fails to change state and our own stop
11766 2005-05-17 Wim Taymans <wim@fluendo.com>
11768 * tools/gst-launch.c: (event_loop):
11769 Message was unreffed too soon.
11771 2005-05-16 Andy Wingo <wingo@pobox.com>
11773 * gst/gstbin.c (sink_iterator_filter): Err... um...
11775 * check/gst/gstbin.c (test_ghost_pads): New test for the
11776 ghosting-if-elements-not-in-same-bin behavior.
11778 2005-05-16 David Schleef <ds@schleef.org>
11780 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11781 accessing refcount directly.
11783 2005-05-15 David Schleef <ds@schleef.org>
11785 * check/Makefile.am: remove GstData checks
11786 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11787 * gst/Makefile.am: add miniobject, remove data
11788 * gst/gst.h: add miniobject, remove data
11789 * gst/gstdata.c: remove
11790 * gst/gstdata.h: remove
11791 * gst/gstdata_private.h: remove
11792 * gst/gsttypes.h: remove GstEvent and GstMessage
11793 * gst/gstelement.c: (gst_element_post_message): fix for API changes
11794 * gst/gstmarshal.list: change BOXED -> OBJECT
11796 Implement GstMiniObject.
11797 * gst/gstminiobject.c:
11798 * gst/gstminiobject.h:
11800 Modify to be subclasses of GstMiniObject.
11801 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11802 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11803 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11804 (gst_subbuffer_get_type), (gst_subbuffer_init),
11805 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11808 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11809 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11810 (_gst_event_copy), (gst_event_new):
11812 * gst/gstmessage.c: (_gst_message_initialize),
11813 (gst_message_get_type), (gst_message_class_init),
11814 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11815 (gst_message_new), (gst_message_new_error),
11816 (gst_message_new_warning), (gst_message_new_tag),
11817 (gst_message_new_state_changed), (gst_message_new_application):
11818 * gst/gstmessage.h:
11819 * gst/gstprobe.c: (gst_probe_perform),
11820 (gst_probe_dispatcher_dispatch):
11822 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11823 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11824 (_gst_query_copy), (gst_query_new):
11826 Update elements for GstData -> GstMiniObject changes
11828 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11829 (gst_queue_chain), (gst_queue_loop):
11830 * gst/elements/gstbufferstore.c:
11831 (gst_buffer_store_add_buffer_func),
11832 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11833 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11834 (gst_fakesink_render):
11835 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11836 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11837 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11838 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11839 (gst_filesrc_create_read):
11840 * gst/elements/gstidentity.c: (gst_identity_class_init):
11841 * gst/elements/gsttypefindelement.c:
11842 (gst_type_find_element_src_event), (free_entry_buffers),
11843 (gst_type_find_element_handle_event):
11844 * libs/gst/dataprotocol/dataprotocol.c:
11845 (gst_dp_header_from_buffer):
11846 * libs/gst/dataprotocol/dataprotocol.h:
11847 * libs/gst/dataprotocol/dp-private.h:
11849 2005-05-15 David Schleef <ds@schleef.org>
11851 * gst/elements/gstelements.c: Don't include headers that were
11854 2005-05-15 David Schleef <ds@schleef.org>
11856 * gst/elements/Makefile.am: Remove some elements that don't
11857 need to be in the core (or even exist at all).
11858 * gst/elements/gstaggregator.c:
11859 * gst/elements/gstaggregator.h:
11860 * gst/elements/gstmd5sink.c:
11861 * gst/elements/gstmd5sink.h:
11862 * gst/elements/gstmultifilesrc.c:
11863 * gst/elements/gstmultifilesrc.h:
11864 * gst/elements/gstpipefilter.c:
11865 * gst/elements/gstpipefilter.h:
11866 * gst/elements/gstshaper.c:
11867 * gst/elements/gstshaper.h:
11868 * gst/elements/gststatistics.c:
11869 * gst/elements/gststatistics.h:
11870 * po/POTFILES.in: Remove above files.
11872 2005-05-14 Andy Wingo <wingo@pobox.com>
11874 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11875 so as to get the refs right.
11876 (sink_iterator_filter): New function, wraps bin_element_is_sink,
11877 unreffing objects that don't pass the filter.
11879 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11880 gst_element_set_bus.
11881 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11882 normal cases, this will destroy the bus.
11884 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11887 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11890 2005-05-13 Andy Wingo <wingo@pobox.com>
11892 * gst/gstutils.c (gst_element_link_pads): Instead of calling
11893 gst_pad_link, call pad_link_maybe_ghosting,
11894 (pad_link_maybe_ghosting): Links pads, making sure that the
11895 elements being linked are in the same bin.
11896 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11897 Helpers for pad_link_maybe_ghosting.
11899 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11902 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11904 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11906 * docs/design/part-element-source.txt:
11909 2005-05-12 Wim Taymans <wim@fluendo.com>
11911 * gst/base/gstbasesink.c: (gst_basesink_init),
11912 (gst_basesink_activate):
11913 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11914 (gst_basesrc_is_seekable):
11915 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11916 (bin_element_is_sink), (gst_bin_change_state):
11917 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11918 * gst/gstelement.h:
11919 Identify sinks by their flag to avoid overly complicated
11921 Do state changes even for elements not reachable from the
11923 BaseSink is a sink now :)
11924 Some more debugging info in the basesrc.
11927 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11929 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11930 Implement _query on a bin, similar to _send_event.
11932 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
11934 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11935 Discont event offset format should be GST_FORMAT_BYTES,
11936 not GST_FORMAT_TIME.
11938 2005-05-12 Wim Taymans <wim@fluendo.com>
11940 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11941 Same fix as Ronald's but without the signal.
11943 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11945 * gst/gstutils.c: (gst_element_query_position):
11946 No, an element is not a pad.
11948 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11950 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11951 (gst_bin_get_state):
11952 If a child is removed from a bin while we remove the child from
11953 the bin and while we're retrieving its state, signal this to the
11954 get_state function so we abort the wait (instead of waiting for
11955 a timeout) and can immediately re-iterate over all other elements.
11957 2005-05-12 Wim Taymans <wim@fluendo.com>
11959 * gst/base/Makefile.am:
11960 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11961 (gst_basesrc_start):
11962 * gst/base/gstbasesrc.h:
11963 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11964 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11965 (gst_pushsrc_init), (gst_pushsrc_create):
11966 * gst/base/gstpushsrc.h:
11967 Added is_seekable to BaseSrc
11968 Added simple PushSrc.
11970 2005-05-11 Wim Taymans <wim@fluendo.com>
11972 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11973 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11974 (gst_element_link_pads), (gst_element_query_position),
11975 (gst_element_query_convert), (intersect_caps_func),
11976 (gst_pad_query_position), (gst_pad_query_convert):
11977 Fix refcounting in utils function.
11978 No point in trying to activate a pad when it's added, it could
11979 be added from the state change function and then we deadlock, the
11980 element has to decide what to do.
11982 2005-05-10 Andy Wingo <wingo@pobox.com>
11984 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11985 *all* the arguments.
11987 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11988 stream lock if it's a FLUSH_DONE; normal flushes don't get the
11989 lock (according to the docs -- if this is wrong change the docs).
11991 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11992 flush messages in the NULL state.
11994 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11995 message immediately and return.
11996 (gst_bus_set_flushing): New function. If a bus is flushing, it
11997 flushes out any queued messages and immediately unrefs new
11998 messages. This is so when an element goes to NULL, all of the
11999 unhandled messages coming from it can be freed, and their
12000 references to the element dropped. In other words: message source
12001 ref considered harmful :P
12003 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12004 we're finished with it.
12006 * gst/gstmessage.c (gst_message_new_state_changed):
12008 2005-05-10 Wim Taymans <wim@fluendo.com>
12010 * gst/gstvalue.c: (gst_value_compare_flags),
12011 (gst_value_serialize_flags), (gst_value_deserialize_flags),
12012 (_gst_value_initialize):
12013 Added flags serialize/deserialize/compare code.
12015 2005-05-09 Andy Wingo <wingo@pobox.com>
12017 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12018 Intersect the peer's caps with our caps.
12020 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12022 * gst/base/gsttypefindhelper.c: (helper_find_peek):
12023 * gst/elements/gsttypefindelement.c: (find_peek):
12024 Handle negative offsets better. Fixes decodebin.
12026 2005-05-09 Wim Taymans <wim@fluendo.com>
12028 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12029 (gst_base_transform_event):
12030 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12031 Implement accept_caps.
12032 Fix silly lock/unlock mismatch in base class.
12034 2005-05-09 Wim Taymans <wim@fluendo.com>
12036 * docs/design/draft-push-pull.txt:
12037 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12038 * gst/elements/gstfilesink.c: (gst_filesink_init),
12039 (gst_filesink_query):
12040 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12041 (gst_type_find_handle_src_query), (find_element_get_length):
12042 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12043 * gst/gstelement.h:
12044 * gst/gstmessage.c:
12045 * gst/gstmessage.h:
12046 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12047 (gst_real_pad_get_caps_unlocked),
12048 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12049 (gst_pad_event_default_dispatch), (gst_pad_event_default),
12050 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12051 (gst_real_pad_dispose), (gst_real_pad_finalize),
12052 (gst_pad_load_and_link), (gst_pad_save_thyself),
12053 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12054 (gst_pad_check_pull_range), (gst_pad_pull_range),
12055 (gst_pad_template_get_type), (gst_pad_template_class_init),
12056 (gst_pad_template_init), (gst_pad_template_dispose),
12057 (name_is_valid), (gst_static_pad_template_get),
12058 (gst_pad_template_new), (gst_static_pad_template_get_caps),
12059 (gst_pad_template_get_caps), (gst_pad_set_element_private),
12060 (gst_pad_get_element_private), (gst_pad_start_task),
12061 (gst_pad_pause_task), (gst_pad_stop_task),
12062 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12063 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12064 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12065 (gst_ghost_pad_new):
12067 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12068 (gst_query_new_position), (gst_query_set_position),
12069 (gst_query_parse_position), (gst_query_new_convert),
12070 (gst_query_set_convert), (gst_query_parse_convert):
12072 * gst/gstqueryutils.c:
12073 * gst/gstqueryutils.h:
12074 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12075 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12076 (gst_queue_handle_src_query):
12077 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12078 (gst_element_query_position), (gst_element_query_convert),
12079 (intersect_caps_func), (gst_pad_query_position),
12080 (gst_pad_query_convert):
12082 * tools/gst-inspect.c: (print_pad_info):
12083 * tools/gst-xmlinspect.c: (print_element_info):
12084 Remove old query functions. Ported old code.
12085 Added position/convert helper functions to gstutils.
12086 Reordered gstpad.c code, grouping relevant things.
12087 Remove gst_message_new(), always need to speficy a specific
12091 2005-05-09 Andy Wingo <wingo@pobox.com>
12093 * gst/gstiterator.h: Add some includes.
12095 * gst/gstqueryutils.h: Include more headers.
12098 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12099 some uses of gst_pad_query.
12101 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12102 NULL out parameters.
12103 (gst_query_new_position): New proc, allocates a new position
12106 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12107 gstqueryutils.c to the build.
12109 * gst/gststructure.c (gst_structure_set_valist): Implement with
12110 the generic G_VALUE_COLLECT.
12112 2005-05-08 Edward Hervey <bilboed@bilboed.com>
12114 * gst/Makefile.am: (gst_headers):
12115 Added gstqueryutils.h to the list of headers to install, that was
12116 a 'nachty' move wingo :)
12118 2005-05-06 Andy Wingo <wingo@pobox.com>
12121 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12122 GstData, init a memchunk.
12123 (standard_definitions): Add a few query types, deprecate a few.
12124 (gst_query_get_type): New proc.
12125 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12127 (gst_query_new_application, gst_query_get_structure): New public
12130 * docs/design/draft-query.txt: Removed LINKS from the query types,
12131 because all the rest can be dispatched to other pads -- seemed
12132 ugly to have a query that couldn't be dispatched. internal_links
12133 is fine as a pad method.
12135 * gst/gstpad.h: Add query2 as a pad method, add the new functions
12136 in gstpad.c, but maintain binary compatibility for the moment.
12137 Will fix before 0.9 is out.
12139 * gst/gstqueryutils.c:
12140 * gst/gstqueryutils.h: New files, implement 3 methods for each
12141 query type: parse_query, parse_response, and set. Probably need an
12144 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12146 * gst/elements/gstfilesink.c (gst_filesink_query2):
12147 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12148 query_types, and formats methods.
12150 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12151 (gst_pad_set_query2_function): New functions.
12152 (gst_real_pad_init): Set query2_default as the default query2
12153 function. Basically just dispatches to internally linked pads.
12157 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12158 without using the atomic operations. Only one thread can possibly
12159 be accessing the data at this point. Changed so as to avoid
12160 gst_atomic operations.
12162 2005-05-06 Wim Taymans <wim@fluendo.com>
12164 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12165 Also set caps if we use the fallback buffer alloc.
12167 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
12169 * docs/gst/Makefile.am:
12170 * docs/gst/gstreamer-docs.sgml:
12171 * docs/gst/gstreamer-sections.txt:
12172 * docs/gst/tmpl/gstatomic.sgml:
12173 * docs/gst/tmpl/gstmemchunk.sgml:
12174 * testsuite/elements/struct_i386.h:
12175 * win32/GStreamer.vcproj:
12177 Purge GstAtomic stuff from docs and win32 makefiles as well
12179 2005-05-06 Wim Taymans <wim@fluendo.com>
12181 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12182 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12183 * gst/gstpad.c: (gst_pad_peer_get_caps):
12184 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12185 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12186 (gst_queue_src_activate), (gst_queue_change_state):
12188 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12189 (intersect_caps_func):
12190 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12191 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12192 Some fixes for the peer_get_caps() change.
12194 2005-05-06 Wim Taymans <wim@fluendo.com>
12196 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12197 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12198 (gst_basesink_activate):
12199 Actually do something with error codes returned from the push
12202 2005-05-06 Wim Taymans <wim@fluendo.com>
12204 * docs/design/part-element-sink.txt:
12205 * docs/design/part-element-source.txt:
12206 * gst/base/gstbasesink.c: (gst_basesink_class_init),
12207 (gst_basesink_event), (gst_basesink_activate):
12208 * gst/base/gstbasesink.h:
12209 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12210 (gst_basesrc_activate):
12211 * gst/base/gstbasesrc.h:
12212 * gst/gstelement.c: (gst_element_pads_activate):
12213 Some more documentation.
12214 Fixed scheduling decision in _pads_activate().
12216 2005-05-05 Andy Wingo <wingo@pobox.com>
12218 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12221 2005-05-05 Wim Taymans <wim@fluendo.com>
12223 * gst/base/Makefile.am:
12224 * gst/base/gstbasesink.h:
12225 * gst/base/gstbasesrc.c: (gst_basesrc_init),
12226 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12227 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12228 (gst_collectpads_class_init), (gst_collectpads_init),
12229 (gst_collectpads_finalize), (gst_collectpads_new),
12230 (gst_collectpads_set_function), (gst_collectpads_add_pad),
12231 (find_pad), (gst_collectpads_remove_pad),
12232 (gst_collectpads_is_active), (gst_collectpads_collect),
12233 (gst_collectpads_collect_range), (gst_collectpads_start),
12234 (gst_collectpads_stop), (gst_collectpads_peek),
12235 (gst_collectpads_pop), (gst_collectpads_available),
12236 (gst_collectpads_read), (gst_collectpads_flush),
12237 (gst_collectpads_chain):
12238 * gst/base/gstcollectpads.h:
12239 * gst/elements/Makefile.am:
12240 * gst/elements/gstelements.c:
12241 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12242 (gst_fakesink_get_times), (gst_fakesink_event),
12243 (gst_fakesink_preroll), (gst_fakesink_render):
12244 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12245 (gst_filesink_init), (gst_filesink_set_location),
12246 (gst_filesink_open_file), (gst_filesink_close_file),
12247 (gst_filesink_pad_query), (gst_filesink_event),
12248 (gst_filesink_render), (gst_filesink_change_state):
12249 * gst/elements/gstfilesink.h:
12250 Added object to help in making collect pad based elements.
12252 Make event function in sink baseclass return gboolean.
12254 2005-05-05 Wim Taymans <wim@fluendo.com>
12256 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12257 (gst_bin_get_by_name):
12259 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12260 (gst_clock_finalize):
12261 * gst/gstdata.c: (gst_data_replace):
12263 * gst/gstelement.c: (gst_element_request_pad),
12264 (gst_element_pads_activate):
12265 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12266 (gst_object_unref):
12267 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12268 (gst_pad_set_checkgetrange_function),
12269 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12270 (gst_pad_check_pull_range), (gst_pad_pull_range),
12271 (gst_static_pad_template_get_caps), (gst_pad_start_task),
12272 (gst_pad_pause_task), (gst_pad_stop_task):
12273 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12274 (gst_element_request_pad), (gst_pad_proxy_getcaps):
12275 Fix name lookup in GstBin.
12276 Added _data_replace() function and _buffer_replace()
12277 Use finalize method to clean up clock.
12278 Fix refcounting on request pads.
12279 Fix pad schedule mode error.
12280 Some more object refcounting debug info,
12283 2005-05-04 Andy Wingo <wingo@pobox.com>
12285 * check/Makefile.am:
12286 * docs/gst/tmpl/gstatomic.sgml:
12287 * docs/gst/tmpl/gstplugin.sgml:
12288 * gst/base/gstbasesink.c: (gst_basesink_activate):
12289 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12290 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12291 (gst_basesrc_query), (gst_basesrc_set_property),
12292 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12293 (gst_basesrc_activate):
12294 * gst/base/gstbasesrc.h:
12295 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12296 (gst_base_transform_src_activate):
12297 * gst/elements/gstelements.c:
12298 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12299 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12300 * gst/elements/gsttee.c: (gst_tee_sink_activate):
12301 * gst/elements/gsttypefindelement.c: (find_element_get_length),
12302 (gst_type_find_element_checkgetrange),
12303 (gst_type_find_element_activate):
12304 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12305 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12306 (gst_caps_load_thyself):
12307 * gst/gstelement.c: (gst_element_pads_activate),
12308 (gst_element_save_thyself), (gst_element_restore_thyself):
12309 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12310 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12312 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12313 (gst_xml_parse_file), (gst_xml_parse_memory),
12314 (gst_xml_get_element), (gst_xml_make_element):
12315 * gst/indexers/gstfileindex.c: (gst_file_index_load),
12316 (_file_index_id_save_xml), (gst_file_index_commit):
12317 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12318 (read_enum), (load_pad_template), (load_feature), (load_plugin),
12320 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12321 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12322 * tools/gst-complete.c: (main):
12323 * tools/gst-compprep.c: (main):
12324 * tools/gst-inspect.c: (print_element_properties_info):
12325 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12326 * tools/gst-xmlinspect.c: (print_element_properties):
12329 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
12331 * gst/gstplugin.c: (gst_plugin_check_module),
12332 (gst_plugin_check_file), (gst_plugin_load_file):
12333 apply patch from #172526 to make register work on MacOSX
12335 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12337 * docs/gst/tmpl/gstconfig.sgml:
12338 * gst/gstconfig.h.in:
12339 move documentation for some symbols. Add doc for GST_PTR_FORMAT
12340 * testsuite/debug/printf_extension.c: (main):
12341 Do not use GST_PTR_FORMAT on pointers to types with
12342 sizeof < sizeof(gpointer). Fixes test on 64-bit
12343 * testsuite/elements/property.h:
12344 use correct printf format
12346 2005-05-02 Wim Taymans <wim@fluendo.com>
12348 * docs/design/draft-push-pull.txt:
12349 * docs/design/draft-query.txt:
12350 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12351 (gst_basesrc_start):
12352 Added draft for new query API.
12353 Added draft for better selecting scheduling methods.
12354 Make basesrc ignore length if the subclass does not support
12357 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12360 possible fixes for automake-1.5 - _LIBADD is reserved
12362 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12364 * docs/faq/Makefile.am:
12365 * docs/manual/Makefile.am:
12366 * docs/manuals.mak:
12367 * docs/pwg/Makefile.am:
12369 possible fixes for automake-1.5
12371 2005-04-28 Wim Taymans <wim@fluendo.com>
12373 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12374 (gst_basesink_pad_getcaps), (gst_basesink_init),
12375 (gst_basesink_do_sync):
12376 * gst/gstclock.c: (gst_clock_entry_new):
12377 * gst/gstevent.c: (gst_event_discont_get_value):
12378 * gst/gstpipeline.c: (pipeline_bus_handler),
12379 (gst_pipeline_change_state):
12380 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12381 Better debugging of clocking info.
12382 Allow NULL values when getting discont values.
12384 2005-04-27 Wim Taymans <wim@fluendo.com>
12386 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12387 * check/gst/gstpad.c: (gst_pad_suite):
12388 Increase timeout for checks.
12390 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12392 * check/Makefile.am:
12393 fix the broken rule for cleanup. Apparently this rule is
12394 only needed on FC2, so maybe this warrants further autotool
12397 2005-04-26 Wim Taymans <wim@fluendo.com>
12399 * gst/gsttrashstack.h:
12400 Ooohh. a nasty one! After having a failed pop() from the stack,
12401 it's possible that the stack is empty. In that case, don't
12402 follow the NULL pointer.
12404 2005-04-25 Wim Taymans <wim@fluendo.com>
12406 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12407 (gst_pad_set_checkgetrange_function),
12408 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12409 (gst_pad_check_pull_range), (gst_pad_pull_range),
12410 (gst_static_pad_template_get_caps), (gst_pad_start_task),
12411 (gst_pad_pause_task), (gst_pad_stop_task):
12412 * gst/gstplugin.c: (gst_plugin_load):
12414 Remove gst_library_load as it does more harm than good with
12415 the new g_module flags.
12416 Revert bogus caps template check in pad linking, pad caps
12417 are important when linking not the template, which is more
12418 general than the current caps.
12420 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12422 * gst/autoplug/.cvsignore:
12423 * gst/autoplug/Makefile.am:
12424 * gst/autoplug/gstsearchfuncs.c:
12425 * gst/autoplug/gstsearchfuncs.h:
12426 * gst/autoplug/gstspider.c:
12427 * gst/autoplug/gstspider.h:
12428 * gst/autoplug/gstspideridentity.c:
12429 * gst/autoplug/gstspideridentity.h:
12430 * gst/autoplug/spidertest.c:
12433 2005-04-25 Wim Taymans <wim@fluendo.com>
12435 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12436 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12437 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12438 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12440 Added stubs for unimplemented functions.
12442 2005-04-24 David Schleef <ds@schleef.org>
12444 * gst/gstpad.h: Disable some unimplemented functions. Wim,
12447 2005-04-24 David Schleef <ds@schleef.org>
12449 Convert everything from GstAtomicInt to g_atomic_int_*, and
12454 * gst/gstatomic_impl.h:
12462 * gst/gstdata_private.h:
12466 * gst/gstmessage.c:
12469 * gst/gststructure.c:
12470 * gst/gststructure.h:
12471 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12474 2005-04-24 David Schleef <ds@schleef.org>
12476 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12477 make the regressions tests work. Remove some code that is no
12479 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12480 Disable warning for pads without templates.
12482 2005-04-24 David Schleef <ds@schleef.org>
12484 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
12485 functions that handle filtered links.
12486 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12488 * gst/gstutils.c: Fix/remove utility functions that handle
12491 * gst/gstvalue.c: Add serialization/deserialization of caps
12492 * gst/parse/grammar.y: Ignore filtered caps when linking. This
12493 requires fixing so that the filter caps notation creates
12494 a capsfilter element and sets the filter_caps property. I
12495 think everyone probably wants to keep the shorthand notation.
12496 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12497 * docs/gst/tmpl/gstpad.sgml:
12499 * gst/elements/gstelements.c: Register capsfilter element.
12500 * gst/Makefile.am: fix spacing
12501 * docs/random/ds/0.9-suggested-changes: random
12503 2005-04-23 David Schleef <ds@schleef.org>
12505 * gst/elements/Makefile.am:
12506 * gst/elements/gstcapsfilter.c: New element that acts like an
12507 identity, but filters caps. Will eventually replace filtered
12508 caps in pad linking.
12509 * gst/gstutils.c: (gst_element_create_all_pads): New function
12510 to create all the ALWAYS pads that are registered with an
12511 element class. This functionality should eventually be
12512 merged in with GstElement initialization.
12514 * testsuite/trigger/README: part of trigger test code that should
12515 have been checked in a long time ago.
12517 2005-04-23 David Schleef <ds@schleef.org>
12519 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
12520 needed with new versions of libtool (nobody will confirm this),
12521 and hard to carry around.
12522 * gst/autoplug/Makefile.am:
12523 * gst/base/Makefile.am:
12524 * gst/elements/Makefile.am:
12525 * gst/indexers/Makefile.am:
12526 * gst/schedulers/Makefile.am:
12527 * libs/gst/bytestream/Makefile.am:
12528 * libs/gst/control/Makefile.am:
12529 * libs/gst/dataprotocol/Makefile.am:
12530 * libs/gst/getbits/Makefile.am:
12532 2005-04-21 Wim Taymans <wim@fluendo.com>
12534 * docs/design/draft-push-pull.txt:
12535 * docs/design/part-MT-refcounting.txt:
12536 * docs/design/part-TODO.txt:
12537 * docs/design/part-caps.txt:
12538 * docs/design/part-events.txt:
12539 * docs/design/part-gstbus.txt:
12540 * docs/design/part-gstpipeline.txt:
12541 * docs/design/part-messages.txt:
12542 * docs/design/part-push-pull.txt:
12543 * docs/design/part-query.txt:
12546 2005-04-21 Wim Taymans <wim@fluendo.com>
12548 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12549 (gst_message_new), (gst_message_new_error),
12550 (gst_message_new_warning), (gst_message_new_tag),
12551 (gst_message_new_state_changed), (gst_message_new_application),
12552 (gst_message_get_structure):
12553 * gst/gstmessage.h:
12554 * gst/gststructure.c: (gst_structure_set_parent_refcount),
12555 (gst_structure_copy_conditional):
12556 Use parent refcount in GstMessage to ensure GstStructure
12558 Cleaned up headers a bit.
12561 2005-04-20 Wim Taymans <wim@fluendo.com>
12563 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12564 (gst_basesink_pad_getcaps), (gst_basesink_init),
12565 (gst_basesink_chain_unlocked):
12566 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12567 (gst_type_find_helper):
12568 * gst/elements/gsttypefindelement.c:
12569 (gst_type_find_element_have_type), (gst_type_find_element_init),
12570 (stop_typefinding), (gst_type_find_element_handle_event),
12571 (find_suggest), (gst_type_find_element_chain),
12572 (gst_type_find_element_checkgetrange),
12573 (gst_type_find_element_getrange), (do_typefind),
12574 (gst_type_find_element_activate):
12575 * gst/gstbuffer.c: (_gst_buffer_sub_free),
12576 (gst_buffer_default_free), (gst_buffer_default_copy),
12577 (gst_buffer_set_caps):
12578 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12579 (gst_caps_replace):
12580 * gst/gstmessage.c: (gst_message_new),
12581 (gst_message_new_state_changed):
12582 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12583 (gst_pad_set_checkgetrange_function),
12584 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12585 (gst_pad_set_caps), (gst_pad_check_pull_range),
12586 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12588 * gst/gsttypefind.c: (gst_type_find_register):
12589 Make gst_caps_replace() work like other _replace() functions.
12590 Use _caps_replace() where possible.
12591 Make sure _message_new() initialises its field.
12592 Add gst_static_pad_template_get_caps()
12595 2005-04-18 Andy Wingo <wingo@pobox.com>
12597 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12598 on the peer, not the pad. I think that was a typo. Pass an extra
12599 arg to see if random access is possible. Activate the pads as
12600 PULL_RANGE if possible.
12602 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12604 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
12605 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12608 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12610 * docs/faq/using.xml:
12611 Add note on gstreamer-properties (#154996).
12613 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12615 * docs/random/bbb/optional-properties:
12616 Some analysis on optional properties.
12618 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12620 * docs/gst/tmpl/gstelementfactory.sgml:
12621 * gst/gstelement.h:
12622 * gst/gstelementfactory.c: (gst_element_factory_init),
12623 (gst_element_factory_cleanup), (gst_element_register),
12624 (__gst_element_factory_add_static_pad_template),
12625 (gst_element_factory_get_static_pad_templates),
12626 (gst_element_factory_can_src_caps),
12627 (gst_element_factory_can_sink_caps):
12628 * gst/registries/Makefile.am:
12629 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12630 (gst_xml_registry_class_init), (gst_xml_registry_init),
12631 (gst_xml_registry_new), (gst_xml_registry_set_property),
12632 (gst_xml_registry_get_property), (get_time), (make_dir),
12633 (gst_xml_registry_get_perms_func),
12634 (plugin_times_older_than_recurse), (plugin_times_older_than),
12635 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12636 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12637 (add_to_char_array), (read_string), (read_uint), (read_enum),
12638 (load_pad_template), (load_feature), (load_plugin), (load_paths),
12639 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12640 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12641 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12642 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12643 (gst_xml_registry_rebuild):
12644 * gst/registries/gstlibxmlregistry.h:
12645 * tools/gst-compprep.c: (main):
12646 * tools/gst-inspect.c: (print_pad_templates_info):
12647 * tools/gst-xmlinspect.c: (print_element_info):
12648 Use libxml2 for registry parsing, use staticpadtemplates in
12649 elementfactories. Makes gst_init() +/- 10x faster.
12651 2005-04-12 Wim Taymans <wim@fluendo.com>
12653 * gst/base/Makefile.am:
12654 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12655 (gst_basesink_pad_getcaps), (gst_basesink_init),
12656 (gst_basesink_event), (gst_basesink_change_state):
12657 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12658 (gst_basesrc_init), (gst_basesrc_query),
12659 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12660 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12661 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12662 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12663 (gst_basesrc_stop), (gst_basesrc_activate),
12664 (gst_basesrc_change_state):
12665 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12666 (helper_find_suggest), (gst_type_find_helper):
12667 * gst/base/gsttypefindhelper.h:
12668 * gst/elements/Makefile.am:
12669 * gst/elements/gstelements.c:
12670 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12671 (gst_fakesink_get_times), (gst_fakesink_event),
12672 (gst_fakesink_preroll), (gst_fakesink_render):
12673 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12674 (gst_fakesrc_init), (gst_fakesrc_event_handler),
12675 (gst_fakesrc_get_property), (gst_fakesrc_create),
12676 (gst_fakesrc_start), (gst_fakesrc_stop):
12677 * gst/elements/gstfakesrc.h:
12678 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12679 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12680 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12681 (gst_filesrc_create_read), (gst_filesrc_create),
12682 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12683 (gst_filesrc_start):
12684 * gst/elements/gsttypefindelement.c:
12685 (gst_type_find_element_have_type), (gst_type_find_element_init),
12686 (start_typefinding), (stop_typefinding), (push_buffer_store),
12687 (gst_type_find_element_handle_event),
12688 (gst_type_find_element_chain),
12689 (gst_type_find_element_checkgetrange),
12690 (gst_type_find_element_getrange), (do_typefind),
12691 (gst_type_find_element_activate),
12692 (gst_type_find_element_change_state):
12693 * gst/elements/gsttypefindelement.h:
12694 * gst/gstpipeline.c: (pipeline_bus_handler):
12695 Added typefind helper.
12696 Small preroll fix in the base sink.
12697 Disable typefind code in basesrc.
12698 Crude port of typefindelement.
12702 2005-04-11 Wim Taymans <wim@fluendo.com>
12704 * check/gst/gstbus.c: (gstbus_suite):
12705 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12706 * check/gstcheck.h:
12707 Fix up the timeout so that the test does not fail.
12709 2005-04-06 Wim Taymans <wim@fluendo.com>
12712 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12713 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12714 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12715 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12716 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12717 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12718 (gst_basesrc_stop), (gst_basesrc_activate),
12719 (gst_basesrc_change_state), (basesrc_find_peek),
12720 (basesrc_find_suggest), (gst_basesrc_type_find):
12721 * gst/base/gstbasesrc.h:
12722 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12723 (gst_filesrc_class_init), (gst_filesrc_init),
12724 (gst_filesrc_finalize), (gst_filesrc_set_location),
12725 (gst_filesrc_set_property), (gst_filesrc_get_property),
12726 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12727 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12728 (gst_filesrc_create_read), (gst_filesrc_create),
12729 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12730 * gst/elements/gstfilesrc.h:
12731 * gst/gstelement.c: (gst_element_get_state_func),
12732 (gst_element_lost_state), (gst_element_pads_activate):
12733 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12734 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12735 (gst_pad_pull_range):
12737 More work on the generic source base class, implement seeking,
12739 Make filesrc extend the base source class.
12740 Added gst_pad_set_checkgetrange_function to GstPad.
12742 2005-04-06 Andy Wingo <wingo@pobox.com>
12744 * pkgconfig/gstreamer-base.pc.in:
12745 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12747 * pkgconfig/Makefile.am:
12748 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12750 2005-04-04 Wim Taymans <wim@fluendo.com>
12752 * gst/base/Makefile.am:
12754 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12755 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12756 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12757 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12758 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12759 (gst_basesrc_base_init), (gst_basesrc_class_init),
12760 (gst_basesrc_init), (gst_basesrc_get_formats),
12761 (gst_basesrc_get_query_types), (gst_basesrc_query),
12762 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12763 (gst_basesrc_set_property), (gst_basesrc_get_property),
12764 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12765 (gst_basesrc_loop), (gst_basesrc_activate),
12766 (gst_basesrc_change_state):
12767 * gst/base/gstbasesrc.h:
12768 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12769 (gst_fakesrc_class_init), (gst_fakesrc_init),
12770 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12771 (gst_fakesrc_get_property), (gst_fakesrc_create):
12772 * gst/elements/gstfakesrc.h:
12773 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12774 (gst_filesrc_open_file), (gst_filesrc_loop),
12775 (gst_filesrc_activate), (filesrc_find_peek),
12776 (gst_filesrc_type_find):
12777 Made base source class, make fakesrc extend it.
12778 Add comments to basesink class.
12779 Some filesrc cleanup.
12781 2005-03-31 David Schleef <ds@schleef.org>
12783 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12784 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12785 expected to link against libgstreamer.
12786 * gst/base/Makefile.am: link against libgstreamer
12787 * gst/elements/Makefile.am: same
12789 2005-03-31 Andy Wingo <wingo@pobox.com>
12791 * tests/instantiate/Makefile.am:
12792 * tests/instantiate/caps.c: Add test to test speed of caps copy
12795 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12796 GMemChunk to be fair.
12798 * gst/gsttrashstack.h: Remove warning about using the fallback
12799 trash stack implementation, it's still faster than malloc.
12801 2005-03-30 Andy Wingo <wingo@pobox.com>
12803 * tests/complexity.c: Add a copyright.
12805 2005-03-31 Wim Taymans <wim@fluendo.com>
12807 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12808 (gst_base_transform_class_init), (gst_base_transform_init),
12809 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12810 (gst_base_transform_get_property),
12811 (gst_base_transform_sink_activate),
12812 (gst_base_transform_src_activate),
12813 (gst_base_transform_change_state):
12814 * gst/base/gstbasetransform.h:
12815 * gst/elements/gstidentity.c: (gst_identity_class_init),
12816 (gst_identity_event), (gst_identity_check_perfect),
12817 (gst_identity_transform), (gst_identity_start),
12818 (gst_identity_stop):
12819 Added start/stop methods to transform base class so subclasses
12820 don't need to deal with state changes even.
12822 2005-03-31 Wim Taymans <wim@fluendo.com>
12824 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12825 (gst_event_new_discontinuous), (gst_event_discont_get_value):
12827 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12828 (gst_pad_pull_range):
12829 Added rate to the discont event to prepare for variable speed
12830 and reverse playback.
12832 2005-03-29 David Schleef <ds@schleef.org>
12835 * testsuite/trigger/Makefile.am:
12836 * testsuite/trigger/trigger.c: A little example program to show
12837 how trigger-based elements can work.
12839 2005-03-29 Wim Taymans <wim@fluendo.com>
12841 * gst/base/Makefile.am:
12843 * gst/base/gstbasesink.c: (gst_basesink_get_type),
12844 (gst_basesink_base_init), (gst_basesink_class_init),
12845 (gst_basesink_pad_getcaps), (gst_basesink_init),
12846 (gst_basesink_activate), (gst_basesink_change_state):
12847 * gst/base/gstbasesink.h:
12848 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12849 (gst_base_transform_base_init), (gst_base_transform_finalize),
12850 (gst_base_transform_class_init), (gst_base_transform_init),
12851 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12852 (gst_base_transform_event), (gst_base_transform_getrange),
12853 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12854 (gst_base_transform_set_property),
12855 (gst_base_transform_get_property),
12856 (gst_base_transform_sink_activate),
12857 (gst_base_transform_src_activate),
12858 (gst_base_transform_change_state):
12859 * gst/base/gstbasetransform.h:
12860 * gst/elements/gstidentity.c: (gst_identity_finalize),
12861 (gst_identity_class_init), (gst_identity_init),
12862 (gst_identity_event), (gst_identity_check_perfect),
12863 (gst_identity_transform), (gst_identity_set_property),
12864 (gst_identity_get_property), (gst_identity_change_state):
12865 * gst/elements/gstidentity.h:
12866 * gst/gstelement.c: (gst_element_get_state_func),
12867 (gst_element_lost_state), (gst_element_pads_activate):
12868 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12869 (gst_pad_check_pull_range), (gst_pad_pull_range):
12871 Simplify pad activation.
12872 Added function to check if pull_range can be performed.
12873 Error out when pulling inactive or flushing pads.
12874 Removed const from refcounted types as it does not make sense.
12875 Simplify pad templates in basesink
12876 Added base class for simple 1-to-1 transforms.
12877 Make identity subclass the base transform.
12879 2005-03-29 Andy Wingo <wingo@pobox.com>
12881 * docs/libs/gstreamer-libs-overrides.txt:
12882 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12883 really don't understand what's going on, but like whatever. I want
12886 * docs/gst/Makefile.am:
12887 * docs/libs/Makefile.am: Dist the overrides files.
12889 * check/Makefile.am (clean-local): Remove .libs directories.
12891 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12892 elements to EXTRA_DIST, so po/ files are happy.
12894 * po/POTFILES.in: Er, remove it here.
12896 * po/POTFILES: Remove gstspider.c.
12898 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12900 * docs/libs/gstreamer-libs-docs.sgml:
12901 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12904 * tests/complexity.c (main): Set the length of the preroll queue
12905 on the sinks to prevent a lockup.
12907 * libs/gst/dataprotocol/Makefile.am:
12908 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12909 the same as the one in check/gst-libs/gdp.c.
12911 * po/, docs/gst/: Commit automatic changes to docs and po files.
12913 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12914 the versioned libgstbase.
12916 * check/Makefile.am: Depend on an unversioned gst-register, seems
12917 to make autoconf happier.
12919 * gst/base/Makefile.am: Make libgstbase a versioned lib.
12921 2005-03-28 Wim Taymans <wim@fluendo.com>
12924 * docs/design/part-gstelement.txt:
12925 * docs/design/part-negotiation.txt:
12926 * docs/design/part-preroll.txt:
12927 * docs/design/part-scheduling.txt:
12928 * docs/design/part-states.txt:
12930 * gst/base/Makefile.am:
12932 * gst/base/gstbasesink.c: (gst_basesink_get_template),
12933 (gst_basesink_base_init), (gst_basesink_class_init),
12934 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12935 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12936 (gst_basesink_set_pad_functions),
12937 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12938 (gst_basesink_set_property), (gst_basesink_get_property),
12939 (gst_base_sink_get_template), (gst_base_sink_get_caps),
12940 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12941 (gst_basesink_preroll_queue_push),
12942 (gst_basesink_preroll_queue_empty),
12943 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12944 (gst_basesink_event), (gst_basesink_get_times),
12945 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12946 (gst_basesink_chain_unlocked), (gst_basesink_chain),
12947 (gst_basesink_loop), (gst_basesink_activate),
12948 (gst_basesink_change_state):
12949 * gst/base/gstbasesink.h:
12950 * gst/elements/Makefile.am:
12951 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12952 (gst_fakesink_class_init), (gst_fakesink_init),
12953 (gst_fakesink_set_property), (gst_fakesink_get_property),
12954 (gst_fakesink_get_times), (gst_fakesink_event),
12955 (gst_fakesink_preroll), (gst_fakesink_render),
12956 (gst_fakesink_change_state):
12957 * gst/elements/gstfakesink.h:
12958 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12959 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12960 * gst/gstelement.c: (gst_element_add_pad),
12961 (gst_element_get_state_func), (gst_element_abort_state),
12962 (gst_element_commit_state), (gst_element_lost_state),
12963 (gst_element_set_state), (gst_element_pads_activate):
12964 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12965 * gst/gstpipeline.c: (gst_pipeline_send_event),
12966 (gst_pipeline_change_state):
12967 Added state change code.
12968 Added/updated docs.
12969 Added sink base class, make fakesink extend the base class.
12970 Small cleanups in GstPipeline.
12972 2005-03-26 David Schleef <ds@schleef.org>
12974 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
12975 is broken and should be implemented in a different library.
12976 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12977 * gst/gst.h: remove gstcpu.h
12978 * gst/gstcpu.c: remove
12979 * gst/gstcpu.h: remove
12980 * gst/Makefile.am.future: Remove this file. It's ancient.
12982 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12984 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12985 (gst_bin_send_event):
12986 Add default event/set_manager handlers. The set_manager handler
12987 takes care that the manager is distributed over kids that were
12988 already in the bin before the manager was set. The event handler
12989 is a utility virtual function that sends the event over all sinks,
12990 so that gst_element_send_event (bin, event); has the expected
12992 * gst/gstpad.c: (gst_pad_event_default):
12993 Re-install default event handling for discontinuities, so that
12994 seeking works without requiring hacks in applications or extra
12996 * gst/gstpipeline.c: (gst_pipeline_class_init),
12997 (gst_pipeline_send_event):
12998 Half hack, half utility: set a pipeline to PAUSED for seek events,
12999 since that is the only way we can guarantee a/v sync. Means that
13000 you can do gst_element_seek (pipeline, method, pos); on a pipeline
13001 and it "just works".
13003 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13005 * gst/gstpipeline.c: (gst_pipeline_use_clock):
13006 Lock/unlock mismatch.
13008 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
13010 * docs/faq/gst-uninstalled:
13011 add gst-plugins-base
13012 * docs/gst/Makefile.am:
13013 don't error out until docs are fixed
13014 * docs/gst/gstreamer.types:
13017 2005-03-22 Wim Taymans <wim@fluendo.com>
13019 * check/Makefile.am:
13020 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13021 * gst/gststructure.c: (gst_structure_set_valist),
13022 (gst_structure_copy_conditional):
13023 Activated more tests.
13024 Added message test.
13025 Added G_TYPE_POINTER to GstStructure.
13028 2005-03-22 Wim Taymans <wim@fluendo.com>
13030 * docs/design/part-TODO.txt:
13031 * docs/design/part-events.txt:
13032 * docs/design/part-gstbin.txt:
13033 * docs/design/part-gstbus.txt:
13034 * docs/design/part-gstpipeline.txt:
13035 * docs/design/part-messages.txt:
13037 * gst/gstmessage.c:
13040 2005-03-21 Wim Taymans <wim@fluendo.com>
13042 * gst/gstbus.c: (gst_bus_post):
13043 Fix copy-and-paste error.
13045 2005-03-21 Wim Taymans <wim@fluendo.com>
13047 * check/Makefile.am:
13049 * gst/elements/Makefile.am:
13050 * gst/elements/gstelements.c:
13051 * gst/elements/gstfakesink.c: (gst_fakesink_init),
13052 (gst_fakesink_event), (gst_fakesink_chain):
13053 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13054 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13055 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13056 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13057 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13058 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13059 (gst_fakesrc_loop), (gst_fakesrc_activate),
13060 (gst_fakesrc_change_state):
13061 * gst/elements/gstfakesrc.h:
13062 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13063 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13064 (gst_filesrc_open_file), (gst_filesrc_loop),
13065 (gst_filesrc_activate), (gst_filesrc_change_state),
13066 (filesrc_find_peek), (filesrc_find_suggest),
13067 (gst_filesrc_type_find):
13068 * gst/elements/gstidentity.c: (gst_identity_finalize),
13069 (gst_identity_class_init), (gst_identity_init),
13070 (gst_identity_proxy_getcaps), (identity_queue_push),
13071 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13072 (gst_identity_getrange), (gst_identity_chain),
13073 (gst_identity_sink_loop), (gst_identity_src_loop),
13074 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13075 (gst_identity_set_property), (gst_identity_get_property),
13076 (gst_identity_change_state):
13077 * gst/elements/gstidentity.h:
13078 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13079 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13080 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13081 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13082 (gst_tee_sink_activate):
13083 * gst/elements/gsttee.h:
13084 * gst/gst.c: (gst_register_core_elements), (init_post):
13086 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13087 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13088 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13089 (gst_bin_change_state):
13091 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13092 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13093 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13094 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13095 (gst_bus_set_sync_handler), (gst_bus_create_watch),
13096 (bus_watch_callback), (bus_watch_destroy),
13097 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13098 (poll_timeout), (gst_bus_poll):
13102 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13103 (gst_element_post_message), (gst_element_message_full),
13104 (gst_element_get_state_func), (gst_element_get_state),
13105 (gst_element_abort_state), (gst_element_commit_state),
13106 (gst_element_lost_state), (gst_element_set_state),
13107 (gst_element_pads_activate), (gst_element_change_state),
13108 (gst_element_dispose), (gst_element_set_manager_func),
13109 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13110 (gst_element_set_manager), (gst_element_get_manager),
13111 (gst_element_set_bus), (gst_element_get_bus),
13112 (gst_element_set_scheduler), (gst_element_get_scheduler):
13113 * gst/gstelement.h:
13114 * gst/gstevent.c: (gst_event_new_segment_seek),
13115 (gst_event_new_flush):
13117 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13118 (_gst_message_free), (gst_message_get_type), (gst_message_new),
13119 (gst_message_new_eos), (gst_message_new_error),
13120 (gst_message_new_warning), (gst_message_new_tag),
13121 (gst_message_new_state_changed), (gst_message_new_application),
13122 (gst_message_get_structure), (gst_message_parse_tag),
13123 (gst_message_parse_state_changed), (gst_message_parse_error),
13124 (gst_message_parse_warning):
13125 * gst/gstmessage.h:
13126 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13127 (gst_real_pad_set_property), (gst_pad_set_active),
13128 (gst_pad_is_active), (gst_pad_set_blocked_async),
13129 (gst_pad_set_blocked), (gst_pad_is_blocked),
13130 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13131 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13132 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13133 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13134 (gst_pad_link_filtered), (gst_pad_relink_filtered),
13135 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13136 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13137 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13138 (gst_pad_set_caps), (gst_pad_configure_sink),
13139 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13140 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13141 (gst_real_pad_dispose), (gst_real_pad_finalize),
13142 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13143 (gst_pad_event_default_dispatch), (gst_pad_event_default),
13144 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13146 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13147 (pipeline_bus_handler), (gst_pipeline_change_state),
13148 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13149 * gst/gstpipeline.h:
13151 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13152 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13153 (gst_queue_link_src), (gst_queue_bufferalloc),
13154 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13155 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13156 (gst_queue_loop), (gst_queue_handle_src_event),
13157 (gst_queue_handle_src_query), (gst_queue_src_activate),
13158 (gst_queue_change_state):
13160 * gst/gstscheduler.c: (gst_scheduler_init),
13161 (gst_scheduler_dispose), (gst_scheduler_create_task),
13162 (gst_scheduler_factory_create):
13163 * gst/gstscheduler.h:
13164 * gst/gststructure.c: (gst_structure_get_type),
13165 (gst_structure_copy_conditional):
13166 * gst/gststructure.h:
13167 * gst/gsttaginterface.h:
13168 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13169 (gst_task_init), (gst_task_dispose), (gst_task_create),
13170 (gst_task_get_state), (gst_task_start), (gst_task_stop),
13176 * gst/schedulers/Makefile.am:
13177 * gst/schedulers/cothreads_compat.h:
13178 * gst/schedulers/entryscheduler.c:
13179 * gst/schedulers/faircothreads.c:
13180 * gst/schedulers/faircothreads.h:
13181 * gst/schedulers/fairscheduler.c:
13182 * gst/schedulers/gstbasicscheduler.c:
13183 * gst/schedulers/gstoptimalscheduler.c:
13184 * gst/schedulers/gthread-cothreads.h:
13185 * gst/schedulers/threadscheduler.c:
13186 (gst_thread_scheduler_task_get_type),
13187 (gst_thread_scheduler_task_class_init),
13188 (gst_thread_scheduler_task_init),
13189 (gst_thread_scheduler_task_start),
13190 (gst_thread_scheduler_task_stop),
13191 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13192 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13193 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13194 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13196 * libs/gst/Makefile.am:
13197 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13198 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13199 (gst_file_pad_parent_set):
13200 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13201 (gst_dp_event_from_packet):
13202 * tests/complexity.c: (main):
13203 * tests/mass_elements.c: (main):
13204 * testsuite/states/locked.c: (message_received), (main):
13205 * testsuite/states/parent.c: (main):
13206 * tools/gst-inspect.c: (print_element_flag_info),
13207 (print_implementation_info), (print_pad_info):
13208 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13210 * tools/gst-md5sum.c: (event_loop), (main):
13211 * tools/gst-typefind.c: (main):
13212 * tools/gst-xmlinspect.c: (print_element_info):
13214 Added GstBus for mainloop integration.
13215 Added GstMessage for sending notifications on the bus.
13216 Added GstTask as an abstraction for pipeline entry points.
13218 Removed Schedulers.
13219 Simplified GstQueue for multithreaded core.
13220 Made _link threadsafe, removed old capsnego.
13221 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13222 Added pad blocking functions.
13223 Reworked scheduling functions in GstPad to prepare for
13224 scheduling updates soon.
13225 Moved events out of data stream.
13226 Simplified GstEvent types.
13227 Added return values to push/pull.
13228 Removed clocking from GstElement.
13229 Added prototypes for state change function for next merge.
13230 Removed iterate from bins and state change management.
13231 Fixed some elements, disabled others for now.
13232 Fixed -inspect and -launch.
13233 Added check for GstBus.
13235 2005-03-10 Wim Taymans <wim@fluendo.com>
13237 * docs/design/part-MT-refcounting.txt:
13238 * docs/design/part-clocks.txt:
13239 * docs/design/part-gstelement.txt:
13240 * docs/design/part-gstobject.txt:
13241 * docs/design/part-standards.txt:
13242 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13243 (gst_bin_remove_func), (gst_bin_remove):
13247 * testsuite/clock/clock1.c: (main):
13248 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13250 * testsuite/dlopen/loadgst.c: (do_test):
13251 * testsuite/refcounting/bin.c: (add_remove_test1),
13252 (add_remove_test2), (main):
13253 * testsuite/refcounting/element.c: (main):
13254 * testsuite/refcounting/element_pad.c: (main):
13255 * testsuite/refcounting/pad.c: (main):
13256 * tools/gst-launch.c: (sigint_handler_sighandler):
13257 * tools/gst-typefind.c: (main):
13259 Added doc about clock.
13260 removed gst_bin_iterate_recurse_up(), marked methods
13262 Fix more testsuites.
13264 2005-03-09 Wim Taymans <wim@fluendo.com>
13266 * gst/gstpad.c: (gst_pad_get_direction),
13267 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13268 (gst_pad_collect_valist):
13269 * testsuite/bins/interface.c: (main):
13270 * testsuite/caps/audioscale.c: (test_caps):
13271 * testsuite/caps/caps.c: (test1), (test2), (test3):
13272 * testsuite/caps/deserialize.c: (main):
13273 * testsuite/caps/enumcaps.c: (main):
13274 * testsuite/caps/filtercaps.c: (main):
13275 * testsuite/caps/intersect2.c: (main):
13276 * testsuite/caps/random.c: (main):
13277 * testsuite/caps/renegotiate.c: (my_fixate), (main):
13278 * testsuite/caps/sets.c: (check_caps):
13279 * testsuite/caps/simplify.c: (check_caps), (main):
13280 * testsuite/caps/subtract.c: (check_caps):
13281 Fix _pad_get_direction wrt ghostpads.
13282 Fix caps testsuite.
13284 2005-03-09 Wim Taymans <wim@fluendo.com>
13286 * check/Makefile.am:
13287 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13288 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13289 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13290 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13291 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13292 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13293 (gst_bin_remove), (gst_bin_iterate_recurse_up),
13294 (bin_element_is_sink), (gst_bin_iterate_sinks),
13295 (gst_bin_iterate_all_by_interface):
13297 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13298 (gst_element_change_state), (gst_element_dispose),
13299 (gst_element_finalize), (gst_element_set_loop_function):
13300 * gst/gstelement.h:
13301 * gst/gstiterator.c: (find_custom_fold_func):
13302 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13303 (gst_pad_collectv), (gst_pad_collect_valist),
13304 (gst_pad_template_new):
13305 * gst/gstpipeline.c: (gst_pipeline_class_init),
13306 (gst_pipeline_dispose), (gst_pipeline_set_property),
13307 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13308 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13309 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13311 * gst/schedulers/entryscheduler.c:
13312 * gst/schedulers/gstbasicscheduler.c:
13313 (gst_basic_scheduler_cothreaded_chain),
13314 (gst_basic_scheduler_chain_add_element):
13315 * testsuite/bins/interface.c: (main):
13317 Added GstSystemClock test.
13318 Implemented clock distribution code in GstBin.
13319 Implemented iterate sinks method for future use.
13320 Rearranged gstelement.h
13321 Fix GstIterator comparison bug.
13322 Moved some code to GstPipeline, mostly clocking related.
13324 2005-03-09 Wim Taymans <wim@fluendo.com>
13327 * gst/gst_private.h:
13328 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13329 (gst_bin_remove_func), (gst_bin_remove),
13330 (gst_bin_get_by_name_recurse_up):
13331 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13332 (gst_clock_id_compare_func), (gst_clock_id_wait),
13333 (gst_clock_id_wait_async), (gst_clock_init),
13334 (gst_clock_adjust_unlocked), (gst_clock_get_time):
13335 * gst/gstelement.h:
13336 * gst/gstinfo.c: (_gst_debug_init):
13338 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13339 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13341 Bump version number, we're now 0.9.0
13342 Add future debugging category.
13343 Fix NULL _unref() in _get_by_name_recurse_up
13344 Rearrange gstpad.h.
13347 2005-03-08 Wim Taymans <wim@fluendo.com>
13349 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13350 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13351 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13352 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13353 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13354 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13355 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13356 * gst/elements/gstidentity.c: (gst_identity_class_init):
13357 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13358 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13359 * gst/elements/gstshaper.c: (gst_shaper_class_init):
13360 * gst/elements/gststatistics.c: (gst_statistics_class_init):
13361 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13363 * gst/gstelement.c: (gst_element_class_init),
13364 (gst_element_base_class_init), (gst_element_init),
13365 (gst_element_get_random_pad), (gst_element_wait_state_change),
13366 (gst_element_change_state), (gst_element_dispose),
13367 (gst_element_finalize), (gst_element_set_loop_function):
13368 * gst/gstelement.h:
13369 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13370 * gst/gstthread.c: (gst_thread_class_init),
13371 (gst_thread_release_children_locks), (gst_thread_change_state):
13372 * gst/schedulers/gstbasicscheduler.c:
13373 (gst_basic_scheduler_loopfunc_wrapper),
13374 (gst_basic_scheduler_chain_wrapper),
13375 (gst_basic_scheduler_src_wrapper),
13376 (gst_basic_scheduler_remove_element):
13377 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13378 Remove threadsafe properties. Fix elements because GObject
13379 complains when installing a property before declaring a
13380 set/get_property handler.
13381 Rearrange gstelement.h file, use STATE macros for state locks.
13382 Free mutexes in the finalize method instead of dispose.
13384 2005-03-08 Wim Taymans <wim@fluendo.com>
13386 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13387 * gst/gstthread.c: (gst_thread_release_children_locks):
13388 Added parentage check.
13389 Fix build og GstThread again.
13391 2005-03-08 Wim Taymans <wim@fluendo.com>
13393 * docs/design/part-MT-refcounting.txt:
13394 * docs/design/part-conventions.txt:
13395 * docs/design/part-gstobject.txt:
13396 * docs/design/part-relations.txt:
13397 * docs/design/part-standards.txt:
13398 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13399 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13400 (gst_bin_get_by_name), (gst_bin_get_by_interface),
13401 (gst_bin_iterate_all_by_interface):
13404 * gst/gstelement.c: (gst_element_class_init),
13405 (gst_element_change_state), (gst_element_set_loop_function):
13406 * gst/gstelement.h:
13407 * gst/gstiterator.c:
13408 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13409 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13410 (gst_object_dispatch_properties_changed), (gst_object_set_name),
13411 (gst_object_set_parent), (gst_object_unparent),
13412 (gst_object_check_uniqueness):
13414 Docs updates, clean up some headers.
13416 2005-03-07 Wim Taymans <wim@fluendo.com>
13418 * check/.cvsignore:
13419 * check/Makefile.am:
13420 * check/gst-libs/.cvsignore:
13421 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13422 * check/gst/.cvsignore:
13423 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13424 (START_TEST), (gstbus_suite), (main):
13425 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13426 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13427 (gst_data_suite), (main):
13428 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13429 (add_fold_func), (gstiterator_suite), (main):
13430 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13431 (thread_name_object), (thread_name_object_default),
13432 (gst_object_name_compare), (gst_object_suite), (main):
13433 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13434 (gst_pad_suite), (main):
13435 * check/gstcheck.c: (gst_check_log_message_func),
13436 (gst_check_log_critical_func), (gst_check_init):
13437 * check/gstcheck.h:
13438 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13439 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13442 2005-03-07 Wim Taymans <wim@fluendo.com>
13444 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13445 (gst_list_iterator_next), (gst_list_iterator_resync),
13446 (gst_list_iterator_free), (gst_iterator_new_list),
13447 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13448 (gst_iterator_free), (gst_iterator_push), (filter_next),
13449 (filter_resync), (filter_uninit), (filter_free),
13450 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13451 (gst_iterator_foreach), (find_custom_fold_func),
13452 (gst_iterator_find_custom):
13453 * gst/gstiterator.h:
13454 Added missing files.
13456 2005-03-07 Wim Taymans <wim@fluendo.com>
13460 * docs/design/part-MT-refcounting.txt:
13461 * docs/design/part-conventions.txt:
13462 * docs/design/part-gstobject.txt:
13463 * docs/design/part-relations.txt:
13464 * examples/mixer/mixer.c: (main):
13465 * examples/thread/thread.c: (eos), (main):
13467 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13468 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13469 (gst_spider_plug_from_srcpad):
13470 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13471 (gst_spider_identity_change_state),
13472 (gst_spider_identity_sink_loop_type_finding):
13473 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13474 * gst/elements/gstidentity.c: (gst_identity_init):
13475 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13476 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13477 * gst/elements/gsttypefindelement.c: (free_entry):
13480 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13481 (gst_bin_set_clock_func), (gst_bin_auto_clock),
13482 (gst_bin_set_index), (gst_bin_set_element_sched),
13483 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13484 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13485 (gst_bin_iterate_elements), (iterate_child_recurse),
13486 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13487 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13488 (compare_interface), (gst_bin_get_by_interface),
13489 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13491 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13492 (gst_buffer_default_free), (gst_buffer_default_copy),
13493 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13494 (gst_buffer_create_sub):
13496 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13497 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13498 (gst_caps_unref), (gst_static_caps_get),
13499 (gst_caps_remove_and_get_structure), (gst_caps_append),
13500 (gst_caps_append_structure), (gst_caps_remove_structure),
13501 (gst_caps_copy_nth), (gst_caps_set_simple),
13502 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13503 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13504 (gst_caps_structure_intersect_field), (gst_caps_intersect),
13505 (gst_caps_structure_subtract_field), (gst_caps_subtract),
13506 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13507 (gst_caps_structure_figure_out_union),
13508 (gst_caps_switch_structures), (gst_caps_do_simplify),
13509 (gst_caps_replace), (gst_caps_from_string),
13510 (gst_caps_copy_conditional):
13512 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13513 (_gst_clock_id_free), (gst_clock_id_unref),
13514 (gst_clock_id_compare_func), (gst_clock_id_wait),
13515 (gst_clock_id_wait_async), (gst_clock_class_init),
13516 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13517 (gst_clock_get_time), (gst_clock_set_time_adjust),
13518 (gst_clock_set_property), (gst_clock_get_property):
13521 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13522 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13524 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13525 (gst_element_requires_clock), (gst_element_provides_clock),
13526 (gst_element_set_clock), (gst_element_clock_wait),
13527 (gst_element_wait), (gst_element_set_time_delay),
13528 (gst_element_is_indexable), (gst_element_add_pad),
13529 (gst_element_add_ghost_pad), (gst_element_remove_pad),
13530 (pad_compare_name), (gst_element_get_static_pad),
13531 (gst_element_request_pad), (gst_element_get_request_pad),
13532 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13533 (gst_element_class_get_pad_template_list),
13534 (gst_element_class_get_pad_template), (gst_element_error_func),
13535 (gst_element_get_random_pad), (gst_element_get_event_masks),
13536 (gst_element_send_event), (gst_element_seek),
13537 (gst_element_get_query_types), (gst_element_query),
13538 (gst_element_get_formats), (gst_element_convert),
13539 (gst_element_is_locked_state), (gst_element_set_locked_state),
13540 (gst_element_sync_state_with_parent), (gst_element_change_state),
13541 (gst_element_finalize), (gst_element_yield),
13542 (gst_element_interrupt), (gst_element_set_scheduler),
13543 (gst_element_get_scheduler), (gst_element_set_loop_function):
13544 * gst/gstelement.h:
13546 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13547 (gst_format_get_by_nick), (gst_format_get_details),
13548 (gst_format_iterate_definitions):
13550 * gst/gstindex.c: (gst_index_gtype_resolver):
13553 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13554 (gst_mem_chunk_free):
13555 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13556 (gst_object_ref), (gst_object_unref), (gst_object_sink),
13557 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13558 (gst_object_dispatch_properties_changed),
13559 (gst_object_set_name_default), (gst_object_set_name),
13560 (gst_object_get_name), (gst_object_set_name_prefix),
13561 (gst_object_get_name_prefix), (gst_object_set_parent),
13562 (gst_object_get_parent), (gst_object_unparent),
13563 (gst_object_check_uniqueness), (gst_object_save_thyself),
13564 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13565 (gst_object_set_property), (gst_object_get_property),
13566 (gst_object_get_path_string):
13568 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13569 (gst_real_pad_init), (gst_real_pad_get_property),
13570 (gst_pad_custom_new), (gst_pad_get_direction),
13571 (gst_pad_set_active), (gst_pad_is_active),
13572 (gst_pad_set_event_function), (gst_pad_is_linked),
13573 (gst_pad_link_free), (gst_pad_link_intersect),
13574 (gst_pad_link_fixate), (gst_pad_set_caps),
13575 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13576 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13577 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13578 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13579 (gst_pad_get_caps), (gst_pad_peer_get_caps),
13580 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13581 (gst_pad_realize), (gst_pad_get_allowed_caps),
13582 (gst_real_pad_dispose), (gst_real_pad_finalize),
13583 (gst_pad_collectv), (gst_pad_collect_valist),
13584 (gst_pad_template_dispose), (gst_pad_template_new),
13585 (gst_pad_get_internal_links):
13587 * gst/gstpipeline.c: (gst_pipeline_dispose),
13588 (gst_pipeline_change_state):
13589 * gst/gstpipeline.h:
13591 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13592 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13593 * gst/gstpluginfeature.h:
13594 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13595 * gst/gstquery.c: (_gst_query_type_initialize),
13596 (gst_query_type_register), (gst_query_type_get_by_nick),
13597 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13599 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13600 * gst/gstscheduler.c: (gst_scheduler_add_element),
13601 (gst_scheduler_factory_create):
13602 * gst/gststructure.c: (gst_structure_set_parent_refcount),
13603 (gst_structure_free), (gst_structure_set_name),
13604 (gst_structure_id_set_value), (gst_structure_set_value),
13605 (gst_structure_set_valist), (gst_structure_remove_field),
13606 (gst_structure_remove_fields),
13607 (gst_structure_remove_fields_valist),
13608 (gst_structure_remove_all_fields), (gst_structure_foreach),
13609 (gst_structure_map_in_place),
13610 (gst_caps_structure_fixate_field_nearest_int),
13611 (gst_caps_structure_fixate_field_nearest_double):
13612 * gst/gststructure.h:
13613 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13614 (gst_system_clock_init), (gst_system_clock_dispose),
13615 (gst_system_clock_async_thread),
13616 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13617 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13618 * gst/gstsystemclock.h:
13619 * gst/gsttag.c: (gst_tag_list_add_value_internal),
13620 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13621 * gst/gsttaginterface.c:
13622 * gst/gstthread.c: (gst_thread_dispose),
13623 (gst_thread_release_children_locks), (gst_thread_change_state),
13624 (gst_thread_main_loop):
13625 * gst/gsttrashstack.h:
13626 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13628 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13629 (gst_element_request_pad), (gst_element_get_pad_from_template),
13630 (gst_element_request_compatible_pad),
13631 (gst_element_get_compatible_pad_filtered),
13632 (gst_element_get_compatible_pad), (gst_element_state_get_name),
13633 (gst_element_link_pads_filtered), (gst_element_link_filtered),
13634 (gst_element_link_many), (gst_element_link),
13635 (gst_element_link_pads), (gst_element_unlink_pads),
13636 (gst_element_unlink_many), (gst_element_unlink),
13637 (gst_pad_can_link_filtered), (gst_pad_can_link),
13638 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13639 (gst_object_default_error), (gst_bin_add_many),
13640 (gst_bin_remove_many), (gst_element_populate_std_props),
13641 (gst_element_class_install_std_props), (gst_buffer_merge),
13642 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13643 (link_fold_func), (gst_pad_proxy_setcaps):
13645 * gst/gstvalue.c: (gst_value_deserialize_string):
13646 * gst/parse/grammar.y:
13647 * gst/schedulers/gstbasicscheduler.c:
13648 (gst_basic_scheduler_cothreaded_chain),
13649 (gst_basic_scheduler_chain_recursive_add),
13650 (gst_basic_scheduler_pad_link):
13651 * gst/schedulers/gstoptimalscheduler.c:
13652 (get_group_schedule_function),
13653 (gst_opt_scheduler_state_transition),
13654 (gst_opt_scheduler_add_element), (element_get_reachables_func):
13655 * libs/gst/bytestream/bytestream.c:
13656 * libs/gst/dataprotocol/dataprotocol.c:
13657 (gst_dp_header_from_buffer):
13660 * tests/threadstate/threadstate2.c: (eos):
13661 * tools/gst-compprep.c: (main):
13662 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13663 (print_pad_info), (print_children_info):
13664 * tools/gst-launch.c: (idle_func), (main):
13665 * tools/gst-md5sum.c: (idle_func), (main):
13666 * tools/gst-xmlinspect.c: (print_element_info):
13667 First THREADED backport attempt, focusing on adding locks and
13668 making sure the API is threadsafe. Needs more work. More docs
13671 2005-02-24 Andy Wingo <wingo@pobox.com>
13673 * tests/bench-complexity.scm:
13674 * tests/complexity.gnuplot: New files, good for running complexity
13677 * tests/Makefile.am:
13678 * tests/complexity.c: New test, sets up N elements, at each level
13679 teeing into M streams per element. Eeeenteresting.
13681 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13682 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13683 running bench-mass_elements.scm.
13685 * tests/bench-mass_elements.scm: New script, runs mass_elements
13686 for various numbers of identities, outputting the results to a
13687 file. Requires guile 1.6. Just for testing.
13689 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
13691 * gst/schedulers/fairscheduler.c:
13692 compile with debug disabled
13694 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
13697 hunting season on 0.9 is now OPEN