1 2005-12-12 Wim Taymans <wim@fluendo.com>
3 * gst/gstsegment.c: (gst_segment_init),
4 (gst_segment_set_last_stop), (gst_segment_set_seek),
5 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6 (gst_segment_to_running_time):
7 Added more documentation.
8 Make sure the last_pos value is updated properly.
9 Make sure to_stream_time and to_running_time don't
10 operate on wrong values.
12 * tests/check/gst/gstsegment.c: (GST_START_TEST):
15 2005-12-12 Michael Smith <msmith@fluendo.com>
17 * plugins/elements/gsttypefindelement.c: (free_entry),
18 (gst_type_find_element_chain):
19 Now that we're not leaking factories, make sure we keep references
20 to them while we need them.
22 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
24 * tests/check/gst/struct_i386.h:
25 ifdef out the XML structs
27 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
29 * gst/gstvalue.c: (gst_value_transform_double_fraction):
30 floor is not needed, F is always positive; this obviates the
31 need for adding -lm when building without libxml
33 2005-12-12 Wim Taymans <wim@fluendo.com>
35 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
36 Take current playback rate into account when reporting
39 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
41 * docs/manual/mime-world.fig:
42 Let's try this again, this time with a file that is
43 actually in XFig format.
45 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
47 * docs/manual/mime-world.fig:
48 Add audioconvert element to diagram so that it
49 matches the text and the code (fixes #319526).
51 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
53 * docs/pwg/building-chainfn.xml:
54 * docs/pwg/building-pads.xml:
55 * docs/pwg/building-state.xml:
56 * docs/pwg/other-source.xml:
57 Update state change stuff for 0.10 (fixes #322969).
59 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
61 * docs/manual/advanced-dataaccess.xml:
62 * docs/manual/appendix-checklist.xml:
63 * docs/manual/appendix-programs.xml:
64 * docs/manual/basics-pads.xml:
65 * docs/manual/highlevel-components.xml:
66 * docs/manual/manual.xml:
67 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
68 add converters in front of pipelines; remove curly
69 brackets for threads stuff, they no longer exist; use
70 GST_TYPE_FRACTION for framerates; update some pieces of
71 code to 0.10, but there's plenty more to do.
73 * docs/manual/appendix-porting.xml:
74 Expand on asynchroneous state changes; s/0.9/0.10/;
75 mention disappearance of gst_init_get_popt_table()
78 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
81 Spider no longer exists, and neither does gst-launch-ext.
82 Update examples to use decodebin and playbin and put
83 converters in front of sinks (fixes #323726).
85 2005-12-09 Michael Smith <msmith@fluendo.com>
87 * plugins/elements/gsttypefindelement.c: (find_peek),
88 (gst_type_find_element_chain):
89 Fix leaking element factories in typefinding.
90 Fix problem where we forgot about a probable type on non-seekable
91 files, and thus later mis-typefound it.
93 2005-12-09 Michael Smith <msmith@fluendo.com>
95 * common/m4/gst-makecontext.m4:
96 * common/m4/gst-mcsc.m4:
98 * win32/common/config.h:
99 * win32/common/config.h.in:
100 Remove makecontext stuff; not used in 0.10 and causes problems on
101 HPUX according to bug #322441
103 2005-12-07 Wim Taymans <wim@fluendo.com>
105 * tests/check/Makefile.am:
106 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
108 * tests/check/libs/struct_i386.h:
109 Added ABI check for libs
111 2005-12-07 Wim Taymans <wim@fluendo.com>
113 * tests/check/Makefile.am:
114 And add the struct_i386.h to dist.
116 2005-12-07 Wim Taymans <wim@fluendo.com>
118 * tests/check/Makefile.am:
119 * tests/check/gst/.cvsignore:
120 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
122 * tests/check/gst/struct_i386.h:
123 Added check for ABI compatibility.
125 2005-12-07 Wim Taymans <wim@fluendo.com>
127 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
128 (gst_fake_src_get_times), (gst_fake_src_create):
129 Fix broken sync option, fixes #323259
131 2005-12-07 Wim Taymans <wim@fluendo.com>
136 * gst/gstcaps.c: (gst_caps_is_equal):
137 Don't assert on NULL <--> X. Fixes #323260
139 * gst/gstminiobject.c: (gst_mini_object_replace):
140 If we're doing atomic operations, we might just as well use
141 the proper way to get an atomic pointer.
143 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
146 2005-12-07 Michael Smith <msmith@fluendo.com>
148 * gst/parse/grammar.y:
149 Remove handling of { } for threads.
151 2005-12-06 David Schleef <ds@schleef.org>
153 * libs/gst/base/gstbasetransform.c: speling fix.
155 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
157 * docs/libs/tmpl/gstdataprotocol.sgml:
158 * docs/random/omega/testing/gstobject.c:
162 * gst/gstelementfactory.c:
167 * gst/gstpadtemplate.c:
168 * gst/gstregistryxml.c:
170 * gst/gsttagsetter.c:
173 * libs/gst/base/gstbasesrc.c:
174 * libs/gst/net/gstnetclientclock.c:
175 * libs/gst/net/gstnettimeprovider.c:
176 * plugins/elements/gstfakesrc.c:
177 * plugins/elements/gstfdsrc.c:
178 * plugins/elements/gstfilesrc.c:
179 * plugins/elements/gstidentity.c:
180 * plugins/elements/gstqueue.c:
181 * plugins/elements/gsttypefindelement.c:
182 * plugins/indexers/gstfileindex.c:
183 * plugins/indexers/gstmemindex.c:
184 * tests/check/gst/gsttag.c:
185 * tests/old/examples/cutter/cutter.c:
186 * tests/old/examples/mixer/mixer.c:
187 * tests/old/examples/xml/runxml.c: (main):
188 * tests/old/testsuite/caps/normalisation.c:
189 * tests/old/testsuite/debug/global.c:
190 * tests/old/testsuite/parse/parse1.c:
191 * tools/gst-xmlinspect.c:
192 * win32/common/dirent.c:
195 === release 0.10.0 ===
197 2005-12-05 <thomas (at) apestaart (dot) org>
200 releasing 0.10.0, "Maroilles"
202 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
204 submitted by: Funda Wang <fundawang@linux.net.cn>
208 added Chinese (Traditional) translation
210 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
212 * docs/gst/gstreamer-sections.txt:
213 * docs/libs/tmpl/gstdataprotocol.sgml:
214 * docs/random/thomasvs/TODO:
219 2005-12-05 Andy Wingo <wingo@pobox.com>
221 patch by: Wim Taymans <wim@fluendo.com>
223 * libs/gst/base/gstbasetransform.c
224 (gst_base_transform_prepare_output_buf)
225 (gst_base_transform_buffer_alloc):
226 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
227 alloc_buffer_and_set_caps.
229 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
230 set_caps on the source pad.
231 (gst_pad_alloc_buffer_and_set_caps): New function, does what
232 alloc_buffer used to do. Fixes #322874.
234 * docs/gst/gstreamer-sections.txt:
235 * docs/design/part-negotiation.txt:
236 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
239 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
241 patch by: Sebastien Moutte
244 * win32/common/config.h.in:
245 * win32/vs6/libgstcontroller.dsp:
248 2005-12-05 Wim Taymans <wim@fluendo.com>
250 * gst/gstcaps.c: (gst_caps_is_equal):
251 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
252 (gst_fake_src_create):
253 Back out previous code changes, leave doc updates, file bugs
256 2005-12-05 Wim Taymans <wim@fluendo.com>
258 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
259 (gst_fake_src_get_times), (gst_fake_src_create):
260 * plugins/elements/gstfakesrc.h:
261 Fix broken sync code.
263 2005-12-05 Wim Taymans <wim@fluendo.com>
265 * gst/gstcaps.c: (gst_caps_is_equal):
266 Comparing NULL against !NULL yields different caps, not a
269 2005-12-05 Wim Taymans <wim@fluendo.com>
272 Fix small typo in docs.
274 2005-12-05 Andy Wingo <wingo@pobox.com>
276 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
278 * gst/gst.c (init_post): remove hard-coded 0.9 location for
279 registries/plugins with a MAJORMINOR one.
280 (plugin_desc): Rename library from gstcoreleements to
281 staticelements. Fixes #323222.
283 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
285 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
286 Change debug category to 'collectpads' from 'collect_pads'
289 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
291 patch by: Sebastien Moutte
293 * libs/gst/controller/gstinterpolation.c:
294 use convert function for uint64/double
295 * win32/vs6/libgstcontroller.dsp:
298 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
300 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
301 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
303 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
304 add tests that seem to show that the guint64/gdouble conversions
307 2005-12-02 Wim Taymans <wim@fluendo.com>
309 * gst/gstregistry.c: (gst_registry_add_path):
311 * gst/gstregistryxml.c:
314 2005-12-02 Wim Taymans <wim@fluendo.com>
316 * gst/gstutils.c: (gst_util_uint64_scale_int64),
317 (gst_util_uint64_scale_int):
320 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
323 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
326 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
329 * win32/common/config.h:
330 * win32/vs6/gstreamer.dsw:
331 * win32/vs6/libgstcoreelements.dsp:
332 * win32/vs6/libgstelements.dsp:
333 renamed core elements plugin
335 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
337 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
339 do piece-wise major/minor comparison so 0.9 < 0.10
340 also allow .exe extensions for tools
342 2005-12-02 Michael Smith <msmith@fluendo.com>
345 Escape a % to make gtkdoc happier; bug 322958.
347 === release 0.9.7 ===
349 2005-12-01 <thomas (at) apestaart (dot) org>
352 releasing 0.9.7, "My Dog Has No Nose"
354 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
356 * common/gst-xmlinspect.py:
358 * docs/libs/tmpl/gstdataprotocol.sgml:
359 * docs/random/release:
378 * win32/common/config.h:
379 * win32/common/config.h.in:
380 * win32/vs6/gst_inspect.dsp:
381 * win32/vs6/gst_launch.dsp:
382 * win32/vs6/libgstbase.dsp:
383 * win32/vs6/libgstelements.dsp:
384 * win32/vs6/libgstreamer.dsp:
385 * win32/vs7/GStreamer.vcproj:
386 * win32/vs7/gst-inspect.vcproj:
387 * win32/vs7/gst-launch.vcproj:
388 * win32/vs7/libgstbase.vcproj:
389 bump GST_MAJORMINOR to 0.10
390 reset libtool version
392 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
396 Added Bulgarian translation by (Alexander Shopov)
398 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
400 * tests/check/gst/gstplugin.c:
403 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
405 * common/gst-xmlinspect.py:
406 * common/gtk-doc-plugins.mak:
409 * docs/gst/Makefile.am:
410 * docs/gst/gstreamer-docs.sgml:
411 * docs/gst/gstreamer-sections.txt:
412 * docs/gst/gstreamer.types:
413 * docs/gst/gstreamer.types.in:
414 * docs/plugins/Makefile.am:
415 * docs/plugins/gstreamer-plugins-docs.sgml:
416 * docs/plugins/gstreamer-plugins-sections.txt:
417 * docs/plugins/gstreamer-plugins.types:
418 * docs/plugins/inspect.stamp:
419 * docs/plugins/inspect/plugin-coreelements.xml:
420 * docs/plugins/inspect/plugin-coreindexers.xml:
421 * docs/plugins/scanobj-build.stamp:
423 * plugins/elements/Makefile.am:
424 * plugins/elements/gstelements.c:
425 * plugins/elements/gstfakesink.c:
426 * plugins/elements/gstfakesrc.c:
427 * plugins/elements/gstfilesink.c:
428 * plugins/elements/gstfilesrc.c:
429 * plugins/elements/gstqueue.c:
430 * plugins/indexers/Makefile.am:
431 * plugins/indexers/gstindexers.c:
432 document core plugins in a separate document just like all the
434 rename these plugins to something starting with core
436 2005-12-01 Andy Wingo <wingo@pobox.com>
438 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
439 padding here before, but it missed the commit.
441 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
443 * libs/gst/controller/gstinterpolation.c:
444 whitespace prices have crashed, we should feel free to use some now
445 use gst_guint64_to_gdouble
447 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
449 * libs/gst/controller/gstcontroller.c:
450 * libs/gst/controller/gsthelper.c:
451 * libs/gst/controller/gstinterpolation.c:
452 * libs/gst/controller/lib.c:
453 wrap config.h include
455 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
457 * docs/gst/gstreamer-sections.txt:
460 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
462 * plugins/elements/gstelements.c:
463 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
464 (gst_fd_sink__class_init), (gst_fd_sink__init),
465 (gst_fd_sink__chain), (gst_fd_sink__set_property),
466 (gst_fd_sink__get_property):
467 * plugins/elements/gstfdsink.h:
468 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
469 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
470 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
471 (gst_fd_src_unlock), (gst_fd_src_set_property),
472 (gst_fd_src_get_property), (gst_fd_src_create),
473 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
474 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
475 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
476 (gst_fd_src_uri_handler_init):
477 * plugins/elements/gstfdsrc.h:
478 * plugins/elements/gstqueue.c: (gst_queue_get_type):
481 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
483 * docs/gst/Makefile.am:
484 * docs/gst/gstreamer.types.in:
488 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
495 * tests/benchmarks/complexity.c:
496 * tests/benchmarks/mass-elements.c:
497 * tests/check/Makefile.am:
499 * tools/gst-inspect.c:
500 * tools/gst-xmlinspect.c:
501 various fixes to make
502 --disable-nls --disable-registry --disable-loadsave
503 --disable-parse --disable-gst-debug
504 work and get the core .so down to 360444 bytes after stripping
506 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
511 * docs/random/thomasvs/TODO:
516 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
518 * win32/GStreamer.vcproj:
521 * win32/Makefile.inspect:
522 * win32/Makefile.launch:
523 * win32/Makefile.register:
525 * win32/gst-inspect.vcproj:
526 * win32/gst-launch.vcproj:
527 * win32/gst-register.vcproj:
528 * win32/gstelements.vcproj:
529 * win32/gstgetbits.def:
530 * win32/gstgetbits.vcproj:
531 * win32/gstreamer-dbg.def:
532 * win32/gstreamer.def:
533 * win32/libgstbase.def:
534 * win32/libgstbase.vcproj:
535 * win32/link_oldruntime.c:
540 move even more stuff, win32/ is nice and clean now
542 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
544 * libs/gst/control/.cvsignore:
549 * win32/gstbytestream.def:
550 * win32/gstbytestream.vcproj:
552 * win32/gstenumtypes.c:
553 * win32/gstenumtypes.h:
554 * win32/gstoptimalscheduler.vcproj:
555 * win32/gstversion.h:
557 * win32/testsuite/bins.vcproj:
558 * win32/testsuite/bytestream.vcproj:
559 * win32/testsuite/caps.vcproj:
560 * win32/testsuite/cleanup.vcproj:
561 * win32/testsuite/clock.vcproj:
562 * win32/testsuite/debug.vcproj:
563 * win32/testsuite/dlopen.vcproj:
564 * win32/testsuite/dynparams.vcproj:
565 * win32/testsuite/elements.vcproj:
566 * win32/testsuite/ghostpads.vcproj:
567 * win32/testsuite/indexers.vcproj:
568 * win32/testsuite/negotiation.vcproj:
569 * win32/testsuite/parse.vcproj:
570 * win32/testsuite/plugin.vcproj:
571 * win32/testsuite/refcounting.vcproj:
572 * win32/testsuite/schedulers.vcproj:
573 * win32/testsuite/states.vcproj:
574 * win32/testsuite/tags.vcproj:
575 * win32/testsuite/threads.vcproj:
576 remove old win32 stuff that isn't maintained and should be
579 2005-11-30 Andy Wingo <wingo@pobox.com>
581 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
582 loading the gst.interfaces python module bork.
584 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
585 available since GLib 2.2. Fixes #318031.
587 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
592 * check/elements/.cvsignore:
593 * check/elements/fakesrc.c:
594 * check/elements/fdsrc.c:
595 * check/elements/identity.c:
596 * check/generic/.cvsignore:
597 * check/generic/states.c:
598 * check/gst-libs/.cvsignore:
599 * check/gst-libs/controller.c:
600 * check/gst-libs/gdp.c:
601 * check/gst/.cvsignore:
602 * check/gst/capslist.h:
604 * check/gst/gstbin.c:
605 * check/gst/gstbuffer.c:
606 * check/gst/gstbus.c:
607 * check/gst/gstcaps.c:
608 * check/gst/gstelement.c:
609 * check/gst/gstevent.c:
610 * check/gst/gstghostpad.c:
611 * check/gst/gstiterator.c:
612 * check/gst/gstmessage.c:
613 * check/gst/gstminiobject.c:
614 * check/gst/gstobject.c:
615 * check/gst/gstpad.c:
616 * check/gst/gstpipeline.c:
617 * check/gst/gstplugin.c:
618 * check/gst/gstsegment.c:
619 * check/gst/gststructure.c:
620 * check/gst/gstsystemclock.c:
621 * check/gst/gsttag.c:
622 * check/gst/gstutils.c:
623 * check/gst/gstvalue.c:
624 * check/net/.cvsignore:
625 * check/net/gstnetclientclock.c:
626 * check/net/gstnettimeprovider.c:
627 * check/pipelines/.cvsignore:
628 * check/pipelines/cleanup.c:
629 * check/pipelines/simple_launch_lines.c:
630 * check/pipelines/stress.c:
631 * check/states/.cvsignore:
632 * check/states/sinks.c:
634 * examples/Makefile.am:
635 * examples/appreader/.cvsignore:
636 * examples/appreader/Makefile.am:
637 * examples/appreader/appreader.c:
638 * examples/controller/.cvsignore:
639 * examples/controller/Makefile.am:
640 * examples/controller/audio-example.c:
641 * examples/cutter/.cvsignore:
642 * examples/cutter/Makefile.am:
643 * examples/cutter/cutter.c:
644 * examples/cutter/cutter.h:
645 * examples/events/Makefile.am:
646 * examples/events/seek.c:
647 * examples/helloworld/.cvsignore:
648 * examples/helloworld/Makefile.am:
649 * examples/helloworld/helloworld.c:
650 * examples/helloworld2/.cvsignore:
651 * examples/helloworld2/Makefile.am:
652 * examples/helloworld2/helloworld2.c:
653 * examples/launch/.cvsignore:
654 * examples/launch/Makefile.am:
655 * examples/launch/mp3parselaunch.c:
656 * examples/launch/mp3play:
657 * examples/manual/.cvsignore:
658 * examples/manual/Makefile.am:
659 * examples/manual/extract.pl:
660 * examples/metadata/Makefile.am:
661 * examples/metadata/read-metadata.c:
662 * examples/mixer/.cvsignore:
663 * examples/mixer/Makefile.am:
664 * examples/mixer/mixer.c:
665 * examples/mixer/mixer.h:
666 * examples/pingpong/.cvsignore:
667 * examples/pingpong/Makefile.am:
668 * examples/pingpong/pingpong.c:
669 * examples/plugins/.cvsignore:
670 * examples/plugins/Makefile.am:
671 * examples/plugins/example.c:
672 * examples/plugins/example.h:
673 * examples/pwg/.cvsignore:
674 * examples/pwg/Makefile.am:
675 * examples/pwg/extract.pl:
676 * examples/queue/.cvsignore:
677 * examples/queue/Makefile.am:
678 * examples/queue/queue.c:
679 * examples/queue2/.cvsignore:
680 * examples/queue2/Makefile.am:
681 * examples/queue2/queue2.c:
682 * examples/queue3/.cvsignore:
683 * examples/queue3/Makefile.am:
684 * examples/queue3/queue3.c:
685 * examples/queue4/.cvsignore:
686 * examples/queue4/Makefile.am:
687 * examples/queue4/queue4.c:
688 * examples/retag/.cvsignore:
689 * examples/retag/Makefile.am:
690 * examples/retag/retag.c:
691 * examples/retag/transcode.c:
692 * examples/thread/.cvsignore:
693 * examples/thread/Makefile.am:
694 * examples/thread/thread.c:
695 * examples/typefind/.cvsignore:
696 * examples/typefind/Makefile.am:
697 * examples/typefind/typefind.c:
698 * examples/xml/.cvsignore:
699 * examples/xml/Makefile.am:
700 * examples/xml/createxml.c:
701 * examples/xml/runxml.c:
703 * tests/check/Makefile.am:
704 * testsuite/.cvsignore:
705 * testsuite/Makefile.am:
707 * testsuite/caps/.cvsignore:
708 * testsuite/caps/Makefile.am:
709 * testsuite/caps/app_fixate.c:
710 * testsuite/caps/audioscale.c:
711 * testsuite/caps/caps.c:
712 * testsuite/caps/caps.h:
713 * testsuite/caps/caps_strings:
714 * testsuite/caps/compatibility.c:
715 * testsuite/caps/deserialize.c:
716 * testsuite/caps/enumcaps.c:
717 * testsuite/caps/eratosthenes.c:
718 * testsuite/caps/filtercaps.c:
719 * testsuite/caps/fixed.c:
720 * testsuite/caps/fraction-convert.c:
721 * testsuite/caps/fraction-multiply-and-zero.c:
722 * testsuite/caps/intersect2.c:
723 * testsuite/caps/intersection.c:
724 * testsuite/caps/normalisation.c:
725 * testsuite/caps/random.c:
726 * testsuite/caps/renegotiate.c:
727 * testsuite/caps/sets.c:
728 * testsuite/caps/simplify.c:
729 * testsuite/caps/string-conversions.c:
730 * testsuite/caps/structure.c:
731 * testsuite/caps/subtract.c:
732 * testsuite/caps/union.c:
733 * testsuite/debug/.cvsignore:
734 * testsuite/debug/Makefile.am:
735 * testsuite/debug/category.c:
736 * testsuite/debug/commandline.c:
737 * testsuite/debug/global.c:
738 * testsuite/debug/output.c:
739 * testsuite/debug/printf_extension.c:
740 * testsuite/dlopen/.cvsignore:
741 * testsuite/dlopen/Makefile.am:
742 * testsuite/dlopen/dlopen_gst.c:
743 * testsuite/dlopen/loadgst.c:
744 * testsuite/elements/.cvsignore:
745 * testsuite/elements/Makefile.am:
746 * testsuite/elements/gst-inspect-check.in:
747 * testsuite/elements/struct_i386.h:
748 * testsuite/elements/struct_size.c:
749 * testsuite/indexers/.cvsignore:
750 * testsuite/indexers/Makefile.am:
751 * testsuite/indexers/cache1.c:
752 * testsuite/indexers/indexdump.c:
753 * testsuite/parse/.cvsignore:
754 * testsuite/parse/Makefile.am:
755 * testsuite/parse/parse1.c:
756 * testsuite/parse/parse2.c:
757 * testsuite/plugin/.cvsignore:
758 * testsuite/plugin/Makefile.am:
759 * testsuite/plugin/README:
760 * testsuite/plugin/dynamic.c:
761 * testsuite/plugin/linked.c:
762 * testsuite/plugin/loading.c:
763 * testsuite/plugin/registry.c:
764 * testsuite/plugin/static.c:
765 * testsuite/plugin/static2.c:
766 * testsuite/plugin/testplugin.c:
767 * testsuite/plugin/testplugin2.c:
768 * testsuite/plugin/testplugin2_s.c:
769 * testsuite/plugin/testplugin_s.c:
770 * testsuite/refcounting/.cvsignore:
771 * testsuite/refcounting/Makefile.am:
772 * testsuite/refcounting/bin.c:
773 * testsuite/refcounting/element.c:
774 * testsuite/refcounting/element_pad.c:
775 * testsuite/refcounting/mainloop.c:
776 * testsuite/refcounting/mem.c:
777 * testsuite/refcounting/mem.h:
778 * testsuite/refcounting/object.c:
779 * testsuite/refcounting/pad.c:
780 * testsuite/refcounting/sched.c:
781 * testsuite/refcounting/thread.c:
782 * testsuite/states/.cvsignore:
783 * testsuite/states/Makefile.am:
784 * testsuite/states/bin.c:
785 * testsuite/states/locked.c:
786 * testsuite/states/parent.c:
787 * testsuite/threads/.cvsignore:
788 * testsuite/threads/159566.c:
789 * testsuite/threads/159852.c:
790 * testsuite/threads/Makefile.am:
791 * testsuite/threads/queue.c:
792 * testsuite/threads/signals.c:
793 * testsuite/threads/staticrec.c:
794 * testsuite/threads/thread.c:
795 * testsuite/threads/threadb.c:
796 * testsuite/threads/threadc.c:
797 * testsuite/threads/threadd.c:
798 * testsuite/threads/threade.c:
799 * testsuite/threads/threadf.c:
800 * testsuite/threads/threadg.c:
801 * testsuite/threads/threadh.c:
802 * testsuite/threads/threadi.c:
803 move all of these under tests
805 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
811 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
813 * docs/gst/gstreamer-sections.txt:
814 * tests/sched/.cvsignore:
815 * tests/sched/Makefile.am:
816 * tests/sched/cases/(fs-fs).xml:
817 * tests/sched/cases/(fs-i-fs).xml:
818 * tests/sched/cases/(fs-i-i-fs).xml:
819 * tests/sched/cases/(fs-i-q[i-fs]).xml:
820 * tests/sched/dynamic-pipeline.c:
821 * tests/sched/interrupt1.c:
822 * tests/sched/interrupt2.c:
823 * tests/sched/interrupt3.c:
824 * tests/sched/runtestcases:
825 * tests/sched/runxml.c:
826 * tests/sched/sched-stress.c:
827 * tests/sched/sort.c:
828 * tests/sched/testcases:
829 * tests/sched/testcases1.tc:
830 * tests/seeking/.cvsignore:
831 * tests/seeking/Makefile.am:
832 * tests/seeking/seeking1.c:
833 * tests/threadstate/.cvsignore:
834 * tests/threadstate/Makefile.am:
835 * tests/threadstate/test1.c:
836 * tests/threadstate/test2.c:
837 * tests/threadstate/threadstate1.c:
838 * tests/threadstate/threadstate2.c:
839 * tests/threadstate/threadstate3.c:
840 * tests/threadstate/threadstate4.c:
841 * tests/threadstate/threadstate5.c:
842 remove obsolete tests
844 * tests/bench-complexity.scm:
845 * tests/bench-mass_elements.scm:
846 * tests/complexity.c:
847 * tests/complexity.gnuplot:
848 * tests/instantiate/.cvsignore:
849 * tests/instantiate/Makefile.am:
850 * tests/instantiate/caps.c:
851 * tests/mass_elements.c:
852 * tests/network-clock-utils.scm:
853 * tests/network-clock.scm:
855 First pass at cleaning up tests/ dir before moving the rest
856 Combined with CVS surgery
858 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
861 queue has moved, update
863 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
865 * docs/gst/gstreamer-sections.txt:
866 remove double entries from the docs
868 * gst/gstinfo.c: (_gst_debug_init):
869 remove the THREAD debug category
873 * docs/gst/gstreamer.types:
874 * plugins/elements/gstqueue.c: (gst_queue_get_type),
875 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
876 completely move queue and fix up debugging categories
878 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
880 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
881 make initialization portable, using LL is not
883 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
885 * win32/common/gstconfig.h:
888 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
890 * win32/common/libgstreamer.def:
891 rename symbols; sort base section
893 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
895 * gst/gstclock.c: (do_linear_regression):
896 remove crack non-portable handrolled DEBUG macro
898 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
900 * docs/random/release:
902 * win32/common/gstenumtypes.c: (register_gst_object_flags),
903 (gst_object_flags_get_type), (register_gst_bin_flags),
904 (gst_bin_flags_get_type), (register_gst_buffer_flag),
905 (gst_buffer_flag_get_type), (register_gst_bus_flags),
906 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
907 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
908 (gst_caps_flags_get_type), (register_gst_clock_return),
909 (gst_clock_return_get_type), (register_gst_clock_entry_type),
910 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
911 (gst_clock_flags_get_type), (register_gst_state),
912 (gst_state_get_type), (register_gst_state_change_return),
913 (gst_state_change_return_get_type), (register_gst_state_change),
914 (gst_state_change_get_type), (register_gst_element_flags),
915 (gst_element_flags_get_type), (register_gst_core_error),
916 (gst_core_error_get_type), (register_gst_library_error),
917 (gst_library_error_get_type), (register_gst_resource_error),
918 (gst_resource_error_get_type), (register_gst_stream_error),
919 (gst_stream_error_get_type), (register_gst_event_type_flags),
920 (gst_event_type_flags_get_type), (register_gst_event_type),
921 (gst_event_type_get_type), (register_gst_seek_type),
922 (gst_seek_type_get_type), (register_gst_seek_flags),
923 (gst_seek_flags_get_type), (register_gst_format),
924 (gst_format_get_type), (register_gst_index_certainty),
925 (gst_index_certainty_get_type), (register_gst_index_entry_type),
926 (gst_index_entry_type_get_type),
927 (register_gst_index_lookup_method),
928 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
929 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
930 (gst_index_resolver_method_get_type), (register_gst_index_flags),
931 (gst_index_flags_get_type), (register_gst_debug_level),
932 (gst_debug_level_get_type), (register_gst_debug_color_flags),
933 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
934 (gst_iterator_result_get_type), (register_gst_iterator_item),
935 (gst_iterator_item_get_type), (register_gst_message_type),
936 (gst_message_type_get_type), (register_gst_mini_object_flags),
937 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
938 (gst_pad_link_return_get_type), (register_gst_flow_return),
939 (gst_flow_return_get_type), (register_gst_activate_mode),
940 (gst_activate_mode_get_type), (register_gst_pad_direction),
941 (gst_pad_direction_get_type), (register_gst_pad_flags),
942 (gst_pad_flags_get_type), (register_gst_pad_presence),
943 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
944 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
945 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
946 (gst_plugin_error_get_type), (register_gst_plugin_flags),
947 (gst_plugin_flags_get_type), (register_gst_rank),
948 (gst_rank_get_type), (register_gst_query_type),
949 (gst_query_type_get_type), (register_gst_tag_merge_mode),
950 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
951 (gst_tag_flag_get_type), (register_gst_task_state),
952 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
953 (gst_alloc_trace_flags_get_type),
954 (register_gst_type_find_probability),
955 (gst_type_find_probability_get_type), (register_gst_uri_type),
956 (gst_uri_type_get_type), (register_gst_parse_error),
957 (gst_parse_error_get_type):
958 * win32/common/gstenumtypes.h:
959 * win32/common/gstversion.h:
960 update visual studio generated files
962 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
964 * win32/vs6/libgstbase.dsp:
965 * win32/vs6/libgstelements.dsp:
966 update project files for new locations
968 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
978 * docs/random/LICENSE:
981 2005-11-30 Edward Hervey <edward@fluendo.com>
983 * gst/gsttypefind.c: (gst_type_find_register):
985 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
986 (gst_type_find_factory_dispose):
987 * gst/gsttypefindfactory.h:
988 Fix memory leak in GstTypeFindFactory.
990 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
993 * plugins/elements/Makefile.am:
994 * plugins/elements/gstelements.c:
995 * plugins/elements/gstqueue.c:
996 move queue from core to the elements plugin
998 2005-11-29 Andy Wingo <wingo@pobox.com>
1000 * libs/gst/base/gstbasetransform.h:
1001 * libs/gst/base/gstbasesrc.h:
1002 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1004 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1005 of pointers by which to pad very extensible base classes (like the
1006 ones in libs/gst/base).
1008 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1010 * docs/gst/gstreamer-docs.sgml:
1011 * docs/gst/gstreamer-sections.txt:
1012 * docs/libs/gstreamer-libs-docs.sgml:
1013 * docs/libs/gstreamer-libs-sections.txt:
1014 moving documentation from core to lib
1016 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1018 * check/Makefile.am:
1020 * docs/gst/Makefile.am:
1022 * gst/base/.cvsignore:
1023 * gst/base/Makefile.am:
1025 * gst/base/gstadapter.c:
1026 * gst/base/gstadapter.h:
1027 * gst/base/gstbasesink.c:
1028 * gst/base/gstbasesink.h:
1029 * gst/base/gstbasesrc.c:
1030 * gst/base/gstbasesrc.h:
1031 * gst/base/gstbasetransform.c:
1032 * gst/base/gstbasetransform.h:
1033 * gst/base/gstcollectpads.c:
1034 * gst/base/gstcollectpads.h:
1035 * gst/base/gstpushsrc.c:
1036 * gst/base/gstpushsrc.h:
1037 * gst/base/gsttypefindhelper.c:
1038 * gst/base/gsttypefindhelper.h:
1039 * gst/check/Makefile.am:
1040 * gst/check/gstcheck.c:
1041 * gst/check/gstcheck.h:
1042 * gst/net/Makefile.am:
1044 * gst/net/gstnetclientclock.c:
1045 * gst/net/gstnetclientclock.h:
1046 * gst/net/gstnettimepacket.c:
1047 * gst/net/gstnettimepacket.h:
1048 * gst/net/gstnettimeprovider.c:
1049 * gst/net/gstnettimeprovider.h:
1050 * libs/gst/Makefile.am:
1051 * libs/gst/base/Makefile.am:
1052 * libs/gst/base/gstbasetransform.c:
1053 * libs/gst/check/Makefile.am:
1054 * plugins/elements/Makefile.am:
1056 CVS surgery + support to move base, check, and net out of gst
1059 2005-11-29 Andy Wingo <wingo@pobox.com>
1061 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1063 * gst/gststructure.h (struct _GstStructure): Only one pointer of
1066 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1068 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1070 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1072 * gst/gstobject.h: (struct _GstObject): Only one pointer of
1073 padding; reduces object size by about 30%. We don't expect
1074 anything else to go into gstobject.
1076 * gst/gstminiobject.h (struct _GstMiniObject)
1077 (struct _GstMiniObjectClass): Only one pointer of padding; the
1078 payload is only a pointer and two ints anyway. For the class there
1079 are only two methods as well.
1081 * gst/gstelement.h (struct _GstElementClass): Removed
1082 the state_changed signal callback, it is not used.
1084 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1086 * docs/gst/gstreamer.types:
1087 fix includes, though they are a little dinky
1089 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1091 * check/Makefile.am:
1092 look in the right place for elements, a lot more chance of
1095 remove indexers and elements subdirs
1096 * plugins/Makefile.am:
1097 make indexers conditional
1099 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1103 * plugins/elements/Makefile.am:
1104 * plugins/elements/gstcapsfilter.c:
1105 * plugins/elements/gstfilesink.c:
1106 * plugins/elements/gstfilesrc.c:
1107 * plugins/elements/gstidentity.c:
1108 * plugins/indexers/Makefile.am:
1109 do CVS surgery and related build fixery to move elements
1110 and indexers in a new gstreamer/plugins directory, out of the
1113 2005-11-29 Andy Wingo <wingo@pobox.com>
1115 * check/Makefile.am:
1116 * pkgconfig/gstreamer-net-uninstalled.pc.in:
1117 * pkgconfig/gstreamer-net.pc.in:
1118 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1121 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1123 * tools/Makefile.am:
1124 * tools/gst-complete.1.in:
1125 * tools/gst-complete.c:
1126 * tools/gst-compprep.1.in:
1127 * tools/gst-compprep.c:
1128 removing -compprep and -complete
1130 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1132 * gst/gstevent.c: (gst_event_new_new_segment),
1133 (gst_event_parse_new_segment):
1135 fix #320529 - clean up new_segment API and structure.
1136 Let's hope everyone was using the methods, and not the structure.
1138 2005-11-29 Edward Hervey <edward@fluendo.com>
1140 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1141 (gst_base_sink_event), (gst_base_sink_do_sync),
1142 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1143 Properly handle non GST_FORMAT_TIME segment
1144 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1145 Properly handle non GST_FORMAT_TIME segment
1147 This function is valid if the accumulator is 0 and the format
1148 is different from the requested format.
1150 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
1152 * docs/gst/gstreamer-sections.txt:
1153 Add gst_query_new_seeking and gst_query_parse_seeking to the
1156 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
1158 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1159 Treat a pad alloc with new caps the same as if we were not
1160 negotiated, in order to allow a changing upstream output
1161 to produce a new format of data.
1163 2005-11-29 Edward Hervey <edward@fluendo.com>
1165 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1166 (gst_base_transform_event), (gst_base_transform_eventfunc):
1167 The event virtual method is now properly implemented, with a default
1169 Sub classes should call the parent_class event method. They should
1170 return FALSE if they had a problem handling the given event, or don't
1171 want GstBaseTransform to send that even downstream
1172 * gst/elements/gstidentity.c: (gst_identity_class_init),
1173 (gst_identity_init), (gst_identity_event),
1174 (gst_identity_transform_ip), (gst_identity_set_property),
1175 (gst_identity_get_property):
1176 * gst/elements/gstidentity.h:
1177 Added the single-segment boolean property.
1178 If set to TRUE, it will output a single segment of data, starting from
1179 0, will eat up all incoming newsegment, and modify the timestamp of the
1182 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
1184 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1185 Don't ref NULL target pad (#322751). Improve docs.
1187 2005-11-29 Michael Smith <msmith@fluendo.com>
1189 * gst/gstregistryxml.c: (load_plugin):
1190 Don't crash if we failed to load a feature from a plugin.
1192 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1194 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1196 use more check API and less GLib API
1198 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1201 don't run checks if we don't have check
1203 remove the registry when running make torture
1204 * docs/gst/gstreamer-sections.txt:
1205 remove second multiply
1206 * gst/gstqueue.c: (gst_queue_loop):
1207 fix a compile warning when disabling debug
1209 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1212 Hey! Let's print the pad name if the pointer != NULL instead
1213 of when it == NULL :-)
1215 2005-11-28 Wim Taymans <wim@fluendo.com>
1217 * check/gst/gstutils.c: (GST_START_TEST):
1218 Updated check, add some scaling accuracy checking code.
1220 * gst/gstutils.c: (gst_util_div128_64),
1221 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1222 (gst_util_uint64_scale_int):
1223 Fix 6 times faster division code. Optimize for common
1224 1/1 and less common X/1 cases.
1226 2005-11-28 Wim Taymans <wim@fluendo.com>
1228 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1231 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1232 (do_linear_regression), (gst_clock_add_observation):
1234 Release lock when the clock cannot be slaved.
1235 Catch the case where the regression returned an invalid denominator.
1237 * gst/gstutils.c: (gst_util_div128_64_iterate),
1238 (gst_util_div128_64), (gst_util_uint64_scale_int64),
1239 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1240 Add protentially more performant non-iterative 128/64 divide function
1241 that unfortunatly does not work yet.
1242 Shortcut the trivial 0/X = 0 case.
1243 Remove the warnings on overflow.
1245 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1247 * gst/gstplugin.c: (gst_plugin_register_func):
1248 everything causing a plugin not to load should be at least a WARNING
1250 2005-11-28 Stefan Kost <ensonic@users.sf.net>
1252 * docs/random/ensonic/dparams.txt:
1253 some TODOs for the next dev cycle
1254 * libs/gst/controller/gstcontroller.c:
1255 (gst_controlled_property_set_interpolation_mode),
1256 (gst_controlled_property_new):
1257 * libs/gst/controller/gstcontroller.h:
1258 use base type to assign acccessor functions
1260 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1262 * check/Makefile.am:
1263 Oops, that should have been top_srcdir
1265 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1267 * check/Makefile.am:
1268 * check/elements/fdsrc.c: (GST_START_TEST):
1269 Use a cmdline define to specify the location of a file to use for
1270 testing, to avoid breaking distcheck.
1272 2005-11-28 Andy Wingo <wingo@pobox.com>
1274 * gst/gstpad.c (fixate_value): Use array functions for arrays.
1276 2005-11-28 Edward Hervey <edward@fluendo.com>
1278 * tools/gst-launch.c: (main):
1279 Clarify the output strings, makes it easier to translate.
1282 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1285 don't try and build net if we don't even have <sys/socket.h>
1287 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
1289 * check/Makefile.am:
1290 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1291 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1292 Add tests for fdsrc seekability
1294 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1295 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1296 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1297 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1298 * gst/elements/gstfdsrc.h:
1299 fdsrc should not be a 'live' source.
1300 Implement seeking on seekable fd's.
1302 * gst/gstquery.c: (gst_query_new_seeking),
1303 (gst_query_parse_seeking):
1305 Implement SEEKING query functions:
1306 *_new_seeking and *_parse_seeking
1308 2005-11-27 Stefan Kost <ensonic@users.sf.net>
1310 * gst/gstelement.c: (gst_element_dispose):
1313 * gst/gstiterator.c:
1314 * gst/gststructure.c:
1317 * libs/gst/controller/gstcontroller.c:
1318 (gst_controlled_property_set_interpolation_mode):
1319 * libs/gst/controller/gstcontroller.h:
1320 * libs/gst/controller/gstinterpolation.c:
1321 (interpolate_none_get_enum_value_array):
1322 support controlling enums
1324 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1327 Improve documentation for gst_value_union().
1330 Change return value for union, intersect and subtract functions
1331 from gint to gboolean.
1333 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1335 * gst/gstvalue.c: (gst_value_serialize_any_list),
1336 (gst_value_transform_any_list_string),
1337 (gst_value_deserialize_list), (gst_value_deserialize_array),
1338 (gst_value_set_int_range), (gst_value_deserialize_int_range),
1339 (gst_value_set_double_range), (gst_value_deserialize_double_range),
1340 (gst_value_set_fraction_range_full),
1341 (gst_value_deserialize_fraction_range),
1342 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1343 (gst_value_deserialize_boolean),
1344 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1345 (gst_value_serialize_float), (gst_value_deserialize_float),
1346 (gst_string_wrap), (gst_value_deserialize_string),
1347 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1348 (gst_value_union_int_range_int_range),
1349 (gst_value_intersect_int_range_int_range),
1350 (gst_value_intersect_double_range_double_range),
1351 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1352 (gst_value_subtract_int_range_int_range),
1353 (gst_value_subtract_double_double_range),
1354 (gst_value_subtract_double_range_double_range),
1355 (gst_value_deserialize_fraction):
1357 Use gint, gdouble and gchar in our API instead of int, double and
1358 char (and make usage in gstvalue.c more consistent).
1360 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1362 * check/Makefile.am:
1363 * libs/gst/controller/Makefile.am:
1364 * libs/gst/dataprotocol/Makefile.am:
1365 fix up Makefile.am and remove GST_ENABLE_NEW
1367 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1371 * gst/base/Makefile.am:
1372 * gst/check/Makefile.am:
1373 * gst/elements/Makefile.am:
1374 * gst/net/Makefile.am:
1375 update LDFLAGS use some more
1377 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1379 * common/m4/gst-doc.m4:
1382 2005-11-26 Edward Hervey <edward@fluendo.com>
1384 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1385 This shouldn't issue a g_warning since it returns NULL if it
1386 couldn't find the plugin, and all functions using this behave
1387 properly on a NULL return. Switching to a GST_WARNING.
1389 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
1391 * gst/gstbin.c: (gst_bin_handle_message_func):
1392 Don't leak clock messages.
1394 2005-11-25 Wim Taymans <wim@fluendo.com>
1396 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1397 (gst_util_uint64_scale_int):
1398 Optimisations, remove unneeded vars.
1400 2005-11-25 Wim Taymans <wim@fluendo.com>
1402 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1403 Added more checks for the high precision uint64 cases.
1405 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1406 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1407 Implement high precision (guint64 * guint64) / guint64.
1409 2005-11-24 Wim Taymans <wim@fluendo.com>
1411 * gst/base/gstbasesrc.c: (gst_base_src_query):
1412 Fix wrong percentage query.
1414 * gst/gstutils.c: (gst_util_uint64_scale),
1415 (gst_util_uint64_scale_int):
1416 Add some more common cases that can be handled
1417 efficiently to _scale.
1419 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1421 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1422 (gst_mini_object_suite):
1423 don't use check calls from threads; check probably isn't
1424 threadsafe and using a lock to make it threadsafe would
1425 defeat the purpose of this check
1426 * gst/check/gstcheck.c:
1427 * gst/check/gstcheck.h:
1428 use GST_DEBUG some more
1430 2005-11-24 Wim Taymans <wim@fluendo.com>
1432 * gst/gstutils.c: (gst_util_uint64_scale),
1433 (gst_util_uint64_scale_int):
1434 Chain trivial case to _scale_int.
1436 2005-11-24 Wim Taymans <wim@fluendo.com>
1438 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1439 Added test for scaling.
1444 * gst/gstutils.c: (gst_util_uint64_scale_int):
1445 Implemented high precision scaling code.
1447 2005-11-24 Stefan Kost <ensonic@users.sf.net>
1450 do not crash on pad==NULL
1452 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1454 Patch by: Stefan Kost
1456 * common/gtk-doc.mak:
1457 * docs/gst/Makefile.am:
1458 * docs/libs/Makefile.am:
1459 Fix distcheck issues for the libraries docs build
1462 2005-11-24 Michael Smith <msmith@fluendo.com>
1464 * docs/manual/basics-helloworld.xml:
1465 Fix bug #315027: memory leak in example code in docs.
1467 2005-11-24 Michael Smith <msmith@fluendo.com>
1469 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1470 Unlock the PREROLL_LOCK in a failure case.
1472 2005-11-24 Wim Taymans <wim@fluendo.com>
1474 * docs/gst/gstreamer-sections.txt:
1475 * gst/base/gstadapter.h:
1476 * gst/base/gstbasesink.h:
1477 * gst/base/gstbasesrc.h:
1478 * gst/base/gstbasetransform.h:
1479 * gst/base/gstpushsrc.h:
1480 * gst/elements/gstfakesink.h:
1481 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1482 * gst/elements/gstfakesrc.h:
1483 * gst/elements/gstfilesink.h:
1484 * gst/elements/gstfilesrc.h:
1487 * gst/gstbuffer.c: (_gst_buffer_copy):
1490 * gst/gstchildproxy.c:
1493 * gst/gstelementfactory.c:
1494 * gst/gstelementfactory.h:
1496 * gst/gstghostpad.h:
1498 * gst/gstinterface.h:
1499 * gst/gstminiobject.c:
1500 * gst/gstminiobject.h:
1503 * gst/gstpadtemplate.h:
1504 * gst/gstpipeline.h:
1505 * gst/gstpluginfeature.h:
1510 * gst/gsttagsetter.c:
1511 * gst/gsttagsetter.h:
1514 * gst/gsttypefind.h:
1517 * gst/net/gstnetclientclock.c:
1518 * gst/net/gstnetclientclock.h:
1519 * gst/net/gstnettimepacket.c:
1520 * gst/net/gstnettimeprovider.c:
1521 * gst/net/gstnettimeprovider.h:
1524 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1526 * configure.ac: back to HEAD
1528 === release 0.9.6 ===
1530 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1533 releasing 0.9.6, "Always On Time"
1535 2005-11-23 Wim Taymans <wim@fluendo.com>
1537 * docs/gst/gstreamer-sections.txt:
1538 * gst/glib-compat.c:
1539 * gst/gsttagsetter.c:
1541 * gst/net/gstnetclientclock.c:
1542 * gst/net/gstnettimepacket.h:
1545 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1547 * docs/faq/using.xml:
1548 * docs/libs/tmpl/gstcontrol.sgml:
1549 * docs/manual/advanced-dparams.xml:
1550 * docs/manual/appendix-checklist.xml:
1551 * docs/manual/basics-elements.xml:
1552 * docs/pwg/other-source.xml:
1553 * docs/random/moving-plugins:
1555 * tools/gst-launch.1.in:
1556 remove mentions of sinesrc
1558 2005-11-23 Michael Smith <msmith@fluendo.com>
1560 * docs/gst/gstreamer-sections.txt:
1561 Update for new API and API changes.
1563 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1565 Documentation typo fix.
1566 * gst/net/gstnettimepacket.c:
1567 Documentation fixes for arguments.
1569 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
1571 * gst/gststructure.c: (gst_structure_get_fraction),
1572 (gst_structure_parse_value),
1573 (gst_structure_fixate_field_nearest_fraction):
1574 * gst/gststructure.h:
1575 * gst/gstutils.c: (gst_util_uint64_scale_int):
1577 * scripts/update-funcnames:
1579 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1580 Make gst_structure_fixate_field_nearest_fraction take a numerator
1581 and denominator argument instead of a GValue
1582 add gst_structure_get_fraction helper function.
1584 2005-11-23 Wim Taymans <wim@fluendo.com>
1586 * docs/design/part-TODO.txt:
1589 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1590 * gst/net/gstnetclientclock.h:
1591 Use parent fields for timeout and window_size.
1593 2005-11-23 Andy Wingo <wingo@pobox.com>
1595 * check/net/gstnetclientclock.c (test_functioning): Adjust to
1596 rate_num/rate_denom change.
1598 * gst/net/gstnetclientclock.c
1599 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1600 OBJECT_LOCK. Don't call add_observation with the lock.
1602 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1604 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1606 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1607 deal with rate as a fraction whose numerator and denominator are
1608 GstClockTime values.
1609 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1610 master; the other fields are protected by the SLAVE_LOCK.
1611 (do_linear_regression): Note that this must be called with the
1613 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1614 OBJECT_LOCK. Call set_calibration instead of touching the
1616 (gst_clock_set_property, gst_clock_get_property): Protect
1617 master/slave parameters with the SLAVE_LOCK.
1619 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1620 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1621 note that all of the instance variables that add_observation and
1622 the set_master functions use are protected by that lock and not
1624 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1626 * gst/gstclock.c (gst_clock_add_observation): No longer requires
1627 the caller to take the object lock.
1629 2005-11-23 Wim Taymans <wim@fluendo.com>
1631 * gst/gsterror.c: (_gst_core_errors_init):
1633 Add error for clock stuff.
1635 * gst/gstpipeline.c: (gst_pipeline_change_state),
1636 (gst_pipeline_set_clock):
1637 Post clock error when clock cannot be used in a pipeline.
1639 2005-11-23 Stefan Kost <ensonic@users.sf.net>
1641 * docs/gst/gstreamer-sections.txt:
1642 make two symbols from gstinfo private for the docs
1643 * gst/base/gstcollectpads.h:
1645 fix doc typos, update docs
1647 2005-11-22 Wim Taymans <wim@fluendo.com>
1649 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1650 (gst_base_sink_wait), (gst_base_sink_do_sync),
1651 (gst_base_sink_handle_event):
1652 * gst/base/gstbasesink.h:
1653 No need to store the clock, the parent element class already
1656 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1657 Updates for clock_set returning a gboolean
1659 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1660 (gst_clock_id_wait_async), (gst_clock_class_init),
1661 (gst_clock_init), (gst_clock_finalize),
1662 (gst_clock_get_internal_time), (gst_clock_get_time),
1663 (gst_clock_slave_callback), (gst_clock_set_master),
1664 (gst_clock_get_master), (do_linear_regression),
1665 (gst_clock_add_observation), (gst_clock_set_property),
1666 (gst_clock_get_property):
1668 Implement master/slave. When setting a clock as a slave, a
1669 periodic timeout is scheduled to sample master and slave times.
1670 Then the slave clock is recalibrated to match offset and rate
1671 of the master clock.
1672 Update logging a bit.
1673 Add flag so that a clock can state that is cannot be slaved to
1676 * gst/gstelement.c: (gst_element_set_clock):
1678 The set clock returns a gboolean for when an element cannot
1679 deal with the selected clock in the pipeline.
1681 * gst/gstpipeline.c: (gst_pipeline_change_state),
1682 (gst_pipeline_set_clock):
1683 * gst/gstpipeline.h:
1684 Handle the case where the selected clock cannot be set on
1687 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1688 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1689 (gst_net_client_clock_set_property),
1690 (gst_net_client_clock_get_property),
1691 (gst_net_client_clock_observe_times):
1692 * gst/net/gstnetclientclock.h:
1693 Use regression code in GstClock parent, remove duplicated
1696 2005-11-22 Michael Smith <msmith@fluendo.com>
1698 * gst/gstutils.c: (gst_util_clock_time_scale):
1700 * docs/gst/gstreamer-sections.txt:
1701 Rename method to have extra underscore.
1703 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
1705 * gst/elements/Makefile.am:
1706 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1707 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1708 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1709 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1710 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1711 * gst/elements/gstfakesrc.h:
1712 * gst/gstqueue.c: (queue_leaky_get_type):
1713 correctly fix GEnumValues so that nick is the short lowercase
1715 * tools/gst-inspect.c: (print_element_properties_info):
1716 also show the nick, since it's useful to use from parse_launch
1720 2005-11-22 Michael Smith <msmith@fluendo.com>
1722 * gst/gstutils.c: (gst_util_clocktime_scale):
1724 * docs/gst/gstreamer-sections.txt:
1725 Add util method for scaling a clocktime by a fraction. Useful
1726 implementation is left as an exercise for the reader.
1728 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1730 * gst/gstvalue.c: (gst_value_collect_fraction_range):
1731 If needed, allocate storage in the destination value during
1734 2005-11-22 Edward Hervey <edward@fluendo.com>
1736 * docs/gst/gstreamer-sections.txt:
1741 * gst/gstutils.c: (gst_util_set_object_arg):
1742 * tools/gst-compprep.c: (main):
1743 * tools/gst-inspect.c: (print_element_properties_info):
1744 Removed GstURI, closes bug #321061
1746 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1748 * check/gst/gststructure.c: (GST_START_TEST):
1749 * gst/gststructure.c: (gst_structure_parse_value):
1750 Oops, broke automatic string type parsing.
1751 Add a test to catch it in future.
1753 2005-11-22 Andy Wingo <wingo@pobox.com>
1755 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
1756 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1757 Actually rename the function implementations. Grr.
1759 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1761 * check/gst/capslist.h:
1763 * check/gst/gststructure.c: (GST_START_TEST),
1764 (gst_structure_suite):
1765 Test automatic value type detection in gst_structure_from_string.
1766 * gst/gststructure.c: (gst_structure_parse_value):
1767 Add fraction as a type we try and guess automatically in
1768 caps/structure strings.
1770 2005-11-22 Andy Wingo <wingo@pobox.com>
1772 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1774 * gst/gsttagsetter.h:
1775 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1776 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1777 (gst_tag_setter_add_tag_valist)
1778 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1779 _add_values, _add_valist, and _add_valist_values. Since this is an
1780 interface the function suffixes should be more explicit so
1781 language binding don't end up with element.add_valist ->
1782 gst_tag_setter_add_valist, for example. Fixes #322069.
1784 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1786 * check/gst/gstcaps.c: (GST_START_TEST):
1787 Extend caps string tests to check that a caps to string
1788 conversion is reversible and produces the same caps.
1790 * gst/gststructure.c: (gst_structure_value_get_generic_type):
1791 Output "fraction" as the generic type fraction range, so caps
1792 serialisation and deserialisation works.
1793 * check/gst/capslist.h:
1794 * gst/gstvalue.c: (gst_value_deserialize_fraction):
1795 Support 'MIN' and 'MAX' for deserialising fractions.
1797 2005-11-22 Andy Wingo <wingo@pobox.com>
1799 * gst/gstevent.h (gst_event_new_new_segment)
1800 (gst_event_parse_new_segment, gst_event_new_buffer_size)
1801 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1802 Renamed from *_newsegment, *_buffersize, *_notarget.
1804 * scripts/update-funcnames: New script, performs the changes
1807 2005-11-22 Wim Taymans <wim@fluendo.com>
1809 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1810 Make sure the GstFlowReturn is returned.
1812 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1813 (gst_bus_add_signal_watch):
1815 add gst_bus_add_signal_watch_full.
1817 * gst/gstplugin.c: (gst_plugin_load_file):
1818 Small style cleanup.
1820 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1822 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1823 Block the fakesrc srcpad when we send an event, to avoid
1824 contention on the stream_lock causing random test failures.
1826 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1828 * check/gst/gstvalue.c: (GST_START_TEST):
1829 * gst/gstvalue.c: (gst_value_fraction_subtract):
1832 2005-11-22 Stefan Kost <ensonic@users.sf.net>
1835 include "gstchildproxy.h"
1836 * gst/gstchildproxy.h:
1837 * libs/gst/controller/gstcontroller.h:
1838 use G_GNUC_NULL_TERMINATED
1840 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1842 * check/gst/capslist.h:
1843 * check/gst/gstcaps.c: (GST_START_TEST):
1844 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1845 * gst/gststructure.c: (gst_structure_parse_range),
1846 (gst_structure_fixate_field_nearest_fraction):
1847 * gst/gststructure.h:
1848 * gst/gstvalue.c: (gst_value_init_fraction_range),
1849 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1850 (gst_value_collect_fraction_range),
1851 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1852 (gst_value_set_fraction_range_full),
1853 (gst_value_get_fraction_range_min),
1854 (gst_value_get_fraction_range_max),
1855 (gst_value_serialize_fraction_range),
1856 (gst_value_transform_fraction_range_string),
1857 (gst_value_compare_fraction_range),
1858 (gst_value_deserialize_fraction_range),
1859 (gst_value_intersect_fraction_fraction_range),
1860 (gst_value_intersect_fraction_range_fraction_range),
1861 (gst_value_subtract_fraction_fraction_range),
1862 (gst_value_subtract_fraction_range_fraction),
1863 (gst_value_subtract_fraction_range_fraction_range),
1864 (gst_value_collect_fraction), (gst_value_fraction_multiply),
1865 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1866 (gst_value_transform_string_fraction), (_gst_value_initialize):
1868 Implement fraction ranges and extend GstFraction to support
1869 arithmetic subtraction, as well as deserialization from integer
1870 strings such as "100"
1871 Add a testsuite as for int and double range set operations
1873 2005-11-21 Andy Wingo <wingo@pobox.com>
1877 * gst/gststructure.h: Add glib-compat.h.
1879 2005-11-21 Wim Taymans <wim@fluendo.com>
1881 * gst/gstbin.c: (gst_bin_change_state_func):
1884 2005-11-21 Wim Taymans <wim@fluendo.com>
1887 And add a nice define too.
1889 2005-11-21 Wim Taymans <wim@fluendo.com>
1891 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1892 (gst_segment_new), (gst_segment_free), (gst_segment_init),
1893 (gst_segment_set_duration), (gst_segment_set_last_stop),
1894 (gst_segment_set_seek), (gst_segment_set_newsegment),
1895 (gst_segment_to_stream_time), (gst_segment_to_running_time),
1898 Make binding friendly.
1900 2005-11-21 Andy Wingo <wingo@pobox.com>
1902 * gst/gsttagsetter.h:
1904 * gst/gststructure.h:
1906 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1909 * gst/gsterror.c (_gst_core_errors_init):
1910 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1913 * gst/Makefile.am (gst_headers): Add glib-compat.h.
1914 (noinst_HEADERS): noinst the -private.
1916 2005-11-21 Michael Smith <msmith@fluendo.com>
1919 * gst/gstregistry.h:
1920 Remove unimplemented declarations for which we can see no sensible
1923 2005-11-21 Andy Wingo <wingo@pobox.com>
1925 * gst/gst.h: Include glib-compat.h.
1927 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1929 * gst/glib-compat.c: Include the public and the private header.
1931 * gst/glib-compat-private.h: Copied here from glib-compat.h.
1935 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1937 * check/gst/gstevent.c (create_custom_events): Check that
1938 FLUSH_STOP is serialized.
1940 * check/elements/identity.c (event_func):
1941 * check/elements/fakesrc.c (event_func): No stream lock, the core
1944 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1945 stream lock taking, yay.
1947 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1948 ensure that core takes the stream lock.
1950 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1953 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1954 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1955 it already. For the flush start we do take it though so we get the
1956 right preroll state change messages.
1958 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1959 the stream lock here, the core does it for us.
1961 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1962 GST_STREAM_GET_LOCK.
1963 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
1964 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
1965 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1966 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1967 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
1968 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1970 * gst/gstpad.c: Update for stream lock name change.
1972 * gst/base/gstbasesink.c: Update for preroll lock name change.
1974 2005-11-21 Wim Taymans <wim@fluendo.com>
1976 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1977 (gst_clock_get_master):
1979 * gst/gstsystemclock.c: (gst_system_clock_init):
1980 Convert Clock flags to object flags.
1981 Added methods to manage master/slave clocks.
1983 2005-11-21 Wim Taymans <wim@fluendo.com>
1985 * check/gst/gstsegment.c: (GST_START_TEST):
1986 * docs/design/part-TODO.txt:
1987 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1988 (gst_base_sink_event), (gst_base_sink_do_sync),
1989 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1990 (gst_base_sink_query), (gst_base_sink_change_state):
1991 * gst/base/gstbasesink.h:
1992 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1993 (gst_base_src_default_newsegment),
1994 (gst_base_src_configure_segment), (gst_base_src_do_seek),
1995 (gst_base_src_get_range), (gst_base_src_loop),
1996 (gst_base_src_change_state):
1997 * gst/base/gstbasesrc.h:
1998 * gst/base/gstbasetransform.c:
1999 (gst_base_transform_prepare_output_buf),
2000 (gst_base_transform_event), (gst_base_transform_change_state):
2001 * gst/base/gstbasetransform.h:
2002 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2003 (gst_collect_pads_event):
2004 * gst/base/gstcollectpads.h:
2005 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2006 (gst_fake_src_create):
2007 * gst/elements/gstfakesrc.h:
2008 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2009 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2010 (gst_segment_set_last_stop), (gst_segment_set_seek),
2011 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2012 (gst_segment_to_running_time), (gst_segment_clip):
2014 More segment updates, replace code in plugins with segment
2017 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2019 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2020 Don't ignore sscanf results
2022 2005-11-21 Andy Wingo <wingo@pobox.com>
2024 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2027 * *.c: Ran scripts/update-macros. Oh yes.
2029 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2030 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2033 * scripts/update-macros: New script. Run it on your files to
2034 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2037 2005-11-21 Stefan Kost <ensonic@users.sf.net>
2039 * docs/gst/Makefile.am:
2040 * docs/gst/gstreamer-docs.sgml:
2041 * docs/gst/gstreamer-sections.txt:
2042 * docs/gst/gstreamer.types:
2044 more docs fixes, add new api to the docs
2046 2005-11-21 Andy Wingo <wingo@pobox.com>
2048 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2049 state_broadcast call.
2051 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2053 2005-11-21 Julien MOUTTE <julien@moutte.net>
2055 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2056 function calls for arrays.
2058 2005-11-21 Stefan Kost <ensonic@users.sf.net>
2060 * docs/random/ensonic/media-device-daemon.txt:
2061 wild idea, can this be done?
2062 * docs/gst/gstreamer-sections.txt:
2067 * gst/gstpluginfeature.c:
2071 doc fixes and additions
2073 2005-11-21 Andy Wingo <wingo@pobox.com>
2075 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
2076 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
2077 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
2078 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2079 private to the basesrc implementation.
2081 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2082 behalf of event function if necessary. It should no longer be
2083 necessary to take the stream lock in pad's event functions. Fixes
2086 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2087 * docs/gst/gstreamer-sections.txt:
2088 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2089 (gst_structure_fixate_field_nearest_double),
2090 (gst_structure_fixate_field_boolean):
2091 * gst/gststructure.h:
2092 * win32/common/libgstreamer.def:
2093 * win32/gstreamer.def:
2095 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2098 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2100 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2101 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2102 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2103 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2104 (gst_fdsrc_uri_handler_init):
2105 * gst/elements/gstfdsrc.h:
2106 Port fd:// URI handler from 0.8 to fdsrc
2108 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2110 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2111 (gst_value_serialize_fourcc):
2113 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2114 consistent with our other format defines (#320324).
2116 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2118 * gst/gstvalue.c: (gst_value_is_fixed):
2119 Revert previous commit. Value lists are by definition
2120 not fixed, as they are a list of possible values.
2122 2005-11-21 Andy Wingo <wingo@pobox.com>
2124 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2125 during the stable series if we need it. Fixes #319178.
2127 * gst/gstevent.c (gst_event_new_filler): Removed.
2129 * check/gst/gstevent.c: Update comment about filler events.
2131 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2133 * gst/gstvalue.c: (gst_value_is_fixed):
2134 Should handle both value arrays and value lists.
2136 2005-11-21 Andy Wingo <wingo@pobox.com>
2138 patch by: Alessandro Dessina <alessandro nnva org>
2140 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2141 functions to access arrays. Fixes #321962.
2143 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2145 * docs/gst/gstreamer.types:
2146 gst_collectpads_get_type => gst_collect_pads_get_type.
2148 * gst/base/gstbasetransform.c:
2149 Remove unused SIGNAL_HANDOFF enum.
2151 2005-11-21 Andy Wingo <wingo@pobox.com>
2153 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2154 the event type (upstream, downstream, serialized). Renamed
2155 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2156 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2157 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2159 * gst/gstevent.c: Update for new CUSTOM event names.
2161 * check/gst/gstevent.c: Update check for new CUSTOM event names.
2164 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2167 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2169 * docs/gst/gstreamer-sections.txt:
2170 * win32/common/libgstbase.def:
2171 * win32/libgstbase.def:
2172 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2173 (gst_collect_pads_class_init), (gst_collect_pads_init),
2174 (gst_collect_pads_finalize), (gst_collect_pads_new),
2175 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2176 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2177 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2178 (gst_collect_pads_start), (gst_collect_pads_stop),
2179 (gst_collect_pads_peek), (gst_collect_pads_pop),
2180 (gst_collect_pads_available), (gst_collect_pads_read),
2181 (gst_collect_pads_flush), (gst_collect_pads_event),
2182 (gst_collect_pads_chain):
2183 * gst/base/gstcollectpads.h:
2184 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2185 unimplemented functions as unimplemented. Add padding to
2186 GstCollectData. (#320766, #320423)
2188 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2191 Improve docs for DURATION message (usage of duration parameter)
2194 2005-11-20 Wim Taymans <wim@fluendo.com>
2196 * check/Makefile.am:
2197 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2201 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2202 (gst_segment_set_seek), (gst_segment_set_newsegment),
2203 (gst_segment_to_stream_time), (gst_segment_to_running_time),
2206 Added segment helper structure and methods. Not fully implemented
2208 Added segment check.
2210 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
2212 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2213 Add a deserialisation test for fractions
2214 * examples/metadata/read-metadata.c: (message_loop),
2215 (make_pipeline), (main):
2216 Fix up metadata reading sample.
2217 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2219 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2220 Don't try and fixate empty caps
2221 * gst/gst_private.h:
2222 Wrap in G_BEGIN_DECLS/G_END_DECLS
2223 * gst/gstvalue.c: (gst_value_collect_fraction),
2224 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2225 (gst_value_transform_string_fraction),
2226 (gst_value_compare_fraction):
2227 Add some extra guards to ensure that we don't end up
2228 with an invalid denominator of 0 in a gstfraction and
2229 that fractions always get reduced.
2231 2005-11-20 Wim Taymans <wim@fluendo.com>
2233 * docs/gst/gstreamer-sections.txt:
2244 2005-11-20 Wim Taymans <wim@fluendo.com>
2246 * docs/design/part-TODO.txt:
2248 Make a proper enum of the flag.
2250 2005-11-19 Wim Taymans <wim@fluendo.com>
2252 * docs/design/part-TODO.txt:
2253 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2254 (gst_format_to_quark), (gst_format_register):
2256 * gst/gstquery.c: (_gst_query_initialize),
2257 (gst_query_type_get_name), (gst_query_type_to_quark),
2258 (gst_query_type_register):
2260 Add type to quark and type to string conversions.
2262 2005-11-19 Andy Wingo <wingo@pobox.com>
2264 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2267 2005-11-19 Wim Taymans <wim@fluendo.com>
2269 * docs/design/part-TODO.txt:
2270 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2271 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2272 (gst_bin_handle_message_func):
2274 Make message handling overridable.
2276 2005-11-19 Andy Wingo <wingo@pobox.com>
2278 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2281 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2283 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2284 is a GstClockTime. Fixes #321710.
2286 * gst/gstclock.h (GstClock): Remove offset property. Add
2287 internal_calibration and external_calibration. Fix padding. Pad
2288 also by GstClockTime so we don't run into problems.
2290 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2291 (gst_clock_get_rate_offset): Remove.
2292 (gst_clock_set_time_adjust): Remove. Fixes #321712.
2295 * gst/gstutils.c (g_static_rec_cond_wait)
2296 (g_static_rec_cond_timed_wait): Removed, no longer needed.
2298 * gst/gstbin.c: Remove terrible continue_state prototype.
2300 * gst/gstelement.h (gst_element_continue_state): Make public.
2303 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2304 by continue_state. Fixes #319389.
2306 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2307 Really fixes #168438. However I don't see anywhere where the
2308 filter function is called... stupid GStreamer...
2310 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2311 don't have a dispose function, so it won't get called when the
2312 object is unreffed, but oh well!
2314 * gst/gstindex.c (gst_index_set_filter_full): New API function,
2315 allows a destroy function to be set so user_data can be freed.
2317 (gst_index_set_filter): Call gst_index_set_filter_full.
2319 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2321 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2322 string should produce an error, given the lack of a way to
2323 represent NULL strings. Fixes #165650.
2326 * gst/gstvalue.c (gst_value_array_append_value)
2327 (gst_value_array_prepend_value, gst_value_array_get_size)
2328 (gst_value_array_get_value): New API, copied from
2329 gst_value_list_*, only operates on arrays.
2330 (gst_value_list_append_value, gst_value_list_prepend_value)
2331 (gst_value_list_concat, gst_value_list_get_size)
2332 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2334 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2335 init_list, because it works on both.
2336 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2337 (gst_value_copy_list_or_array): Renamed from copy_list.
2338 (gst_value_free_list_or_array): Renamed from free_list.
2339 (gst_value_collect_list_or_array): Renamed from collect_list.
2340 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2341 (gst_value_list_or_array_peek_pointer): Renamed from
2343 (_gst_value_array_value_table, _gst_value_list_value_table):
2344 Update value table functions.
2345 (gst_value_compare_list_or_array): Renamed from compare_list.
2347 * gsttaglist.h: Whoops, foreach function returns void. Also fix
2351 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2352 GstTagList*. Fixes #143472.
2354 * gst/gststructure.h: Clarify what the foreach/map functions can
2355 or can't do to their arguments.
2357 2005-11-18 Wim Taymans <wim@fluendo.com>
2359 * gst/gstclock.c: (gst_clock_set_calibration),
2360 (gst_clock_get_calibration):
2362 Calibration can be set with internal time equal to current
2365 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
2371 2005-11-18 Andy Wingo <wingo@pobox.com>
2374 * pkgconfig/gstreamer-net.pc.in:
2375 * pkgconfig/gstreamer-net-uninstalled.pc.in:
2376 * pkgconfig/Makefile.am: Add net pkgconfig files.
2378 2005-11-18 Stefan Kost <ensonic@users.sf.net>
2381 * gst/gstghostpad.c:
2387 2005-11-18 Andy Wingo <wingo@pobox.com>
2389 * gst/net/gstnetclientclock.c: Turn off debugging.
2391 * check/net/gstnetclientclock.c (test_functioning): Assert that the
2392 times connverge somewhat. Can't make a real test.
2394 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2395 integer arithmetic. Return the minimum of the domain, which can be
2396 set as "internal" for gst_clock_set_calibration.
2397 (gst_net_client_clock_observe_times): Call _set_calibration.
2398 (gst_net_client_clock_new): Call _set_calibration instead of
2401 * check/net/gstnetclientclock.c (test_functioning): Use the right
2405 * gst/gstclock.c (gst_clock_get_calibration)
2406 (gst_clock_set_calibration): New functions, obsolete the ones I
2407 added yesterday. Doh. Precision issues mean we have to extrapolate
2408 from a point in the more recent past than 1970.
2409 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2411 (gst_clock_adjust_unlocked): Use the right calibration data.
2413 2005-11-18 Edward Hervey <edward@fluendo.com>
2415 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2416 Also reset the ->current_* values in READY->PAUSED
2418 2005-11-18 Andy Wingo <wingo@pobox.com>
2420 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2421 Whoops, check the right fd. Also add some debugging.
2422 (gst_net_client_clock_observe_times): Adjust for int64 offset.
2423 (do_linear_regression): Add a crapload of debugging. Subtract off
2424 the minimum values from the input series to discard unneeded bits.
2425 Use only int arithmetic. There is still double arithmetic when
2426 calculating the intercept that needs fixing. Return boolean to
2427 indicate success; FALSE would mean the domain or range is too
2428 great. Still needs fixes.
2430 2005-11-18 Wim Taymans <wim@fluendo.com>
2432 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2433 For the current position in stream time, we need to subtract
2436 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2437 Release lock before calling the callback function of async
2440 2005-11-18 Andy Wingo <wingo@pobox.com>
2442 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2443 Port goes all the way to MAXUINT16.
2445 * gst/net/gstnettimeprovider.c: Make the port range the same as
2446 for the kernel: 0 assigns, otherwise ports are less than
2449 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2452 * check/net/gstnetclientclock.c (test_functioning): Add the start
2455 2005-11-18 Wim Taymans <wim@fluendo.com>
2457 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2458 (gst_bin_remove_func), (bin_bus_handler):
2460 Removing a clock provider from a bin, triggers a clock lost message
2461 so that a new clock will be selected.
2462 Adding a clock to a bin triggers a clock provider message.
2463 Make sure we reselect a clock when we received a clock lost message.
2464 Keep a reference to the element that provided the clock.
2466 2005-11-18 Andy Wingo <wingo@pobox.com>
2468 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2469 the clock initially so it produces values around the base time.
2470 (gst_net_client_clock_class_init): Typo fix.
2471 (gst_net_client_clock_thread): Add note on when the socket gets
2474 2005-11-17 Wim Taymans <wim@fluendo.com>
2476 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2477 Free remote and local time arrays.
2479 2005-11-17 Wim Taymans <wim@fluendo.com>
2481 * gst/net/gstnetclientclock.c: (do_linear_regression),
2482 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2483 Fix compilation, uninitialized vars and a forgotten continue.
2485 2005-11-17 Andy Wingo <wingo@pobox.com>
2487 * check/Makefile.am (check_PROGRAMS):
2488 * check/net/gstnetclientclock.c: Add a most minimal test for the
2489 net client clock. More to come later.
2492 * gst/net/Makefile.am: Add netclientclock.
2494 * gst/net/gstnetclientclock.h:
2495 * gst/net/gstnetclientclock.c: New files, implement an untested
2496 GstClock that takes its time from a network time provider.
2497 Implements the algorithm in network-clock.scm.
2499 * tests/network-clock.scm (*window-size*): Rename from
2501 * tests/network-clock.scm (network-time):
2502 * tests/network-clock-utils.scm (q-push): Update callers.
2504 2005-11-17 Wim Taymans <wim@fluendo.com>
2506 * gst/gstbin.c: (gst_bin_provide_clock_func),
2507 (gst_bin_sort_iterator_new):
2508 And unref the child too..
2510 2005-11-17 Wim Taymans <wim@fluendo.com>
2512 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2513 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2514 Refactor the sort iterator so it can be used while holding the
2516 Make clock selection select a clock closest to the source.
2518 2005-11-17 Michael Smith <msmith@fluendo.com>
2520 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2521 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2523 Anonymous structs are a gcc (and some other compilers) extension, so
2524 don't use them. Since this is only for ABI-compatibility, and our
2525 API/ABI freeze is over in a few days, this whole thing will only
2526 last a few days, so don't bother trying to think up a meaningful
2527 name for the struct.
2529 2005-11-17 Andy Wingo <wingo@pobox.com>
2531 * gst/gstclock.h (GstClock): Add rate and offset properties,
2532 preserving ABI stability. Add rate/offset accessors. Will file bug
2533 for the freeze break.
2535 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2536 and offset, trying to keep precision and avoiding
2538 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2539 functions. Make gst_clock_set_time_adjust obsolete.
2540 (gst_clock_set_time_adjust): Note that this function is obsolete.
2543 * gst/base/gstbasetransform.h: Make the ABI-stability hack
2544 greppable by using GST_PADDING-1+1.
2546 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
2548 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2550 * gst/gstmessage.c: (gst_message_parse_clock_lost):
2551 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2553 * gst/gstpadtemplate.h:
2554 * gst/gstpluginfeature.h:
2555 Don't use c++ style comments in headers (#321638).
2557 2005-11-16 Andy Wingo <wingo@pobox.com>
2559 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2562 * check/net/gstnettimeprovider.c: Check to see that the time
2563 provider actually provides times. Works, yo!
2565 2005-11-16 Wim Taymans <wim@fluendo.com>
2567 * check/Makefile.am:
2570 * check/elements/fakesrc.c: (GST_START_TEST):
2571 Set element to NULL before disposing it.
2573 2005-11-16 Andy Wingo <wingo@pobox.com>
2575 * gst/net/Makefile.am:
2577 * gst/net/gstnettimeprovider.c:
2578 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2579 provider, include it from gstnet.h, and add it to the build.
2581 * gst/net/gstnettimepacket.h:
2582 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2583 sending and receiving.
2585 2005-11-16 Wim Taymans <wim@fluendo.com>
2587 * check/Makefile.am:
2588 Enable valgrind check.
2590 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2591 (gst_fake_src_alloc_buffer):
2594 2005-11-16 Wim Taymans <wim@fluendo.com>
2596 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2597 Call parent finalize too.
2599 2005-11-16 Wim Taymans <wim@fluendo.com>
2601 * check/Makefile.am:
2602 Enable valgrind check that should work fine now.
2604 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2605 * gst/gstqueue.c: (gst_queue_init):
2606 Fix memleaks in pad allocation.
2608 2005-11-16 Andy Wingo <wingo@pobox.com>
2610 * gst/net/Makefile.am:
2611 * gst/net/gstnet.h: New part of core to hold network elements and
2612 objects. Put in core because it exposes API that applications want
2613 to use. The library is named libgstnet-tempname right now because
2614 of the existing libgstnet in gst-plugins-base. Solution is
2615 probably to rename the one in plugins-base; will file a bug for
2618 * gst/net/gstnettimeprovider.c:
2619 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2620 get_time call over the network.
2623 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2625 * check/Makefile.am:
2626 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2627 get additions shortly.
2629 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2631 * gst/gstpad.c: (gst_pad_new_from_static_template):
2633 add gst_pad_new_from_static_template functions
2634 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2635 (gst_check_setup_sink_pad):
2636 * gst/elements/gsttee.c: (gst_tee_init):
2639 2005-11-16 Wim Taymans <wim@fluendo.com>
2641 * gst/gstpad.c: (gst_pad_pause_task):
2642 Removed warning, it's not really an error either.
2644 2005-11-16 Wim Taymans <wim@fluendo.com>
2646 * gst/base/gstbasetransform.c:
2647 (gst_base_transform_prepare_output_buf),
2648 (gst_base_transform_event):
2649 Check if the caps are NULL, this can happen if the element
2650 is shutting down and the pad caps are set to NULL.
2652 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2654 * gst/elements/gsttee.c: (gst_tee_init):
2655 fix pad template leak in tee
2657 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2659 * gst/glib-compat.c: (g_value_dup_gst_object):
2660 * gst/glib-compat.h:
2661 * gst/gstpad.c: (gst_pad_set_property):
2662 use gst_object_ref when setting the pad template; this will
2663 trigger the pad template leaks on GLib 2.6 and the slaves
2665 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2667 * gst/glib-compat.c: (gst_flags_get_first_value):
2668 * gst/glib-compat.h:
2669 * gst/gstregistryxml.c:
2670 remove functions copied from GLib 2.6
2672 2005-11-16 Michael Smith <msmith@fluendo.com>
2675 Don't link against VALGRIND_LIBS. That was always the wrong thing to
2676 do, but only breaks with newer valgrind versions. We're not a
2677 valgrind tool, we have no link-time dependencies on libcoregrind.
2679 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2681 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2686 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2688 * gst/base/gstbasesrc.c: (gst_base_src_init):
2689 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2690 * gst/gstqueue.c: (gst_queue_init):
2691 * gst/gstregistryxml.c: (load_feature):
2692 Revert all these unrefs, they don't even pass make check !
2694 2005-11-15 Johan Dahlin <johan@gnome.org>
2696 * gst/base/gstbasesrc.c: (gst_base_src_init):
2697 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2698 * gst/gstqueue.c: (gst_queue_init):
2699 Free pad templates, fixes a couple of leaks.
2701 2005-11-15 Daniel Fischer <dan at f3c dot com>
2703 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2705 * gst/gstpad.c: (gst_pad_get_property):
2706 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2707 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2710 2005-11-15 Wim Taymans <wim@fluendo.com>
2715 2005-11-15 Andy Wingo <wingo@pobox.com>
2717 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2719 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2720 using GST_CLOCK_TIME_NONE to disable base time management.
2721 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2722 time if it was NONE before.
2723 (gst_pipeline_change_state): Only munge the base time if
2724 stream_time != GST_CLOCK_TIME_NONE.
2726 * check/gst/gstpipeline.c (test_base_time): Punt around the
2727 problem of the probe not being called, because that's not the
2728 issue I'm looking at. Add a check that setting stream_time to NONE
2729 disables base time management.
2731 2005-11-15 Wim Taymans <wim@fluendo.com>
2733 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2734 segment_stop == -1 at startup.
2736 * gst/base/gstbasetransform.c: (gst_base_transform_event),
2737 (gst_base_transform_change_state):
2738 Init segment values at start.
2740 2005-11-15 Wim Taymans <wim@fluendo.com>
2742 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2743 0 segment values are 0 in any format.
2745 * gst/base/gstbasetransform.c: (gst_base_transform_event):
2746 * gst/base/gstbasetransform.h:
2747 Parse newsegment correctly in basetransform
2749 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2750 Sync to clock using updated segment values.
2752 2005-11-15 Andy Wingo <wingo@pobox.com>
2754 * check/gst/gstpipeline.c (test_base_time): Add check that the
2755 base time and stream time are reset correctly.
2757 2005-11-15 Wim Taymans <wim@fluendo.com>
2759 * docs/design/part-TODO.txt:
2760 Some more TODO items.
2762 2005-11-15 Andy Wingo <wingo@pobox.com>
2764 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2765 error if the user selected "no clock" as the clocking method.
2767 * check/gst/gstpipeline.c (test_base_time): New test for buffer
2768 timestamps with live capture.
2770 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2771 is 0 but we are a live source, timestamp the buffers using the
2774 2005-11-14 Stefan Kost <ensonic@users.sf.net>
2776 * docs/gst/gstreamer-sections.txt:
2778 * gst/gstghostpad.c:
2783 2005-11-14 Wim Taymans <wim@fluendo.com>
2786 add suppressions from Wim's Debian machine
2788 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
2791 add suppressions from Andy's AMD64 Ubuntu machine
2793 2005-11-14 Andy Wingo <wingo@pobox.com>
2795 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2796 STATE_LOCK not necessary. Fixes #311489.
2798 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2801 * gst/gstindex.c (gst_index_add_object): Note in the docs that
2802 this function is not implemented.
2804 2005-11-14 Julien MOUTTE <julien@moutte.net>
2806 * gst/base/gstbasetransform.c:
2807 (gst_base_transform_prepare_output_buf):
2808 Ref the source pad caps while we need them.
2811 2005-11-11 Wim Taymans <wim@fluendo.com>
2813 * docs/gst/gstreamer-sections.txt:
2814 Added some docs for GstCollectData.
2816 * gst/base/gstadapter.c:
2817 Some small code example fix.
2819 * gst/base/gstcollectpads.c:
2820 * gst/base/gstcollectpads.h:
2823 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2825 * configure.ac: back to HEAD
2827 === release 0.9.5 ===
2829 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2832 releasing 0.9.5, "Bike Lunch Day"
2834 2005-11-11 Wim Taymans <wim@fluendo.com>
2836 * gst/gstbuffer.c: (_gst_buffer_copy):
2839 * gst/gstcaps.c: (gst_caps_is_equal):
2841 Make _is_equal fast in the trivial cases.
2843 * gst/gstminiobject.c:
2844 * gst/gstminiobject.h:
2845 More docs. Spifify .h file.
2850 2005-11-11 Wim Taymans <wim@fluendo.com>
2852 * gst/base/gstbasetransform.c:
2853 (gst_base_transform_prepare_output_buf),
2854 (gst_base_transform_handle_buffer):
2856 If we're processing a buffer and need to allocate an output
2857 buffer, we cannot accept a format change. If we did get a
2858 format change, we have to alloc a buffer ourselves of the
2861 2005-11-11 Wim Taymans <wim@fluendo.com>
2863 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2864 While checking the flag for reentrancy in the gstcaps function
2865 is nice to detect recursive invocations, it also makes it
2866 impossible to call getcaps from multiple threads, which must be
2867 possible. So, checking for recursive calls has to go.
2869 2005-11-11 Michael Smith <msmith@fluendo.com>
2871 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2872 Don't sync on buffers that fall partially outside our current
2873 segment. Prevents an assertion failure/abort playing some files.
2875 2005-11-10 Andy Wingo <wingo@pobox.com>
2877 * check/gst/gstbin.c (test_message_state_changed_children): Style
2880 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2881 gst_bus_poll with the signal watch. Ensures that poll and a signal
2882 watch see the same messages.
2884 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2885 a poll and a watch at the same time get the same messages.
2887 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
2889 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2890 * gst/gstcaps.c: (gst_caps_intersect):
2891 Don't call gst_caps_do_simplify - it doesn't respect order of caps
2892 and it's not needed.
2894 2005-11-10 Wim Taymans <wim@fluendo.com>
2896 * docs/design/part-TODO.txt:
2899 2005-11-10 Wim Taymans <wim@fluendo.com>
2901 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2902 * gst/base/gstbasesrc.c: (gst_base_src_wait),
2903 (gst_base_src_do_sync), (gst_base_src_get_range):
2904 Implement clock sync in base class.
2906 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
2908 patch by: Tim-Philipp Müller <tim at centricular dot net>
2910 * gst/gststructure.c: (gst_structure_parse_field),
2911 (gst_structure_from_string):
2912 Forward-port a 0.8 patch to handle escaped spaces in structure string,
2913 so that gst_parse_launch() can deal with spaces in filtered link
2914 caps (fixes #164479)
2915 * check/gst/capslist.h:
2916 * check/gst/gststructure.c: (GST_START_TEST):
2917 add unit tests for this change
2919 2005-11-10 Wim Taymans <wim@fluendo.com>
2921 * docs/gst/gstreamer-sections.txt:
2924 Fix docs, move some STATE macros to private.
2926 2005-11-10 Wim Taymans <wim@fluendo.com>
2928 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2929 Added check for bug #317341
2933 Some more spiffifying.
2935 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2936 Call peer linkfunction if we are a source pad. Totally fixes
2940 Update docs, source pads should call the peer linkfunction
2941 so they can atomically perform the pad link.
2943 2005-11-09 Wim Taymans <wim@fluendo.com>
2947 Uber-spiffy-spiffify some more.
2949 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
2951 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2952 * gst/elements/gstfilesink.c: (gst_file_sink_init):
2953 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2954 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2955 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2956 * gst/gstpad.c: (gst_pad_init):
2957 Use GST_DEBUG_FUNCPTR() more extensively.
2959 2005-11-09 Wim Taymans <wim@fluendo.com>
2961 * gst/gstobject.c: (gst_object_class_init):
2963 Documentation fixes.
2965 2005-11-09 Edward Hervey <edward@fluendo.com>
2967 * gst/gsttypefindfactory.c:
2970 2005-11-09 Edward Hervey <edward@fluendo.com>
2972 * gst/base/gsttypefindhelper.c:
2973 * gst/gsttypefind.c:
2974 * gst/gsttypefind.h:
2977 2005-11-09 Wim Taymans <wim@fluendo.com>
2979 * gst/gstiterator.c:
2986 2005-11-09 Wim Taymans <wim@fluendo.com>
2992 2005-11-09 Wim Taymans <wim@fluendo.com>
2994 * docs/gst/gstreamer-sections.txt:
2995 Moved the message async delivery private lock and cond
2996 to the private section.
3002 2005-11-09 Edward Hervey <edward@fluendo.com>
3004 * docs/gst/gstreamer-sections.txt:
3007 Document GstURIHandler
3009 2005-11-09 Wim Taymans <wim@fluendo.com>
3011 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3012 (gst_iterator_find_custom):
3013 * gst/gstiterator.h:
3016 2005-11-09 Wim Taymans <wim@fluendo.com>
3019 Document another field.
3021 * gst/gststructure.c:
3022 * gst/gststructure.h:
3025 2005-11-09 Wim Taymans <wim@fluendo.com>
3030 2005-11-09 Wim Taymans <wim@fluendo.com>
3032 * docs/gst/gstreamer-sections.txt:
3033 Added some new macros.
3040 2005-11-09 Wim Taymans <wim@fluendo.com>
3042 * docs/design/part-TODO.txt:
3043 Some more items for the TODO
3049 2005-11-09 Andy Wingo <wingo@pobox.com>
3051 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3052 to work on something else now tho...
3054 * gst/base/gstadapter.c: More adapter docs.
3056 * gst/elements/gstfilesink.c (gst_file_sink_start)
3057 (gst_file_sink_stop): New functions, replace the state change
3059 (gst_file_sink_class_init): Hook up the start and stop functions.
3060 (gst_file_sink_base_init): Don't set the state change handler any
3061 more. It was a bit ugly too, being set from here...
3062 (gst_file_sink_get_property, gst_file_sink_set_property):
3064 (gst_file_sink_set_location): More robust check that doesn't call
3067 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
3069 * gst/base/gstbasetransform.c: (gst_base_transform_event):
3070 Hold STREAM_LOCK while pushing newsegment or tag events as well.
3072 2005-11-08 Wim Taymans <wim@fluendo.com>
3074 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3075 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3076 (gst_base_sink_chain), (gst_base_sink_change_state):
3077 * gst/base/gstbasesink.h:
3078 * gst/base/gstbasesrc.h:
3081 Avoid excessive typechecking in macros.
3083 * gst/gstminiobject.c: (gst_mini_object_get_type),
3084 (gst_mini_object_init), (gst_mini_object_new),
3085 (gst_mini_object_free):
3086 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3087 (gst_object_finalize):
3088 Remove cruft code, optimize alloc_trace.
3090 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
3092 * docs/faq/gst-uninstalled:
3093 fix up PS1 for systems that try to reset it
3095 2005-11-07 Wim Taymans <wim@fluendo.com>
3097 * gst/base/gstbasesrc.c: (gst_base_src_init),
3098 (gst_base_src_get_range):
3099 Set the segment_end to -1 initially. Fixed typefind.
3101 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
3103 * gst/base/gstadapter.c:
3104 Debug category should be 'adapter', not 'GstAdapter'.
3106 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3107 (gst_collectpads_class_init), (gst_collectpads_init),
3108 (gst_collectpads_peek), (gst_collectpads_pop),
3109 (gst_collectpads_event), (gst_collectpads_chain):
3110 Add debug category and some debugging output. Use boilerplate
3111 macros. Remove some extraneous words from docs.
3113 2005-11-05 Andy Wingo <wingo@pobox.com>
3115 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3118 2005-11-04 Stefan Kost <ensonic@users.sf.net>
3120 * docs/gst/gstreamer-sections.txt:
3123 * gst/gstminiobject.h:
3128 2005-11-04 Wim Taymans <wim@fluendo.com>
3130 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3131 Small update to stop at the configured segment_end
3134 2005-11-04 Stefan Kost <ensonic@users.sf.net>
3136 * gst/gstregistry.c:
3137 * gst/gstregistry.h:
3140 2005-11-04 Edward Hervey <edward@fluendo.com>
3142 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3143 Check if we are doing a segment seek and have arrived at the
3144 end of that segment.
3146 2005-11-04 Wim Taymans <wim@fluendo.com>
3148 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3149 Don't leak a mutex unlock in case of an error.
3154 2005-11-04 Wim Taymans <wim@fluendo.com>
3156 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3158 Get the context to wake up only once.
3160 2005-11-03 Wim Taymans <wim@fluendo.com>
3162 * check/states/sinks.c: (GST_START_TEST):
3163 Uncomment fixed check.
3165 * docs/design/part-TODO.txt:
3168 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3169 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3170 (gst_base_sink_get_position):
3171 If we are going to PLAYING, post the right pending state
3172 when we post the intermediate paused message.
3174 * gst/gstelement.c: (gst_element_continue_state),
3175 (gst_element_set_state_func), (gst_element_change_state):
3176 Don't post state changes that were between the same state
3179 2005-11-03 Stefan Kost <ensonic@users.sf.net>
3181 * docs/gst/gstreamer-sections.txt:
3184 * gst/gstminiobject.h:
3187 more docs and doc style fixes
3189 2005-11-03 Stefan Kost <ensonic@users.sf.net>
3191 * docs/gst/gstreamer-sections.txt:
3193 * gst/gstminiobject.c:
3196 2005-11-03 Andy Wingo <wingo@pobox.com>
3198 * check/states/sinks.c (test_livesrc_sink): Add checks that the
3199 state-changed messages actually have the right order and the right
3202 2005-11-03 Wim Taymans <wim@fluendo.com>
3204 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3205 Added some more checks. Specifically the case where NO_PREROLL
3206 elements are in the pipeline.
3208 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3209 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3210 (gst_base_sink_get_position):
3211 Post READY->PAUSED state change messages too.
3212 Fix bug where VOID was posted as pending state...
3214 * gst/gstbin.c: (gst_bin_recalc_state):
3215 use _element_continue_state() to continue the state change.
3217 * gst/gstelement.c: (gst_element_continue_state),
3218 (gst_element_commit_state), (gst_element_set_state_func),
3219 (gst_element_change_state), (gst_element_change_state_func):
3220 Lots of state change cleanups, assign the STATE_RETURN in
3221 a new continue_state() function that also propagates the
3222 last return value from a state change to the app.
3223 Update some debug statements with proper category.
3225 2005-11-03 Wim Taymans <wim@fluendo.com>
3227 * docs/design/part-events.txt:
3228 * docs/design/part-gstpipeline.txt:
3229 * docs/design/part-messages.txt:
3230 * docs/design/part-overview.txt:
3231 * docs/design/part-seeking.txt:
3232 * docs/design/part-states.txt:
3233 * docs/design/part-trickmodes.txt:
3234 * docs/manual/advanced-position.xml:
3238 People think !! is ugly, this looks better.
3240 * gst/gstpad.c: (gst_pad_set_blocked_async):
3241 Remove !! since it's fixed elsewhere now.
3243 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3245 * gst/gstminiobject.h:
3247 Add !! to _FLAG_IS_SET macros to make the result boolean.
3249 2005-11-03 Edward Hervey <edward@fluendo.com>
3251 * gst/gstpad.c: (gst_pad_set_blocked_async):
3252 comparing a flag and a gboolean rarely returns coherent results...
3253 Added two characters (!!) to make that work correctly.
3255 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3257 * gst/gstbus.c: (gst_bus_class_init):
3260 * gst/gstqueue.c: (gst_queue_loop):
3261 Don't assume a miniobject that isn't a buffer is an
3262 event (it could be that there is a refcounting
3263 problem somewhere and the pointer is stale and
3264 refers to an already destroyed miniobject).
3266 2005-11-03 Julien MOUTTE <julien@moutte.net>
3268 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3270 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3272 * docs/manual/advanced-position.xml:
3273 Update seek example and explanations to current 0.9 API.
3275 * gst/elements/gsttypefindelement.c:
3276 (gst_type_find_element_activate):
3277 Remove FIXME comment now that the found caps
3280 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
3282 * gst/gstregistryxml.c: (load_feature):
3283 Add another GST_STR_NULL instance
3285 2005-11-02 Edward Hervey <edward@fluendo.com>
3287 * gst/gstpad.c: (handle_pad_block):
3288 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3290 2005-11-02 Wim Taymans <wim@fluendo.com>
3295 * gst/gstelement.c: (gst_element_commit_state):
3296 Remove unused value.
3298 * gst/gstiterator.c:
3299 Mention that the returned element is reffed in the docs.
3301 2005-11-02 Wim Taymans <wim@fluendo.com>
3303 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3304 (gst_pad_push), (gst_pad_push_event):
3305 Unlock blocked pads when they are flushed.
3307 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3310 * docs/gst/gstreamer-sections.txt:
3313 * gst/gstregistry.c: (gst_registry_scan_path_level):
3314 fix for a nasty little missed situation where an installed plug-in
3315 which was in the cache did not get overridden by an uninstalled one
3316 which was earlier in the plugin path because the newly created plugin
3317 for the uninstalled one (not in the registry) didn't get its
3318 ->registered set to TRUE
3320 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3322 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3323 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3324 (gst_collectpads_is_active), (gst_collectpads_collect),
3325 (gst_collectpads_collect_range), (gst_collectpads_start),
3326 (gst_collectpads_stop), (gst_collectpads_peek),
3327 (gst_collectpads_pop), (gst_collectpads_available),
3328 (gst_collectpads_read), (gst_collectpads_flush):
3329 Guard public API with assertions.
3332 Fix docs for gst_pad_set_link_function().
3334 2005-11-02 Johan Dahlin <johan@gnome.org>
3336 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
3337 Unref found_caps after we used it.
3339 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3341 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3342 Don't try to ref NULL.
3344 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3346 * win32/common/config.h.in:
3347 provide a GST_FUNCTION that just gives a string for now
3349 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3351 * win32/common/gstenumtypes.c: (register_gst_object_flags),
3352 (gst_object_flags_get_type), (register_gst_bin_flags),
3353 (gst_bin_flags_get_type), (register_gst_buffer_flag),
3354 (gst_buffer_flag_get_type), (register_gst_bus_flags),
3355 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3356 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3357 (gst_clock_return_get_type), (register_gst_clock_entry_type),
3358 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3359 (gst_clock_flags_get_type), (register_gst_state),
3360 (gst_state_get_type), (register_gst_state_change_return),
3361 (gst_state_change_return_get_type), (register_gst_state_change),
3362 (gst_state_change_get_type), (register_gst_element_flags),
3363 (gst_element_flags_get_type), (register_gst_core_error),
3364 (gst_core_error_get_type), (register_gst_library_error),
3365 (gst_library_error_get_type), (register_gst_resource_error),
3366 (gst_resource_error_get_type), (register_gst_stream_error),
3367 (gst_stream_error_get_type), (register_gst_event_type),
3368 (gst_event_type_get_type), (register_gst_seek_type),
3369 (gst_seek_type_get_type), (register_gst_seek_flags),
3370 (gst_seek_flags_get_type), (register_gst_format),
3371 (gst_format_get_type), (register_gst_index_certainty),
3372 (gst_index_certainty_get_type), (register_gst_index_entry_type),
3373 (gst_index_entry_type_get_type),
3374 (register_gst_index_lookup_method),
3375 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3376 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3377 (gst_index_resolver_method_get_type), (register_gst_index_flags),
3378 (gst_index_flags_get_type), (register_gst_debug_level),
3379 (gst_debug_level_get_type), (register_gst_debug_color_flags),
3380 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3381 (gst_iterator_result_get_type), (register_gst_iterator_item),
3382 (gst_iterator_item_get_type), (register_gst_message_type),
3383 (gst_message_type_get_type), (register_gst_mini_object_flags),
3384 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3385 (gst_pad_link_return_get_type), (register_gst_flow_return),
3386 (gst_flow_return_get_type), (register_gst_activate_mode),
3387 (gst_activate_mode_get_type), (register_gst_pad_direction),
3388 (gst_pad_direction_get_type), (register_gst_pad_flags),
3389 (gst_pad_flags_get_type), (register_gst_pad_presence),
3390 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3391 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3392 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3393 (gst_plugin_error_get_type), (register_gst_plugin_flags),
3394 (gst_plugin_flags_get_type), (register_gst_rank),
3395 (gst_rank_get_type), (register_gst_query_type),
3396 (gst_query_type_get_type), (register_gst_tag_merge_mode),
3397 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3398 (gst_tag_flag_get_type), (register_gst_task_state),
3399 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3400 (gst_alloc_trace_flags_get_type),
3401 (register_gst_type_find_probability),
3402 (gst_type_find_probability_get_type), (register_gst_uri_type),
3403 (gst_uri_type_get_type), (register_gst_parse_error),
3404 (gst_parse_error_get_type):
3405 * win32/common/gstversion.h:
3408 2005-11-01 Luca Ognibene <luogni@tin.it>
3411 fix docs. popt is dead, long live GOption.
3413 2005-10-31 Wim Taymans <wim@fluendo.com>
3418 2005-10-31 Andy Wingo <wingo@pobox.com>
3422 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3424 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3425 need to serialize property notifications on GLib 2.8. GLib 2.6 has
3426 the possibility of deadlocks here if code calling notify() or
3427 set() has a lock that can be taken in another notify handler (ABBA
3428 with class lock and e.g. python GIL state lock).
3430 2005-10-28 Julien MOUTTE <julien@moutte.net>
3432 * gst/gstbus.c: Doc updates.
3434 2005-10-28 Wim Taymans <wim@fluendo.com>
3436 * docs/design/part-TODO.txt:
3437 * gst/gstiterator.c:
3438 * gst/gstsystemclock.c:
3439 * gst/gstsystemclock.h:
3442 2005-10-28 Edward Hervey <edward@fluendo.com>
3444 * docs/gst/gstreamer-docs.sgml:
3445 * docs/gst/gstreamer-sections.txt:
3446 the GstURIType documentation page is private, it only defines GstURIType
3447 which should be defined in the GstURIHandler page
3449 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
3451 * gst/gstbin.c: (gst_bin_class_init):
3454 Documentation updates.
3456 2005-10-28 Wim Taymans <wim@fluendo.com>
3458 * docs/gst/gstreamer-sections.txt:
3461 Documented the clocks.
3463 2005-10-28 Stefan Kost <ensonic@users.sf.net>
3465 * docs/gst/gstreamer-sections.txt:
3466 move some macros to private sections
3467 * gst/gstminiobject.c:
3468 * gst/gstminiobject.h:
3469 add descriptions provided by ds and some more
3471 mark macro as to be removed
3473 2005-10-28 Wim Taymans <wim@fluendo.com>
3475 * docs/design/part-TODO.txt:
3476 Add an item to TODO.
3478 * gst/gstiterator.c: (gst_iterator_fold),
3479 (gst_iterator_find_custom):
3480 * gst/gstiterator.h:
3483 2005-10-28 Wim Taymans <wim@fluendo.com>
3485 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3486 (gst_base_transform_init):
3489 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3490 An EOS event marks the queue as completely filled.
3492 2005-10-27 Wim Taymans <wim@fluendo.com>
3494 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3495 (gst_base_sink_do_sync), (gst_base_sink_get_position):
3496 Some more debugging.
3498 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3499 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3500 (gst_base_transform_event), (gst_base_transform_getrange),
3501 (gst_base_transform_chain):
3502 * gst/base/gstbasetransform.h:
3504 Protect transform and concurrent buffer alloc with a new lock.
3505 Try not to break ABI/API.
3507 2005-10-27 Wim Taymans <wim@fluendo.com>
3509 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3510 (gst_base_src_init), (gst_base_src_query),
3511 (gst_base_src_default_newsegment),
3512 (gst_base_src_configure_segment), (gst_base_src_do_seek),
3513 (gst_base_src_send_event), (gst_base_src_event_handler),
3514 (gst_base_src_pad_get_range), (gst_base_src_loop),
3515 (gst_base_src_unlock), (gst_base_src_default_negotiate),
3516 (gst_base_src_start), (gst_base_src_deactivate),
3517 (gst_base_src_activate_push), (gst_base_src_change_state):
3518 Move some stuff around and cleanup things.
3520 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
3522 * gst/base/gstbasesrc.c: (gst_base_src_query):
3523 Add missing break statements.
3525 2005-10-27 Wim Taymans <wim@fluendo.com>
3527 * check/gst/gstbin.c: (GST_START_TEST):
3528 An extra refcount is taken in basesrc.
3530 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3531 (gst_base_src_get_range), (gst_base_src_pad_get_range),
3532 (gst_base_src_loop):
3533 Small cleanups, check for flushing after being unlocked from the
3534 LIVE_LOCK. take refcounts correctly (not yet everywhere).
3535 Don't send out EOS when going to READY.
3537 2005-10-27 Wim Taymans <wim@fluendo.com>
3539 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3540 (gst_base_sink_get_position):
3543 * gst/gstbin.c: (message_check), (bin_replace_message),
3544 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3545 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3546 (bin_query_duration_init), (bin_query_duration_fold),
3547 (bin_query_duration_done), (bin_query_generic_fold),
3549 * tools/gst-launch.c: (main):
3552 2005-10-26 Stefan Kost <ensonic@users.sf.net>
3554 * examples/controller/audio-example.c: (main):
3555 * examples/queue/queue.c: (event_loop):
3556 * gst/base/gstbasetransform.h:
3557 * gst/gstelement.c: (gst_element_send_event):
3559 * gst/gstpad.c: (gst_pad_send_event):
3562 changing log priority in error situations
3564 2005-10-25 Wim Taymans <wim@fluendo.com>
3566 * gst/gstbin.c: (message_check), (bin_replace_message),
3567 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3568 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3569 (bin_query_duration_init), (bin_query_duration_fold),
3570 (bin_query_duration_done), (bin_query_generic_fold),
3572 Some doc and debug updates.
3573 Cache previously requested query DURATION for speed. invalidate
3574 cached duration if element posts a DURATION message.
3576 2005-10-25 Wim Taymans <wim@fluendo.com>
3578 * docs/design/part-TODO.txt:
3581 * gst/gstbin.c: (message_check), (bin_replace_message),
3582 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3583 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3584 (bin_query_duration_init), (bin_query_duration_fold),
3585 (bin_query_duration_done), (bin_query_generic_fold),
3587 Handle SEGMENT_START/DONE messages correctly.
3588 More evolved query algorithm that handles duration queries
3591 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3592 (gst_element_get_state_func), (gst_element_abort_state),
3593 (gst_element_commit_state), (gst_element_lost_state):
3594 Some more debugging.
3599 2005-10-25 Wim Taymans <wim@fluendo.com>
3601 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3602 Don't use invalid stream_time.
3604 * gst/gstevent.c: (gst_event_new_newsegment):
3605 stream_time in newsegment cannot be undefined.
3607 2005-10-24 Wim Taymans <wim@fluendo.com>
3612 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3614 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3616 2005-10-24 Stefan Kost <ensonic@users.sf.net>
3618 * docs/libs/tmpl/gstdparam.sgml:
3619 * docs/libs/tmpl/gstdplinint.sgml:
3620 * docs/libs/tmpl/gstdpman.sgml:
3621 * docs/libs/tmpl/gstdpsmooth.sgml:
3622 * docs/libs/tmpl/gstunitconvert.sgml:
3625 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
3630 === release 0.9.4 ===
3632 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3635 releasing 0.9.4, "Tyrannosaurus Rex"
3637 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
3639 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3640 (gst_file_sink_get_current_offset):
3641 Use fseeko() and ftello() if available. When falling back on
3642 lseek() to get the current offset, fflush() first to make sure
3643 everything is up-to-date and we get the right offset.
3645 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3647 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3648 * gst/base/gstbasesrc.c: (gst_base_src_loop):
3649 * gst/gsterror.c: (_gst_stream_errors_init):
3651 * gst/gstqueue.c: (gst_queue_loop):
3653 remove prematurely added error category and clean up the instances
3655 2005-10-21 Wim Taymans <wim@fluendo.com>
3657 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3658 (gst_base_sink_get_position), (gst_base_sink_query),
3659 (gst_base_sink_change_state):
3660 Simply set the right flag when going to playing, that's all
3661 we need to do instead of calling a function inside the object
3662 lock (that could take the lock as well and deadlock)
3664 2005-10-21 Wim Taymans <wim@fluendo.com>
3666 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3667 (gst_base_src_loop):
3668 Don't warn, the peer element knows what to do best when
3669 the seek failed, it might try something else.
3671 2005-10-21 Wim Taymans <wim@fluendo.com>
3673 * gst/base/gstbasesrc.c: (gst_base_src_init),
3674 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3677 2005-10-21 Wim Taymans <wim@fluendo.com>
3679 * docs/design/part-segments.txt:
3682 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3683 Correctly set caps, even on the subbufer.
3685 2005-10-21 Wim Taymans <wim@fluendo.com>
3687 * docs/gst/gstreamer-docs.sgml:
3688 * docs/gst/gstreamer-sections.txt:
3695 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3699 And 2% more doc coverage.
3701 2005-10-21 Andy Wingo <wingo@pobox.com>
3703 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3706 2005-10-20 Wim Taymans <wim@fluendo.com>
3708 * gst/gsterror.c: (gst_error_get_message):
3711 * gst/gststructure.c:
3716 2005-10-20 Wim Taymans <wim@fluendo.com>
3721 Another 1% more coverage.
3723 2005-10-20 Wim Taymans <wim@fluendo.com>
3725 * docs/gst/gstreamer-sections.txt:
3726 * gst/gstelement.c: (gst_element_get_state_func),
3727 (gst_element_abort_state), (gst_element_commit_state),
3728 (gst_element_lost_state):
3730 * gst/gstquery.c: (gst_query_set_position),
3731 (gst_query_parse_position), (gst_query_set_duration),
3732 (gst_query_parse_duration), (gst_query_new_convert):
3734 Yay! 1% more docs coverage.
3736 2005-10-20 Wim Taymans <wim@fluendo.com>
3739 * gst/gstquery.c: (gst_query_set_position),
3740 (gst_query_parse_position), (gst_query_set_duration),
3741 (gst_query_parse_duration), (gst_query_new_convert):
3743 * gst/gstutils.c: (gst_element_query_convert):
3745 Docs and consistency fixes.
3747 2005-10-20 Wim Taymans <wim@fluendo.com>
3753 2005-10-20 Wim Taymans <wim@fluendo.com>
3755 * gst/gstbin.c: (message_check), (bin_replace_message),
3756 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3757 (update_degree), (gst_bin_sort_iterator_next),
3758 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3759 Reworked the message handling a bit, cache the messages instead of
3760 only the senders. alows us to do more in the future.
3762 2005-10-20 Wim Taymans <wim@fluendo.com>
3764 * docs/design/part-TODO.txt:
3767 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3768 (gst_base_sink_query):
3769 Don't use clock time to report position when in EOS.
3771 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
3773 * tools/gst-inspect.c: (print_interfaces),
3774 (print_element_properties_info), (print_element_info):
3775 Fix interface output with gst-inspect -a; don't print
3776 newlines after double/float properties.
3778 2005-10-20 Wim Taymans <wim@fluendo.com>
3780 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3781 (gst_base_sink_query):
3782 Speed up current position calculation.
3784 * gst/base/gstbasesrc.c: (gst_base_src_query),
3785 (gst_base_src_default_newsegment):
3786 Correctly set stream position in newsegment.
3788 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3789 (update_degree), (gst_bin_sort_iterator_next),
3790 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3791 * gst/gstmessage.c: (gst_message_new_custom):
3792 Clean up debugging info
3794 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3795 (gst_queue_loop), (gst_queue_handle_src_query):
3798 2005-10-19 Wim Taymans <wim@fluendo.com>
3800 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3801 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3802 Fix query handling again.
3804 2005-10-19 Wim Taymans <wim@fluendo.com>
3806 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3807 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3808 * gst/base/gstbasesrc.c: (gst_base_src_query):
3809 * gst/elements/gstfilesink.c: (gst_file_sink_query):
3810 * gst/elements/gsttypefindelement.c:
3811 (gst_type_find_handle_src_query), (find_element_get_length),
3812 (gst_type_find_element_activate):
3815 * gst/gstquery.c: (gst_query_new_position),
3816 (gst_query_set_position), (gst_query_parse_position),
3817 (gst_query_new_duration), (gst_query_set_duration),
3818 (gst_query_parse_duration), (gst_query_set_segment),
3819 (gst_query_parse_segment):
3821 Bundling query position/duration is not a good idea since duration
3822 does not change much and we don't want to recalculate it for every
3823 position query, so they are separated again..
3824 Base value in segment query is not needed.
3826 * gst/gstqueue.c: (gst_queue_handle_src_query):
3827 * gst/gstutils.c: (gst_element_query_position),
3828 (gst_element_query_duration), (gst_pad_query_position),
3829 (gst_pad_query_duration):
3831 Updates for query API change.
3832 Added some docs here and there.
3834 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
3836 * check/gst/gstbin.c: (GST_START_TEST):
3837 * check/gst/gstghostpad.c: (GST_START_TEST):
3838 * check/pipelines/cleanup.c: (GST_START_TEST):
3839 wait on thread to die so we can check refcount correctly
3841 2005-10-18 Wim Taymans <wim@fluendo.com>
3843 * check/pipelines/stress.c: (GST_START_TEST):
3844 Make check a little more time consuming.
3846 2005-10-18 Wim Taymans <wim@fluendo.com>
3848 * check/Makefile.am:
3849 * check/pipelines/stress.c: (GST_START_TEST),
3850 (simple_launch_lines_suite), (main):
3851 Small state change torture test.
3853 * docs/design/part-states.txt:
3854 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3855 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3856 (gst_base_sink_change_state):
3857 Never take state lock from streaming thread, clean up ugly
3858 hacks. Unfortunatly core does not yet support nice ways to
3861 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3863 Start state recalc if a STATE_DIRTY message is posted, but only
3864 on the toplevel bin.
3866 * gst/gstelement.c: (gst_element_sync_state_with_parent),
3867 (gst_element_get_state_func), (gst_element_abort_state),
3868 (gst_element_commit_state), (gst_element_lost_state),
3869 (gst_element_set_state_func), (gst_element_change_state):
3871 State variables are now protected with the LOCK, the state
3872 lock is only used to serialize _set_state().
3874 2005-10-18 Wim Taymans <wim@fluendo.com>
3876 * check/gst/gstbin.c: (GST_START_TEST):
3877 * check/gst/gstmessage.c: (GST_START_TEST):
3878 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3879 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3881 * gst/gstelement.c: (gst_element_abort_state),
3882 (gst_element_commit_state), (gst_element_lost_state):
3883 * gst/gstmessage.c: (gst_message_new_state_changed),
3884 (gst_message_new_state_dirty), (gst_message_new_segment_start),
3885 (gst_message_new_segment_done), (gst_message_new_duration),
3886 (gst_message_parse_state_changed),
3887 (gst_message_parse_segment_start),
3888 (gst_message_parse_segment_done), (gst_message_parse_duration):
3890 * tools/gst-launch.c: (event_loop):
3891 Seriously, this is better than a previous commit as we only need
3892 to notify the fact that an element changed state in a streaming
3893 thread, marking the state of the parents dirty, hence the
3894 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3897 2005-10-18 Wim Taymans <wim@fluendo.com>
3899 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3900 (gst_bin_recalc_func):
3901 * gst/gstelement.c: (gst_element_set_clock),
3902 (gst_element_abort_state), (gst_element_lost_state):
3903 Cleanups, prepare for state change fixes.
3905 2005-10-18 Wim Taymans <wim@fluendo.com>
3908 * gst/gstelement.c: (gst_element_class_init),
3909 (gst_element_set_state), (gst_element_set_state_func):
3911 Pending ABI changes.
3912 GThreadPool in GstBinClass to monitor async state changes.
3913 state_cookie in GstElement to detect concurrent gst/set state.
3914 set_state is now virtual too in case a very complicated element
3915 has to be constructed.
3917 2005-10-18 Wim Taymans <wim@fluendo.com>
3919 * check/gst/gstbin.c: (GST_START_TEST):
3920 * check/gst/gstmessage.c: (GST_START_TEST):
3921 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3922 * gst/gstbin.c: (bin_bus_handler):
3923 * gst/gstelement.c: (gst_element_commit_state),
3924 (gst_element_lost_state):
3925 * gst/gstmessage.c: (gst_message_new_state_changed),
3926 (gst_message_new_segment_start), (gst_message_new_segment_done),
3927 (gst_message_new_duration), (gst_message_parse_state_changed),
3928 (gst_message_parse_segment_start),
3929 (gst_message_parse_segment_done), (gst_message_parse_duration):
3931 * tools/gst-launch.c: (event_loop):
3932 Make messages future proof.
3933 state-change gets a flag if it was a message comming from the
3935 segment-start/stop can also be specified in other formats.
3936 A message to notify an app that a pipeline changed playback
3938 Also fix a GstMessage leak in -launch
3940 2005-10-18 Andy Wingo <wingo@pobox.com>
3942 * gst/gstelement.c (gst_element_dispose): More helpful message.
3944 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
3946 reviewed by: <delete if not using a buddy>
3948 * common/gtk-doc.mak:
3950 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
3952 * gst/gstregistry.c: (gst_registry_scan_path_level):
3953 unref a plug-in we get that was already initialized
3955 2005-10-18 Stefan Kost <ensonic@users.sf.net>
3957 * docs/gst/gstreamer-sections.txt:
3958 * docs/libs/gstreamer-libs-sections.txt:
3963 2005-10-17 Andy Wingo <wingo@pobox.com>
3965 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3968 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3970 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3972 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3973 (gst_element_get_state_func): Better debug message.
3974 (gst_element_commit_state): s/INFO/DEBUG/.
3975 (gst_element_lost_state, gst_element_change_state):
3977 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3978 (gst_message_new_custom): s/INFO/LOG/.
3980 2005-10-17 Michael Smith <msmith@fluendo.com>
3982 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3983 Check if end time is valid using end time, not start time.
3985 2005-10-17 Stefan Kost <ensonic@users.sf.net>
3987 * check/gst-libs/controller.c: (GST_START_TEST),
3988 (gst_controller_suite):
3989 * libs/gst/controller/gstcontroller.c:
3990 (gst_controlled_property_set_interpolation_mode):
3991 * libs/gst/controller/gstcontroller.h:
3992 * libs/gst/controller/gstinterpolation.c:
3993 * testsuite/controller/.cvsignore:
3994 * testsuite/controller/Makefile.am:
3995 * testsuite/controller/interpolator.c:
3996 merge controller testsuites
3998 remove mem-chunk from docs
4000 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
4002 * gst/gstmemchunk.c:
4003 * gst/gstmemchunk.h:
4004 * gst/gsttrashstack.c:
4005 * gst/gsttrashstack.h:
4006 out. get out. you're fired. to the Attic !
4008 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
4010 * gst/gstcaps.c: (gst_caps_intersect):
4011 fix signedness issues in a (hopefully) correct way
4012 * gst/gstelement.c: (gst_element_pads_activate):
4014 * gst/gstobject.c: (gst_object_set_parent):
4017 2005-10-17 Julien MOUTTE <julien@moutte.net>
4019 * gst/gstvalue.h: Fix prototypes.
4021 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4023 * docs/gst/gstreamer-sections.txt:
4024 * gst/gst.c: (gst_version_string):
4026 * gst/gstversion.h.in:
4027 * win32/common/libgstreamer.def:
4028 add gst_version_string ()
4030 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4034 * gst/gst.c: (init_post):
4035 * win32/common/config.h.in:
4037 * gst/gstcaps.c: (gst_caps_intersect):
4038 use gint64, the range could be bigger than a guint
4040 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4043 document potential problem in 2038
4045 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4047 * gst/gstcaps.c: (gst_caps_intersect):
4048 Fix guint j diving under 0
4050 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4053 * win32/common/config.h:
4054 * win32/common/config.h.in:
4055 check for process.h, declares getpid() on Windows
4057 include process.h if we have it
4058 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4059 * gst/gstmemchunk.h:
4060 fix signedness issues
4061 * win32/common/libgstreamer.def:
4064 2005-10-16 Julien MOUTTE <julien@moutte.net>
4066 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4067 fix. Because of unsigned ints, caps intersection was going nuts and
4068 trying to access structures with G_MAXUINT index. That fixes
4069 videotestsrc ! ffmpegcolorspace ! fakesink
4070 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4073 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4076 use the gettext macro
4077 * gst/elements/gstelements.c:
4079 * gst/indexers/gstindexers.c:
4080 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4081 * win32/common/config.h:
4083 * win32/common/config.h.in:
4084 add the template to generate config.h
4085 * win32/common/gstenumtypes.c:
4086 * win32/common/gstversion.h:
4089 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4091 * gst/gst.c: (gst_version):
4092 * gst/gstversion.h.in:
4095 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
4098 Oops, add missing closing bracket.
4100 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4103 use common m4's for argument checking
4105 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
4107 * docs/gst/gstreamer-sections.txt:
4109 Add GST_EVENT_TYPE_NAME() macro.
4111 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4114 * gst/gstpluginfeature.c:
4116 privatize more symbols
4118 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4121 add srcdir, builddir includes to GST_ALL_CFLAGS, since
4122 everything that uses GStreamer API should have the includes
4124 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4126 * docs/gst/gstreamer-sections.txt:
4127 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4129 give each value a _get_type, removes the DATA exports
4131 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4135 remove _gst_registry_auto_load, not used anymore
4136 * gst/gstbin.c: (gst_bin_get_type):
4138 * gst/gstelement.c: (gst_element_get_type):
4140 * gst/gstobject.c: (gst_object_get_type):
4142 * gst/gstpad.c: (gst_pad_get_type):
4144 make _get_type functions similar, fixes data export from library
4146 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4149 correctly make conditionals
4150 * gst/elements/Makefile.am:
4151 * gst/elements/gstelements.c:
4152 fix typo causing fdsrc not to build
4154 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4156 * testsuite/Makefile.am:
4157 * testsuite/bytestream/.cvsignore:
4158 * testsuite/bytestream/Makefile.am:
4159 * testsuite/bytestream/filepadsink.c:
4160 * testsuite/bytestream/gstbstest.c:
4161 * testsuite/bytestream/test1.c:
4162 * testsuite/bytestream/testfile1:
4163 * testsuite/caps/normalisation.c:
4164 * testsuite/caps/random.c: (main):
4165 * testsuite/cleanup/.cvsignore:
4166 * testsuite/cleanup/Makefile.am:
4167 * testsuite/cleanup/cleanup1.c:
4168 * testsuite/cleanup/cleanup2.c:
4169 * testsuite/cleanup/cleanup3.c:
4170 * testsuite/cleanup/cleanup4.c:
4171 * testsuite/cleanup/cleanup5.c:
4172 * testsuite/controller/interpolator.c:
4173 * testsuite/debug/printf_extension.c: (main):
4174 * testsuite/elements/tee.c:
4175 * testsuite/negotiation/.cvsignore:
4176 * testsuite/negotiation/Makefile.am:
4177 * testsuite/negotiation/pad_link.c:
4178 * testsuite/pad/Makefile.am:
4179 * testsuite/pad/chainnopull.c:
4180 * testsuite/pad/getnopush.c:
4181 * testsuite/pad/link.c:
4182 * testsuite/refcounting/sched.c: (create_pipeline):
4183 * testsuite/registry/Makefile.am:
4184 * testsuite/registry/gst-print-formats.c:
4185 * testsuite/schedulers/.cvsignore:
4186 * testsuite/schedulers/142183-2.c:
4187 * testsuite/schedulers/142183.c:
4188 * testsuite/schedulers/143777-2.c:
4189 * testsuite/schedulers/143777.c:
4190 * testsuite/schedulers/147713.c:
4191 * testsuite/schedulers/147819.c:
4192 * testsuite/schedulers/147894-2.c:
4193 * testsuite/schedulers/147894.c:
4194 * testsuite/schedulers/Makefile.am:
4195 * testsuite/schedulers/group_link.c:
4196 * testsuite/schedulers/queue_link.c:
4197 * testsuite/schedulers/relink.c:
4198 * testsuite/schedulers/unlink.c:
4199 * testsuite/schedulers/unref.c:
4200 * testsuite/schedulers/useless_iteration.c:
4201 * testsuite/states/bin.c:
4202 clean out/remove some stuff from the testsuite directories
4204 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4207 check for some headers
4208 * gst/elements/Makefile.am:
4209 * gst/elements/gstelements.c:
4210 don't compile fdsrc without sys/socket.h
4211 * gst/indexers/Makefile.am:
4212 * gst/indexers/gstindexers.c: (plugin_init):
4213 don't compile fileindex without mmap
4215 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4222 * check/Makefile.am:
4223 * docs/gst/Makefile.am:
4224 * examples/helloworld/Makefile.am:
4226 * gst/base/Makefile.am:
4227 * gst/check/Makefile.am:
4228 * gst/elements/Makefile.am:
4229 * gst/indexers/Makefile.am:
4230 * gst/parse/Makefile.am:
4231 * libs/gst/controller/Makefile.am:
4232 * libs/gst/dataprotocol/Makefile.am:
4233 * examples/helloworld/helloworld.c: (event_loop):
4234 compile fixes, though it's not being compiled currently
4236 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4238 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4239 Add some simple tests for the new taglist date API.
4241 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4243 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4244 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4245 Beautify 'last-message' output: print 'none' for buffer timestamps
4246 and durations if none is set; improve alignment with next messages.
4248 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4250 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4251 * gst/gstpluginfeature.h:
4252 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4253 * gst/gstregistry.h:
4254 * docs/gst/gstreamer-sections.txt:
4255 Add new API to check plugin feature version requirements.
4257 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4258 Some basic tests for the above.
4260 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4262 * gst/gststructure.c: (gst_structure_to_string):
4263 guard against NULL printf - happens when for example
4264 a message structure with GstClock gets serialized
4266 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4268 * gst/base/gstcollectpads.c: (gst_collectpads_event):
4269 Fix presumable copy'n'pasto.
4271 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4273 * gst/elements/gstfakesrc.h:
4274 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4275 * gst/elements/gsttypefindelement.c:
4277 * gst/elements/gstfilesink.c: (gst_file_sink_render):
4278 I wonder if this could actually write +2GB files before
4280 2005-10-13 Andy Wingo <wingo@pobox.com>
4282 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4283 Fix Timmeke Waymans bug.
4284 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4285 string of the proper length to gst_caps_from_string. There's a
4286 potential for, before this fix, that this could cause someone
4287 connecting over the network to cause a segfault if the payload is
4290 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4292 * docs/design/draft-push-pull.txt:
4293 * docs/design/part-overview.txt:
4294 * docs/random/TODO-pre-0.9:
4295 * docs/random/old/ChangeLog.gstreamer:
4296 * gst/base/gstpushsrc.c:
4300 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4302 * gst/glib-compat.c: (gst_flags_get_first_value):
4303 * gst/glib-compat.h:
4304 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4305 (gst_value_compare_double), (gst_value_serialize_flags):
4306 GLib 2.6 g_flags_get_first_value has a bug that triggers an
4309 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4311 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4312 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4314 * tools/gst-launch.c: (event_loop):
4315 print out clock nicely
4317 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4319 * docs/gst/gstreamer-sections.txt:
4321 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4322 (gst_tag_list_get_date_index):
4323 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4324 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4326 2005-10-13 Julien MOUTTE <julien@moutte.net>
4328 * gst/base/gstcollectpads.c: (gst_collectpads_event),
4329 (gst_collectpads_chain):
4330 * gst/base/gstcollectpads.h: Handle newsegment and store informations
4333 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4335 * docs/gst/gstreamer-sections.txt:
4338 * tools/gst-inspect.c: (main):
4339 * tools/gst-launch.c: (main):
4340 * tools/gst-run.c: (main):
4341 * tools/gst-xmlinspect.c: (main):
4342 fix GOption context leaks
4345 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4349 * win32/common/config.h:
4351 * win32/vs6/grammar.dsp:
4352 * win32/vs6/libgstelements.dsp:
4353 * win32/vs6/libgstreamer.dsp:
4356 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4358 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4359 * gst/base/gstbasesrc.c: (gst_base_src_query):
4360 fix more guint64<->gdouble conversions
4362 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4365 add win32-update target
4366 * win32/common/gstconfig.h:
4367 * win32/common/gstenumtypes.c:
4368 * win32/common/gstenumtypes.h:
4369 * win32/common/gstversion.h:
4370 add files that visual studio can't generate
4372 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4375 add a win32-update target
4378 2005-10-12 Wim Taymans <wim@fluendo.com>
4380 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4381 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4382 * gst/gstelement.c: (gst_element_commit_state),
4383 (gst_element_set_state):
4384 Protect flags with proper lock.
4385 unref provided cached clock in dispose.
4387 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4390 * gst/gstminiobject.h:
4392 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4393 removed unused flags from miniobject
4396 2005-10-12 Wim Taymans <wim@fluendo.com>
4398 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4399 (gst_file_sink_event), (gst_file_sink_render):
4400 Flush before seeking.
4402 2005-10-12 Andy Wingo <wingo@pobox.com>
4404 * gst/gst.c (gst_init_check): Ignore unknown options, as has
4405 always been the case.
4407 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4409 * check/gst/gstbin.c: (GST_START_TEST):
4410 * docs/gst/gstreamer-sections.txt:
4411 * gst/base/gstbasesink.c: (gst_base_sink_init):
4412 * gst/base/gstbasesrc.c: (gst_base_src_init),
4413 (gst_base_src_get_range), (gst_base_src_check_get_range),
4414 (gst_base_src_start), (gst_base_src_stop):
4415 * gst/base/gstbasesrc.h:
4416 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4417 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4418 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4422 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4424 * gst/gstelement.c: (gst_element_is_locked_state),
4425 (gst_element_set_locked_state), (gst_element_commit_state),
4426 (gst_element_set_state):
4428 * gst/gstindex.c: (gst_index_init):
4430 * gst/gstminiobject.h:
4431 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4432 (gst_object_set_parent):
4434 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4435 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4437 * gst/gstpadtemplate.h:
4438 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4439 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4440 * gst/gstpipeline.h:
4441 * gst/indexers/gstfileindex.c: (gst_file_index_load),
4442 (gst_file_index_commit):
4443 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4444 * testsuite/pad/link.c: (gst_test_src_init),
4445 (gst_test_filter_init), (gst_test_sink_init):
4446 * testsuite/states/locked.c: (main):
4447 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4448 moved bitshift from macro to enum definition
4450 2005-10-12 Wim Taymans <wim@fluendo.com>
4452 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4453 * gst/elements/gstfilesink.c: (gst_file_sink_event),
4454 (gst_file_sink_render):
4455 Some more debugging info.
4457 2005-10-12 Wim Taymans <wim@fluendo.com>
4459 * docs/design/part-states.txt:
4460 * tools/gst-launch.c: (main):
4462 Revert non-intentional change.
4464 2005-10-12 Wim Taymans <wim@fluendo.com>
4466 * check/gst/gstbin.c: (GST_START_TEST):
4467 * check/gst/gstelement.c: (GST_START_TEST):
4468 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4469 * check/gst/gstghostpad.c: (GST_START_TEST):
4470 * check/gst/gstpipeline.c: (GST_START_TEST):
4471 * check/pipelines/simple_launch_lines.c: (run_pipeline):
4472 * check/states/sinks.c: (GST_START_TEST):
4473 * gst/elements/gsttypefindelement.c: (stop_typefinding):
4474 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4475 (gst_bin_remove_func), (gst_bin_get_state_func),
4476 (gst_bin_recalc_state), (gst_bin_change_state_func),
4478 * gst/gstelement.c: (gst_element_get_state_func),
4479 (gst_element_get_state), (gst_element_abort_state),
4480 (gst_element_commit_state), (gst_element_set_state),
4481 (gst_element_change_state), (gst_element_change_state_func):
4483 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4484 (gst_pipeline_provide_clock_func):
4485 * gst/gstutils.c: (gst_element_link_pads_filtered):
4486 * tools/gst-launch.c: (main):
4487 * tools/gst-typefind.c: (main):
4488 Use GstClockTime in _get_state() instead of GTimeVal.
4489 Remove old code in gstutils.c
4491 2005-10-12 Andy Wingo <wingo@pobox.com>
4493 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4496 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4497 there is no task. Shouldn't affect any code, as nothing in our
4498 plugins checks this return value.
4499 (gst_pad_stop_task): Also take the stream lock if the pad has no
4502 2005-10-12 Wim Taymans <wim@fluendo.com>
4504 * gst/gstpad.c: (pre_activate), (post_activate),
4505 (gst_pad_activate_pull), (gst_pad_activate_push):
4506 Cleanup activation code. Reset old state if
4509 2005-10-12 Wim Taymans <wim@fluendo.com>
4511 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4512 (gst_base_sink_change_state):
4513 No need to prerol after receiving EOS.
4515 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4516 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4517 * gst/elements/gstidentity.c: (gst_identity_event):
4518 Print events more verbosely.
4520 2005-10-12 Wim Taymans <wim@fluendo.com>
4522 * check/Makefile.am:
4523 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4524 * check/states/sinks2.c:
4525 Moved sinks2 testcode in sinks check.
4527 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4528 (gst_bin_remove_func), (gst_bin_recalc_state),
4529 (gst_bin_change_state_func), (bin_bus_handler):
4530 Fix potential race condition when _get_state() iterated over an
4531 ASYNC element right before it posted a state completion.
4534 Do proper cast here.
4536 * gst/gstevent.c: (gst_event_new_newsegment),
4537 (gst_event_parse_newsegment):
4538 A playback rate of 0.0 is not allowed.
4540 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4542 * win32/common/config.h:
4543 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4544 (_trewinddir), (_ttelldir), (_tseekdir):
4545 * win32/common/dirent.h:
4546 * win32/common/gtchar.h:
4547 * win32/common/libgstbase.def:
4548 * win32/common/libgstreamer.def:
4549 * win32/vs6/grammar.dsp:
4550 * win32/vs6/gst_inspect.dsp:
4551 * win32/vs6/gst_launch.dsp:
4552 * win32/vs6/gstreamer.dsw:
4553 * win32/vs6/libgstbase.dsp:
4554 * win32/vs6/libgstelements.dsp:
4555 * win32/vs6/libgstreamer.dsp:
4556 Visual Studio 6 project files, and a new common directory.
4559 2005-10-11 Wim Taymans <wim@fluendo.com>
4561 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4562 (gst_base_sink_do_sync), (gst_base_sink_query),
4563 (gst_base_sink_change_state):
4564 * gst/base/gstbasesink.h:
4565 Correctly parse newsegment info.
4567 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4569 * gst/gst.c: (init_post):
4570 split plugin paths correctly
4572 2005-10-11 Wim Taymans <wim@fluendo.com>
4574 * check/gst/gstevent.c: (GST_START_TEST):
4575 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4576 (gst_base_sink_change_state):
4577 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4578 * gst/base/gstbasetransform.c: (gst_base_transform_event):
4579 * gst/elements/gstfilesink.c: (gst_file_sink_event):
4580 * gst/gstevent.c: (gst_event_new_newsegment),
4581 (gst_event_parse_newsegment):
4583 Added extra flag to newsegment for future API freeze.
4584 Updated check and base elements.
4586 2005-10-11 Julien MOUTTE <julien@moutte.net>
4588 * gst/base/gstcollectpads.c: (gst_collectpads_init),
4589 (gst_collectpads_add_pad), (gst_collectpads_pop),
4590 (gst_collectpads_event), (gst_collectpads_chain):
4591 * gst/base/gstcollectpads.h: Handle EOS correctly.
4593 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4595 * tools/gst-launch.c: (main):
4596 more null protecting
4598 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4600 * gst/gst-i18n-lib.h:
4601 check for ENABLE_NLS, not GETTEXT_PACKAGE
4602 * gst/gstregistry.c: (gst_registry_add_plugin),
4603 (gst_registry_scan_path_level),
4604 (_gst_registry_remove_cache_plugins):
4605 protect possibly NULL strings
4606 * gst/parse/types.h:
4607 config.h already included before
4608 * tools/gst-inspect.c: (main):
4609 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4610 check for ENABLE_NLS, not GETTEXT_PACKAGE
4611 * tools/gst-launch.c: (main):
4612 check for ENABLE_NLS, not GETTEXT_PACKAGE
4614 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4617 if we don't have glib, fail before testing 2.8
4618 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4619 fix a leak, should fix plugins-base testsuite
4621 2005-10-11 Andy Wingo <wingo@pobox.com>
4623 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4624 take the mode we're going to as an arg. Go head and set the mode
4625 and flushing flags now, so that if the activate function starts a
4626 thread all the flags will be in the right state.
4627 (post_activate): Renamed also. Just handle making sure streaming
4628 finishes for the deactivation case, and setting the deactivated
4630 (gst_pad_set_active): Complain loudly if deactivation fails.
4631 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4632 (gst_pad_activate_push): Adapt to pre/post_activate changes,
4633 remove the terrible hack.
4635 2005-10-11 Wim Taymans <wim@fluendo.com>
4637 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4638 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4639 (gst_bin_recalc_state), (gst_bin_change_state_func),
4640 (gst_bin_dispose), (bin_bus_handler):
4642 Prepare to make current EOS message queue more generic.
4645 * gst/gstevent.c: (gst_event_new_newsegment),
4646 (gst_event_parse_newsegment):
4648 Rename base to stream_time.
4653 2005-10-11 Wim Taymans <wim@fluendo.com>
4655 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4656 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4657 (gst_bin_change_state_func), (bin_bus_handler):
4659 Work on proper clock selection.
4661 2005-10-11 Edward Hervey <edward@fluendo.com>
4663 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
4664 * libs/gst/controller/gstcontroller.h:
4665 Added GList* version of _remove_properties() in order to be able to wrap
4668 2005-10-11 Wim Taymans <wim@fluendo.com>
4670 * docs/design/part-states.txt:
4673 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4674 (gst_bin_change_state_func), (bin_bus_handler):
4675 Doc updates. Don't distribute the same clock over and over again.
4681 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4682 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4683 (gst_pad_send_event):
4685 Make probe emission threadsafe again.
4686 Register quarks and move _get_name() from utils.
4689 * gst/gstpipeline.c: (gst_pipeline_class_init),
4690 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4691 Only redistribute the clock of it changed.
4693 * gst/gstsystemclock.h:
4698 Moved the _flow_get_name() to GstPad.
4700 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4702 * check/gst-libs/gdp.c: (GST_START_TEST):
4703 * check/gst/gstcaps.c: (GST_START_TEST):
4704 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4705 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4706 (gst_dp_packet_from_caps):
4707 fix more valgrind warnings before turning up the heat
4709 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4711 * gst/parse/grammar.y:
4712 some cleanup before the hacking
4714 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4716 * gst/base/gstbasesrc.c: (gst_base_src_query):
4718 * gst/gstutils.c: (gst_guint64_to_gdouble),
4719 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4721 externalize, basesrc uses it
4722 obviously the implementation needs testing
4724 2005-10-10 Wim Taymans <wim@fluendo.com>
4726 * tests/sched/Makefile.am:
4727 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4728 (make_pipeline3), (make_pipeline4), (print_elem), (main):
4730 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4732 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4733 apparently converting from guint64 to double is not implemented
4736 2005-10-10 Wim Taymans <wim@fluendo.com>
4738 * check/Makefile.am:
4739 * check/generic/states.c: (GST_START_TEST):
4740 * check/gst/gstbin.c: (GST_START_TEST):
4741 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4742 * check/states/sinks.c: (GST_START_TEST):
4743 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4745 Check fixes, use API as stated in design docs, remove hacks.
4747 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4748 (gst_base_sink_change_state):
4749 Catch stopping our task while we're shutting down.
4751 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4752 (gst_bin_remove_func), (gst_bin_get_state_func),
4753 (gst_bin_recalc_state), (gst_bin_change_state_func),
4756 * gst/gstelement.c: (gst_element_init),
4757 (gst_element_get_state_func), (gst_element_abort_state),
4758 (gst_element_commit_state), (gst_element_lost_state),
4759 (gst_element_set_state), (gst_element_change_state),
4760 (gst_element_change_state_func):
4762 New state change algorithm (see #318116)
4764 * gst/gstpipeline.c: (gst_pipeline_class_init),
4765 (gst_pipeline_init), (gst_pipeline_set_property),
4766 (gst_pipeline_get_property), (do_pipeline_seek),
4767 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4768 * gst/gstpipeline.h:
4769 Remove crude state change hacks.
4774 * tools/gst-launch.c: (main):
4775 Fixes for state change. Needs some more work to fully use the
4778 2005-10-10 Andy Wingo <wingo@pobox.com>
4780 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4782 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4783 this flag, but it's not even in GLib 2.6. Odd. Hack around the
4786 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4788 * gst/gstiterator.c: (gst_iterator_new):
4789 Fix my previous commit: GTypes passed to gst_iterator_new()
4790 can be fundamental types.
4792 2005-10-10 Wim Taymans <wim@fluendo.com>
4794 * gst/gstelement.c: (gst_element_iterate_pad_list),
4795 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4796 (gst_element_iterate_sink_pads):
4797 Use src/sink pads lists for the respective iterators instead
4800 2005-10-10 Andy Wingo <wingo@pobox.com>
4802 Merged in popt removal + GOption addition patch from Ronald, bug
4805 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4806 GstElement macros around, remove popt-related symbols, add goption
4809 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4811 * docs/gst/Makefile.am:
4812 * docs/libs/Makefile.am: No POPT_CFLAGS.
4814 * examples/manual/Makefile.am:
4815 * docs/manual/basics-init.xml: Doc updates with an example.
4817 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4818 (gst_init), (parse_one_option), (parse_goption_arg):
4819 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4820 bit of hand merging and debugging to get the GOption stuff working
4823 * tests/Makefile.am:
4824 * tools/Makefile.am:
4825 * tools/gst-inspect.c: (main):
4826 * tools/gst-launch.c: (main):
4827 * tools/gst-run.c: (main):
4828 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4830 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4832 * gst/gstiterator.c: (gst_iterator_new):
4833 Add assertions to make sure passed GType is likely to really
4834 be a GType (as the compiler won't catch it if the size and
4835 GType arguments get mixed up, see #318447).
4837 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
4839 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4841 * gst/gstbin.c: (gst_bin_iterate_sorted):
4842 Pass GType and size arguments to gst_iterator_new() in the right
4843 order (maybe we should make _new() take the GType as first argument
4844 just like _new_list()?) (#318447).
4847 2005-10-10 Wim Taymans <wim@fluendo.com>
4849 * gst/gstelement.c: (gst_element_finalize):
4850 And free the GStaticRecMutex too
4852 2005-10-10 Andy Wingo <wingo@pobox.com>
4854 * gst/gstelement.c (gst_element_init, gst_element_finalize):
4855 Allocate and free the mutex properly.
4857 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4859 (GstElement): The state_lock is now recursive. Rebuild your
4860 plugins, suckers. Old macros adapted.
4862 * docs/gst/gstreamer-sections.txt: Doc updates.
4865 * gst/gstutils.c (g_static_rec_cond_timed_wait)
4866 (g_static_rec_cond_wait): Ported from state changes patch, while
4867 we wait on bug #317802 to be solved in a well-distributed GLib.
4869 * gst/gstelement.c (gst_element_change_state_func): Renamed from
4870 gst_element_change_state, variable name changes.
4871 (gst_element_change_state): Split out of gst_element_set_state in
4872 preparation for the state change merge. Doesn't pay attention to
4873 the 'transition' argument.
4874 (gst_element_set_state): Updates, hopefully purely cosmetic.
4875 (gst_element_sync_state_with_parent): MT-safety. Ported from the
4877 (gst_element_get_state_func): Renamed from get_state, cosmetic
4880 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4882 * gst/elements/gstelements.c:
4883 * win32/GStreamer.vcproj:
4885 * win32/dirent.c: (_tseekdir):
4886 * win32/gst-inspect.vcproj:
4887 * win32/gst-launch.vcproj:
4888 * win32/gstconfig.h:
4889 * win32/gstelements.vcproj:
4890 * win32/gstenumtypes.c: (gst_object_flags_get_type):
4891 * win32/gstreamer.def:
4893 updates for the win32 build (patch from Sebastien Moutte)
4895 2005-10-10 Andy Wingo <wingo@pobox.com>
4897 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4898 gst_bin_get_state, cleaned up (but no logic changes).
4899 (bin_element_is_sink): Comment updates.
4900 (sink_iterator_filter): Remove needless cast.
4901 (gst_bin_iterate_sinks): Doc update.
4902 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4903 cleaned up (but no logic changes).
4905 * check/states/sinks.c (test_src_sink): Cleanups from the state
4907 (test_livesrc_sink): Sync on the state.
4909 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4910 the state change patch.
4912 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4915 * check/gst/gstbin.c: Merge in some style fixes and additional
4916 checks from Wim's state change patch.
4918 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4920 * gst/base/gsttypefindhelper.c: (helper_find_peek),
4921 (gst_type_find_helper):
4922 Check whether we have the requested data already in our list of
4923 cached buffers before pulling a new buffer; also make the buffer
4924 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4926 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4931 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4932 don't use long long, it's not portable. Replacing with
4933 gint64 seems to work; let's hope no skeletons fall out of the closet.
4935 2005-10-10 Andy Wingo <wingo@pobox.com>
4937 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4939 2005-10-09 Stefan Kost <ensonic@users.sf.net>
4941 * docs/gst/gstreamer-sections.txt:
4946 * gst/gstmessage.c: (gst_message_parse_state_changed):
4949 more docs, fix compilation
4951 2005-10-09 Philippe Khalaf <burger@speedy.org>
4953 Fixed a few forgotten variables on previous commit
4955 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
4957 * gst/base/gsttypefindhelper.c: (helper_find_peek):
4958 Fix evil typefind crasher: getrange() might return a short
4959 buffer at the end of a file, but gst_type_find_peek() must
4960 either return the full data as requested or NULL, but
4961 never a short buffer.
4963 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
4965 * gst/gstmessage.c: (gst_message_new_state_changed),
4966 (gst_message_parse_state_changed):
4968 don't use "new", it's a C++ keyword
4970 2005-10-08 Wim Taymans <wim@fluendo.com>
4972 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4973 * gst/gstelement.c: (gst_element_post_message):
4974 * gst/gstpipeline.c: (gst_pipeline_change_state):
4975 Small docs and debug updates.
4977 2005-10-08 Stefan Kost <ensonic@users.sf.net>
4979 * docs/gst/gstreamer-sections.txt:
4980 * gst/gstelementfactory.c:
4985 2005-10-08 Wim Taymans <wim@fluendo.com>
4987 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4988 (gst_bin_dispose), (bin_bus_handler):
4989 Fix typos, add comments.
4990 Clear EOS list when going to PAUSED from any direction and do it
4991 in a threadsafe way.
4992 Get base time in a threadsafe way too.
4993 Fix confusing debug in the change_state function.
4994 Various other small cleanups.
4996 * gst/gstelement.c: (gst_element_post_message):
4997 Fix very verbose bus posting code.
4999 * gst/gstpipeline.c: (gst_pipeline_class_init),
5000 (gst_pipeline_set_property), (gst_pipeline_get_property),
5001 (gst_pipeline_change_state):
5002 Small ARG_ -> PROP_ cleanup
5004 2005-10-08 Wim Taymans <wim@fluendo.com>
5006 * gst/gstbin.c: (is_eos), (bin_bus_handler):
5007 Do a less CPU demanding EOS check because we can.
5009 2005-10-08 Wim Taymans <wim@fluendo.com>
5011 * libs/gst/dataprotocol/dataprotocol.c:
5012 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5013 (gst_dp_packet_from_event):
5014 * libs/gst/dataprotocol/dataprotocol.h:
5015 * libs/gst/dataprotocol/dp-private.h:
5016 It's about time we bump the version number.
5017 Since event types don't fit in the guint8 anymore describing
5018 the payload type, make payload type 16 bits wide.
5020 2005-10-08 Wim Taymans <wim@fluendo.com>
5022 * docs/design/part-TODO.txt:
5023 * docs/design/part-clocks.txt:
5024 * docs/design/part-events.txt:
5025 * docs/design/part-gstbin.txt:
5026 * docs/design/part-gstelement.txt:
5027 * docs/design/part-gstpipeline.txt:
5028 * docs/design/part-live-source.txt:
5029 * docs/design/part-messages.txt:
5030 * docs/design/part-overview.txt:
5031 * docs/design/part-states.txt:
5034 2005-10-08 Wim Taymans <wim@fluendo.com>
5038 Fix event quark registration.
5039 Add some space between events so we can insert them in the
5042 2005-10-08 Wim Taymans <wim@fluendo.com>
5044 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5045 (gst_base_sink_handle_buffer):
5052 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5053 (gst_queue_set_property), (gst_queue_get_property):
5055 Remove old unused properties.
5057 2005-10-08 Stefan Kost <ensonic@users.sf.net>
5058 * docs/gst/gstreamer-sections.txt:
5061 * gst/gstminiobject.c:
5062 * gst/gstminiobject.h:
5066 lots of new docs and doc fixes
5068 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5070 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5072 * gst/gstregistry.c: (gst_registry_lookup_locked),
5073 (gst_registry_scan_path_level):
5074 * gst/gstregistryxml.c: (load_plugin):
5075 Only ever load one plugin for a given plugin basename.
5076 This ensures correct overriding of GST_PLUGIN_PATH over
5077 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5078 system installed plugins.
5080 2005-10-08 Wim Taymans <wim@fluendo.com>
5082 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5083 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5084 Prepare for doing QOS.
5086 2005-10-08 Wim Taymans <wim@fluendo.com>
5088 * check/gst/gstbin.c: (GST_START_TEST):
5089 * check/pipelines/cleanup.c: (GST_START_TEST):
5090 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5091 Allow new clock message too.
5093 2005-10-08 Wim Taymans <wim@fluendo.com>
5095 * gst/gstmessage.c: (gst_message_new_error),
5096 (gst_message_new_warning), (gst_message_new_tag),
5097 (gst_message_new_state_changed), (gst_message_new_clock_provide),
5098 (gst_message_new_clock_lost), (gst_message_new_new_clock),
5099 (gst_message_new_segment_start), (gst_message_new_segment_done),
5100 (gst_message_parse_state_changed),
5101 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5102 (gst_message_parse_new_clock):
5104 Also carry the clock in question.
5106 2005-10-08 Wim Taymans <wim@fluendo.com>
5108 * gst/gstmessage.c: (gst_message_new_custom),
5109 (gst_message_new_eos), (gst_message_new_error),
5110 (gst_message_new_warning), (gst_message_new_tag),
5111 (gst_message_new_state_changed), (gst_message_new_clock_provide),
5112 (gst_message_new_new_clock), (gst_message_new_segment_start),
5113 (gst_message_new_segment_done), (gst_message_parse_state_changed),
5114 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5117 Added clock related messages.
5119 * gst/gstpipeline.c: (gst_pipeline_change_state):
5120 Post message when the clock changed.
5122 * tools/gst-launch.c: (event_loop):
5125 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
5127 * tools/gst-inspect.c: (print_element_properties_info):
5128 Can't pass NULL strings to g_print() on windows.
5130 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5133 * docs/gst/Makefile.am:
5134 * docs/gst/gstreamer-docs.sgml:
5135 * docs/gst/running.xml:
5136 * docs/version.entities.in:
5137 add a chapter on running GStreamer.
5138 document GST_DEBUG and GST_PLUGIN* env vars
5140 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5145 remove PLUGINS_BUILDDIR stuff
5146 * gst/gst.c: (init_post):
5147 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5149 remove, it was condescending and not needed
5151 2005-10-08 Wim Taymans <wim@fluendo.com>
5153 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5154 (gst_base_sink_handle_object), (gst_base_sink_event),
5155 (gst_base_sink_wait), (gst_base_sink_handle_event),
5156 (gst_base_sink_change_state):
5157 * gst/base/gstbasesink.h:
5158 Repost EOS message while going to PLAYING if still EOS.
5159 Make sure that when receiving a FLUSH_START we don't attempt
5160 to sync on the clock anymore.
5162 2005-10-08 Wim Taymans <wim@fluendo.com>
5164 * tools/gst-launch.c: (event_loop):
5165 Better message printout.
5167 2005-10-08 Wim Taymans <wim@fluendo.com>
5169 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5170 (gst_bin_child_proxy_get_children_count):
5171 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5172 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5173 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5174 (gst_child_proxy_set_valist):
5175 * gst/parse/grammar.y:
5176 Make ChildProxy threadsafe and fix mem leaks.
5178 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5180 * gst/gst.c: (init_post):
5181 debug the GST_PLUGIN_ env vars
5183 2005-10-08 Wim Taymans <wim@fluendo.com>
5185 * check/gst/gstbin.c: (GST_START_TEST):
5186 * check/gst/gstmessage.c: (GST_START_TEST):
5187 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5188 * gst/gstelement.c: (gst_element_commit_state),
5189 (gst_element_lost_state):
5190 * gst/gstmessage.c: (gst_message_new_state_changed),
5191 (gst_message_parse_state_changed):
5193 * tools/gst-launch.c: (event_loop):
5194 Added extra field to STATE_CHANGE message with the pending
5195 state, which will be different from the new state soon.
5197 2005-10-08 Wim Taymans <wim@fluendo.com>
5199 * gst/gstbus.c: (gst_bus_pop):
5201 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5202 Small cleanups and doc updates.
5204 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5206 * gst/gst.c: (init_pre):
5207 * gst/gstbin.c: (gst_bin_add_func):
5208 log distributing clocks and base time
5209 * gst/gstregistry.c: (gst_registry_add_plugin),
5210 (gst_registry_scan_path_level), (gst_registry_scan_path):
5211 clean up the debugging output a little
5212 * gst/gstutils.c: (gst_element_state_get_name):
5213 warn about a memleak (I've actually seen this be used, though
5214 it was probably a bug)
5216 2005-10-07 Wim Taymans <wim@fluendo.com>
5218 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5219 (gst_base_src_init), (gst_base_src_default_newsegment),
5220 (gst_base_src_newsegment), (gst_base_src_do_seek),
5221 (gst_base_src_loop), (gst_base_src_start):
5222 * gst/base/gstbasesrc.h:
5223 Make the newsegment event customizable by subclasses.
5225 2005-10-07 Wim Taymans <wim@fluendo.com>
5227 * gst/gstevent.c: (gst_event_new_buffersize),
5228 (gst_event_parse_buffersize):
5230 New event for future idea.
5232 2005-10-07 Andy Wingo <wingo@pobox.com>
5234 * gst/gstelement.c (gst_element_post_message): Doc update.
5236 * docs/gst/gstreamer-sections.txt: Update.
5238 * gst/gstmessage.c (gst_message_new_application): Made into a
5239 function like honest API calls.
5240 (gst_message_new_element): New message type.
5242 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5244 * check/elements/fakesrc.c (test_no_preroll): New check, checks
5245 that setting a live fakesrc to PAUSED returns NO_PREROLL both
5248 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5249 NO_PREROLL from gst_element_change_state to fall through.
5251 2005-10-07 Wim Taymans <wim@fluendo.com>
5253 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5254 (gst_ghost_pad_do_activate_push):
5255 Activating a ghostpad with no internal pad in push mode
5258 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
5261 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5262 Fixes compilation on Windows.
5264 2005-10-07 Michael Smith <msmith@fluendo.com>
5266 * tools/gst-inspect.c:
5267 Print out feature and plugin count at the end when printing out
5270 2005-10-04 Michael Smith <msmith@fluendo.com>
5272 * gst/gsterror.c: (_gst_stream_errors_init):
5273 Add another error string used in a few existing plugins.
5276 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5277 * tools/gst-inspect.c: (print_element_info):
5278 When a feature disappears from a plugin (and the feature exists in
5279 the cached registry file), things went horribly wrong. This isn't a
5280 complete fix, we should actually be removing the 'missing' features
5281 from the features list when we load the actual plugin. That's not
5284 2005-10-04 Johan Dahlin <johan@gnome.org>
5286 * check/gst/gstiterator.c: (GST_START_TEST):
5287 * gst/gstbin.c: (gst_bin_iterate_elements),
5288 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5289 * gst/gstelement.c: (gst_element_iterate_pads):
5290 * gst/gstformat.c: (gst_format_iterate_definitions):
5291 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5292 (gst_iterator_new_list), (gst_iterator_filter):
5293 * gst/gstiterator.h:
5294 * gst/gstquery.c: (gst_query_type_iterate_definitions):
5295 Add a GType to GstIterator, update callsites and tests.
5297 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5299 * gst/gstpad.c: (gst_pad_event_default_dispatch):
5300 give events a chance to be handled by event probes when the pad
5303 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5305 * gst/gstevent.c: (gst_event_type_get_name),
5306 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5308 add string representations for event types
5310 2005-10-06 Wim Taymans <wim@fluendo.com>
5312 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5313 Don't use NULL pointers.
5315 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5317 * gst/gst_private.h:
5321 * gst/gstpluginfeature.c:
5322 widen the debug category in output to fit the biggest one we have
5323 add a bus category and use it
5324 play with the colors
5325 fix up some categories
5327 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5329 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5330 add push activation of sink ghost pads.
5331 Andye, please verify
5333 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5335 * gst/gstutils.c: (gst_element_link_pads):
5336 fix a bug in the case where neither element has a pad
5337 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5338 add a test for that case
5340 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5342 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5343 emit have-data before checking for peers. This allows
5344 for probe handlers to connect elements. This helps autopluggers.
5345 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5347 add six checks, linked/unlinked with no/true/false probe
5349 2005-10-04 Wim Taymans <wim@fluendo.com>
5351 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5352 (gst_fake_sink_event), (gst_fake_sink_preroll),
5353 (gst_fake_sink_render), (gst_fake_sink_change_state):
5354 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5355 (gst_fake_src_get_property), (gst_fake_src_create),
5356 (gst_fake_src_stop):
5357 * gst/elements/gstidentity.c: (gst_identity_stop):
5358 Protect last_message with lock.
5360 2005-10-04 Edward Hervey <edward@fluendo.com>
5363 Added precision in the comments for GST_FORMAT_DEFAULT
5365 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
5367 * tools/gst-launch.c: (main):
5368 Don't try to run erroneous pipelines.
5370 2005-10-04 Julien MOUTTE <julien@moutte.net>
5372 * gst/gstbus.c: We don't need this header.
5374 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5379 === release 0.9.3 ===
5381 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5385 Releasing 0.9.3, "Unregistered"
5387 2005-10-03 Andy Wingo <wingo@pobox.com>
5389 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5390 whereby calling a pad's activatepush() function can start a thread
5391 that starts to push or pull before the pad gets the FLUSHING flag
5392 unset. Hack around it by holding the stream lock until the flag is
5393 set. Need to replace this with a proper solution. Together with
5394 the ghost pad fixes, this fixes mp3 playing/tagreading.
5396 * docs/design/part-gstghostpad.txt: Add a note about activation of
5397 proxy pads outside of ghost pads.
5399 * gst/gstghostpad.c: Implement the ghost pad activation design.
5401 2005-10-02 Andy Wingo <wingo@pobox.com>
5403 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5404 It is volatile, after all.
5406 * docs/design/part-gstghostpad.txt: Flesh out activation with
5409 * gst/base/gstbasesrc.c (gst_base_src_init): Use
5412 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
5415 Fix (unused) AM_CONDITIONAL tests.
5417 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
5419 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5421 * gst/gstutils.c: (gst_pad_query_convert):
5422 Add assertion that makes sure src_val is >=0, just like
5423 gst_query_new_convert() has. (#315895)
5425 2005-09-30 Edward Hervey <edward@fluendo.com>
5427 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5428 Let's not iterate pads we're not interested in, it avoids getting
5429 sky-high refcounts on sinkpad.
5431 2005-09-30 Wim Taymans <wim@fluendo.com>
5433 * gst/gstelement.c: (gst_element_set_state),
5434 (gst_element_change_state):
5435 Small tweak, element in ASYNC remains ASYNC.
5437 2005-09-30 Wim Taymans <wim@fluendo.com>
5439 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5440 Only error is an error.
5442 * gst/gstbin.c: (gst_bin_change_state):
5445 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5446 Also call pad_block in pad alloc.
5448 * gst/gstutils.c: (gst_flow_get_name):
5451 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5453 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5454 (gst_base_src_get_range):
5455 Fix documentation typos. Add some more debug info.
5457 2005-09-29 David Schleef <ds@schleef.org>
5459 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5460 more end-user friendly.
5461 * tools/gst-inspect.c: (main): Check if command-line argument is
5462 a file and attempt to load that file as a plugin.
5464 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5466 * check/gst/gstbin.c:
5467 * check/states/sinks.c:
5468 fix tests for the new warning
5469 * check/gst/gstpipeline.c:
5470 add a test for pipeline and bus interaction
5472 elements should be NULL if they get disposed; add a warning if not
5474 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5477 for 2.6 refcounting, make debug log more correct by printing
5478 the actual refcounts at the time of swap (Wim)
5480 2005-09-29 Andy Wingo <wingo@pobox.com>
5482 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5483 removes signal watches previously added via
5484 gst_bus_add_signal_watch.
5485 (gst_bus_add_signal_watch): Don't return the source id, just store
5486 it on the bus if there wasn't an id already.
5488 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5489 add_signal_watch and remove_signal_watch.
5491 2005-09-29 Edward Hervey <edward@fluendo.com>
5493 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5494 Better if we actually iterate the list :)
5496 2005-09-29 Wim Taymans <wim@fluendo.com>
5498 * check/gst/gstbin.c: (GST_START_TEST):
5499 Change for new bus API.
5501 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5502 (send_messages), (GST_START_TEST), (gstbus_suite):
5503 Change for new bus signal API.
5505 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5506 (gst_bus_source_prepare), (gst_bus_source_check),
5507 (gst_bus_create_watch), (gst_bus_add_watch_full),
5508 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5509 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5511 Remove support for multiple GSources operating on different
5512 message types as it is too complex and unneeded when using
5514 Added support for receiving signals from the bus.
5516 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5518 * docs/libs/tmpl/gstdataprotocol.sgml:
5519 * docs/manual/advanced-dataaccess.xml:
5520 * gst/elements/gstcapsfilter.c:
5522 rename filter-caps to caps property
5524 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5526 * gst/gstvalue.c: (gst_value_deserialize_fraction):
5527 More robust fraction string parsing.
5529 * docs/pwg/appendix-porting.xml:
5530 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5532 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5534 * gst/gstcaps.c: (gst_caps_do_simplify):
5535 Thou shalt not free a structure and then continue using it
5536 in the next loop iteration.
5538 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5540 Add test case for caps simplification.
5542 2005-09-29 Wim Taymans <wim@fluendo.com>
5544 * check/gst/gstbin.c: (GST_START_TEST):
5547 2005-09-29 Wim Taymans <wim@fluendo.com>
5549 * check/gst/gstbin.c: (GST_START_TEST):
5552 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5553 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5554 (find_element), (gst_bin_sort_iterator_next),
5555 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5556 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5557 (gst_bin_change_state), (gst_bin_dispose):
5558 A bin does not have a bus, it gets the bus from the parent.
5560 * gst/gstelement.c: (gst_element_requires_clock),
5561 (gst_element_provides_clock), (gst_element_is_indexable),
5562 (gst_element_is_locked_state), (gst_element_change_state),
5563 (gst_element_set_bus_func):
5566 * gst/gstpipeline.c: (gst_pipeline_class_init),
5567 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5568 The pipeline provides a bus.
5570 2005-09-28 Johan Dahlin <johan@gnome.org>
5572 * gst/gstmessage.c (gst_message_parse_state_changed): Use
5573 gst_structure_get_enum instead of gst_structure_get_int
5575 * gst/gststructure.c (gst_structure_get_enum): Impl.
5577 * gst/gststructure.h (gst_structure_get_enum): Add
5579 * docs/gst/gstreamer-sections.txt: Ditto
5581 * gst/gstmessage.c (gst_message_new_state_changed): Use
5582 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5583 which does introspection.
5584 Reviewed by Christian Schaller
5586 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5588 * gst/gstinfo.c: (gst_debug_log_default):
5589 don't do dummy g_strdup()s
5590 * libs/gst/controller/gstcontroller.c:
5591 (on_object_controlled_property_changed),
5592 (gst_controlled_property_new), (gst_controller_new_valist),
5593 (gst_controller_new_list),
5594 (gst_controller_remove_properties_valist), (gst_controller_set),
5595 (gst_controller_get), (gst_controller_sync_values),
5596 (gst_controller_get_value_array), (_gst_controller_class_init),
5597 (gst_controller_get_type):
5598 * libs/gst/controller/gstcontroller.h:
5599 * libs/gst/controller/gstinterpolation.c:
5600 (gst_controlled_property_find_timed_value_node):
5601 convert // to /**/ comments
5603 2005-09-28 Wim Taymans <wim@fluendo.com>
5605 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5606 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5607 (gst_bus_sync_signal_handler):
5609 Added async-message and sync-message signals to the bus.
5610 Added helper BusFunc to emit signals for all posted messages.
5612 * gst/gstmessage.c: (gst_message_type_get_name),
5613 (gst_message_type_to_quark), (gst_message_get_type):
5615 Register quarks for message names.
5617 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5619 * docs/libs/gstreamer-libs-sections.txt:
5620 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5621 (gst_controller_new_list):
5622 * libs/gst/controller/gstcontroller.h:
5623 added another constructor for language bindings
5625 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
5627 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5631 * gst/gstinfo.c: (_gst_debug_init):
5632 slightly more readable color for refcount debugging
5634 2005-09-28 Wim Taymans <wim@fluendo.com>
5636 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5637 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5638 (find_element), (gst_bin_sort_iterator_next),
5639 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5640 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5641 (gst_bin_change_state), (gst_bin_dispose):
5642 Small doc fixes. get_clock -> provide_clock.
5644 * gst/gstelement.c: (gst_element_class_init),
5645 (gst_element_provides_clock), (gst_element_provide_clock),
5646 (gst_element_get_clock), (gst_element_commit_state),
5647 (gst_element_lost_state):
5649 Make get/set_clock() symetric. Add provide_clock vmethod since
5650 that is actually what this function does.
5652 * gst/gstpipeline.c: (gst_pipeline_class_init),
5653 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5654 (gst_pipeline_get_clock):
5655 get_clock -> provide_clock.
5657 2005-09-28 Andy Wingo <wingo@pobox.com>
5659 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5660 lieu of real docs...
5662 * gst/elements/gstfdsrc.c: Cleaned up a bit.
5664 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
5666 * gst/elements/gstcapsfilter.c:
5667 * gst/elements/gstfakesink.c:
5668 * gst/elements/gstfakesrc.c:
5669 * gst/elements/gstfdsink.c:
5670 * gst/elements/gstfdsrc.c:
5671 * gst/elements/gstfilesink.c:
5672 * gst/elements/gstfilesrc.c:
5673 * gst/elements/gstidentity.c:
5674 * gst/elements/gsttee.c:
5675 * gst/elements/gsttypefindelement.c:
5676 Make element details static.
5678 2005-09-28 Wim Taymans <wim@fluendo.com>
5680 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5681 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5682 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5683 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5684 (gst_bin_change_state), (gst_bin_dispose):
5685 Some documentation updates.
5686 Clean up dispose handlers.
5688 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5689 * gst/gstpad.c: (gst_pad_dispose):
5690 Clean up dispose handler.
5692 * gst/gstpipeline.c: (gst_pipeline_change_state):
5693 Removed spurious UNLOCK.
5695 2005-09-27 Stefan Kost <ensonic@users.sf.net>
5697 * docs/gst/gstreamer-sections.txt:
5698 * gst/base/gstbasesrc.h:
5703 * gst/gstpipeline.c:
5704 * gst/gstpipeline.h:
5707 added two new functions to the docs
5708 documents all undocumented GstXXXFlags
5709 completed some incomplete docs
5711 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
5713 * gst/gstbin.c: (gst_bin_dispose):
5714 * gst/gstelement.c: (gst_element_dispose):
5715 remove now useless and leaky resurrection code in dispose
5716 * gst/base/gstbasesrc.c: (gst_base_src_init):
5717 * gst/gstelementfactory.c: (gst_element_factory_create):
5718 * gst/gstobject.c: (gst_object_set_parent):
5721 2005-09-27 Wim Taymans <wim@fluendo.com>
5723 * docs/design/part-TODO.txt:
5726 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5727 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5728 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5729 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5730 (gst_bin_change_state):
5732 Remove element variable, we keep element info in the iterator now.
5734 2005-09-27 Andy Wingo <wingo@pobox.com>
5736 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5739 2005-09-27 Wim Taymans <wim@fluendo.com>
5741 * check/gst/gstbin.c: (GST_START_TEST):
5742 Enable check that works now.
5744 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5745 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5746 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5747 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5748 (gst_bin_change_state):
5750 Redid the state change algorithm using a topological sort algo.
5751 Handles all cases correctly.
5752 Exposed iterator for state change order.
5755 Temp storage for state changes. Need to get rid of this soon.
5757 2005-09-27 Wim Taymans <wim@fluendo.com>
5759 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5760 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5761 (link_fold_func), (gst_pad_proxy_setcaps):
5762 Leak fixes, the fold functions need to unref the passed object and
5763 _get_parent_*() returns ref to parent.
5765 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5767 * check/gst/gstbuffer.c: (test_make_writable):
5768 Plug leak in test case and fix 'make check-valgrind'
5770 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5772 * gst/gstbuffer.c: (gst_subbuffer_init):
5773 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5774 works correctly in all circumstances (we could have just copied
5775 the parent buffer's readonly flag, but conceptually it seems
5776 cleaner to mark all subbuffers as read-only). (based on patch
5777 by Alessandro Decina, #314710).
5779 * check/gst/gstbuffer.c: (create_read_only_buffer),
5780 (test_make_writable), (test_subbuffer_make_writable),
5782 Add some tests for gst_buffer_make_writable().
5784 2005-09-27 Wim Taymans <wim@fluendo.com>
5786 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5787 use gst_object_has_ancestor().
5789 * gst/gstobject.c: (gst_object_has_ancestor):
5791 gst_object_has_ancestor() copied from gstbin.c as it is a
5794 * tests/instantiate/create.c: (create_all_elements):
5795 * tests/lat.c: (handoff_src), (handoff_sink):
5796 * tests/sched/runxml.c: (main):
5797 * tests/seeking/seeking1.c: (main):
5798 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5800 Fix compilation of some tests.
5802 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5805 Remove comment. GST_TYPE_G_ERROR is here to stay,
5806 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5809 2005-09-26 Wim Taymans <wim@fluendo.com>
5811 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5812 Added check that shows error in state change order.
5814 2005-09-26 Wim Taymans <wim@fluendo.com>
5816 * gst/gstbin.c: (gst_bin_change_state):
5817 Make state change function use 3 queues again, we were
5818 adding elements in the wrong order.
5820 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5823 * gst/gstpad.c: (gst_pad_dispose):
5824 Added some debug info first.
5826 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
5828 * docs/design/draft-push-pull.txt:
5829 * docs/design/part-events.txt:
5830 * docs/design/part-overview.txt:
5831 * docs/design/part-scheduling.txt:
5832 Replace all _pull_region() with _pull_range()
5834 2005-09-26 Andy Wingo <wingo@pobox.com>
5836 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5838 * check/gst-libs/controller.c: Update for controller api change.
5841 * tests/Makefile.am:
5842 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5843 over by GLib bug 118439.
5845 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5846 routines to a function.
5848 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5850 * libs/gst/controller/gsthelper.c:
5851 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5852 (gst_object_sync_values): Renamed from sink_values. Ugh.
5854 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5856 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5857 Renamed from controller_key, as it is exported.
5859 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5861 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
5866 * gst/gstpadtemplate.h:
5869 * gst/gstqueryutils.c:
5870 * gst/gstqueryutils.h:
5871 remove queryutils headers after moving the two used functions
5872 to gstquery. also fixes build problem for gstsiddec
5874 2005-09-26 Michael Smith <msmith@fluendo.com>
5876 * tools/gst-launch.1.in:
5877 Correct documentation in manpage of debug syntax
5879 2005-09-26 Wim Taymans <wim@fluendo.com>
5881 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5882 (gst_base_src_is_seekable), (gst_base_src_change_state):
5883 Some more debugging info.
5885 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5887 * docs/gst/gstreamer-sections.txt:
5888 * gst/base/gstbasetransform.h:
5892 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5894 * docs/gst/.cvsignore:
5895 * docs/gst/tmpl/.cvsignore:
5896 * docs/gst/tmpl/gstpipeline.sgml:
5897 * docs/gst/tmpl/gstplugin.sgml:
5898 * gst/gstpipeline.c:
5901 inlined the last two docs files
5902 removed the tmpl directory from cvs (no more conflicts here!)
5904 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5906 * docs/gst/gstreamer-sections.txt:
5907 * docs/gst/tmpl/.cvsignore:
5908 * docs/gst/tmpl/gstpad.sgml:
5909 * docs/gst/tmpl/gstpadtemplate.sgml:
5911 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5912 (gst_pad_finalize), (gst_pad_set_pad_template):
5914 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5915 (gst_pad_template_class_init), (gst_pad_template_init),
5916 (gst_pad_template_dispose), (name_is_valid),
5917 (gst_static_pad_template_get), (gst_pad_template_new),
5918 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5919 (gst_pad_template_pad_created):
5920 * gst/gstpadtemplate.h:
5921 inlined two more docs
5922 factored gstpadtemplate out of gstpad
5924 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
5926 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5927 (test_children_state_change_order_semi_sink):
5928 Fix test case: we can't rely on a fixed state change order when
5929 going from READY => PAUSED because the sink might commit its
5930 new state first when the first buffer created by the source
5931 reaches the sink before the source has finished its change state.
5932 (Test case still fails at times, see #316856, comment 5 onwards)
5934 2005-09-24 Wim Taymans <wim@fluendo.com>
5936 * docs/design/part-events.txt:
5937 * docs/design/part-gstbus.txt:
5938 * docs/design/part-gstpipeline.txt:
5939 * docs/design/part-messages.txt:
5940 * docs/design/part-overview.txt:
5941 * docs/design/part-segments.txt:
5948 * gst/gstiterator.c:
5949 Various documentation updates.
5951 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
5954 Well, that's embarassing. Luckily we weren't using
5955 GST_CLOCK_DIFF anywhere.
5957 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5959 * common/gtk-doc.mak:
5960 don't fail on building XML, FC4 slave shows a bunch of doc
5961 missing bits that I don't get
5963 * gst/gstpipeline.c:
5964 * gst/gststructure.c:
5967 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
5969 * docs/design/part-gstbin.txt:
5970 * docs/design/part-gstbus.txt:
5972 Add blurb about how the bus goes into flushing mode and
5973 drops all messages when its bin goes from READY into NULL
5976 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5978 * docs/gst/gstreamer-sections.txt:
5979 * gst/gststructure.c: (gst_structure_get_clock_time):
5980 * gst/gststructure.h:
5981 add a method to get a GstClockTime out of a structure
5983 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
5985 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5986 (test_children_state_change_order_semi_sink), (gst_bin_suite):
5987 Added test to check state change order in bins (can still be made
5988 to fail here under heavy disk load; bails out with 'Push on pad
5989 fakesink:sink0, but it was not activated in push mode').
5991 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5992 Fix state change order when there is only a semi sink (#316856)
5994 * gst/gstbus.c: (gst_bus_class_init):
5995 Use _class_peek_parent(), not _class_ref(); fix docs to say
5996 'default main context' instead of 'mainloop' where that is
5999 * gst/gstelement.c: (gst_element_commit_state),
6000 (gst_element_set_state):
6001 Fix typos in debug messages
6003 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6006 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6007 * gst/gstpluginfeature.c:
6010 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6011 change an assert into an error until it gets fixed properly
6013 2005-09-23 Stefan Kost <ensonic@users.sf.net>
6015 * docs/gst/gstreamer-sections.txt:
6016 * docs/gst/tmpl/.cvsignore:
6017 * docs/gst/tmpl/gstelement.sgml:
6018 * docs/gst/tmpl/gstinfo.sgml:
6019 * docs/gst/tmpl/gstobject.sgml:
6024 * gst/gstobject.c: (gst_object_class_init):
6026 inlined 3 more biiiig doc files and added some missing docs on the fly
6028 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6030 * check/gst/.cvsignore:
6031 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6032 * gst/gstregistryxml.c: (load_plugin),
6033 (gst_registry_xml_save_plugin):
6034 put back source in registry. add checks for find_plugin.
6035 * testsuite/states/bin.c: (assert_state), (empty_bin),
6036 (test_adding_one_element), (main):
6037 * testsuite/states/locked.c: (main):
6038 some compile/run fixes
6040 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6042 * check/gst/gstvalue.c: (GST_START_TEST):
6043 fix leaks in the test itself
6045 2005-09-22 Wim Taymans <wim@fluendo.com>
6047 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6048 (gst_base_sink_send_event), (gst_base_sink_peer_query),
6049 (gst_base_sink_query):
6050 Prepare for more accurate position reporting and query
6053 * gst/gstelement.c: (gst_element_send_event),
6054 (gst_element_set_state):
6057 2005-09-22 Wim Taymans <wim@fluendo.com>
6059 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6060 (gst_query_parse_segment):
6063 Add segment query for future use.
6065 2005-09-22 Wim Taymans <wim@fluendo.com>
6067 * gst/gstbin.c: (gst_bin_add_func):
6068 Some more debug info.
6070 * gst/gstelement.c: (gst_element_send_event):
6074 Don't know how flags got broken.
6079 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
6081 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6082 Add simplistic test suite for GST_TYPE_DATE serialisation and
6085 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
6087 * docs/gst/gstreamer-sections.txt:
6088 * gst/gststructure.c: (gst_structure_set_valist),
6089 (gst_structure_get_date):
6090 * gst/gststructure.h:
6091 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6092 (gst_date_copy), (gst_value_compare_date),
6093 (gst_value_serialize_date), (gst_value_deserialize_date),
6094 (gst_value_transform_date_string),
6095 (gst_value_transform_string_date), (_gst_value_initialize):
6097 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6098 bunch of utility functions along with a hack that checks that
6099 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6100 is required. Part of the grand scheme in #170777.
6102 2005-09-22 Andy Wingo <wingo@pobox.com>
6104 * gst/gstconfig.h.in: Psych out gtk-doc.
6106 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6108 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6110 * tools/gst-inspect.c (print_element_list): Plug some
6111 inconsequential leaks.
6113 * gst/gstregistry.c (gst_registry_get_default): Doc.
6115 * check/gst/gstplugin.c:
6116 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6117 * gst/gstelementfactory.c (gst_element_factory_create):
6118 * gst/gstindexfactory.c (gst_index_factory_create): Update for
6121 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6122 (gst_plugin_feature_load): Doc, don't eat refs.
6124 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6125 (gst_plugin_list_free): Doc.
6126 (gst_plugin_load_file): Doc updates.
6128 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6129 accessors returning refcounted objects, return a ref.
6131 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6132 accessor for caps. IDEMPOTENCE. Oh yes.
6134 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
6136 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6138 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6139 (_gst_debug_register_funcptr):
6140 Add mutex to serialise access to the hash table with
6141 the function pointer => function name string mapping;
6142 make that hash table static scope (#316809).
6144 * gst/registries/.cvsignore:
6145 Remove left-over file.
6147 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
6149 * docs/pwg/appendix-porting.xml:
6150 And something about newsegment events and caps-on-buffers to
6151 the porting guide (feel free to improve).
6153 2005-09-21 Andy Wingo <wingo@pobox.com>
6155 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6156 data and event probes on the same pad.
6157 (test_buffer_probe_once): Test that removing probes from within
6158 the probe functions works.
6160 2005-09-21 Andy Wingo <wingo@pobox.com>
6162 * check/gst/gstutils.c: New file.
6163 (test_buffer_probe_n_times): A simple buffer probe test. More to
6166 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6167 have-data::buffer, not have-data.
6168 (gst_pad_add_event_probe): Likewise for have-data::event.
6169 (gst_pad_add_data_probe): More docs. The part about 'resolving the
6170 peer' isn't quite right yet though.
6171 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
6172 (gst_pad_remove_data_probe): Change to take the guint handler_id
6173 as their arg, not the function+data, which is more glib-like.
6175 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6176 the signal emission to indicate if the data is a buffer or an
6178 (gst_pad_get_type): Initialize buffer and event quarks.
6179 (gst_pad_class_init): have-data is now a detailed signal, yes it
6182 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
6184 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6185 * gst/gstutils.c: (gst_util_set_value_from_string),
6186 (gst_util_set_object_arg):
6187 Don't put functional code in g_return_if_fail() or
6188 g_return_val_if_fail() statements, otherwise things will
6189 break when G_DISABLE_CHECKS is defined during compilation.
6191 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6193 * docs/gst/tmpl/.cvsignore:
6194 * docs/gst/tmpl/gstvalue.sgml:
6197 inlied another one and added some obvious docs
6199 2005-09-21 Wim Taymans <wim@fluendo.com>
6201 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6202 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6203 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6204 (gst_fdsrc_get_property), (gst_fdsrc_create):
6205 * gst/elements/gstfdsrc.h:
6206 Properly implement fdsrc. Removed signal and timeout,
6207 better implemented somewhere else.
6209 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6211 * docs/gst/tmpl/.cvsignore:
6212 * docs/gst/tmpl/gstimplementsinterface.sgml:
6213 * gst/gstinterface.c:
6216 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6218 * docs/gst/gstreamer-sections.txt:
6219 * docs/gst/tmpl/.cvsignore:
6220 * docs/gst/tmpl/gstenumtypes.sgml:
6221 remove obsolete doc file
6223 2005-09-21 David Schleef <ds@schleef.org>
6225 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6226 little beer, fix a little leak.
6228 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6230 * docs/gst/gstreamer-docs.sgml:
6231 * docs/gst/gstreamer-sections.txt:
6232 * docs/gst/tmpl/.cvsignore:
6237 * gst/gstindex.c: (gst_index_class_init):
6239 * gst/gstindexfactory.c: (gst_index_factory_get_type),
6240 (gst_index_factory_class_init), (gst_index_factory_init),
6241 (gst_index_factory_finalize), (gst_index_factory_new),
6242 (gst_index_factory_destroy), (gst_index_factory_find),
6243 (gst_index_factory_create), (gst_index_factory_make):
6244 * gst/gstindexfactory.h:
6245 * gst/gstpluginfeature.c:
6246 * gst/gstpluginfeature.h:
6247 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6248 more docs inlined, splitted gstindex.{c,h}
6250 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6252 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6255 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6257 * gst/elements/gstfilesink.c: (gst_file_sink_init):
6258 Set sync to FALSE by default.
6260 2005-09-20 Wim Taymans <wim@fluendo.com>
6262 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6263 (gst_base_sink_init):
6264 Make sync property settable from subclass.
6266 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6267 (gst_fake_sink_change_state):
6268 Set sync to FALSE by default.
6270 2005-09-20 Wim Taymans <wim@fluendo.com>
6272 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6273 * tools/gst-launch.c: (main):
6274 The timeout handler should have lower priority than the source
6275 so we don't timeout before popping a message with 0 timeout.
6276 Dump error messages after failed state change.
6278 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6280 * tools/gst-inspect.c: (print_element_properties_info):
6283 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6285 * check/gst/gstevent.c:
6286 * gst/elements/gstfakesink.c:
6287 * gst/elements/gstfakesink.h:
6288 remove the sync property from fakesink.
6289 has the side effect of setting sync TRUE
6290 for fakesink, which is a change. Anyone who knows how
6291 to fix this nicely in a GObject-y way, feel free.
6293 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6295 * docs/gst/gstreamer-docs.sgml:
6296 remove probe refsection
6298 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6300 * check/Makefile.am:
6301 disable valgrinding the controller test again
6302 * docs/gst/gstreamer-sections.txt:
6303 update for api-changes
6305 2005-09-20 Wim Taymans <wim@fluendo.com>
6307 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6308 (gst_base_sink_set_property), (gst_base_sink_get_property),
6309 (gst_base_sink_do_sync):
6310 * gst/base/gstbasesink.h:
6311 Added sync property to basesink to disable clock sync.
6313 2005-09-20 Andy Wingo <wingo@pobox.com>
6315 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6316 eating the caller's refcount.
6318 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
6319 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6322 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6323 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6324 of GLib 2.8 public, so we can know which refcount to check in
6327 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6328 (gst_object_init): Only set the gst refcount if we're going ahead
6329 with the refcount hack.
6331 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6333 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6334 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6335 more leaks plumbed, added more debug-logging
6339 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6342 remove include of gstmemchunk.h
6344 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6346 * gst/gstclock.c: (_gst_clock_id_free):
6347 Commit from the Political Party For More Atomic CVS Commits,
6348 so that people don't waste too much of their day fishing
6349 out obvious leaks out of massive commits.
6350 Oh, and fix a pretty damn obvious leak in the memchunk
6353 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6355 * check/Makefile.am:
6356 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6357 plug mem-leak, re-add to valgrindable tests
6359 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6362 unbreak the build for those who have chronic arthritis
6363 and typing "make check" is just too taxing on the hands
6365 2005-09-20 Andy Wingo <wingo@pobox.com>
6367 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6368 really want it out, you should fix plugins at the same time.
6370 2005-09-19 Stefan Kost <ensonic@users.sf.net>
6373 * docs/gst/gstreamer-sections.txt:
6375 added missing symbols to api docs
6376 disable ref-count hack if we have glib >= 2.8
6378 2005-09-19 David Schleef <ds@schleef.org>
6380 * docs/gst/Makefile.am: Ignore a few more internal headers
6381 * docs/gst/gstreamer-docs.sgml: Remove old sections
6382 * docs/gst/gstreamer-sections.txt: Remove old sections
6383 * docs/gst/tmpl/gstobject.sgml: update
6384 * docs/gst/tmpl/gstplugin.sgml: update
6385 * docs/gst/tmpl/gstpluginfeature.sgml: update
6386 * docs/random/ds/0.9-suggested-changes: update.
6387 * gst/Makefile.am: remove memchunk and trashstack, since they're
6389 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6390 * gst/gst.h: don't include some headers
6391 * gst/gstchildproxy.c: add gstmarshal.h
6392 * gst/gstclock.c: Don't use memchunks
6393 * gst/gstminiobject.c: Add some docs
6394 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6395 * gst/gstobject.h: same
6396 * gst/gstplugin.c: include gstmacros.h
6397 * gst/gstplugin.h: don't include gstmacros.h, since it's private
6398 * gst/gstquery.c: don't use memchunks
6399 * gst/gstregistry.c: rename gst_registry_deinit()
6400 * gst/gstregistry.h: same
6402 2005-09-19 David Schleef <ds@schleef.org>
6404 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6405 * docs/libs/gstreamer-libs-sections.txt:
6406 * docs/libs/tmpl/gstgetbits.sgml:
6407 * docs/libs/tmpl/gstputbits.sgml:
6409 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
6411 * win32/gstenumtypes.c:
6412 * win32/gstenumtypes.h:
6415 2005-09-19 Wim Taymans <wim@fluendo.com>
6417 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6418 Automatically PAUSE and RESUME a pipeline when a flushing seek
6421 2005-09-19 Andy Wingo <wingo@pobox.com>
6423 * gst/gstregistry.h: Spacing fixen.
6425 2005-09-19 Wim Taymans <wim@fluendo.com>
6427 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6428 Handle state change failure more correctly.
6430 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6432 * check/Makefile.am:
6433 * check/pipelines/cleanup.c: (run_pipeline):
6434 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6436 enable cleanup again after fixing the leak
6438 some more info on docs
6440 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6442 * check/Makefile.am:
6443 re-enable tests now that leaks are plugged
6445 * check/gst/gstbin.c:
6446 * check/gst/gstpipeline.c:
6447 add some more tests while fixing leaks
6449 make sure binaries are uptodate when valgrinding/gdbing
6451 * gst/gstelementfactory.c:
6452 remove a ref too many, and add a FIXME for when we get
6453 round to disposing of classes
6455 fix the refcounting when loading a plugin from a file and
6456 the code pretends that the pointer is the same even though
6457 of course it can change
6458 * gst/gstpluginfeature.c:
6459 unref plugins marked cached (a bit confusing as a name)
6460 as the docs state should be done
6461 various doc additions to explain refcounting
6462 * gst/gstregistry.c:
6463 * gst/gstregistryxml.c:
6466 2005-09-19 Wim Taymans <wim@fluendo.com>
6468 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6469 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6470 (send_messages), (GST_START_TEST), (gstbus_suite):
6471 * check/gst/gstpipeline.c: (GST_START_TEST):
6472 * check/pipelines/cleanup.c: (run_pipeline):
6473 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6475 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6476 (gst_bus_source_check), (gst_bus_source_dispatch),
6477 (gst_bus_create_watch), (gst_bus_add_watch_full),
6478 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6480 * tools/gst-launch.c: (event_loop):
6481 * tools/gst-md5sum.c: (event_loop):
6482 GstBusHandler -> GstBusFunc, return value has the same meaning as
6483 any other GSource (FALSE == remove source).
6484 _add_watch() and _add_watch_full() now take a MessageType mask to
6485 only handle specific types of messages.
6486 _poll() returns the GstMessage instead of the message type to avoid
6488 _have_pending() takes a MessageType mask now too.
6489 Added testsuite for multiple bus watches.
6490 Fix testsuites and applications for new bus API.
6492 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6494 * check/Makefile.am:
6495 mark a bunch of the tests as to fix until we fix them
6497 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6500 use GST_PLUGIN settings for valgrind tests as well, so we're
6501 valgrinding the correct thing
6502 * gst/gst.c: (init_post):
6505 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6507 * gst/gst.c: (init_post), (gst_deinit):
6508 * gst/gstelementfactory.c: (gst_element_factory_class_init),
6509 (gst_element_factory_finalize), (gst_element_factory_cleanup):
6510 * gst/gstindex.c: (gst_index_factory_class_init),
6511 (gst_index_factory_finalize):
6512 * gst/gstobject.c: (gst_object_dispose):
6513 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6514 (gst_plugin_load_file), (gst_plugin_desc_free):
6515 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6516 (gst_plugin_feature_finalize):
6517 * gst/gstregistry.c: (gst_registry_class_init),
6518 (gst_registry_init), (gst_registry_finalize),
6519 (gst_registry_get_default), (gst_registry_deinit):
6520 * gst/gstregistry.h:
6521 * gst/gstregistryxml.c: (load_feature), (load_plugin):
6522 various cleanups and memleak plugging. make valgrind is happy now.
6524 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6527 add a check-valgrind target
6529 2005-09-18 David Schleef <ds@schleef.org>
6531 * tools/gst-inspect.c: Revert the GOption code.
6533 2005-09-17 David Schleef <ds@schleef.org>
6535 * check/Makefile.am: Fix environment variables.
6536 * check/gst/gstplugin.c: Fix for API changes.
6537 * tools/gst-inspect.c: Fix for API changes.
6538 * tools/gst-xmlinspect.c: Fix for API changes.
6539 * gst/gstelementfactory.c:
6542 * gst/gstpluginfeature.c:
6543 * gst/gstpluginfeature.h:
6544 * gst/gstregistry.c:
6545 * gst/gstregistry.h:
6546 * gst/gstregistryxml.c:
6547 * gst/gsttypefind.c:
6548 * gst/gsttypefindfactory.c:
6549 * gst/indexers/gstfileindex.c:
6550 * gst/indexers/gstmemindex.c:
6551 * gst/schedulers/Makefile.am:
6552 Change registry to keep track of both plugins and features,
6553 removing the feature tracking from plugins themselves.
6555 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
6557 * check/Makefile.am:
6558 * tools/gst-register.1.in:
6561 2005-09-15 David Schleef <ds@schleef.org>
6563 * check/gst/gstplugin.c:
6564 * gst/gstelementfactory.c:
6566 * gst/gstpluginfeature.c:
6567 * gst/gstregistry.c:
6568 Getting tired of debugging. Disabled all the unreffing of
6569 plugins and features, which fixes the segfaults, but of
6570 course leaks like crazy. At least playbin works.
6572 2005-09-15 David Schleef <ds@schleef.org>
6574 * check/gst/gstplugin.c: (register_check_elements),
6575 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6577 * gst/elements/gsttypefindelement.c: Fix refcounting.
6578 * gst/gsttypefind.c:
6579 * gst/gsttypefindfactory.c:
6580 * gst/gsttypefindfactory.h:
6582 2005-09-15 David Schleef <ds@schleef.org>
6584 * gst/gstindex.c: get refcounting correct.
6585 * gst/gstregistry.c: Handle the case where a feature/plugin is
6588 2005-09-15 David Schleef <ds@schleef.org>
6590 * check/Makefile.am:
6591 * check/gst/gstplugin.c: Add test
6592 * gst/gstplugin.c: Fix problems noticed by testsuite
6594 * gst/gstregistry.c:
6595 * gst/gstregistry.h:
6597 2005-09-15 David Schleef <ds@schleef.org>
6599 * gst/gstplugin.c: Implement semi-decent recounting and locking
6600 in plugins and plugin features.
6602 * gst/gstpluginfeature.c:
6603 * gst/gstpluginfeature.h:
6604 * gst/gstregistry.c:
6606 2005-09-15 Michael Smith <msmith@fluendo.com>
6608 * gst/gstregistry.c: (gst_registry_get_feature_list):
6609 Implement this. Makes oggdemux work; decodebin still broken.
6611 2005-09-14 David Schleef <ds@schleef.org>
6613 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6615 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6616 * gst/check/Makefile.am:
6617 * libs/gst/controller/Makefile.am:
6618 * libs/gst/dataprotocol/Makefile.am:
6620 2005-09-14 David Schleef <ds@schleef.org>
6622 * configure.ac: Remove getbits library. Nothing uses it, and
6623 it should be in something like liboil if someone did want
6625 * libs/gst/Makefile.am:
6626 * libs/gst/getbits/Makefile.am:
6627 * libs/gst/getbits/gbtest.c:
6628 * libs/gst/getbits/getbits.c:
6629 * libs/gst/getbits/getbits.h:
6630 * libs/gst/getbits/gstgetbits_generic.c:
6631 * libs/gst/getbits/gstgetbits_i386.s:
6632 * libs/gst/getbits/gstgetbits_inl.h:
6634 2005-09-14 David Schleef <ds@schleef.org>
6636 * gst/Makefile.am: Dist glib-compat.h
6638 2005-09-14 David Schleef <ds@schleef.org>
6640 * configure.ac: Remove gst/registries, since it's no longer used.
6641 * gst/registries/Makefile.am:
6642 * gst/registries/gstlibxmlregistry.c:
6643 * gst/registries/gstlibxmlregistry.h:
6644 * gst/registries/gstxmlregistry.c:
6645 * gst/registries/gstxmlregistry.h:
6646 * gst/registries/registrytest.c:
6648 2005-09-14 David Schleef <ds@schleef.org>
6650 * gst/glib-compat.h:
6651 * gst/gstregistryxml.c:
6652 Convergence is near. Seriously.
6654 2005-09-14 David Schleef <ds@schleef.org>
6656 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6657 * gst/glib-compat.h:
6658 Attempt #4 to appease the buildbots.
6660 2005-09-14 David Schleef <ds@schleef.org>
6662 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6665 2005-09-14 David Schleef <ds@schleef.org>
6667 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6670 2005-09-14 David Schleef <ds@schleef.org>
6672 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6675 2005-09-14 David Schleef <ds@schleef.org>
6677 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6678 * gst/glib-compat.h: Add some functions that are in newer versions
6679 of glib than we care to require.
6680 * gst/gstregistryxml.c: Use them.
6682 2005-09-14 David Schleef <ds@schleef.org>
6684 * po/POTFILES.in: remove gst-register.c
6686 2005-09-14 David Schleef <ds@schleef.org>
6688 * docs/gst/gstreamer-docs.sgml:
6689 * docs/gst/gstreamer-sections.txt:
6690 * docs/gst/gstreamer.types:
6691 * docs/gst/tmpl/gstelement.sgml:
6692 * docs/gst/tmpl/gstplugin.sgml:
6693 * docs/gst/tmpl/gstpluginfeature.sgml:
6694 Documentation updates for registry changes.
6696 2005-09-14 David Schleef <ds@schleef.org>
6698 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6699 because we don't require glib-2.8.
6701 2005-09-14 David Schleef <ds@schleef.org>
6703 * gst/gstregistryxml.c: Added. Essentially moved out of the
6704 registries directory.
6706 2005-09-14 David Schleef <ds@schleef.org>
6708 * check/Makefile.am:
6709 * check/generic/states.c:
6713 * gst/gst_private.h:
6714 * gst/gstelementfactory.c:
6719 * gst/gstpluginfeature.c:
6720 * gst/gstpluginfeature.h:
6721 * gst/gstregistry.c:
6722 * gst/gstregistry.h:
6723 * gst/gstregistrypool.c: remove
6724 * gst/gstregistrypool.h: remove
6725 * gst/gsttypefind.c:
6726 * gst/gsttypefindfactory.c:
6728 * tools/Makefile.am:
6729 * tools/gst-compprep.c:
6730 * tools/gst-inspect.c:
6731 * tools/gst-register.c: remove
6732 * tools/gst-xmlinspect.c:
6733 Registry rewrite. Changes registry from being a file created
6734 by a tool into a simple cache file created automatically by
6735 libgstreamer. Removed gst-register (because it's no longer
6736 needed). Remove registry pools, because we only have one
6737 registry implementation (XML). Fix up other subsystems as
6740 2005-09-13 Michael Smith <msmith@fluendo.com>
6742 * gst/gstconfig.h.in:
6743 Don't Use windows linking attributes for MinGW. Fixes #316157
6745 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
6747 * gst/gstutils.c: (set_state_async_thread_func),
6748 (gst_element_set_state_async):
6749 Apparently people think it's better if this function doesn't
6750 try to set the state to whatever state was asked for on the first
6751 call to this function for any object. Seriously.
6753 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6755 * check/gst/gstpipeline.c: (GST_START_TEST):
6756 * docs/gst/gstreamer-sections.txt:
6757 * gst/gstutils.c: (set_state_async_thread_func),
6758 (gst_element_set_state_async):
6760 add a "gst_element_set_state_async" method that
6761 sets the state and starts a thread to make sure the state
6762 change completes as best as it can
6764 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6766 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6767 codify design+behaviour in testsuite after discussion
6769 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6771 * docs/gst/tmpl/gstelement.sgml:
6772 * docs/manual/appendix-quotes.xml:
6774 * gst/gstelement.c: (gst_element_set_state):
6777 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
6779 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6780 (gst_base_transform_prepare_output_buf),
6781 (gst_base_transform_handle_buffer):
6782 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6783 (gst_capsfilter_prepare_buf):
6784 Remove the requirement for sub-classes to call the parent
6785 implementation of prepare_output_buffer with a wrapper function.
6788 * gst/gsttagsetter.h:
6791 2005-09-11 Stefan Kost <ensonic@users.sf.net>
6793 * docs/gst/gstreamer-sections.txt:
6796 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6798 * docs/gst/gstreamer-sections.txt:
6799 * docs/gst/tmpl/gstelement.sgml:
6800 * docs/gst/tmpl/gstplugin.sgml:
6801 * gst/gstminiobject.c:
6803 docs now stop throwing warnings
6805 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6807 * docs/gst/gstreamer-sections.txt:
6808 * docs/gst/gstreamer.types:
6809 * docs/gst/tmpl/gstpad.sgml:
6810 * docs/gst/tmpl/gsttypes.sgml:
6811 * gst/base/gstadapter.h:
6812 * gst/base/gstbasesink.h:
6813 * gst/base/gstbasesrc.h:
6823 * gst/gststructure.c:
6824 * gst/registries/gstlibxmlregistry.h:
6825 various documentation fixes
6827 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6829 * docs/gst/gstreamer-sections.txt:
6830 * docs/gst/tmpl/gstvalue.sgml:
6831 rearrange gstvalue section
6832 * gst/gstutils.c: (gst_element_state_get_name):
6834 * gst/gstvalue.c: (_gst_value_initialize):
6838 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
6840 * check/gst-libs/controller.c:
6842 * gst/base/gstbasetransform.c:
6843 (gst_base_transform_default_prepare_buf),
6844 (gst_base_transform_handle_buffer):
6845 * gst/base/gstbasetransform.h:
6846 Some more basetransform changes and fixes to enable sub-classes
6847 that modify buffer metadata only.
6848 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6849 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6850 (gst_capsfilter_prepare_buf):
6851 If the output pad has fixed allowed caps and input buffers
6852 don't have any, set the fixed caps on outgoing buffers.
6854 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
6855 * check/elements/identity.c: (GST_START_TEST):
6856 Make the error a little clearer when the test fails because
6857 identity made a copy of the buffer.
6858 * docs/gst/gstreamer-sections.txt:
6859 New symbols in gstbasetransform.h
6860 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6861 (gst_base_transform_init), (gst_base_transform_transform_size),
6862 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6863 (gst_base_transform_default_prepare_buf),
6864 (gst_base_transform_get_unit_size),
6865 (gst_base_transform_buffer_alloc),
6866 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6867 (gst_base_transform_change_state),
6868 (gst_base_transform_set_passthrough),
6869 (gst_base_transform_set_in_place),
6870 (gst_base_transform_is_in_place):
6871 * gst/base/gstbasetransform.h:
6872 Change BaseTransform to separate in_place operate from same_caps
6873 output. in_place implies that the element can perform the transform
6874 on incoming buffers in-place, even if the caps on the output are
6876 Sub-class elements can now implement special buffer allocation
6877 methods for outgoing buffers if they wish to.
6878 Big documentation addition.
6879 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6880 * gst/elements/gstelements.c:
6881 Changes for basetransform modifications.
6882 * gst/elements/Makefile.am:
6883 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6884 Compile fix. Extra debug output.
6886 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6888 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6890 add tests for valid pad naming
6891 * gst/check/gstcheck.c: (gst_check_log_message_func),
6892 (gst_check_log_critical_func):
6894 remove printing of code, it is fragile when the code contains
6895 % and the line number is enough info
6896 * gst/check/gstcheck.h:
6897 * gst/gstpad.c: (gst_pad_template_new):
6900 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6903 say what CHECK flags we use
6904 * docs/libs/gstreamer-libs.types:
6905 * libs/gst/controller/Makefile.am:
6906 * libs/gst/controller/gst-controller.c:
6907 * libs/gst/controller/gst-controller.h:
6908 * libs/gst/controller/gst-helper.c:
6909 * libs/gst/controller/gst-interpolation.c:
6910 * libs/gst/controller/gstcontroller.c:
6911 * libs/gst/controller/gsthelper.c:
6912 * libs/gst/controller/gstinterpolation.c:
6913 * tools/gst-inspect.c: (print_plugin_info):
6914 we don't use dashes in header names
6916 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6918 * check/Makefile.am:
6919 * check/gst/.cvsignore:
6920 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6921 (gst_pipeline_suite), (main):
6922 adding a test for pipelines and state changes
6923 * gst/gstutils.c: (get_state_func):
6925 * gstreamer.spec.in:
6928 2005-09-08 Michael Smith <msmith@fluendo.com>
6930 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6931 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6932 (gst_file_src_is_seekable), (gst_file_src_get_size),
6933 (gst_file_src_start):
6934 * gst/elements/gstfilesrc.h:
6935 Various fixes for unseekable, unmmapable, and non-normal files, so
6936 that fallback to read() rather than mmap() works.
6937 * gst/gstevent.c: (gst_event_new_newsegment):
6938 Allow newsegment events with segment_start == segment_end, as will
6939 correctly happen if you use filesrc on a zero-size file, for
6942 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
6944 * gst/gstplugin.c: (gst_plugin_load_file):
6945 Call g_module_close when we don't load the module
6947 * gst/registries/gstlibxmlregistry.c:
6948 (gst_xml_registry_get_property):
6949 Port leak fix from 0.8
6951 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6953 * docs/gst/gstreamer-docs.sgml:
6954 * docs/gst/tmpl/.cvsignore:
6955 * docs/gst/tmpl/gsttrace.sgml:
6956 * docs/gst/tmpl/gsttrashstack.sgml:
6965 * gst/gsttaginterface.c:
6966 * gst/gsttaginterface.h:
6969 * gst/gsttagsetter.c:
6970 * gst/gsttagsetter.h:
6973 * gst/gsttrashstack.c:
6974 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6975 inlined docs for gsttrace, gsttrashstack
6977 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6980 * gst/elements/gstbufferstore.h:
6981 * gst/elements/gsttypefindelement.c:
6982 * gst/elements/gsttypefindelement.h:
6984 * gst/gsttypefind.c:
6985 * gst/gsttypefind.h:
6986 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6987 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6988 (gst_type_find_factory_dispose),
6989 (gst_type_find_factory_unload_thyself),
6990 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6991 (gst_type_find_factory_get_caps),
6992 (gst_type_find_factory_get_extensions),
6993 (gst_type_find_factory_call_function):
6994 * gst/gsttypefindfactory.h:
6995 * gst/registries/gstlibxmlregistry.c:
6996 * gst/registries/gstxmlregistry.c:
6997 splitted gsttypefind into gsttypefind, gsttypefindfactory
6999 2005-09-07 Andy Wingo <wingo@pobox.com>
7001 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7002 condition whereby the pad's task function is entered before the
7003 pad_mode variable was set.
7005 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
7007 * gst/gstpad.c: (gst_pad_alloc_buffer):
7008 Catch misbehaving pad_alloc functions that don't
7009 set up caps and do it for them.
7011 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7013 * check/pipelines/simple_launch_lines.c: (run_pipeline):
7015 * docs/gst/tmpl/.cvsignore:
7016 * docs/gst/tmpl/gstmemchunk.sgml:
7017 * docs/gst/tmpl/gstparse.sgml:
7018 * docs/gst/tmpl/gsttaglist.sgml:
7019 * docs/gst/tmpl/gsttagsetter.sgml:
7020 * docs/gst/tmpl/gsttypefind.sgml:
7021 * docs/gst/tmpl/gsttypefindfactory.sgml:
7022 * gst/gstmemchunk.c:
7025 * gst/gsttaginterface.c:
7026 * gst/gsttypefind.c:
7027 * gst/gsttypefind.h:
7030 === release 0.9.2 ===
7032 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
7037 releasing 0.9.2, "South"
7039 2005-09-05 Andy Wingo <wingo@pobox.com>
7041 * gst/registries/gstxmlregistry.h:
7042 * gst/registries/gstxmlregistry.c: Um... resurrect...
7044 * gst/registries/gstxmlregistry.h:
7045 * gst/registries/gstxmlregistry.c: and update to newer API.
7046 Incidentally they should be a bit faster now that they don't have
7049 2005-09-05 Andy Wingo <wingo@pobox.com>
7051 * gst/registries/gstxmlregistry.h:
7052 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7053 replaced by the libxml registry a while back
7055 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
7057 * docs/gst/tmpl/gstplugin.sgml:
7058 * gst/elements/gstelements.c:
7060 * gst/gstplugin.c: (gst_plugin_register_func),
7061 (gst_plugin_desc_copy), (gst_plugin_desc_free),
7062 (gst_plugin_get_source):
7064 * gst/registries/gstlibxmlregistry.c: (load_plugin),
7065 (gst_xml_registry_save_plugin):
7066 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7067 (gst_xml_registry_save_plugin):
7068 * tools/gst-inspect.c: (print_plugin_info):
7069 add a "source" plugin description field, to represent the source
7070 module this plugin is a part of. By default GST_PLUGIN_DEFINE
7071 will set it to PACKAGE, which is automake's idea of the name of
7074 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
7080 * docs/faq/Makefile.am:
7081 * docs/gst/tmpl/gstelement.sgml:
7082 * docs/gst/tmpl/gsttypes.sgml:
7083 * docs/htmlinstall.mak:
7084 * docs/manual/Makefile.am:
7085 * docs/pwg/Makefile.am:
7086 reorganize doc build a little
7087 split out docbook and gtk-doc stuff
7088 have two separate --enable's and enable them through autogen
7089 but disable by default in configure (to be similar to other
7091 * gstreamer.spec.in:
7092 clean up docs install
7112 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
7114 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7117 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7118 (gst_fake_sink_change_state):
7119 Make state change function thread-safe.
7121 * gst/gstpad.c: (gst_pad_alloc_buffer):
7122 Set offset on generic buffer allocated by fallback.
7124 2005-09-03 Stefan Kost <ensonic@users.sf.net>
7126 * docs/gst/gstreamer-sections.txt:
7127 * docs/gst/tmpl/gstelement.sgml:
7129 * libs/gst/controller/gst-controller.c:
7130 (gst_controlled_property_set_interpolation_mode),
7131 (gst_controlled_property_new),
7132 (gst_controller_find_controlled_property):
7133 run the wingo-magic script against the docs
7135 2005-09-02 Stefan Kost <ensonic@users.sf.net>
7137 * docs/gst/gstreamer-docs.sgml:
7138 * docs/gst/gstreamer-sections.txt:
7139 * docs/gst/tmpl/.cvsignore:
7140 * docs/gst/tmpl/gstelementdetails.sgml:
7141 * docs/gst/tmpl/gstelementfactory.sgml:
7144 * gst/gstelementfactory.c:
7145 * gst/gstelementfactory.h:
7146 merged elementdetails docs into elementfactory docs
7149 2005-09-02 Andy Wingo <wingo@pobox.com>
7151 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7152 consider this enum an enum and not a flags.
7154 2005-09-02 Stefan Kost <ensonic@users.sf.net>
7156 * docs/gst/gstreamer-docs.sgml:
7157 * docs/gst/tmpl/.cvsignore:
7158 * docs/gst/tmpl/gstghostpad.sgml:
7159 * docs/gst/tmpl/gstiterator.sgml:
7160 * docs/gst/tmpl/gstmacros.sgml:
7161 * docs/gst/tmpl/gstrealpad.sgml:
7162 * docs/gst/tmpl/gstregistry.sgml:
7163 * docs/gst/tmpl/gstregistrypool.sgml:
7164 * docs/gst/tmpl/gststructure.sgml:
7165 * docs/gst/tmpl/gstsystemclock.sgml:
7166 * docs/gst/tmpl/gsttrace.sgml:
7167 * gst/gstghostpad.c:
7169 * gst/gstmemchunk.c:
7170 * gst/gstmemchunk.h:
7172 * gst/gstregistry.c:
7173 * gst/gstregistrypool.c:
7174 * gst/gststructure.c:
7175 * gst/gstsystemclock.c:
7178 2005-09-02 Andy Wingo <wingo@pobox.com>
7180 * gst/gstelement.h (GstState): Renamed from GstElementState,
7181 changed to be a normal enum instead of flags.
7182 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7183 munged to be GST_STATE_CHANGE_*.
7184 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7185 work with the new state representation.
7186 (GstStateChange): New enumeration of possible state transitions.
7187 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7188 (GstElementClass::change_state): Pass the GstStateChange along as
7189 an argument. Helps language bindings, so they don't have to use
7190 tricky lock-needing macros like GST_STATE_CHANGE ().
7192 * scripts/update-states (file): New script. Run it on a file to
7193 update it for state naming and API changes. Updates files in
7196 * All files updated for the new API.
7198 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
7200 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7201 * gst/gstutils.c: (gst_util_set_value_from_string),
7202 (gst_util_set_object_arg):
7203 fix a bunch of unchecked return values
7204 * tools/gst-complete.c: (main):
7205 * gstreamer.spec.in:
7208 2005-09-01 Wim Taymans <wim@fluendo.com>
7210 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7211 (gst_base_sink_event), (gst_base_sink_do_sync),
7212 (gst_base_sink_handle_event):
7213 * gst/base/gstbasesink.h:
7214 Handle newsegments more correctly.
7219 * gst/gstevent.c: (gst_event_new_newsegment):
7220 A newsegment cannot have a start_time of -1
7222 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
7224 * win32/gstenumtypes.c:
7225 * win32/gstenumtypes.h:
7228 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7230 * libs/gst/controller/gst-controller.c:
7231 (gst_controlled_property_set_interpolation_mode),
7232 (gst_controlled_property_new):
7235 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
7237 * docs/faq/gst-uninstalled:
7242 * gst/gstutils.c: (gst_element_link_filtered):
7244 add gst_element_link_filtered
7246 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7248 * docs/gst/gstreamer-docs.sgml:
7249 * docs/gst/gstreamer-sections.txt:
7250 * docs/gst/tmpl/.cvsignore:
7251 * docs/gst/tmpl/gsterror.sgml:
7252 * docs/gst/tmpl/gstfilter.sgml:
7253 * docs/gst/tmpl/gsturihandler.sgml:
7254 * docs/gst/tmpl/gsturitype.sgml:
7255 * docs/gst/tmpl/gstutils.sgml:
7256 * docs/gst/tmpl/gstxml.sgml:
7264 inlined more docs, fixed double id-ref
7266 2005-08-31 Wim Taymans <wim@fluendo.com>
7268 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7269 (gst_base_transform_handle_buffer):
7270 Passthrough elements don't need the caps as they don't care.
7272 2005-08-31 Wim Taymans <wim@fluendo.com>
7274 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7275 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7276 Don't leak refcounts on buffers.
7278 2005-08-31 Wim Taymans <wim@fluendo.com>
7280 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7281 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7282 (gst_base_transform_chain), (gst_base_transform_change_state):
7283 * gst/base/gstbasetransform.h:
7284 Handle the case where we are not negotiated more gracefully.
7286 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
7288 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7289 (gst_file_src_map_region):
7290 Set READONLY flag on mmap'ed buffers, otherwise
7291 gst_buffer_make_writable() won't work properly (#314708).
7293 2005-08-31 Wim Taymans <wim@fluendo.com>
7295 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7296 passthrough elements can even do inplace on non writable
7297 buffers (as they don't touch them).
7299 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7301 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7302 (gst_test_mono_source_set_property),
7303 (gst_test_mono_source_class_init), (GST_START_TEST),
7304 (gst_controller_suite):
7305 more tests (hehe I have the most)
7307 describe popping messages whenusing mulltiple sources
7308 * libs/gst/controller/gst-controller.c:
7309 (gst_controlled_property_set_interpolation_mode),
7310 (gst_controlled_property_new):
7311 * libs/gst/controller/gst-controller.h:
7312 * libs/gst/controller/gst-interpolation.c:
7313 implement boolean properties
7315 2005-08-31 Wim Taymans <wim@fluendo.com>
7317 * gst/gstminiobject.c: (gst_mini_object_ref):
7318 Cannot assert that the refcount has to be positive
7319 since a disposed object can be resurrected.
7321 2005-08-31 Wim Taymans <wim@fluendo.com>
7323 * gst/gstpad.c: (gst_pad_init):
7324 Revert change, need to first fix badly behaving
7327 2005-08-30 Wim Taymans <wim@fluendo.com>
7329 * check/elements/fakesrc.c: (setup_fakesrc):
7330 * check/elements/identity.c: (setup_identity):
7331 Activate pads before using them.
7333 2005-08-30 Wim Taymans <wim@fluendo.com>
7335 * gst/base/gstadapter.c: (gst_adapter_flush):
7336 Flushing out 0 bytes is ok for this function.
7338 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7339 no newsegment gives a warning and sets the start/stop to
7342 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7343 (gst_base_transform_set_passthrough):
7346 * gst/gstminiobject.c: (gst_mini_object_ref):
7347 Check refcount here too.
7349 * gst/gstpad.c: (gst_pad_init):
7350 Pads are initially flushing and refusing data.
7352 * gst/gstutils.c: (gst_element_link_pads_filtered):
7353 When adding a capsfilter element make sure it has the
7354 same state as the parent bin.
7356 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7358 * docs/gst/tmpl/.cvsignore:
7359 * docs/gst/tmpl/gstformat.sgml:
7360 * docs/gst/tmpl/gstversion.sgml:
7364 * gst/gstversion.h.in:
7365 more docs and two more inlined
7367 2005-08-30 Wim Taymans <wim@fluendo.com>
7369 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7370 Don't sync to clock.
7372 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7374 * docs/gst/gstreamer-sections.txt:
7375 ultral33t func10ns deserve to appear in the docs actually
7376 * docs/gst/tmpl/.cvsignore:
7377 * docs/gst/tmpl/gstcompat.sgml:
7378 * docs/gst/tmpl/gstconfig.sgml:
7379 * gst/check/gstcheck.c:
7381 * gst/gstconfig.h.in:
7384 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7386 * docs/gst/tmpl/.cvsignore:
7387 * docs/gst/tmpl/gstquery.sgml:
7388 * docs/gst/tmpl/gstutils.sgml:
7391 inlined and extended docs
7393 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7395 * check/gst-libs/controller.c: (GST_START_TEST),
7396 (gst_controller_suite):
7398 * docs/gst/tmpl/gstutils.sgml:
7399 * docs/libs/gstreamer-libs-sections.txt:
7400 * docs/libs/tmpl/gstdataprotocol.sgml:
7402 * examples/controller/audio-example.c: (main):
7403 controller example works now
7406 * tools/gst-inspect.c: (print_element_properties_info):
7407 show param spec flags
7409 2005-08-29 Andy Wingo <wingo@pobox.com>
7411 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7413 2005-08-28 Andy Wingo <wingo@pobox.com>
7415 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7416 as having two arguments instead of just one. Allows superclasses
7417 to access information on subclasses -- see the terrible for() loop
7418 in gtype.c:g_type_create_instance for the reason why. All callers
7421 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7423 * docs/design/part-messages.txt:
7425 * docs/gst/tmpl/.cvsignore:
7426 * docs/gst/tmpl/gstcaps.sgml:
7427 * docs/gst/tmpl/gstclock.sgml:
7434 added descriptions for bus and message
7435 inline caps and clock docs
7437 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7443 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7445 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7448 2005-08-26 Andy Wingo <wingo@pobox.com>
7450 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7451 element_set_state's return val.
7452 (test_2_elements): Add test that's been disabled for months.
7454 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7455 can-activate-pull properties.
7457 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7458 can-activate-pull properties. Implement is_seekable so fakesrc can
7459 operate in pull mode.
7461 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7463 (gst_base_sink_activate, gst_base_sink_activate_pull)
7464 (gst_base_sink_activate_push): Make activation mode choosing work.
7466 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7467 is right. Make pull mode work. Post an eos before pausing in pull
7469 (gst_base_sink_change_state): Pay attention to the core's
7470 change_state() return val.
7472 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7473 has-getrange properties. Cleanups.
7475 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7476 has_getrange and replace with can_activate_pull and
7479 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7480 locking comments. Remove has_loop, has_chain and replace with
7481 can_activate_pull and can_activate_push.
7483 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
7486 * examples/Makefile.am:
7487 * examples/metadata/Makefile.am:
7488 * examples/metadata/read-metadata.c: (message_loop),
7489 (have_pad_handler), (make_pipeline), (print_tag), (main):
7490 Add metadata reading example that loops over a list of filenames,
7491 dumping any tags found.
7493 * gst/gstbus.c: (gst_bus_dispose):
7494 * gst/gstelement.c: (gst_element_dispose):
7495 Release a few potentially-held references in dispose.
7497 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7499 * docs/gst/tmpl/gstminiobject.sgml:
7500 do *not* add tmpl/*.sgml files to CVS!
7502 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7504 * libs/gst/bytestream/.cvsignore:
7505 * libs/gst/bytestream/Makefile.am:
7506 * libs/gst/bytestream/adapter.c:
7507 * libs/gst/bytestream/adapter.h:
7508 * libs/gst/bytestream/bytestream.c:
7509 * libs/gst/bytestream/bytestream.h:
7510 * libs/gst/bytestream/filepad.c:
7511 * libs/gst/bytestream/filepad.h:
7512 removing obsolete files
7514 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7516 * docs/gst/gstreamer-docs.sgml:
7517 * docs/libs/gstreamer-libs-docs.sgml:
7518 disabed additional index entries again, as this makes docs-gen just
7519 slow and they aren't useful yet
7520 * docs/libs/gstreamer-libs-sections.txt:
7521 little -section.txt cleanup for libs
7523 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
7525 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7526 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7527 fix up some debugging
7528 (gst_base_transform_get_unit_size),
7529 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7530 (gst_base_transform_handle_buffer):
7531 * gst/base/gstbasetransform.h:
7532 handle and store timed NEWSEGMENT events so that subclasses that
7533 calculate time by counting samples have a segment_start time they
7534 need to add to their timestamps - see audioresample
7536 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7539 removed ';' from the end of macro defs
7540 * docs/gst/gstreamer-docs.sgml:
7541 * docs/gst/gstreamer-sections.txt:
7542 * docs/gst/tmpl/.cvsignore:
7544 * gst/gstelement.c: (gst_element_class_init),
7545 (gst_element_set_state), (activate_pads),
7546 (gst_element_save_thyself):
7547 * gst/gstevent.c: (gst_event_new_newsegment):
7549 * gst/gstiterator.c:
7550 * gst/gstiterator.h:
7553 * gst/gstutils.c: (gst_pad_query_convert):
7555 fixed parameter name mismatches between source, header and docs
7556 added some more docs, resolved the last batch of unused elements in
7557 docs (now someone needs to doc them)
7559 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7561 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7562 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7563 don't walk through the plugins backwards. Where is all this
7564 reversed logic coming from ?
7566 2005-08-25 Wim Taymans <wim@fluendo.com>
7568 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7569 (gst_base_transform_transform_size),
7570 (gst_base_transform_configure_caps),
7571 (gst_base_transform_get_unit_size),
7572 (gst_base_transform_buffer_alloc),
7573 (gst_base_transform_change_state):
7574 * gst/base/gstbasetransform.h:
7575 Cache caps unit_size.
7576 Make sure we cannot negotiate up and downstream at the
7579 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7581 * gst/gst.c: (init_pre), (init_post):
7582 register the installed plugin path after the env var
7583 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7584 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7585 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7586 directories, so the tests can prefer uninstalled over installed
7588 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7590 * gst/base/gstbasetransform.h:
7595 2005-08-25 Wim Taymans <wim@fluendo.com>
7597 * gst/gstbin.c: (bin_bus_handler):
7598 Be a bit more conservative about the posted message.
7600 * gst/gstbus.c: (gst_bus_post):
7601 Some cleanups, warn wrong return values.
7603 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
7605 * check/gst/gstbin.c: (GST_START_TEST):
7606 * gst/gstbin.c: (bin_bus_handler):
7607 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7608 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7609 (gst_message_new_warning), (gst_message_new_tag),
7610 (gst_message_new_state_changed), (gst_message_new_segment_start),
7611 (gst_message_new_segment_done), (gst_message_new_custom):
7613 * tools/gst-launch.c: (event_loop):
7614 * tools/gst-md5sum.c: (event_loop):
7615 Revert unpopular change for GST_MESSAGE_SRC to GObject.
7617 2005-08-25 Wim Taymans <wim@fluendo.com>
7619 * check/generic/states.c: (GST_START_TEST):
7620 Cleanup can be done at the end.
7622 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7623 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7624 (gst_task_get_state), (gst_task_start), (gst_task_pause):
7625 Oh boy.. Thanks for finding this, Thomas.
7627 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7629 * docs/gst/gstreamer.types:
7632 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7634 * docs/gst/gstreamer-docs.sgml:
7635 * docs/gst/gstreamer-sections.txt:
7636 * docs/gst/tmpl/.cvsignore:
7638 * gst/gstiterator.c:
7640 * gst/registries/gstxmlregistry.h:
7641 added missing classes and symbols (123 more to go)
7642 removed removed symbols from section file
7643 fixed many doc-comments
7645 2005-08-24 Wim Taymans <wim@fluendo.com>
7647 * check/generic/states.c: (GST_START_TEST):
7648 Make sure all tasks are stopped.
7650 * check/gst/gstbin.c: (GST_START_TEST):
7651 Unref after usage for proper valgrinding.
7653 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7654 Really wait for the task to stop before destroying the
7657 * gst/gstqueue.c: (gst_queue_sink_activate_push),
7658 (gst_queue_src_activate_push):
7659 Small cleanups. Don't stop the task when we did not start
7662 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7663 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7664 (gst_task_get_state), (gst_task_start), (gst_task_pause),
7667 Protect the stream lock with the object lock.
7668 Disallow setting the stream lock when running.
7669 Add cleanup_all to wait for the threadpool to finish.
7670 Remove code to autoallocate a mutex if none was provided.
7671 Add _join() to wait for a task to stop.
7672 Protect the thread pool with a global lock.
7674 2005-08-24 Wim Taymans <wim@fluendo.com>
7676 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7677 (gst_base_sink_get_times), (gst_base_sink_do_sync),
7678 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7679 * gst/base/gstbasesink.h:
7680 Handle newsegment events correctly.
7681 Drop buffers out of the segment range.
7683 2005-08-22 Andy Wingo <wingo@pobox.com>
7685 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7686 macro, implements an interface and gstimplementsinterface for a
7689 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7691 * check/Makefile.am:
7692 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7693 add a test that does a bunch of state changes on elements
7694 needs some fixing for valgrind
7695 * check/states/sinks.c: (gst_object_suite):
7698 add prototype for gst_caps_is_equal_fixed
7700 * gst/gstregistrypool.c:
7703 2005-08-24 Andy Wingo <wingo@pobox.com>
7705 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7706 convert a negative value. Doesn't make much sense. Mostly this is
7707 here to force callers to ensure -1 maps to -1.
7709 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7711 * docs/pwg/advanced-types.xml:
7712 Well done to Michael for catching my deliberate introduction
7713 of this spelling mistake.
7714 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7716 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7717 unlink pads before removing the element from the bin.
7719 2005-08-24 Andy Wingo <wingo@pobox.com>
7721 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7722 the same thing as GST_DEBUG=*:4.
7723 (parse_debug_level, parse_debug_category): New helper parsers.
7725 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7727 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7728 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7729 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7730 (gst_base_transform_buffer_alloc),
7731 (gst_base_transform_handle_buffer):
7732 use gboolean return values and pointers to size so we can use the
7733 full GST_BUFFER_SIZE range (guint) for buffer sizes
7734 use GstPadDirection for transform_caps
7735 * gst/base/gstbasetransform.h:
7736 rename get_size to get_unit_size since that's what it is
7737 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7738 use GstPadDirection for transform_caps
7739 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7741 cleanup and debugging
7743 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7745 * gst/gstelement.c: (gst_element_class_init),
7746 (gst_element_set_state), (activate_pads),
7747 (gst_element_save_thyself):
7748 * tools/gst-compprep.c: (main):
7749 * tools/gst-inspect.c: (print_element_properties_info):
7750 * tools/gst-xmlinspect.c: (print_element_properties):
7751 Fixed long standing mem-leak
7753 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7755 * check/gst/gstbin.c: (GST_START_TEST):
7756 * gst/gstbin.c: (bin_bus_handler):
7757 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7758 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7759 (gst_message_new_warning), (gst_message_new_tag),
7760 (gst_message_new_state_changed), (gst_message_new_segment_start),
7761 (gst_message_new_segment_done), (gst_message_new_custom):
7763 * tools/gst-launch.c: (event_loop):
7764 * tools/gst-md5sum.c: (event_loop):
7765 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7766 that applications can sensibly post custom messages with references
7767 to their own objects.
7769 2005-08-24 Andy Wingo <wingo@pobox.com>
7771 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7774 2005-08-24 Wim Taymans <wim@fluendo.com>
7776 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7777 (gst_base_transform_transform_caps),
7778 (gst_base_transform_transform_size),
7779 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7780 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7781 (gst_base_transform_handle_buffer):
7782 * gst/base/gstbasetransform.h:
7783 Many fixes and new features added by Thomas. Can now also do
7784 transforms with variable sizes and a custom fixate_caps function.
7786 2005-08-24 Wim Taymans <wim@fluendo.com>
7788 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7792 Cast to ClockTime before formatting to time.
7797 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7799 * check/gst-libs/controller.c: (GST_START_TEST),
7800 (gst_controller_suite):
7801 * docs/gst/tmpl/gstcaps.sgml:
7802 * docs/gst/tmpl/gstghostpad.sgml:
7803 * docs/gst/tmpl/gstquery.sgml:
7804 * docs/gst/tmpl/gstutils.sgml:
7805 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7806 (gst_object_sink_values), (gst_object_get_value_arrays),
7807 (gst_object_get_value_array):
7808 gracefully handle helper method calls to objects that are not beeing
7809 controlled, added test case for that
7811 2005-08-23 Wim Taymans <wim@fluendo.com>
7813 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7814 (gst_event_new_newsegment), (gst_event_parse_newsegment),
7815 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7816 (gst_event_parse_qos), (gst_event_new_seek),
7817 (gst_event_parse_seek):
7819 Some more debugging output and doc cleanups.
7821 * gst/gstqueue.c: (gst_queue_handle_sink_event):
7822 Fix possible deadlock.
7824 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7826 * docs/gst/gstreamer-docs.sgml:
7827 * docs/gst/gstreamer-sections.txt:
7828 * docs/gst/gstreamer.types:
7829 * docs/gst/tmpl/.cvsignore:
7834 added 100 symbols from gstreamer-unused.txt to the right sections
7835 fixed more broken comments
7836 added GstBus to docs
7838 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7840 * docs/gst/gstreamer-sections.txt:
7841 * docs/gst/tmpl/.cvsignore:
7842 * docs/gst/tmpl/gstbin.sgml:
7843 * docs/gst/tmpl/gstbuffer.sgml:
7844 * gst/base/gstbasesrc.c:
7845 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7848 * tools/gst-launch.1.in:
7849 inlined more doc comments, added missing comments and fixed comments
7852 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
7854 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7858 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7860 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7861 * gst/gststructure.h:
7862 add a fixate function for booleans; add a FIXME that these func
7863 names should probably be gst_structure_fixate_*
7865 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7867 * docs/gst/gstreamer-docs.sgml:
7868 * docs/gst/gstreamer-sections.txt:
7870 * gst/gstbin.c: (gst_bin_get_type),
7871 (gst_bin_child_proxy_get_child_by_index),
7872 (gst_bin_child_proxy_get_children_count),
7873 (gst_bin_child_proxy_init):
7874 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7875 (gst_child_proxy_get_child_by_index),
7876 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7877 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7878 (gst_child_proxy_get), (gst_child_proxy_set_property),
7879 (gst_child_proxy_set_valist), (gst_child_proxy_set),
7880 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7881 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7882 * gst/gstchildproxy.h:
7883 * gst/parse/grammar.y:
7884 * tools/gst-inspect.c: (print_interfaces),
7885 (print_element_properties_info), (print_element_info):
7886 ported gstchildproxy over from 0.8
7887 ported gst-inspect fixes and enhancements over from 0.8
7889 2005-08-22 Wim Taymans <wim@fluendo.com>
7891 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7892 (gst_base_transform_handle_buffer):
7893 Also call the transform function if we have ANY caps.
7895 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7898 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
7900 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7901 Don't pretend to handle seek events if the source is not seekable
7903 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
7905 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7906 Remove extra parameter to debug output
7908 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7909 (gst_base_src_do_seek), (gst_base_src_activate_push):
7910 Fix seek event handling.
7912 * gst/gstpipeline.c: (gst_pipeline_change_state):
7913 * gst/gstqueue.c: (gst_queue_handle_sink_event),
7914 (gst_queue_src_activate_push):
7915 Don't start the src pad task on FLUSH_STOP if the pad
7919 2005-08-22 Wim Taymans <wim@fluendo.com>
7921 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7922 Added check for gst_static_caps_get() refcounting.
7924 2005-08-22 Wim Taymans <wim@fluendo.com>
7926 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7927 Make _static_caps_get() refcounting sane.
7929 * gst/gstelement.c: (gst_element_set_state):
7930 Add g_return_val_if_fail() to protect against segfaults.
7932 2005-08-22 Stefan Kost <ensonic@users.sf.net>
7934 * docs/gst/tmpl/gstevent.sgml:
7937 inlined remaining docs, added missing doc comments
7939 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
7941 * check/gst/gstbin.c: (GST_START_TEST):
7942 since we don't know when preroll is done, use refcount range
7944 * gst/check/gstcheck.h:
7945 add macro for checking refcount range
7947 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
7949 * check/Makefile.am:
7950 clean up environment for when registry gets built versus
7951 when actual tests are run; valgrind seems to not report
7952 leaks if GST_PLUGIN_PATH is set to some specific values
7953 * check/gst/gstbin.c: (GST_START_TEST):
7954 add more refcounting checks; maybe this exposes a
7957 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7958 * gst/check/gstcheck.h:
7959 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7960 (gst_bin_change_state):
7961 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7962 add/fix debugging/whitespace
7964 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
7966 * check/gst/gstevent.c: (event_probe), (test_event),
7968 Er, don't call gst_bin_watch_for_state_change you idiot.
7970 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
7972 * check/Makefile.am:
7973 Use CHECK_CFLAGS and CHECK_LIBS
7974 * check/gst/gstevent.c: (event_probe), (test_event),
7977 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7978 (gst_base_src_start), (gst_base_src_stop),
7979 (gst_base_src_activate_push), (gst_base_src_activate_pull),
7980 (gst_base_src_change_state):
7981 Sprinkle gst_base_src_stop liberally around error paths to fix
7982 problems reusing a source after failed state changes.
7983 * gst/base/gsttypefindhelper.c: (helper_find_peek),
7984 (helper_find_suggest), (gst_type_find_helper):
7985 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7987 * docs/gst/tmpl/gstevent.sgml:
7988 Migrate part of the docs from the SGML file. Wait for ensonic to
7989 tell me how I did it wrong ;)
7990 * tools/gst-typefind.c: (main):
7991 Extra robustness to state changes between files.
7993 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
7995 * check/Makefile.am:
7996 don't valgrind the controller test - it's leaking - Stefan, HELP
7997 * gst/check/gstcheck.c: (gst_check_message_error),
7998 (gst_check_chain_func), (gst_check_setup_element),
7999 (gst_check_teardown_element), (gst_check_setup_src_pad),
8000 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8001 (gst_check_teardown_sink_pad):
8002 * gst/check/gstcheck.h:
8003 add a bunch of methods to set up elements, and src and sink pads
8004 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8005 * check/elements/identity.c: (setup_identity), (cleanup_identity),
8010 whitespace/doc fixes
8012 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8015 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8016 be handled by the application and not always printed as well
8018 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8020 * check/Makefile.am:
8022 * gst/check/gstcheck.c: (gst_check_message_error):
8023 * gst/check/gstcheck.h:
8024 add a fail_unless_equals_int
8025 add fail_unless for error messages
8027 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8029 * check/Makefile.am:
8031 * common/Makefile.am:
8034 factor out some of the common stuff so we can use it
8036 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8038 * check/Makefile.am:
8039 * check/gst/gstiterator.c: (GST_START_TEST):
8040 * check/gst/gstsystemclock.c: (GST_START_TEST),
8041 (gst_systemclock_suite):
8042 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8046 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8048 * check/elements/.cvsignore:
8049 * check/elements/gstfakesrc.c:
8050 rename to name of element
8051 * check/elements/identity.c: (chain_func), (event_func),
8052 (setup_identity), (cleanup_identity), (GST_START_TEST),
8053 (identity_suite), (main):
8054 add a test for identity
8055 * check/Makefile.am:
8056 * pkgconfig/Makefile.am:
8057 * pkgconfig/gstreamer-check.pc.in:
8058 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8062 move the check stuff to a library that gets installed
8063 * check/gst-libs/controller.c: (GST_START_TEST):
8064 * check/gst-libs/gdp.c:
8065 * check/gst/gst.c: (GST_START_TEST):
8066 * check/gst/gstbin.c:
8067 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8068 * check/gst/gstbus.c:
8069 * check/gst/gstcaps.c: (GST_START_TEST):
8070 * check/gst/gstelement.c:
8071 * check/gst/gstghostpad.c:
8072 * check/gst/gstiterator.c:
8073 * check/gst/gstmessage.c:
8074 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8075 * check/gst/gstobject.c:
8076 * check/gst/gstpad.c: (GST_START_TEST):
8077 * check/gst/gststructure.c: (GST_START_TEST):
8078 * check/gst/gstsystemclock.c: (GST_START_TEST),
8079 (gst_systemclock_suite):
8080 * check/gst/gsttag.c: (gst_tag_suite):
8081 * check/gst/gstvalue.c:
8082 * check/pipelines/cleanup.c:
8083 * check/pipelines/simple_launch_lines.c:
8084 * check/states/sinks.c:
8085 change include statement
8087 * docs/gst/gstreamer-sections.txt:
8088 * docs/gst/tmpl/gstpad.sgml:
8089 document more pad stuff
8090 * gst/gstminiobject.c: (gst_mini_object_ref),
8091 (gst_mini_object_unref):
8094 2005-08-19 Stefan Kost <ensonic@users.sf.net>
8096 * docs/gst/tmpl/gst.sgml:
8098 eliminate another tmpl file, fix spelling in the long-description
8100 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8102 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8103 (test_event), (timediff), (gstevents_suite):
8104 Should fix build on 64-bit arch's
8106 2005-08-18 Andy Wingo <wingo@pobox.com>
8108 Make sure that when a pipeline goes to PLAYING, that data has
8109 actually hit the sink.
8111 * check/states/sinks.c (test_sink): A sink that doesn't get any
8112 data shouldn't return SUCCESS for going to either PLAYING or
8113 PAUSED. Test also the return values on the way back down.
8115 * gst/gstelement.c (gst_element_set_state): When changing the
8116 state of an element currently changing state asynchronously, go to
8117 lost-state after commiting the pending state. Makes future calls
8118 to get_state continue to return ASYNC.
8120 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8121 ASYNC when going to PLAYING if we still don't have preroll, as can
8122 happen with live sources.
8124 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8126 * docs/pwg/advanced-types.xml:
8127 Hack long paragraph into 2 chunks as a workaround for buggy
8128 jadetex version in sid and breezy that loops infinitely and
8131 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8133 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8134 (test_event), (timediff), (gstevents_suite):
8135 Provide more error margin in clock measurements to allow for
8136 g_get_current_time inaccuracies.
8138 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8140 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8141 (test_event), (timediff), (gstevents_suite):
8142 Fix error message output so I might be able to tell why the
8143 test works here but fails on the build farm.
8145 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8147 * check/Makefile.am:
8148 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8149 (test_event), (timediff), (gstevents_suite), (main):
8152 * docs/design/part-seeking.txt:
8155 * docs/gst/tmpl/gstevent.sgml:
8156 * docs/gst/tmpl/gstfakesrc.sgml:
8159 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8160 Treat a buffer-without-newsegment the same as a receiving
8161 a newsegment not in time format, and disable syncing to the clock
8164 * gst/gstbus.c: (gst_bus_set_sync_handler):
8165 Assert if anyone tries to replace the existing sync_handler for bus,
8166 as only the owner should be setting it.
8169 Have a fixed set of custom event enums with events identified by
8170 their structure name (as in 0.8), rather than a free-for-all
8171 allowing collisions between enum values from different plugins.
8173 * gst/gstpad.c: (gst_pad_class_init):
8176 * gst/gstqueue.c: (gst_queue_handle_sink_event):
8177 Handle out-of-band downstream events from the sending thread.
8179 2005-08-17 Andy Wingo <wingo@pobox.com>
8181 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8182 play-timeout==0 to mean no timeout at all. In that case, don't
8183 bother with a get_state or a warning, just return directly, even
8186 * gst/base/gstbasetransform.c: Debug changes.
8189 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8190 ensure bins post state change messages. A bit of a hack but I can't
8191 think of a way to avoid it.
8193 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8195 2005-08-16 Andy Wingo <wingo@pobox.com>
8197 * gst/base/gstadapter.h:
8198 * gst/base/gstadapter.c (gst_adapter_take): New function, like
8199 peek() but you own the data. Not terribly efficient atm.
8201 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8203 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8204 (gst_element_found_tags):
8206 Add two utility functions for tag handling.
8208 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8210 * docs/manual/advanced-dataaccess.xml:
8211 * docs/manual/basics-helloworld.xml:
8212 Fix docs to use _bin_add() before _link(), which fixes the examples
8213 with recent core versions (reported by Madhan Raj M
8214 <raj_madan@rediffmail.com>, #313199).
8216 2005-08-16 Wim Taymans <wim@fluendo.com>
8218 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8219 Added subtract checks.
8221 * docs/design/part-events.txt:
8222 Some more docs about newsegment
8224 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8227 * gst/gstcaps.c: (gst_caps_to_string):
8228 Add comments, cleanups.
8230 * gst/gstelement.c: (gst_element_save_thyself):
8233 * gst/gstvalue.c: (gst_value_collect_int_range),
8234 (gst_string_unwrap), (gst_value_union_int_int_range),
8235 (gst_value_union_int_range_int_range),
8236 (gst_value_intersect_int_int_range),
8237 (gst_value_intersect_int_range_int_range),
8238 (gst_value_intersect_double_double_range),
8239 (gst_value_intersect_double_range_double_range),
8240 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8241 (gst_value_subtract_int_range_int),
8242 (gst_value_subtract_double_range_double),
8243 (gst_value_subtract_double_range_double_range),
8244 (gst_value_subtract_from_list), (gst_value_subtract_list),
8245 (gst_value_can_compare), (gst_value_compare_fraction):
8246 Cleanups, add comments, remove unneeded asserts.
8248 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8250 * tools/gst-launch.c: (event_loop):
8251 don't convert NULL structures to strings
8253 2005-08-15 Stefan Kost <ensonic@users.sf.net>
8255 * docs/gst/gstreamer-sections.txt:
8256 made some defines private
8257 * docs/gst/tmpl/gstconfig.sgml:
8258 * docs/gst/tmpl/gstqueue.sgml:
8259 * docs/gst/tmpl/gsttaglist.sgml:
8260 * docs/gst/tmpl/gsttypes.sgml:
8261 * docs/gst/tmpl/gstutils.sgml:
8262 * docs/pwg/appendix-porting.xml:
8263 * gst/base/gstbasesink.h:
8264 * gst/base/gstbasesrc.c:
8265 * gst/base/gstbasesrc.h:
8266 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8267 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8268 * gst/gstelement.c: (gst_element_class_init):
8269 * gst/gstpad.c: (gst_pad_class_init):
8270 * gst/gstqueue.c: (gst_queue_class_init):
8271 * gst/gstxml.c: (gst_xml_class_init):
8272 documented all undocumented signal inline
8273 * libs/gst/controller/gst-controller.h:
8276 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8278 * docs/pwg/appendix-porting.xml:
8279 Document _set_link_function -> _set_setcaps_function.
8281 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8283 * check/Makefile.am:
8284 add a .check target for running the check
8285 * check/gst-libs/controller.c: (GST_START_TEST):
8287 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8288 complete checks for gstbuffer; would be nice if I could get the
8289 gcov stuff to work so I can see if I actually completed gstbuffer.c
8291 add ASSERT_BUFFER_REFCOUNT
8293 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
8295 * docs/gst/gstreamer-sections.txt:
8296 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8298 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8299 spew out a warning if a tag that is already registered
8300 is re-registered, unless it is re-registered with a
8301 different type (#308438).
8303 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
8305 * docs/pwg/appendix-porting.xml:
8306 * docs/pwg/building-state.xml:
8307 Add some paragraphs about state changes in 0.9 to the PWG
8308 and the porting guide, in particular about the new meaning
8309 of GST_STATE_PAUSED and how to write state change functions
8310 with concurrent access by multiple threads in mind.
8312 2005-08-11 Stefan Kost <ensonic@users.sf.net>
8314 * docs/gst/gstreamer-docs.sgml:
8315 * docs/libs/gstreamer-libs-docs.sgml:
8316 added deprecation and since indexes
8317 * libs/gst/controller/gst-controller.c:
8318 * libs/gst/controller/gst-helper.c:
8322 2005-08-11 Wim Taymans <wim@fluendo.com>
8324 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8325 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8326 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8327 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8328 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8329 (gst_ghost_pad_set_target):
8330 Actually implement (re)setting the target on a ghostpad
8331 as described in the docs.
8333 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8335 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8336 Check whether GST_DEBUG_NO_COLOR environment variable is
8337 set and disable coloured debug output if that is the case.
8339 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8341 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8342 (gst_type_find_helper):
8343 The memory returned by gst_type_find_peek() needs to
8344 stay valid until the end of a typefind function, and
8345 typefind functions may keep results from different
8346 offsets around, so we can't just unref the buffer from
8347 the previous _peek(), but have to save all buffers
8348 returned by _peek() until typefinding is done and only
8351 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
8353 * docs/gst/gstreamer-sections.txt:
8355 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8357 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8359 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8360 Fix a pretty good memleak.
8362 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8364 * gst/gstiterator.h:
8365 Fix wrong include and 'make distcheck'.
8367 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8369 * gst/gstbin.c: (bin_bus_handler):
8370 Use gst_element_post_message() instead.
8372 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8374 * gst/base/gstadapter.h:
8375 * gst/base/gstbasesink.h:
8376 * gst/base/gstbasesrc.h:
8377 * gst/base/gstbasetransform.h:
8378 * gst/base/gstcollectpads.h:
8379 * gst/base/gstpushsrc.h:
8380 * gst/gstiterator.h:
8381 Add padding to our base elements' class and instance structs and
8382 to GstIterator (you will need to rebuild all plugins and apps!)
8384 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8386 * gst/gstbin.c: (bin_bus_handler):
8387 Make default message forwarding from child->bus to bin->bus
8388 threadsafe and make it not emit warnings if the parent has no bus.
8390 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8392 * gst/gstelement.c: (activate_pads):
8393 On paused->ready, set pad->caps to NULL, as is the documented
8394 behaviour in this state change. Fixes playback of series of
8395 media files when visualization is enabled in Totem.
8397 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8399 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8400 Allow NULL as filter-caps (which means "any").
8402 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8404 * docs/libs/gstreamer-libs-sections.txt:
8405 * libs/gst/controller/gst-controller.c:
8406 * libs/gst/controller/gst-controller.h:
8407 * libs/gst/controller/gst-helper.c:
8408 adding more entries to the docs and fix small doc-bugs
8410 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8412 * docs/gst/gstreamer-docs.sgml:
8413 * docs/gst/gstreamer-sections.txt:
8414 * docs/gst/gstreamer.types:
8415 * docs/gst/tmpl/gstbasesink.sgml:
8416 * docs/gst/tmpl/gstbasesrc.sgml:
8417 * docs/gst/tmpl/gstbasetransform.sgml:
8418 * docs/gst/tmpl/gstfakesrc.sgml:
8419 * gst/base/gstcollectpads.c:
8420 * gst/base/gstcollectpads.h:
8421 * libs/gst/controller/gst-controller.c:
8422 * libs/gst/controller/gst-controller.h:
8423 * libs/gst/controller/gst-helper.c:
8424 * libs/gst/controller/gst-interpolation.c:
8425 * libs/gst/controller/lib.c:
8426 added long/short desc for controller docs
8427 added collectpads base class docs
8428 added correct includes to base-class docs
8430 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8432 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8433 (gst_test_mono_source_set_property),
8434 (gst_test_mono_source_class_init), (GST_START_TEST),
8435 (gst_controller_suite):
8436 * docs/gst/gstreamer-docs.sgml:
8437 * docs/gst/gstreamer-sections.txt:
8438 * docs/gst/gstreamer.types:
8439 * docs/libs/gstreamer-libs-docs.sgml:
8440 * docs/libs/gstreamer-libs-sections.txt:
8441 * gst/base/gstadapter.c:
8442 * libs/gst/controller/gst-controller.c:
8443 (gst_controlled_property_new), (gst_controlled_property_free),
8444 (gst_controller_new_valist),
8445 (gst_controller_remove_properties_valist),
8446 (gst_controller_sink_values), (_gst_controller_finalize):
8447 * libs/gst/controller/gst-controller.h:
8448 * libs/gst/controller/gst-helper.c:
8449 (gst_object_control_properties), (gst_object_uncontrol_properties),
8450 (gst_object_get_controller), (gst_object_set_controller),
8451 (gst_object_sink_values), (gst_object_get_value_arrays),
8452 (gst_object_get_value_array):
8453 more tests (and fixes) for the controller
8454 more docs for the controller
8455 integrated companies docs for the adapter
8457 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
8459 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8460 (GST_START_TEST), (fakesrc_suite):
8461 add tests for sizetype
8463 2005-08-04 Andy Wingo <wingo@pobox.com>
8465 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8466 fixes buffer_alloc proxying among other things.
8468 * gst/base/gstbasetransform.c:
8469 * gst/base/gstbasetransform.h:
8470 Revert patch to gstbasetransform from 7-28 removing
8473 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8474 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8475 Semantics changed, should return not the size of the output buffer
8476 but the byte size of a buffer with a given caps.
8478 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8480 (gst_base_transform_configure_caps): Don't set out_size here: (in,
8481 out) are not the pad caps until setcaps finishes.
8482 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8483 not-in-place case as well. Deal with changing from in-place to
8484 not-in-place within calling pad_alloc_buffer. Still a bit
8485 concerned about the overhead here...
8487 2005-08-03 Andy Wingo <wingo@pobox.com>
8489 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8490 fixating is an error.
8492 2005-08-04 Edward Hervey <edward@fluendo.com>
8494 * gst/base/gstadapter.h:
8495 Added gst_adapter_get_type() to the header
8497 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8499 * check/Makefile.am:
8500 * check/gst-libs/controller.c:
8501 * libs/gst/controller/gst-controller.c:
8502 (gst_controller_new_valist):
8503 added check test suite for the controller
8504 * gst/base/gstpushsrc.c:
8507 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8509 * docs/gst/Makefile.am:
8510 * docs/gst/gstreamer-docs.sgml:
8511 * docs/gst/gstreamer-sections.txt:
8512 * docs/gst/gstreamer.types:
8513 * docs/gst/tmpl/gstfakesrc.sgml:
8515 * gst/base/gstbasesink.c:
8516 * gst/base/gstbasesink.h:
8517 * gst/base/gstbasesrc.c:
8518 * gst/base/gstbasesrc.h:
8519 * gst/base/gstbasetransform.c:
8520 * gst/base/gstpushsrc.c:
8521 * gst/base/gstpushsrc.h:
8522 add short/long description docs to base classes
8523 add pushsrc to the docs
8524 remove consolidated doc fragments
8526 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8529 * docs/libs/Makefile.am:
8530 * docs/libs/gstreamer-libs-docs.sgml:
8531 * docs/libs/gstreamer-libs-sections.txt:
8532 * docs/libs/gstreamer-libs.types:
8533 * examples/Makefile.am:
8534 * examples/controller/.cvsignore:
8535 * examples/controller/Makefile.am:
8536 * examples/controller/audio-example.c: (main):
8537 * libs/gst/Makefile.am:
8538 * libs/gst/controller/.cvsignore:
8539 * libs/gst/controller/Makefile.am:
8540 * libs/gst/controller/gst-controller.c:
8541 (on_object_controlled_property_changed), (gst_timed_value_compare),
8542 (gst_timed_value_find),
8543 (gst_controlled_property_set_interpolation_mode),
8544 (gst_controlled_property_new), (gst_controlled_property_free),
8545 (gst_controller_find_controlled_property),
8546 (gst_controller_new_valist), (gst_controller_new),
8547 (gst_controller_remove_properties_valist),
8548 (gst_controller_remove_properties), (gst_controller_set),
8549 (gst_controller_set_from_list), (gst_controller_unset),
8550 (gst_controller_get), (gst_controller_get_all),
8551 (gst_controller_sink_values), (gst_controller_get_value_arrays),
8552 (gst_controller_get_value_array),
8553 (gst_controller_set_interpolation_mode),
8554 (_gst_controller_finalize), (_gst_controller_init),
8555 (_gst_controller_class_init), (gst_controller_get_type):
8556 * libs/gst/controller/gst-controller.h:
8557 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8558 (g_object_uncontrol_properties), (g_object_get_controller),
8559 (g_object_set_controller), (g_object_sink_values),
8560 (g_object_get_value_arrays), (g_object_get_value_array):
8561 * libs/gst/controller/gst-interpolation.c:
8562 (gst_controlled_property_find_timed_value_node),
8563 (interpolate_none_get), (interpolate_trigger_get),
8564 (interpolate_trigger_get_value_array):
8565 * libs/gst/controller/lib.c: (gst_controller_init):
8566 * pkgconfig/Makefile.am:
8567 * pkgconfig/gstreamer-control-uninstalled.pc.in:
8568 * pkgconfig/gstreamer-control.pc.in:
8569 * testsuite/Makefile.am:
8570 * testsuite/controller/.cvsignore:
8571 * testsuite/controller/Makefile.am:
8572 * testsuite/controller/interpolator.c: (main):
8573 added controller code
8574 removed dparam pc files
8576 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8577 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8578 (gst_collectpads_stop):
8579 Broadcast the condition when shutting down, to make sure we wake all
8580 threads up. Shut down pads on finalize, for safety.
8582 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8583 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8584 (gst_base_transform_handle_buffer),
8585 (gst_base_transform_change_state):
8586 Handle PAUSED->READY->PAUSED transition after negotiation
8588 * gst/gstmessage.c: (gst_message_init):
8589 Extra piece of debug for new messages.
8591 2005-08-01 Stefan Kost <ensonic@users.sf.net>
8594 * docs/gst/tmpl/gstbasesrc.sgml:
8595 * docs/gst/tmpl/gstelement.sgml:
8596 * docs/gst/tmpl/gstevent.sgml:
8597 * docs/gst/tmpl/gstfakesrc.sgml:
8598 * docs/gst/tmpl/gstformat.sgml:
8599 * docs/gst/tmpl/gstghostpad.sgml:
8600 * docs/gst/tmpl/gstpad.sgml:
8601 * docs/gst/tmpl/gstquery.sgml:
8602 * docs/gst/tmpl/gststructure.sgml:
8603 * docs/gst/tmpl/gsttaglist.sgml:
8604 * docs/gst/tmpl/gstvalue.sgml:
8605 * docs/libs/gstreamer-libs-docs.sgml:
8606 * docs/libs/gstreamer-libs-sections.txt:
8607 * docs/libs/gstreamer-libs.types:
8608 * libs/gst/Makefile.am:
8609 * libs/gst/control/.cvsignore:
8610 * libs/gst/control/Makefile.am:
8611 * libs/gst/control/control.c:
8612 * libs/gst/control/control.h:
8613 * libs/gst/control/dparam.c:
8614 * libs/gst/control/dparam.h:
8615 * libs/gst/control/dparam_smooth.c:
8616 * libs/gst/control/dparam_smooth.h:
8617 * libs/gst/control/dparamcommon.h:
8618 * libs/gst/control/dparammanager.c:
8619 * libs/gst/control/dparammanager.h:
8620 * libs/gst/control/dplinearinterp.c:
8621 * libs/gst/control/dplinearinterp.h:
8622 * libs/gst/control/unitconvert.c:
8623 * libs/gst/control/unitconvert.h:
8624 * testsuite/Makefile.am:
8625 * testsuite/dynparams/.cvsignore:
8626 * testsuite/dynparams/Makefile.am:
8627 * testsuite/dynparams/dparamstest.c:
8628 * tools/Makefile.am:
8629 * tools/gst-inspect.c: (print_element_info), (main):
8630 * tools/gst-xmlinspect.c: (print_element_info), (main):
8631 deactivate and remove dparams (libgstcontrol)
8633 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8635 * gst/elements/gsttypefindelement.c:
8636 (gst_type_find_element_have_type), (gst_type_find_element_init),
8637 (stop_typefinding), (gst_type_find_element_handle_event),
8638 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8639 * gst/elements/gsttypefindelement.h:
8640 Set caps on all outgoing buffers, not just the first one.
8642 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8644 * gst/elements/gsttypefindelement.c:
8645 (gst_type_find_element_have_type),
8646 (gst_type_find_element_check_set_buffer_caps),
8647 (gst_type_find_element_init), (stop_typefinding),
8648 (gst_type_find_element_handle_event),
8649 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8650 * gst/elements/gsttypefindelement.h:
8651 Set caps on first outgoing buffer when we've found the type.
8653 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8655 * docs/gst/gstreamer-docs.sgml:
8656 * docs/gst/gstreamer-sections.txt:
8657 * docs/gst/tmpl/gstscheduler.sgml:
8658 * docs/gst/tmpl/gstschedulerfactory.sgml:
8659 Remove some old cruft from docs.
8661 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
8664 Fix inline docs for GstPadLinkReturn.
8666 * gst/gststructure.c: (gst_structure_has_name):
8667 * gst/gststructure.h:
8668 * docs/gst/gstreamer-sections.txt:
8669 New API: gst_structure_has_name().
8671 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
8674 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8675 and _LARGEFILE_SOURCE in config.h as required. Do not
8676 export those flags in our .pc files any longer (#142209).
8678 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8680 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8681 (gst_file_sink_do_seek), (gst_file_sink_event),
8682 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8683 Redo seek/tell calls with large file support in mind; add some
8684 debugging messages; add log message that tells us when large
8685 file support is unavailable or not enabled for some reason.
8687 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8688 Add log message that tells us when large file support
8689 is unavailable or not enabled for some reason.
8691 2005-07-29 Wim Taymans <wim@fluendo.com>
8693 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8694 Added test for removing an element with ghostpad from a bin.
8695 Fixed test as current implementation does the right thing.
8697 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8698 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8699 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8700 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8701 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8702 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8703 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8704 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8705 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8706 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8707 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8708 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8709 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8710 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8711 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8712 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8713 * gst/gstghostpad.h:
8714 Clean up ghostpads, remove properties for internal stuff.
8717 Prepare for switching targets, not all use cases work yet.
8719 2005-07-29 Wim Taymans <wim@fluendo.com>
8721 * docs/design/part-gstghostpad.txt:
8724 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8725 (gst_bin_remove_func):
8726 Unlinking pads while holding the bin LOCK is not a good
8729 * gst/gstpad.c: (gst_pad_class_init),
8730 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8731 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8732 No prob setting template after creating the pad.
8734 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
8736 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8737 (gst_bus_peek), (gst_bus_source_dispatch),
8738 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8739 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8740 gst_bus_poll may be called from other threads. Handle
8741 this nicely by not making poll_data disappear off the
8742 stack once gst_bus_poll returns.
8743 gst_bus_peek now increments the refcount on the returned
8746 2005-07-29 Wim Taymans <wim@fluendo.com>
8748 * docs/design/part-gstghostpad.txt:
8749 Overview of current GhostPad datastructures and use
8750 cases for changing the target.
8752 2005-07-28 Wim Taymans <wim@fluendo.com>
8754 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8755 Added checks for hierarchy consistency whan adding linked
8758 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8759 Added check to test element scheduling without bin/pipeline.
8761 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8762 First add elements to bin, then link.
8764 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8765 (gst_bin_remove_func):
8766 Unlink pads from elements added/removed from bin to maintain
8767 hierarchy consistency.
8769 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8771 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8772 (gst_base_transform_handle_buffer):
8773 * gst/base/gstbasetransform.h:
8774 Remove broken delay_configure (fixes renegotiation of software
8775 scaling pipelines); remove some leftover printf()s.
8777 2005-07-28 Wim Taymans <wim@fluendo.com>
8779 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8780 Added some more tests for wrong hierarchy
8782 * docs/design/part-overview.txt:
8785 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8788 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8789 (gst_element_dispose):
8792 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8793 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8794 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8795 (gst_pad_set_caps), (gst_pad_send_event):
8796 Check for correct hierarchy when linking pads. Moving to
8797 strict requirement for ghostpads when linking elements in
8801 Clean ups. Added WRONG_HIERARCHY return value.
8803 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8805 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8806 Better debug if no transform is possible.
8808 2005-07-27 Wim Taymans <wim@fluendo.com>
8810 * docs/random/wtay/network-transp:
8813 2005-07-27 Wim Taymans <wim@fluendo.com>
8815 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8816 (gst_dp_event_from_packet):
8817 Fix serialization of seek events.
8819 2005-07-27 Wim Taymans <wim@fluendo.com>
8821 * check/gst-libs/gdp.c: (GST_START_TEST):
8822 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8823 Fix compilation and fix event serialization.
8825 2005-07-27 Wim Taymans <wim@fluendo.com>
8828 * docs/design/part-TODO.txt:
8829 * docs/design/part-events.txt:
8832 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8833 (gst_base_sink_event), (gst_base_sink_do_sync),
8834 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8835 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8836 (gst_base_src_do_seek), (gst_base_src_event_handler),
8837 (gst_base_src_loop):
8838 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8839 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8840 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8841 (gst_base_transform_event), (gst_base_transform_handle_buffer),
8842 (gst_base_transform_set_passthrough),
8843 (gst_base_transform_is_passthrough):
8844 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8845 * gst/elements/gstfilesink.c: (gst_file_sink_event):
8851 * gst/gstelement.c: (gst_element_seek):
8853 Update gst_element_seek.
8855 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8856 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8857 (gst_event_new_flush_start), (gst_event_new_flush_stop),
8858 (gst_event_new_eos), (gst_event_new_newsegment),
8859 (gst_event_parse_newsegment), (gst_event_new_tag),
8860 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8861 (gst_event_parse_qos), (gst_event_new_seek),
8862 (gst_event_parse_seek), (gst_event_new_navigation):
8864 Make GstEvent use GstStructure. Add parsing code, make sure the
8865 API is sufficiently generic.
8866 Mark possible directions of events and serialization.
8868 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8869 (_gst_message_copy), (gst_message_new_segment_start),
8870 (gst_message_new_segment_done), (gst_message_new_custom),
8871 (gst_message_parse_segment_start),
8872 (gst_message_parse_segment_done):
8875 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8876 (gst_pad_set_caps), (gst_pad_send_event):
8877 Update for new events.
8878 Catch events sent in wrong directions.
8880 * gst/gstqueue.c: (gst_queue_link_src),
8881 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8882 (gst_queue_handle_src_query):
8887 Remove event code from this file.
8889 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8890 (gst_dp_event_from_packet):
8893 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8895 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8896 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8897 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8898 Make debugging actually useful.
8900 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8902 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8903 (gst_pad_fixate_caps):
8904 Implement default fixation once again, so that gst_pad_fixate()
8905 actually does anything at all. This probably needs to be some
8906 sort of a last resort, and use profile-based fixation first, but
8907 since that doesn't exist yet, this is the best we have. Fixes
8908 visualization in Totem.
8910 2005-07-22 Wim Taymans <wim@fluendo.com>
8912 * docs/design/part-events.txt:
8915 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8916 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8917 (gst_base_sink_activate_pull):
8920 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8921 (gst_fake_src_create):
8922 Fix handoff marshall.
8924 * gst/elements/gstidentity.c: (gst_identity_class_init),
8925 (gst_identity_transform_ip):
8926 We're a real inplace element.
8928 * gst/gstbus.c: (gst_bus_post):
8929 Added some comments.
8931 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8932 * tests/muxing/case1.c: (main):
8933 * tests/sched/dynamic-pipeline.c: (main):
8934 * tests/sched/interrupt1.c: (main):
8935 * tests/sched/interrupt2.c: (main):
8936 * tests/sched/interrupt3.c: (main):
8937 * tests/sched/runxml.c: (main):
8938 * tests/sched/sched-stress.c: (main):
8939 * tests/seeking/seeking1.c: (event_received), (main):
8940 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8942 * tests/threadstate/threadstate3.c: (main):
8943 * tests/threadstate/threadstate4.c: (main):
8944 * tests/threadstate/threadstate5.c: (main):
8947 2005-07-21 Wim Taymans <wim@fluendo.com>
8949 * docs/design/part-seeking.txt:
8950 Some small additions.
8952 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8953 (gst_base_sink_get_times), (gst_base_sink_do_sync),
8954 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8955 * gst/base/gstbasesink.h:
8956 discont values are gint64, handle the math correctly.
8958 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8959 Make the basesrc report error if the source pad is not linked.
8961 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8962 (gst_queue_loop), (gst_queue_handle_src_query),
8963 (gst_queue_src_activate_push):
8964 Make queue collect data even if the srcpad is not linked.
8965 Start pushing out data as soon as it is linked.
8967 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8969 Added gst_flow_get_name() to ease error reporting.
8971 2005-07-20 Wim Taymans <wim@fluendo.com>
8973 * gst/gstmessage.c: (gst_message_new_segment_start),
8974 (gst_message_new_segment_done), (gst_message_parse_segment_start),
8975 (gst_message_parse_segment_done):
8977 Added a bunch of messages for advanced seeking.
8979 * gst/parse/grammar.y:
8980 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8981 (gst_dpman_state_changed):
8982 Fix some new-pad -> pad-added signals
8984 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8986 * docs/manual/appendix-porting.xml:
8987 * docs/pwg/appendix-porting.xml:
8988 Document new-pad/state-change signal renames and the FixedList
8991 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8993 * docs/manual/advanced-autoplugging.xml:
8994 * docs/manual/basics-helloworld.xml:
8995 * docs/manual/basics-pads.xml:
8996 * docs/random/ds/0.9-suggested-changes:
8997 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9002 * gst/gststructure.c: (gst_structure_value_get_generic_type),
9003 (gst_structure_parse_array), (gst_structure_parse_value):
9004 * gst/gstvalue.c: (gst_type_is_fixed),
9005 (gst_value_list_prepend_value), (gst_value_list_append_value),
9006 (gst_value_list_get_size), (gst_value_list_get_value),
9007 (gst_value_transform_array_string), (gst_value_serialize_array),
9008 (gst_value_deserialize_array), (gst_value_intersect_array),
9009 (gst_value_is_fixed), (_gst_value_initialize):
9011 GstElement::new-pad -> pad-added, GstElement::state-change ->
9012 state-changed, GstValueFixedList -> GstValueArray, add format and
9013 flags as their own arguments in gst_element_seek() (should improve
9014 "bindeability"), remove function generators since they don't work
9015 under a whole bunch of compilers (they were deprecated already
9018 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9020 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9021 (_gst_debug_register_funcptr):
9023 Fix illegal cast on some platforms (#309253).
9025 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9027 * gst/gstmessage.c: (gst_message_new_custom):
9029 Add _new_custom, make _new_application a macro to _new_custom.
9031 2005-07-20 Wim Taymans <wim@fluendo.com>
9033 * gst/base/gstbasesrc.c: (gst_base_src_init),
9034 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9035 * gst/base/gstbasesrc.h:
9036 Add a gboolean to decide when to push out a discont.
9038 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9039 (gst_queue_loop), (gst_queue_handle_src_query),
9040 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9041 (gst_queue_set_property), (gst_queue_get_property):
9044 * tests/threadstate/threadstate1.c: (main):
9045 Make a thread test compile and run... very silly..
9048 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9050 * docs/manual/appendix-porting.xml:
9051 Mention removal of libgstgconf-0.9.la and existence of gconf
9054 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9056 * docs/pwg/advanced-clock.xml:
9057 * docs/pwg/appendix-porting.xml:
9058 * docs/pwg/intro-preface.xml:
9059 * docs/pwg/other-base.xml:
9060 * docs/pwg/other-manager.xml:
9061 * docs/pwg/other-nton.xml:
9062 * docs/pwg/other-ntoone.xml:
9063 * docs/pwg/other-oneton.xml:
9065 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9066 demuxer), remove n-to-n (was never written), fix some code examples
9067 and links and update the porting section to include all this.
9069 2005-07-19 Wim Taymans <wim@fluendo.com>
9071 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9072 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9073 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9074 (gst_queue_src_activate_push), (gst_queue_change_state),
9075 (gst_queue_get_property):
9077 Propagate GstFlowReturn more intelligently upstream and output
9078 an ERROR/EOS when streaming stopped due to fatal error.
9080 2005-07-19 Wim Taymans <wim@fluendo.com>
9082 * tools/gst-launch.c: (check_intr), (event_loop), (main):
9083 Don't block forever for the state change to complete, the
9084 pipeline already did with a sensible timeout.
9086 2005-07-19 Wim Taymans <wim@fluendo.com>
9088 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9089 Make sure we never call the create function is we
9092 2005-07-19 Andy Wingo <wingo@pobox.com>
9094 * gst/parse/parse.l: Attempt to solve bug #172815.
9096 2005-07-19 Wim Taymans <wim@fluendo.com>
9098 * docs/design/part-clocks.txt:
9099 * docs/design/part-events.txt:
9100 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9102 Only update the seeking values when we are not
9105 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
9107 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9108 Oops, ignore the result of gst_pad_push_event here.
9110 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
9112 * gst/base/gstbasesrc.c: (gst_base_src_loop),
9113 (gst_base_src_activate_push):
9114 Send discont event from the loop function, as pads
9115 aren't activated yet in the activate_push handler.
9117 * gst/gstbin.c: (bin_bus_handler):
9118 Don't leak element name.
9120 2005-07-18 Andy Wingo <wingo@pobox.com>
9122 * configure.ac: Use AS_LIBTOOL_TAGS.
9124 2005-07-18 Wim Taymans <wim@fluendo.com>
9126 * docs/gst/gstreamer.types:
9127 Remove deleted types.
9129 2005-07-18 Wim Taymans <wim@fluendo.com>
9131 * check/elements/gstfakesrc.c: (GST_START_TEST):
9134 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9135 (init_popt_callback):
9137 * gst/gst_private.h:
9138 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9139 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9142 * gst/gstconfig.h.in:
9143 * gst/gstelement.c: (gst_element_class_init),
9144 (gst_element_set_base_time), (gst_element_get_base_time),
9145 (iterator_fold_with_resync), (gst_element_change_state),
9146 (gst_element_dispose), (gst_element_get_bus):
9148 * gst/gstelementfactory.h:
9149 * gst/gsterror.c: (_gst_core_errors_init):
9152 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9154 * gst/gstinfo.c: (_gst_debug_init):
9155 * gst/gstmessage.c: (_gst_message_copy):
9157 * gst/gstminiobject.h:
9160 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9161 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9164 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9165 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9166 (gst_pipeline_get_last_stream_time):
9167 * gst/gstpipeline.h:
9168 * gst/gstpluginfeature.h:
9170 * gst/gstscheduler.c:
9171 * gst/gstscheduler.h:
9172 * gst/gststructure.h:
9173 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9174 (gst_task_finalize), (gst_task_func), (gst_task_create),
9175 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9176 (gst_task_stop), (gst_task_pause):
9178 * gst/gsttypefind.h:
9180 * gst/registries/gstlibxmlregistry.c: (load_feature),
9181 (gst_xml_registry_load), (gst_xml_registry_save_feature):
9182 * gst/registries/gstxmlregistry.c:
9183 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9184 * gst/schedulers/threadscheduler.c:
9185 * libs/gst/control/dparammanager.h:
9186 * tools/gst-inspect.c: (print_element_list),
9187 (print_plugin_features), (print_element_features):
9188 * tools/gst-xmlinspect.c: (print_element_list),
9189 (print_plugin_info), (main):
9190 Removed plugable schedulers.
9191 Removed Scheduler/Manager from elements.
9192 Removed gsttypes.h, rearranged includes.
9193 Removed dependency pad<->element, element<>pipeline, and
9194 various others, fix includes.
9195 implement gst_pad_get_parent() with gst_object_get_parent()
9196 Make GstTask sefcontained.
9197 Fix _get_state() on GstBin, it did not return ASYNC with a 0
9199 Fix endless loop in iterator_fold_with_resync.
9202 2005-07-18 Wim Taymans <wim@fluendo.com>
9208 2005-07-18 Wim Taymans <wim@fluendo.com>
9213 2005-07-18 Wim Taymans <wim@fluendo.com>
9219 2005-07-18 Wim Taymans <wim@fluendo.com>
9221 * docs/design/part-dynamic.txt:
9222 * docs/design/part-events.txt:
9223 * docs/design/part-seeking.txt:
9224 Some more docs in the works.
9226 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9227 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9228 (gst_base_transform_setcaps), (gst_base_transform_get_size),
9229 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9230 (gst_base_transform_handle_buffer),
9231 (gst_base_transform_sink_activate_push),
9232 (gst_base_transform_src_activate_pull),
9233 (gst_base_transform_set_passthrough),
9234 (gst_base_transform_is_passthrough):
9237 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9240 * gst/gstevent.c: (gst_event_finalize):
9243 * gst/gstutils.c: (gst_element_unlink),
9244 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9245 (gst_pad_proxy_setcaps):
9247 Add _get_parent_element() to get a pads parent as an element.
9249 2005-07-18 Wim Taymans <wim@fluendo.com>
9251 * check/gst/gstbin.c: (GST_START_TEST):
9254 2005-07-18 Wim Taymans <wim@fluendo.com>
9256 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9257 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9258 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9259 (gst_base_sink_event), (gst_base_sink_do_sync),
9260 (gst_base_sink_chain), (gst_base_sink_loop),
9261 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9262 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9264 Fix logic for returning ASYNC when not prerolled.
9266 2005-07-18 Wim Taymans <wim@fluendo.com>
9268 * gst/gstqueue.c: (gst_queue_handle_sink_event):
9269 Fix nasty refcount bug.
9271 2005-07-16 Philippe Khalaf <burger@speedy.org>
9273 * gst/elements/gstfdsrc.c:
9274 * gst/elements/gstfdsrc.h:
9275 * gst/elements/gstelements.c:
9276 * gst/elements/Makefile.am:
9277 Ported fdsrc to 0.9.
9279 2005-07-16 Wim Taymans <wim@fluendo.com>
9281 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9282 (gst_base_sink_do_sync):
9285 2005-07-16 Wim Taymans <wim@fluendo.com>
9287 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9288 (gst_base_sink_event), (gst_base_sink_get_times),
9289 (gst_base_sink_do_sync), (gst_base_sink_change_state):
9290 * gst/base/gstbasesink.h:
9291 Store and use discont values when syncing buffers as described
9294 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9295 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9296 (gst_base_src_activate_push):
9297 Push discont event when starting.
9299 * gst/elements/gstidentity.c: (gst_identity_transform):
9302 * gst/gstbin.c: (gst_bin_change_state):
9303 Small cleanups in base_time distribution.
9305 * gst/gstelement.c: (gst_element_set_base_time),
9306 (gst_element_get_base_time), (gst_element_change_state):
9308 Added methods for the base_time of the element.
9311 * gst/gstpipeline.c: (gst_pipeline_send_event),
9312 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9313 (gst_pipeline_get_last_stream_time):
9314 * gst/gstpipeline.h:
9316 Handle seeking as described in design doc, remove stream_time
9318 Cleanups clock and stream_time selection code. Added accessors
9319 for the stream_time.
9322 2005-07-16 Andy Wingo <wingo@pobox.com>
9324 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9327 2005-07-16 Wim Taymans <wim@fluendo.com>
9329 * check/gst/gstbin.c: (GST_START_TEST):
9330 Make elements silent as the deep_notify refs the
9331 parent, which might make the test fail.
9333 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9334 Don't hold the lock for too long.
9336 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
9338 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9339 Don't unref the caps we passed to gst_caps_make_writable() after
9340 passing them. gst_caps_make_writable() will do that for us.
9342 2005-07-15 Andy Wingo <wingo@pobox.com>
9344 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9347 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9348 own marshalling function for the handoff signal. Properly type the
9349 buffer as a buffer. Fixes some warnings. Should do a more general
9351 (gst_identity_class_init): Plug into the right marshaller.
9353 2005-07-15 Wim Taymans <wim@fluendo.com>
9355 * docs/design/part-TODO.txt:
9356 * docs/design/part-clocks.txt:
9357 * docs/design/part-element-sink.txt:
9358 * docs/design/part-events.txt:
9359 * docs/design/part-gstpipeline.txt:
9360 Updated docs, mostly DISCONT related.
9362 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
9364 * docs/pwg/building-pads.xml:
9365 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9367 2005-07-15 Andy Wingo <wingo@pobox.com>
9369 * tools/gst-typefind.c: Update, add copyright block.
9371 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9372 Normalize and truncate caps before fixation.
9375 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9376 discards all but the first structure from its argument.
9378 2005-07-15 Wim Taymans <wim@fluendo.com>
9380 * gst/base/gstbasetransform.c: (gst_base_transform_init),
9381 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9382 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9383 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9384 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9385 (gst_base_transform_chain), (gst_base_transform_change_state),
9386 (gst_base_transform_set_passthrough),
9387 (gst_base_transform_is_passthrough):
9388 * gst/base/gstbasetransform.h:
9389 Make passthrough work using the bufferpools.
9390 Changed API a bit, subclasses have to write into a buffer
9391 provided by the base class.
9392 More debug info in nego functions.
9394 * gst/elements/gstidentity.c: (gst_identity_init),
9395 (gst_identity_transform):
9396 Port to new base class.
9398 2005-07-15 Wim Taymans <wim@fluendo.com>
9400 * gst/gstmessage.c: (gst_message_new_state_changed):
9401 * tools/gst-launch.c: (event_loop), (main):
9402 Totally dump messages in -launch with the -m option.
9403 Fix message name for State messages,
9405 2005-07-14 Wim Taymans <wim@fluendo.com>
9407 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9408 Post error messages on errors.
9410 2005-07-14 Wim Taymans <wim@fluendo.com>
9412 * gst/gstcaps.c: (gst_caps_do_simplify):
9416 Define error for stream stopped.
9418 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9419 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9420 Do proper return values.
9422 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9423 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9424 (gst_pad_get_range):
9425 Better return values.
9428 Reorganise return values, add macro to check for fatal errors.
9430 * gst/gstqueue.c: (gst_queue_chain):
9431 Return proper GstFlowReturn values,
9433 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
9435 * docs/gst/gstreamer-sections.txt:
9436 * docs/gst/gstreamer.types:
9437 * docs/gst/tmpl/gst.sgml:
9438 * docs/gst/tmpl/gstbasesink.sgml:
9439 * docs/gst/tmpl/gstbasesrc.sgml:
9440 * docs/gst/tmpl/gstbasetransform.sgml:
9441 * docs/gst/tmpl/gstbin.sgml:
9442 * docs/gst/tmpl/gstbuffer.sgml:
9443 * docs/gst/tmpl/gstcaps.sgml:
9444 * docs/gst/tmpl/gstclock.sgml:
9445 * docs/gst/tmpl/gstcompat.sgml:
9446 * docs/gst/tmpl/gstconfig.sgml:
9447 * docs/gst/tmpl/gstelement.sgml:
9448 * docs/gst/tmpl/gstelementdetails.sgml:
9449 * docs/gst/tmpl/gstelementfactory.sgml:
9450 * docs/gst/tmpl/gstenumtypes.sgml:
9451 * docs/gst/tmpl/gsterror.sgml:
9452 * docs/gst/tmpl/gstevent.sgml:
9453 * docs/gst/tmpl/gstfakesink.sgml:
9454 * docs/gst/tmpl/gstfakesrc.sgml:
9455 * docs/gst/tmpl/gstfilesink.sgml:
9456 * docs/gst/tmpl/gstfilesrc.sgml:
9457 * docs/gst/tmpl/gstfilter.sgml:
9458 * docs/gst/tmpl/gstformat.sgml:
9459 * docs/gst/tmpl/gstghostpad.sgml:
9460 * docs/gst/tmpl/gstimplementsinterface.sgml:
9461 * docs/gst/tmpl/gstindex.sgml:
9462 * docs/gst/tmpl/gstindexfactory.sgml:
9463 * docs/gst/tmpl/gstinfo.sgml:
9464 * docs/gst/tmpl/gstiterator.sgml:
9465 * docs/gst/tmpl/gstmacros.sgml:
9466 * docs/gst/tmpl/gstmemchunk.sgml:
9467 * docs/gst/tmpl/gstminiobject.sgml:
9468 * docs/gst/tmpl/gstobject.sgml:
9469 * docs/gst/tmpl/gstpad.sgml:
9470 * docs/gst/tmpl/gstpadtemplate.sgml:
9471 * docs/gst/tmpl/gstparse.sgml:
9472 * docs/gst/tmpl/gstpipeline.sgml:
9473 * docs/gst/tmpl/gstplugin.sgml:
9474 * docs/gst/tmpl/gstpluginfeature.sgml:
9475 * docs/gst/tmpl/gstquery.sgml:
9476 * docs/gst/tmpl/gstqueue.sgml:
9477 * docs/gst/tmpl/gstregistry.sgml:
9478 * docs/gst/tmpl/gstregistrypool.sgml:
9479 * docs/gst/tmpl/gstscheduler.sgml:
9480 * docs/gst/tmpl/gstschedulerfactory.sgml:
9481 * docs/gst/tmpl/gststructure.sgml:
9482 * docs/gst/tmpl/gstsystemclock.sgml:
9483 * docs/gst/tmpl/gsttaglist.sgml:
9484 * docs/gst/tmpl/gsttagsetter.sgml:
9485 * docs/gst/tmpl/gsttrace.sgml:
9486 * docs/gst/tmpl/gsttrashstack.sgml:
9487 * docs/gst/tmpl/gsttypefind.sgml:
9488 * docs/gst/tmpl/gsttypefindfactory.sgml:
9489 * docs/gst/tmpl/gsttypes.sgml:
9490 * docs/gst/tmpl/gsturihandler.sgml:
9491 * docs/gst/tmpl/gsturitype.sgml:
9492 * docs/gst/tmpl/gstutils.sgml:
9493 * docs/gst/tmpl/gstvalue.sgml:
9494 * docs/gst/tmpl/gstversion.sgml:
9495 * docs/gst/tmpl/gstxml.sgml:
9496 * docs/libs/tmpl/gstcontrol.sgml:
9497 * docs/libs/tmpl/gstdataprotocol.sgml:
9498 * docs/libs/tmpl/gstdparam.sgml:
9499 * docs/libs/tmpl/gstdplinint.sgml:
9500 * docs/libs/tmpl/gstdpman.sgml:
9501 * docs/libs/tmpl/gstdpsmooth.sgml:
9502 * docs/libs/tmpl/gstgetbits.sgml:
9503 * docs/libs/tmpl/gstunitconvert.sgml:
9504 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9505 (gst_push_src_base_init), (gst_push_src_class_init),
9506 (gst_push_src_init), (gst_push_src_create):
9507 * gst/base/gstpushsrc.h:
9508 * gst/elements/gstelements.c:
9509 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9510 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9511 (gst_fake_sink_init), (gst_fake_sink_set_property),
9512 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9513 (gst_fake_sink_event), (gst_fake_sink_preroll),
9514 (gst_fake_sink_render), (gst_fake_sink_change_state):
9515 * gst/elements/gstfakesink.h:
9516 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9517 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9518 (gst_fake_src_base_init), (gst_fake_src_class_init),
9519 (gst_fake_src_init), (gst_fake_src_event_handler),
9520 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9521 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9522 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9523 (gst_fake_src_create_buffer), (gst_fake_src_create),
9524 (gst_fake_src_start), (gst_fake_src_stop):
9525 * gst/elements/gstfakesrc.h:
9526 * gst/elements/gstfilesink.c: (_do_init),
9527 (gst_file_sink_base_init), (gst_file_sink_class_init),
9528 (gst_file_sink_init), (gst_file_sink_dispose),
9529 (gst_file_sink_set_location), (gst_file_sink_set_property),
9530 (gst_file_sink_get_property), (gst_file_sink_open_file),
9531 (gst_file_sink_close_file), (gst_file_sink_query),
9532 (gst_file_sink_event), (gst_file_sink_render),
9533 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9534 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9535 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9536 * gst/elements/gstfilesink.h:
9537 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9538 (gst_file_src_class_init), (gst_file_src_init),
9539 (gst_file_src_finalize), (gst_file_src_set_location),
9540 (gst_file_src_set_property), (gst_file_src_get_property),
9541 (gst_file_src_map_region), (gst_file_src_map_small_region),
9542 (gst_file_src_create_mmap), (gst_file_src_create_read),
9543 (gst_file_src_create), (gst_file_src_is_seekable),
9544 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9545 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9546 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9547 (gst_file_src_uri_handler_init):
9548 * gst/elements/gstfilesrc.h:
9549 more autistic cleanliness in functions/names/defines
9551 2005-07-13 Andy Wingo <wingo@pobox.com>
9553 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9554 source couldn't negotiate.
9556 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9560 * gst/gstutils.c (gst_element_link_pads_filtered): New old
9561 function. I am channeling Hades. Put your boots on suckers!!!
9563 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
9565 * testsuite/caps/Makefile.am:
9566 * testsuite/caps/value_compare.c:
9567 * testsuite/caps/value_intersect.c:
9568 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9569 move two testsuite apps over to the check dir
9571 2005-07-12 Wim Taymans <wim@fluendo.com>
9573 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9574 Added more debug info in the negotiate process.
9577 Prepare for segment playback.
9579 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9585 * tools/gst-launch.c: (main):
9586 NULL pipeline on errors.
9588 2005-07-12 Andy Wingo <wingo@pobox.com>
9590 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9591 not it comes from a malloc region. Make sure our copy gets freed.
9593 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9595 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9596 * check/gst/gstmessage.c: (GST_START_TEST):
9597 * check/gst/gststructure.c: (GST_START_TEST),
9598 (gst_structure_suite), (main):
9600 * gst/gstelement.c: (gst_element_message_full):
9601 clean up GError and debug string now that they get copied
9602 * gst/gstmessage.c: (gst_message_new_error),
9603 (gst_message_new_warning), (gst_message_parse_error),
9604 (gst_message_parse_warning):
9605 use GST_TYPE_G_ERROR for structure_new, and take copies of
9606 arguments, so that we don't mess up refcounting
9608 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9610 * check/Makefile.am:
9611 add per-test valgrind targets
9612 * check/gst-libs/gdp.c: (GST_START_TEST),
9613 (gst_data_protocol_suite), (main):
9616 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9618 * check/Makefile.am:
9619 instate more valgrindable tests
9620 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9621 (GST_START_TEST), (fakesrc_suite):
9622 * check/gst/gstpad.c: (GST_START_TEST):
9623 * check/gst/gststructure.c: (GST_START_TEST):
9625 * docs/gst/tmpl/gstminiobject.sgml:
9626 * gst/gstpad.c: (gst_pad_finalize):
9627 fix the static mutex leak
9629 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9631 * check/Makefile.am:
9632 add two more tests for valgrinding
9633 * check/gst/gstvalue.c: (GST_START_TEST):
9634 test refcount of deserialized buffer, found a leak
9635 * docs/gst/gstreamer-docs.sgml:
9636 * docs/gst/gstreamer-sections.txt:
9637 * docs/gst/gstreamer.types:
9638 * docs/gst/tmpl/gstminiobject.sgml:
9639 add miniobject to docs
9640 * gst/gstminiobject.c:
9642 * gst/gstvalue.c: (gst_value_deserialize_buffer),
9643 (gst_string_unwrap):
9644 fix a hard-to-find invalid write for one of the tests
9645 fix a leak for deserialized buffers
9647 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9649 * docs/pwg/advanced-events.xml:
9650 * docs/pwg/advanced-request.xml:
9651 * docs/pwg/advanced-scheduling.xml:
9652 * docs/pwg/appendix-porting.xml:
9653 * docs/pwg/building-boiler.xml:
9654 * docs/pwg/intro-preface.xml:
9655 * docs/pwg/other-ntoone.xml:
9656 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9657 of example code and explanation for pad activation, loop() and
9658 getrange() functions and a bit more. Remove old comments pointing
9660 * examples/pwg/Makefile.am:
9661 Add loop/getrange examples.
9663 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9666 check for valgrind binary + some fixes
9668 valgrind suppressions for the tests
9669 * check/Makefile.am:
9670 add a valgrind: target that valgrinds the unit tests
9671 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9672 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9673 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9674 * check/gst/gstghostpad.c:
9676 * check/gst/gstdata.c:
9678 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9679 (thread_unref), (gst_mini_object_suite), (main):
9681 * gst/gst.c: (gst_deinit):
9683 add a method to clean up.
9684 * gst/gstsystemclock.c: (gst_system_clock_dispose),
9685 (gst_system_clock_obtain):
9686 allow for disposing the system clock.
9687 * tools/gst-launch.c: (main):
9690 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9692 * docs/gst/tmpl/gstbasesrc.sgml:
9693 * docs/gst/tmpl/gstfakesrc.sgml:
9694 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9695 (gst_base_src_init), (gst_base_src_set_property),
9696 (gst_base_src_get_property), (gst_base_src_get_range),
9697 (gst_base_src_start):
9698 * gst/base/gstbasesrc.h:
9699 add num-buffers property
9700 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9701 (gst_fakesrc_init), (gst_fakesrc_set_property),
9702 (gst_fakesrc_get_property), (gst_fakesrc_create),
9703 (gst_fakesrc_start):
9704 remove num-buffers property
9706 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9708 * docs/gst/gstreamer-sections.txt:
9709 * docs/gst/tmpl/gstbasesink.sgml:
9710 * docs/gst/tmpl/gstbasesrc.sgml:
9711 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9712 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9713 (gst_base_sink_finalize), (gst_base_sink_set_clock),
9714 (gst_base_sink_set_property), (gst_base_sink_get_property),
9715 (gst_base_sink_handle_object), (gst_base_sink_event),
9716 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9717 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9718 (gst_base_sink_loop), (gst_base_sink_deactivate),
9719 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9720 (gst_base_sink_change_state):
9721 * gst/base/gstbasesink.h:
9722 * gst/base/gstbasesrc.h:
9723 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9724 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9725 (gst_filesink_init):
9726 more macro splitting
9728 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9730 * gst/gstelement.c: (gst_element_get_bus):
9732 * tools/gst-launch.c: (check_intr), (event_loop):
9735 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9737 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9740 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9742 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9743 (gst_base_src_finalize):
9744 add finalize method and clean up properly
9745 * gst/gstpipeline.c: (gst_pipeline_dispose):
9748 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9750 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9752 add more things to check
9753 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9757 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9759 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9760 (GST_START_TEST), (fakesrc_suite):
9761 * check/gst-libs/gdp.c: (GST_START_TEST):
9762 * check/gst/gst.c: (GST_START_TEST):
9763 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9764 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9765 * check/gst/gstbus.c: (GST_START_TEST):
9766 * check/gst/gstcaps.c: (GST_START_TEST):
9767 * check/gst/gstdata.c: (GST_START_TEST):
9768 * check/gst/gstelement.c: (GST_START_TEST):
9769 * check/gst/gstghostpad.c: (GST_START_TEST):
9770 * check/gst/gstiterator.c: (GST_START_TEST):
9771 * check/gst/gstmessage.c: (GST_START_TEST):
9772 * check/gst/gstobject.c: (GST_START_TEST):
9773 * check/gst/gstpad.c: (GST_START_TEST):
9774 * check/gst/gststructure.c: (GST_START_TEST):
9775 * check/gst/gstsystemclock.c: (GST_START_TEST),
9776 (gst_systemclock_suite):
9777 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9778 * check/gst/gstvalue.c: (GST_START_TEST):
9779 * check/pipelines/cleanup.c: (GST_START_TEST):
9780 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9781 * check/states/sinks.c: (GST_START_TEST):
9782 * check/gstcheck.c: (gst_check_init):
9784 add debugging category
9785 use GST_START_TEST now, so we add a debug line
9787 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9789 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9790 add test for state change message on a bin
9791 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9793 * gst/gstbin.c: (gst_bin_init):
9794 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9795 * gst/gstelement.c: (gst_element_post_message),
9796 (gst_element_set_state):
9797 * gst/gstelementfactory.c: (gst_element_factory_create):
9798 * gst/gstmessage.c: (gst_message_new):
9799 * gst/gstscheduler.c:
9800 various debugging additions and cleanups
9802 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9804 * check/Makefile.am:
9805 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9807 adding tests for elements
9808 * gst/gstelement.c: (gst_element_dispose):
9810 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9812 * gst/registries/gstlibxmlregistry.c: (load_feature):
9813 plug more leaks. A simple gst_init() now is leakfree, yay.
9815 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9817 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9818 (gst_xml_registry_load):
9819 plug another memleak
9821 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9824 use GST_SET_ERROR_CFLAGS
9826 change to ERROR_CFLAGS
9828 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9831 make GST_ERROR_CFLAGS overridable and re-enable Werror
9833 add a note about error CFLAGS
9834 * docs/gst/tmpl/gstfakesrc.sgml:
9835 * gst/elements/gstfakesrc.c:
9836 comment out some unused code
9837 * gst/gst.c: (split_and_iterate):
9838 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9842 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9844 * common/Makefile.am:
9845 * common/gtk-doc.mak:
9846 * docs/gst/Makefile.am:
9847 factor out gtk-doc.mak
9849 2005-07-07 Wim Taymans <wim@fluendo.com>
9851 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9852 (gst_thread_scheduler_dispose):
9853 Unlock the STREAM_LOCK completely.
9855 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9857 * check/Makefile.am:
9858 * check/elements/.cvsignore:
9859 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9860 (START_TEST), (fakesrc_suite), (main):
9861 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9862 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9863 (gst_fakesrc_create), (gst_fakesrc_start):
9864 * gst/elements/gstfakesrc.h:
9865 adding a first element test
9867 2005-07-07 Andy Wingo <wingo@pobox.com>
9869 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9872 2005-07-07 Wim Taymans <wim@fluendo.com>
9878 2005-07-07 Wim Taymans <wim@fluendo.com>
9880 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9881 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9882 Allow subclasses to implement their own negotiation.
9884 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9886 * docs/design/part-gstbin.txt:
9887 * docs/design/part-gstpipeline.txt:
9888 Update design notes to reflect the movement of
9889 responsibility for bus handling from GstPipeline to
9892 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9895 Remove unnecessary queue2/3/4 examples.
9897 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9899 * examples/Makefile.am:
9900 * examples/helloworld/helloworld.c: (event_loop), (main):
9901 * examples/queue/queue.c: (event_loop), (main):
9902 * examples/queue2/queue2.c: (main):
9903 Update a couple of the examples to work again.
9905 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9906 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9907 Spelling corrections and extra debug.
9909 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9910 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9911 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9913 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9914 (gst_pipeline_change_state):
9915 * gst/gstpipeline.h:
9916 Move the bus handler for children to the GstBin, and create a
9917 separate bus for receiving messages from children to the one the
9918 bus sends 'upwards' on.
9920 2005-07-06 Wim Taymans <wim@fluendo.com>
9923 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9924 (gst_base_sink_handle_object), (gst_base_sink_loop),
9925 (gst_base_sink_change_state):
9926 * gst/base/gstbasesink.h:
9927 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9928 (gst_base_src_init), (gst_base_src_setcaps),
9929 (gst_base_src_getcaps), (gst_base_src_loop),
9930 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9931 (gst_base_src_start), (gst_base_src_change_state):
9932 * gst/base/gstbasesrc.h:
9933 Make basesrc negotiate.
9934 Handle the case where preroll fails in basesink.
9937 2005-07-06 Wim Taymans <wim@fluendo.com>
9939 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9940 Implement the fixate function.
9941 Clean up acceptcaps.
9943 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9945 * docs/pwg/building-filterfactory.xml:
9947 Remove never-written filter-factory chapter; I'll add the various
9948 base classes to part 4 ("other element types") later on.
9950 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9952 * docs/pwg/advanced-negotiation.xml:
9953 * docs/pwg/building-boiler.xml:
9954 * docs/pwg/building-pads.xml:
9956 * examples/pwg/Makefile.am:
9957 Add a chapter on caps negotiation, simplify the original code
9958 samples a bit w.r.t. caps negotiation, add link to the advanced
9959 section. Add a bunch of examples showing different use cases of
9960 different types of caps negotiation. Upstream renegotiation isn't
9961 fully documented yet since nobody knows how that works.
9963 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
9965 * check/gst/gstpad.c:
9967 * gst/gstpad.c: (gst_pad_get_internal_links_default):
9968 if pad has no parent, return NULL as list of internal links
9970 2005-07-05 Andy Wingo <wingo@pobox.com>
9972 * gst/elements/gstfilesrc.c:
9973 * gst/elements/gstfakesrc.c:
9974 * gst/base/gstpushsrc.c:
9975 * gst/base/gstbasesrc.h:
9976 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9978 2005-07-05 Stefan Kost <ensonic@users.sf.net>
9981 better report generation target (lcov needs a patch)
9983 2005-07-05 Andy Wingo <wingo@pobox.com>
9985 * gst/elements, testsuite: Null if we got it...
9987 2005-07-05 Wim Taymans <wim@fluendo.com>
9990 * libs/gst/dataprotocol/Makefile.am:
9991 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9992 * libs/gst/dataprotocol/dataprotocol.h:
9993 * pkgconfig/Makefile.am:
9994 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9995 * pkgconfig/gstreamer-dataprotocol.pc.in:
9996 Ported dataprotol to 0.9.
9997 Added pkgconfig files.
9999 2005-07-05 Andy Wingo <wingo@pobox.com>
10001 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10002 Default to returning TRUE for the case when tranform_caps returns
10003 a fixed caps, like for identity or volume.
10005 * check/gst/gstbus.c (pound_bus_with_messages):
10006 * check/gst/gstmessage.c (START_TEST):
10007 * check/pipelines/simple_launch_lines.c (got_handoff): Application
10008 message API change.
10010 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10011 logic weaks here: always run transform_caps, trying passthrough
10012 operation only if the original caps intersects with the transform.
10014 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10015 source and sink caps.
10017 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10018 Intersect the peer caps with the pad template before going into
10020 (gst_base_transform_transform_caps): More debugging.
10022 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10025 2005-07-04 Edward Hervey <edward@fluendo.com>
10029 (gst_pad_add_*_probe): now returns the signal id for better wrapping
10032 2005-07-04 Andy Wingo <wingo@pobox.com>
10034 * check/gst/gstpad.c: Only set explicit caps on pads.
10036 2005-07-01 Andy Wingo <wingo@pobox.com>
10038 * tests/network-clock.scm: Commentary update.
10040 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10041 Didn't really make sense, not implementable with basetransform,
10043 (gst_identity_transform): Unref inbuf via make_writable. Feeble
10044 attempt at implementing the sync property, needs an unlock method.
10046 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10047 New func, by default returns the same caps (the identity
10049 (gst_base_transform_getcaps): Uses transform_caps to return
10050 something sensible.
10051 (gst_base_transform_setcaps): Complicated logic to get caps on
10052 both pads, even if they are different, and to call set_caps once
10053 for every time both pads get their caps set.
10054 (gst_base_transform_handle_buffer): Give the ref to the transform
10055 function. Allows in-place modification of the buffer.
10057 * gst/base/gstbasetransform.h (transform_caps): New class method.
10058 Given caps on one side, what can I do on the other.
10059 (set_caps): Take two caps, one for each side of the element.
10062 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10063 caps in place. This is safe because we can check the mutability of
10064 the caps, and a good idea because fixate functions are just called
10065 as a matter of last resort. (Not actually implemented.)
10066 (gst_pad_set_caps): If the caps we're setting is actually the same
10067 as the existing pad caps, just update the pointer without calling
10068 setcaps. Assert that caps is either NULL or fixed, as per the
10071 * gst/gstghostpad.c: Update for fixate changes.
10073 2005-07-02 Andy Wingo <wingo@pobox.com>
10076 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10077 two refcounts makes it immutable, which is enough. Doc more.
10079 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
10081 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10082 Put the mini_object into GValue as a mini_object,
10083 not a gpointer, since that's how we declared
10086 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10088 * examples/pwg/Makefile.am:
10089 Fix buildbot again.
10091 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10093 * docs/pwg/building-testapp.xml:
10095 * examples/pwg/Makefile.am:
10098 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10101 * examples/Makefile.am:
10102 * examples/pwg/Makefile.am:
10103 * examples/pwg/extract.pl:
10104 Enable building the PWG examples.
10105 * docs/pwg/advanced-interfaces.xml:
10106 Add URI interface stub.
10107 * docs/pwg/advanced-types.xml:
10108 * docs/pwg/other-autoplugger.xml:
10109 * docs/pwg/appendix-porting.xml:
10110 * docs/pwg/pwg.xml:
10111 Add porting guide (mostly stubs), remove autoplugging (see ADM).
10112 * docs/pwg/building-boiler.xml:
10113 * docs/pwg/building-chainfn.xml:
10114 * docs/pwg/building-pads.xml:
10115 * docs/pwg/building-props.xml:
10116 * docs/pwg/building-state.xml:
10117 * docs/pwg/building-testapp.xml:
10118 Update the building-*.xml parts for 0.9 changes. All examples
10119 code blocks compile in examples/pwg/*.
10121 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10123 * docs/manual/advanced-autoplugging.xml:
10124 * docs/manual/appendix-checklist.xml:
10125 * docs/manual/appendix-integration.xml:
10126 * docs/manual/highlevel-components.xml:
10127 Fix playbin/decodebin examples, update docs a bit, mention bus
10128 instead of signals in various places, mention kmplayer and
10129 kaffeine since they have a working GStreamer backend in the KDE
10132 2005-06-30 Wim Taymans <wim@fluendo.com>
10135 * docs/design/draft-ghostpads.txt:
10136 * docs/design/draft-push-pull.txt:
10137 * docs/design/draft-query.txt:
10138 * docs/design/part-TODO.txt:
10139 * docs/design/part-query.txt:
10140 Added CHANGES-0.9 doc, updated status of other docs.
10145 2005-06-30 Wim Taymans <wim@fluendo.com>
10147 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10148 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10149 (gst_base_sink_change_state):
10150 * gst/base/gstbasesink.h:
10151 Some tweaks, only EOS and a buffer complete a preroll.
10153 2005-06-30 Andy Wingo <wingo@pobox.com>
10155 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10156 activate_push down to the internal pad as well.
10158 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
10160 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10162 * gst/gsttaginterface.c:
10163 Some documentation fixes (#307394 and #307397).
10165 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
10167 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10169 * gst/gstvalue.c: (gst_value_intersect_list):
10170 Fix memleak (#309125).
10172 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10174 * docs/manual/advanced-dataaccess.xml:
10175 Fix fakesrc example to compile; doesn't work, bug somewhere...?
10176 * docs/manual/basics-pads.xml:
10177 Add reference for filtered caps to above chapter.
10179 2005-06-30 Wim Taymans <wim@fluendo.com>
10181 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10182 (gst_bin_change_state):
10184 Lame attempt at making the state change function a bit
10187 2005-06-30 Wim Taymans <wim@fluendo.com>
10189 * docs/design/part-clocks.txt:
10190 * docs/design/part-element-sink.txt:
10191 * docs/design/part-events.txt:
10192 * docs/design/part-preroll.txt:
10193 * docs/design/part-states.txt:
10194 Some more tweeks and additions to the docs.
10196 2005-06-30 Wim Taymans <wim@fluendo.com>
10198 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10199 (default_have_data), (gst_pad_class_init), (gst_pad_init),
10200 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10201 (gst_pad_check_pull_range), (gst_pad_get_range),
10202 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10204 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10205 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10206 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10207 (gst_pad_remove_buffer_probe):
10208 Removed atomic operations, use existing LOCK.
10209 Move exception handling out of main code path.
10211 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10213 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10214 (silly_return_true_function), (gst_pad_class_init),
10215 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10216 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10217 (gst_pad_send_event):
10218 Fix accumulator, add default value by using _emitv() instead
10219 of _emit() for signal emission.
10221 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10223 * docs/manual/advanced-dataaccess.xml:
10224 * examples/manual/Makefile.am:
10226 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10229 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
10231 * gst/elements/gstfilesink.c: (gst_filesink_render):
10232 Simplify code so that we don't have to handle short
10233 writes and return GST_FLOW_ERROR if an error occured.
10235 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10237 * docs/gst/gstreamer-docs.sgml:
10238 Remove probes more.
10240 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10242 * docs/gst/gstreamer-sections.txt:
10243 * docs/gst/tmpl/gstpad.sgml:
10244 * docs/gst/tmpl/gstprobe.sgml:
10246 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10247 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10248 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10249 (gst_pad_push_event), (gst_pad_send_event):
10251 * gst/gstutils.c: (gst_pad_add_data_probe),
10252 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10253 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10254 (gst_pad_remove_buffer_probe):
10256 Remove old probes, add new g-signal-based probes and some utility
10259 2005-06-29 Edward Hervey <edward@fluendo.com>
10261 * gst/gstelementfactory.c:
10264 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10265 the definition to the header file.
10267 2005-06-29 Andy Wingo <wingo@pobox.com>
10269 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10270 plugins from the source directory.
10272 2005-06-29 Wim Taymans <wim@fluendo.com>
10274 * docs/gst/tmpl/gstbuffer.sgml:
10275 * docs/gst/tmpl/gstclock.sgml:
10276 Some fixings for blantently wrong text.
10278 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10280 * check/Makefile.am:
10281 * gst/gst.c: (add_path_func), (init_pre):
10282 * gst/gstregistry.c: (gst_registry_add_path):
10283 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10284 only scan the GST_PLUGIN_PATH locations, and not add
10287 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10289 * docs/gst/gstreamer-sections.txt:
10290 * docs/gst/tmpl/gstbasesrc.sgml:
10291 * gst/gstelement.c:
10292 * gst/gstelement.h:
10297 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10299 * docs/manual/advanced-autoplugging.xml:
10300 Fix autoplugging example.
10302 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10304 * docs/manual/advanced-autoplugging.xml:
10305 * docs/manual/mime-world.fig:
10306 Try to get autoplugging working, fix type detection. Fix text
10307 in hello-world image.
10309 2005-06-29 Wim Taymans <wim@fluendo.com>
10311 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10312 (gst_base_sink_change_state):
10316 map SIGNAL and BROADCAST to the right function.
10319 Remove redundant braces.
10321 * gst/gstpad.c: (gst_pad_set_caps):
10322 Don't call setcaps function when reseting caps to NULL.
10324 * gst/gstsystemclock.c: (gst_system_clock_dispose),
10325 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10326 (gst_system_clock_id_unschedule):
10327 Use BROADCAST as this is what we do.
10329 2005-06-29 Wim Taymans <wim@fluendo.com>
10331 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10332 We are actually prerolling before commiting the state
10335 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10337 * docs/manual/advanced-clocks.xml:
10338 * docs/manual/advanced-interfaces.xml:
10339 * docs/manual/advanced-metadata.xml:
10340 * docs/manual/advanced-position.xml:
10341 * docs/manual/advanced-schedulers.xml:
10342 * docs/manual/advanced-threads.xml:
10343 * docs/manual/appendix-porting.xml:
10344 * docs/manual/basics-bins.xml:
10345 * docs/manual/basics-bus.xml:
10346 * docs/manual/basics-elements.xml:
10347 * docs/manual/basics-helloworld.xml:
10348 * docs/manual/basics-pads.xml:
10349 * docs/manual/highlevel-components.xml:
10350 * docs/manual/manual.xml:
10351 * docs/manual/thread.fig:
10352 Update (until threads/scheduling) Application Development Manual;
10353 remove GstThread, add GstBus, add simple porting checklist, add
10354 documentation for tag writing, clocks, make all examples until this
10355 part compile and run.
10356 * examples/manual/Makefile.am:
10357 Update from changes to Application Development Manual; add bus
10358 example, remove thread example.
10360 2005-06-28 Wim Taymans <wim@fluendo.com>
10362 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10363 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10364 (gst_bus_source_dispatch):
10365 Add debugging messages.
10366 Make internal methods static.
10367 Handle the case where the bus is flushed in the handler.
10369 * gst/gstelement.c: (gst_element_get_bus):
10370 Fix refcount in _get_bus();
10372 * gst/gstpipeline.c: (gst_pipeline_change_state),
10373 (gst_pipeline_get_clock_func):
10374 Clock refcounting fixes.
10375 Handle the case where preroll timed out more gracefully.
10377 * gst/gstsystemclock.c: (gst_system_clock_dispose):
10378 Clean up the internal thread in dispose. This is needed
10379 for subclasses that actually get disposed.
10381 * gst/schedulers/threadscheduler.c:
10382 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10383 (gst_thread_scheduler_dispose):
10384 Free thread pool in dispose.
10386 2005-06-28 Andy Wingo <wingo@pobox.com>
10388 * tests/network-clock-utils.scm (debug, print-event): New utils.
10390 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10391 (*packet-loss*): Unified loss probability.
10392 (network-time): Report out-of-band events.
10394 * tests/plot-data: Add support for out-of-band events. Hack it
10395 into this script instead of passing it down the pipe; should fix
10398 2005-06-28 Wim Taymans <wim@fluendo.com>
10400 * docs/gst/gstreamer.types:
10401 * docs/gst/tmpl/gstbasesrc.sgml:
10402 * docs/gst/tmpl/gstpad.sgml:
10405 2005-06-28 Wim Taymans <wim@fluendo.com>
10407 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10408 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10409 (gst_proxy_pad_do_fixatecaps):
10410 Correctly proxy the check_pull_range function.
10412 2005-06-28 Andy Wingo <wingo@pobox.com>
10414 * tests/network-clock.scm: Removed need for slib.
10416 2005-06-28 Wim Taymans <wim@fluendo.com>
10418 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10419 (gst_basesink_preroll_queue_flush):
10420 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10421 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10422 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10423 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10424 (gst_proxy_pad_set_property):
10427 * gst/gstqueue.c: (gst_queue_init):
10428 The deprecated pad loop function is removed now.
10430 2005-06-28 Andy Wingo <wingo@pobox.com>
10432 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10433 New parameters, simulate network packet loss.
10435 * tests/network-clock-utils.scm: Initialize the RNG.
10437 2005-06-28 Wim Taymans <wim@fluendo.com>
10439 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10440 (gst_basesink_event), (gst_basesink_deactivate):
10441 Flushing the preroll queue always needs to unlock the waiters.
10443 2005-06-28 Edward Hervey <edward@fluendo.com>
10445 * gst/gstpipeline.c: (gst_pipeline_send_event):
10446 Wheen a seek was successful on a pipeline, set the stream_time to the
10447 seek offset in order to have a synchronized stream_time.
10449 2005-06-28 Wim Taymans <wim@fluendo.com>
10451 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10452 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10453 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10454 (gst_proxy_pad_do_fixatecaps):
10455 Call wrapper function instead of just calling the function
10456 pointers. This takes care of any locking and whatmore.
10458 2005-06-28 Wim Taymans <wim@fluendo.com>
10460 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10461 (gst_pad_pull_range):
10463 CONNECTED -> LINKED.
10465 2005-06-28 Andy Wingo <wingo@pobox.com>
10467 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10468 source-munging commit!!!
10470 * gst/gstobject.c (gst_object_unref, gst_object_ref)
10471 (gst_object_sink): Take gpointer arguments, not GstObject --
10472 avoids casts. Like GLib.
10474 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10477 2005-06-27 Andy Wingo <wingo@pobox.com>
10479 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10482 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10483 returns a sorted copy of the trace list.
10484 (gst_alloc_trace_print_live): New API, only prints traces with
10485 live objects. Sort the list.
10486 (gst_alloc_trace_print_all): Sort the list.
10487 (gst_alloc_trace_print): Align columns.
10489 * gst/elements/gstttypefindelement.c:
10490 * gst/elements/gsttee.c:
10491 * gst/base/gstbasesrc.c:
10492 * gst/base/gstbasesink.c:
10493 * gst/base/gstbasetransform.c:
10494 * gst/gstqueue.c: Adapt for pad activation changes.
10496 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10498 (gst_pipeline_dispose): Drop ref on sched.
10500 * gst/gstpad.c (gst_pad_init): Set the default activate func.
10501 (gst_pad_activate_default): Push mode by default.
10502 (pre_activate_switch, post_activate_switch): New stubs, things to
10503 do before and after switching activation modes on pads.
10504 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10505 the pad's activate function to choose which mode to activate.
10506 Shortcut on deactivation and call the right function directly.
10507 (gst_pad_activate_pull): New API, (de)activates a pad in pull
10509 (gst_pad_activate_push): New API, same for push mode.
10510 (gst_pad_set_activate_function)
10511 (gst_pad_set_activatepull_function)
10512 (gst_pad_set_activatepush_function): Setters for new API.
10514 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10515 Trace all miniobjects.
10516 (gst_mini_object_make_writable): Unref the arg if we copy, like
10517 gst_caps_make_writable.
10519 * gst/gstmessage.c (_gst_message_initialize): No trace init.
10521 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
10522 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10523 Adapt for new pad API.
10525 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10527 * gst/gstelement.h:
10528 * gst/gstelement.c (gst_element_iterate_src_pads)
10529 (gst_element_iterate_sink_pads): New API functions.
10531 * gst/gstelement.c (iterator_fold_with_resync): New utility,
10532 should fold into gstiterator.c in some form.
10533 (gst_element_pads_activate): Simplified via use of fold and
10534 delegation of decisions to gstpad->activate.
10536 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10539 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10540 class once in init, like gstmessage. Didn't run into this issue
10541 but it seems correct. Don't initialize a trace, gstminiobject does
10544 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10545 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10547 (assert_live_count): New util function, uses alloc traces to check
10550 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10551 To be modified when unlink drops the internal pad.
10553 2005-06-27 Wim Taymans <wim@fluendo.com>
10555 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10556 (gst_bin_change_state):
10557 Cleanup the get_state() function a little, make sure it
10558 iterates the same set of elements.
10559 Added stub iterate_state_order().
10561 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
10563 * docs/gst/gstreamer-docs.sgml:
10564 * docs/gst/gstreamer-sections.txt:
10565 * docs/gst/gstreamer.types:
10566 * docs/gst/tmpl/gstbasesink.sgml:
10567 * docs/gst/tmpl/gstbasesrc.sgml:
10568 * docs/gst/tmpl/gstbasetransform.sgml:
10569 * docs/gst/tmpl/gstelement.sgml:
10570 * docs/gst/tmpl/gstiterator.sgml:
10571 * gst/base/gstbasesrc.c:
10572 * gst/base/gstbasesrc.h:
10573 * gst/base/gstbasetransform.h:
10574 * gst/gstelement.c:
10575 * gst/gstiterator.h:
10576 adding basetransform and iterator docs
10578 2005-06-27 Andy Wingo <wingo@pobox.com>
10580 * docs/design/part-activation.txt: Notes on how activation should
10581 work -- not quite implemented yet.
10583 2005-06-25 Wim Taymans <wim@fluendo.com>
10585 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10586 At least get the chain function correct, needs more
10589 2005-06-25 Wim Taymans <wim@fluendo.com>
10591 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10592 (gst_basesink_handle_object), (gst_basesink_event),
10593 (gst_basesink_do_sync), (gst_basesink_handle_event),
10594 (gst_basesink_change_state):
10596 Right, two problems here: ghostpads don't take locks and
10597 glib _rec_mutex_lock_full() with depth==0 still locks.
10598 Catch illegal locking and g_warn them.
10600 2005-06-25 Wim Taymans <wim@fluendo.com>
10602 * check/states/sinks.c: (START_TEST), (gst_object_suite):
10603 Have to check for completion now...
10605 2005-06-25 Wim Taymans <wim@fluendo.com>
10607 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10608 (gst_basesink_handle_object), (gst_basesink_event),
10609 (gst_basesink_do_sync), (gst_basesink_handle_event),
10610 (gst_basesink_change_state):
10612 Unlock STREAM_LOCK whatever the recursion was.
10614 2005-06-25 Wim Taymans <wim@fluendo.com>
10616 * gst/base/gstbasesink.c: (gst_basesink_set_property),
10617 (gst_basesink_preroll_queue_empty),
10618 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10619 (gst_basesink_event), (gst_basesink_do_sync),
10620 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10621 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10622 (gst_basesink_change_state):
10623 Reworked the base sink, handle event and buffer serialisation
10624 correctly and removed possible deadlock.
10625 Handle EOS correctly.
10627 2005-06-25 Wim Taymans <wim@fluendo.com>
10629 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10630 (gst_pipeline_change_state):
10631 * tools/gst-launch.c: (check_intr), (event_loop), (main):
10632 Allow elements to post EOS in the state change function.
10633 Fix up -launch, make it exit the poll loop when the
10634 pipeline actually changed state.
10635 Fix up warning parsing in -launch.
10637 2005-06-25 Wim Taymans <wim@fluendo.com>
10639 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10640 (gst_tee_sink_activate):
10641 Core takes STREAM_LOCK for us now.
10643 2005-06-25 Wim Taymans <wim@fluendo.com>
10645 * gst/gstelement.c: (gst_element_get_state_func),
10646 (gst_element_set_state):
10647 * gst/gstelement.h:
10648 * gst/gstmessage.c: (gst_message_parse_error),
10649 (gst_message_parse_warning):
10650 Keep track of current target state while performing a state
10651 change so that subclasses can do something interesting.
10652 Fix parsing of warning/error messages when GError is NULL.
10654 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
10656 * docs/gst/Makefile.am:
10657 * docs/gst/gstreamer-docs.sgml:
10658 * docs/gst/gstreamer-sections.txt:
10659 * docs/gst/gstreamer.types:
10660 * docs/gst/tmpl/gstbasesink.sgml:
10661 * docs/gst/tmpl/gstbasesrc.sgml:
10662 * docs/gst/tmpl/gstbin.sgml:
10663 * docs/gst/tmpl/gstcompat.sgml:
10664 * docs/gst/tmpl/gstfakesink.sgml:
10665 * docs/gst/tmpl/gstfakesrc.sgml:
10666 * docs/gst/tmpl/gstfilesink.sgml:
10667 * docs/gst/tmpl/gstfilesrc.sgml:
10668 * docs/gst/tmpl/gstindex.sgml:
10669 * docs/manual/appendix-quotes.xml:
10670 * gst/base/gstbasesrc.h:
10671 * gst/elements/gstfakesrc.h:
10672 * gst/gstmessage.h:
10673 start pulling in base classes and elements in our docs
10675 2005-06-24 Stefan Kost <ensonic@users.sf.net>
10677 * docs/gst/Makefile.am:
10678 * docs/libs/Makefile.am:
10679 fixed make distcheck with gtk-doc 1.3
10681 2005-06-23 Wim Taymans <wim@fluendo.com>
10683 * gst/gstelement.c: (gst_element_get_state_func),
10684 (gst_element_set_state), (gst_element_change_state):
10685 When the state did not change, also report NO_PREROLL
10688 2005-06-23 Wim Taymans <wim@fluendo.com>
10690 * gst/gstpad.c: (gst_pad_event_default):
10691 * gst/gstqueue.c: (gst_queue_loop):
10692 No unsafe task pausing please.
10694 2005-06-23 Wim Taymans <wim@fluendo.com>
10696 * gst/schedulers/threadscheduler.c:
10697 (gst_thread_scheduler_task_start),
10698 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10699 Ref the task before pushing it on the threadpool. This
10700 makes sure that we have a ref when the threadfunction is
10703 2005-06-23 Andy Wingo <wingo@pobox.com>
10705 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10706 offset is greater than the file's size.
10708 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
10709 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10710 * gst/gstobject.c (gst_object_class_init): Make the class lock
10711 recursive. Wim won't let me drop deep_notify. Decodebin works
10712 again, whoopdy doo.
10714 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10715 internal pad, and hacks accordingly. Doesn't do it on the target
10716 pad because we change its caps. Probably catches all cases of
10718 (gst_ghost_pad_set_property): Connect to notify::caps as
10721 * tests/network-clock.scm (plot-simulation): Pipe data to the
10722 elite python skript.
10724 * tests/network-clock-utils.scm (define-parameter): New macro,
10725 defines a parameter that can be set via the command line.
10726 (set-parameter!, parse-parameter-arguments): Command line args
10729 * tests/plot-data: Simple matplotlib-based plotter, takes input on
10732 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
10734 * gst/elements/gsttypefindelement.c:
10735 (gst_type_find_element_handle_event):
10736 Don't restart typefinding on a discont.
10737 * gst/gstelement.c: (gst_element_set_state):
10738 Debug spelling fix.
10739 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10740 Allow changing mode of an active pad.
10741 Debug output fixes.
10742 * gst/registries/gstlibxmlregistry.c: (load_feature):
10743 Don't cast a static pad template to a normal pad template.
10745 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
10747 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10748 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10749 remove gst_strtoll completely, since it didn't actually do
10750 anything more than what g_ascii_strtoull already does.
10751 check for range errors when deserializing
10752 do a cast for the unsigned cases; but further fixing needs
10753 a decision on what the interpretation of "(int)" and
10754 deserialization should be for values that fall outside the
10755 type's boundaries (ie, refuse, or interpret as casting)
10757 2005-06-23 Wim Taymans <wim@fluendo.com>
10759 * check/Makefile.am:
10760 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10761 * docs/design/part-live-source.txt:
10762 * docs/design/part-states.txt:
10763 * gst/base/gstbasesrc.c: (gst_basesrc_init),
10764 (gst_basesrc_set_live), (gst_basesrc_is_live),
10765 (gst_basesrc_get_range), (gst_basesrc_activate),
10766 (gst_basesrc_change_state):
10767 * gst/base/gstbasesrc.h:
10768 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10769 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10770 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10771 * gst/gstelement.c: (gst_element_get_state_func),
10772 (gst_element_set_state):
10773 * gst/gstelement.h:
10775 * tools/gst-launch.c: (event_loop), (main):
10776 Added support for live sources and other elements that
10778 Updated design docs, added live-source design doc.
10779 Implemented live source functionality in basesrc
10780 Fix error condition in _bin_get_state()
10781 Implement live source handling in -launch.
10782 Added check for live sources.
10783 Fixed case in GstBin where elements were changed state
10787 2005-06-23 Andy Wingo <wingo@pobox.com>
10789 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10790 borken refcounting.
10792 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10793 gst_caps_replace takes care of this for us.
10795 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10796 gst_pad_set_caps on the target, not just its setcaps() function.
10798 * tests/network-clock.scm:
10799 * tests/network-clock-utils.scm: A network clock simulator.
10800 Something of an algorithmic testbed before doing something in C.
10802 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10804 * check/Makefile.am:
10805 * check/gst/capslist.h:
10806 copy over from 0.8, and add two with bitmasks specified with
10808 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10809 add test to parse everything from capslist.h
10810 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10812 add test for structure deserialization
10813 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10814 add tests for deserialization of strings to int types
10815 * gst/gststructure.c: (gst_structure_nth_field_name):
10816 * gst/gststructure.h:
10817 add a way to get the name of a field referenced by index
10818 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10819 instead of checking if the resulting long long lies between
10820 min and max, we check if the long long would fit into
10821 a number of bytes for the final type.
10822 This fixes cases where a string represents 2^32 - 1, which
10823 when cast to int would be the (valid) -1, but is bigger than
10826 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10828 * gst/parse/grammar.y:
10829 add a log line for type deserialization
10831 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10833 * check/gst/gstvalue.c: (START_TEST):
10834 * gst/gstvalue.c: (gst_value_deserialize):
10835 return long long, not int, so gint64 deserialization actually
10836 works. Is there any flag that makes the compiler check this ?
10839 2005-06-22 Wim Taymans <wim@fluendo.com>
10842 Added convenience macros for setting buffers in GValue.
10844 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10846 * check/gst/.cvsignore:
10847 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10848 add a test deserializing int64, and comment part out because
10851 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10853 * check/Makefile.am:
10854 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10855 * testsuite/Makefile.am:
10856 * testsuite/caps/Makefile.am:
10857 * testsuite/caps/value_serialize.c:
10858 * testsuite/test_gst_init.c:
10859 move a value_serialize test over
10861 2005-06-20 Wim Taymans <wim@fluendo.com>
10866 * gst/gstvalue.c: (gst_value_compare_buffer),
10867 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10868 (gst_value_compare_flags), (gst_value_serialize_flags),
10869 (gst_value_deserialize_flags), (_gst_value_initialize):
10870 Fix serialisation of buffers, they are not boxed types anymore
10872 2005-06-20 Wim Taymans <wim@fluendo.com>
10874 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10875 Testcase to show error in buffer-on-caps serialisation.
10877 2005-06-20 Andy Wingo <wingo@pobox.com>
10879 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10880 will be adding to later.
10882 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10883 if its socks fill with rocks.
10884 (gst_system_clock_obtain): Set the name on object construction.
10885 Avoid double-checked locking.
10887 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
10889 * gst/gsturi.c: (gst_element_make_from_uri):
10890 Fix potential endless loop.
10892 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10894 * check/Makefile.am:
10896 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10898 move over from testsuite dir and clean up
10901 * testsuite/Makefile.am:
10902 * testsuite/tags/.cvsignore:
10903 * testsuite/tags/Makefile.am:
10904 * testsuite/tags/merge.c:
10905 remove testsuite/tags
10907 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10909 * docs/gst/gstreamer-sections.txt:
10910 * docs/gst/tmpl/gstenumtypes.sgml:
10911 * win32/gstenumtypes.c:
10912 clean up documentation build a little
10914 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10916 * check/gstcheck.h:
10917 add macros for checking refcounts on objects and caps
10918 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10919 add some more unit tests
10920 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10921 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10922 fix leaked refcounts (I hope :)) so unittest works
10926 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10928 * configure.ac: back to HEAD
10930 === release 0.9.1 ===
10932 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
10938 2005-06-17 Andy Wingo <wingo@pobox.com>
10940 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10941 assert; it's always possible that the pad gets deactivated in
10942 between the checks in gstpad.c and the implementation. Rely on
10943 finish_preroll() to return a FLUSHING or similar instead of on the
10946 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10947 clock and post an EOS message if we come out of finish_preroll in
10950 2005-06-16 David Schleef <ds@schleef.org>
10952 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10953 (gst_capsfilter_set_property): Allow NULL as possible value
10954 for filter_caps property, indicating GST_CAPS_ANY.
10956 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10958 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10960 * gst/schedulers/Makefile.am:
10962 * gstreamer.spec.in:
10965 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10967 * gstreamer.spec.in:
10970 2005-06-08 Andy Wingo <wingo@pobox.com>
10972 * gst/gstutils.c: RPAD fixes all around.
10973 (gst_element_link_pads): Refcounting fixes.
10975 * tools/gst-inspect.c:
10976 * tools/gst-xmlinspect.c:
10978 * gst/base/gsttypefindhelper.c:
10979 * gst/base/gstbasesink.c:
10980 * gst/gstqueue.c: RPAD fixes.
10982 * gst/gstghostpad.h:
10983 * gst/gstghostpad.c: New ghost pad implementation as full proxy
10984 pads. The tricky thing is they provide both source and sink
10985 interfaces, since they proxy the internal pad for the external
10986 pad, and vice versa. Implement with lower-level ProxyPad objects,
10987 with the interior proxy pad as a child of the exterior ghost pad.
10988 Should write a doc on this.
10990 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10991 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10994 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10995 pads are real pads. No ghost pads in this file. Not documenting
10996 the myriad s/RPAD/PAD/ and REALIZE fixes.
10997 (gst_pad_class_init): Add properties for "direction" and
10998 "template". Both are construct-only, so they can't change during
10999 the life of the pad. Fixes properly deriving from GstPad.
11000 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11001 derived objects, just set properties when creating the objects via
11003 (gst_pad_get_parent): Implement as a function, return NULL if the
11004 parent is not an element.
11005 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11006 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11008 * gst/gstobject.c (gst_object_class_init): Make name a construct
11009 property. Don't set it in the object init.
11011 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11012 with UNKNOWN direction.
11013 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11014 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11015 (gst_element_remove_pad): Remove ghost-pad special cases.
11016 (gst_element_pads_activate): Remove rpad cruft.
11018 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11019 catch the pad's-parent-not-an-element case.
11021 * gst/gst.h: Include gstghostpad.h.
11023 * gst/gst.c (init_post): No more real, ghost pads.
11025 * gst/Makefile.am: Add gstghostpad.[ch].
11027 * check/Makefile.am:
11028 * check/gst/gstbin.c:
11029 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11030 into a bin creates ghost pads, and that the refcounts are right.
11031 Partly moved from gstbin.c.
11033 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11035 * check/gst-libs/.cvsignore:
11036 * check/gst/.cvsignore:
11037 * check/pipelines/.cvsignore:
11039 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11040 (START_TEST), (cleanup_suite), (main):
11041 add some tests related to cleanup after running pipelines
11043 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11045 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11046 add a testsuite for GstBuffer
11048 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11050 * gst/gstminiobject.h:
11051 add defines for accessing the refcount
11053 2005-06-03 Stefan Kost <ensonic@users.sf.net>
11055 * Makefile.am: added support for html unit test coverage reports
11057 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
11059 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11060 Free existing caps if the capsfilter changes. Add a FIXME about
11061 setting those caps on the pads.
11063 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11064 Before adding a ghost pad to a parent bin, check that there isn't
11065 already one for the element on the bin. Prevents infinite recursion
11066 when using decodebin in parse pipelines. Andy says he'll rewrite the
11067 way this works anyway, so ignore the hack.
11069 2005-06-02 Andy Wingo <wingo@pobox.com>
11071 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11072 file size, pass it on to the type find helper.
11074 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11075 segment_start and segment_end properly according to the seek
11076 method. Segment_end is still a bit flaky because offset can be
11077 negative for CUR and END cases, but it takes -1 as an "unset"
11080 2005-06-02 Wim Taymans <wim@fluendo.com>
11082 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11083 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11084 (gst_basesink_activate):
11085 * gst/base/gstbasesink.h:
11086 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11087 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11088 (gst_pad_query), (gst_pad_start_task):
11090 * gst/gstqueue.c: (gst_queue_bufferalloc),
11091 (gst_queue_handle_sink_event), (gst_queue_chain):
11092 Bufferalloc: return GstFlowReturn to more accuratly report
11093 why allocation failed.
11095 2005-06-02 Wim Taymans <wim@fluendo.com>
11097 * gst/gstpipeline.c: (gst_pipeline_send_event):
11098 Take snapshot of state without blocking.
11100 2005-06-02 Wim Taymans <wim@fluendo.com>
11102 * docs/design/part-TODO.txt:
11103 * docs/design/part-caps.txt:
11104 * docs/design/part-clocks.txt:
11105 * docs/design/part-negotiation.txt:
11106 * docs/design/part-preroll.txt:
11109 2005-05-30 Wim Taymans <wim@fluendo.com>
11111 * gst/elements/gstidentity.c: (gst_identity_event),
11112 (gst_identity_transform), (gst_identity_get_property):
11113 Protect last_message property as it is accessed from
11116 2005-05-30 Wim Taymans <wim@fluendo.com>
11118 * gst/gstelement.c: (gst_element_init),
11119 (gst_element_pads_activate), (gst_element_change_state):
11120 Slicker pad activation code.
11122 2005-05-30 Wim Taymans <wim@fluendo.com>
11125 * gst/gstelement.h:
11126 * gst/gstelementfactory.h:
11128 Move elementfactory methods to separate .h file.
11130 2005-05-30 Wim Taymans <wim@fluendo.com>
11132 * docs/design/part-overview.txt:
11133 * gst/gstsystemclock.h:
11134 Small typo fixes, doc updates.
11136 2005-05-30 Wim Taymans <wim@fluendo.com>
11138 * gst/gst.c: (gst_init_get_popt_table), (init_post),
11139 (init_popt_callback):
11140 Remove cpu-opt flag.
11142 2005-05-30 Wim Taymans <wim@fluendo.com>
11144 * gst/gstbuffer.c: (gst_subbuffer_finalize),
11145 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11147 Avoid typechecking in places where not needed.
11148 Added accessor for malloc_data.
11150 2005-05-30 Wim Taymans <wim@fluendo.com>
11152 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11153 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11154 (gst_pad_configure_sink), (gst_pad_configure_src),
11155 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11156 (gst_pad_start_task):
11157 Propagate errors from _set_caps() in configure_src/sink
11158 functions instead of returning TRUE.
11159 FLUSH events can travel up and downstream
11162 2005-05-30 Wim Taymans <wim@fluendo.com>
11164 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11165 (gst_basesink_activate):
11166 Handle EOS in preroll.
11168 2005-05-30 Wim Taymans <wim@fluendo.com>
11170 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11171 (gst_queue_loop), (gst_queue_handle_src_event):
11172 Remove old pieces of code
11173 Flushing the queue in an upstream event is a very bad idea.
11175 2005-05-26 Andy Wingo <wingo@pobox.com>
11177 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11178 gst_value_set_mini_object so as to add a ref on the object (which
11179 will be removed when the value is unset).
11181 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11182 arg type in ::handoff.
11184 * gst/gstelement.c (gst_element_change_state): Also deactivate
11185 pads in READY->NULL, just in case the element didn't make it to
11186 PAUSED. Wingo tested, Wim approved.
11188 2005-05-26 Wim Taymans <wim@fluendo.com>
11190 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11191 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11192 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11193 A flushing pad cannot be used to alloc_buffer from.
11195 2005-05-26 Wim Taymans <wim@fluendo.com>
11197 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11198 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11199 (gst_bus_source_dispatch), (gst_bus_source_finalize),
11200 (gst_bus_create_watch), (gst_bus_add_watch_full):
11202 Implement a real GSource and use g_main_context_wakeup() to
11203 signal new messages instead of the socketpair.
11205 2005-05-25 Wim Taymans <wim@fluendo.com>
11207 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11208 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11209 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11210 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11211 (gst_pad_send_event), (gst_pad_start_task):
11212 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11213 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11214 (gst_queue_sink_activate), (gst_queue_src_activate),
11215 (gst_queue_change_state):
11217 Fix state changes for non sinks. We now change sinks, then elements
11218 with unconnected srcpads, then the rest.
11219 More efficient queue unlocking in flush and state changes.
11220 Set the pad activate mode even if it does not have an activate
11223 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11225 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11226 Don't go in pull mode for non-seekable sources.
11227 * gst/elements/gsttypefindelement.h:
11228 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11229 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11230 (free_entry), (stop_typefinding),
11231 (gst_type_find_element_handle_event), (find_peek),
11232 (gst_type_find_element_chain), (do_pull_typefind),
11233 (gst_type_find_element_change_state):
11234 Allow typefinding (w/o seeking) in push-mode, simplified version
11235 of what was in 0.8.
11236 * gst/gstutils.c: (gst_buffer_join):
11238 gst_buffer_join() from 0.8.
11240 2005-05-25 Wim Taymans <wim@fluendo.com>
11242 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11243 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11244 (gst_pad_send_event), (gst_pad_start_task):
11245 Disable attempt at mode switching until it is figured out.
11247 2005-05-25 Wim Taymans <wim@fluendo.com>
11249 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11250 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11251 (gst_basesink_finish_preroll), (gst_basesink_chain),
11252 (gst_basesink_loop), (gst_basesink_activate),
11253 (gst_basesink_change_state):
11254 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11255 (gst_basesrc_get_range), (gst_basesrc_loop),
11256 (gst_basesrc_activate):
11257 * gst/elements/gsttee.c: (gst_tee_sink_activate):
11258 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11259 (gst_real_pad_init), (gst_real_pad_set_property),
11260 (gst_real_pad_get_property), (gst_pad_set_active),
11261 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11262 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11263 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11264 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11265 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11266 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11267 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11268 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11269 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11270 (gst_pad_stop_task):
11272 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11273 (gst_queue_loop), (gst_queue_src_activate):
11274 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11275 (gst_task_get_state):
11277 * gst/schedulers/threadscheduler.c:
11278 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11279 Implement gst_pad_pause/start/stop_task(), take STREAM lock
11281 Remove ACTIVE pad flag, use FLUSHING everywhere
11282 Added _pad_chain(), _pad_get_range() to call chain/getrange
11284 Add locks around IS_FLUSHING when reading.
11285 Take STREAM lock in chain(), get_range() functions so plugins
11286 don't need to take it anymore.
11290 2005-05-25 Wim Taymans <wim@fluendo.com>
11292 * tools/gst-launch.c: (event_loop):
11293 Unref message after using its contents instead of
11296 2005-05-24 Wim Taymans <wim@fluendo.com>
11298 * docs/design/draft-ghostpads.txt:
11299 * docs/design/draft-push-pull.txt:
11300 * docs/design/draft-query.txt:
11301 * docs/design/part-overview.txt:
11302 Docs updates, added general overview doc.
11304 2005-05-21 David Schleef <ds@schleef.org>
11306 * docs/gst/tmpl/old/GstBin.sgml:
11307 * docs/gst/tmpl/old/GstBuffer.sgml:
11308 * docs/gst/tmpl/old/GstCaps.sgml:
11309 * docs/gst/tmpl/old/GstClock.sgml:
11310 * docs/gst/tmpl/old/GstCompat.sgml:
11311 * docs/gst/tmpl/old/GstData.sgml:
11312 * docs/gst/tmpl/old/GstElement.sgml:
11313 * docs/gst/tmpl/old/GstEvent.sgml:
11314 * docs/gst/tmpl/old/GstIndex.sgml:
11315 * docs/gst/tmpl/old/GstStructure.sgml:
11316 * docs/gst/tmpl/old/GstTag.sgml:
11317 * docs/gst/tmpl/old/cothreads.sgml:
11318 * docs/gst/tmpl/old/cothreads_compat.sgml:
11319 * docs/gst/tmpl/old/gettext.sgml:
11320 * docs/gst/tmpl/old/gobject2gtk.sgml:
11321 * docs/gst/tmpl/old/grammar.tab.sgml:
11322 * docs/gst/tmpl/old/gst-i18n-app.sgml:
11323 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11324 * docs/gst/tmpl/old/gst_private.sgml:
11325 * docs/gst/tmpl/old/gstaggregator.sgml:
11326 * docs/gst/tmpl/old/gstarch.sgml:
11327 * docs/gst/tmpl/old/gstatomic_impl.sgml:
11328 * docs/gst/tmpl/old/gstbufferstore.sgml:
11329 * docs/gst/tmpl/old/gstdata_private.sgml:
11330 * docs/gst/tmpl/old/gstdisksink.sgml:
11331 * docs/gst/tmpl/old/gstdisksrc.sgml:
11332 * docs/gst/tmpl/old/gstelementfactory.sgml:
11333 * docs/gst/tmpl/old/gstextratypes.sgml:
11334 * docs/gst/tmpl/old/gstfakesink.sgml:
11335 * docs/gst/tmpl/old/gstfakesrc.sgml:
11336 * docs/gst/tmpl/old/gstfdsink.sgml:
11337 * docs/gst/tmpl/old/gstfdsrc.sgml:
11338 * docs/gst/tmpl/old/gstfilesink.sgml:
11339 * docs/gst/tmpl/old/gstfilesrc.sgml:
11340 * docs/gst/tmpl/old/gsthttpsrc.sgml:
11341 * docs/gst/tmpl/old/gstidentity.sgml:
11342 * docs/gst/tmpl/old/gstindexfactory.sgml:
11343 * docs/gst/tmpl/old/gstmarshal.sgml:
11344 * docs/gst/tmpl/old/gstmd5sink.sgml:
11345 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11346 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11347 * docs/gst/tmpl/old/gstpadtemplate.sgml:
11348 * docs/gst/tmpl/old/gstpipefilter.sgml:
11349 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11350 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11351 * docs/gst/tmpl/old/gstshaper.sgml:
11352 * docs/gst/tmpl/old/gstspider.sgml:
11353 * docs/gst/tmpl/old/gstspideridentity.sgml:
11354 * docs/gst/tmpl/old/gststatistics.sgml:
11355 * docs/gst/tmpl/old/gsttee.sgml:
11356 * docs/gst/tmpl/old/gsttimecache.sgml:
11357 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11358 * docs/gst/tmpl/old/gstxmlregistry.sgml:
11359 * docs/gst/tmpl/old/gthread-cothreads.sgml:
11360 * docs/gst/tmpl/old/types.sgml:
11361 I didn't intend to add these or check them in.
11363 2005-05-19 David Schleef <ds@schleef.org>
11365 * configure.ac: Use -no-common everywhere. In a sane world, it
11366 would be the default in libtool, because without it, you can't
11367 build DLLs on Windows.
11368 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11369 * docs/gst/gstreamer-sections.txt:
11370 * docs/gst/tmpl/gstcpu.sgml:
11371 * docs/gst/tmpl/gstdata.sgml:
11372 * docs/gst/tmpl/gstthread.sgml:
11374 2005-05-19 David Schleef <ds@schleef.org>
11376 * gst/gstminiobject.c: (gst_value_set_mini_object),
11377 (gst_value_take_mini_object), (gst_value_get_mini_object):
11378 * gst/gstminiobject.h: Add GValue set/get functions.
11380 2005-05-19 Wim Taymans <wim@fluendo.com>
11382 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11383 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11384 (gst_subbuffer_init), (gst_buffer_is_span_fast):
11386 * gst/gstbus.c: (gst_bus_post):
11387 * gst/gstelement.c: (gst_element_get_random_pad):
11388 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11389 Make subbufer unref the parent in finalize.
11390 some more debugging info.
11393 2005-05-19 Wim Taymans <wim@fluendo.com>
11395 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11396 (gst_basesink_init), (gst_basesink_finalize),
11397 (gst_basesink_activate), (gst_basesink_change_state):
11398 Don't free preroll queue too early.
11400 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11404 Hi, I'm outdated. Please shoot me.
11406 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11408 * gst/gstpipeline.c: (gst_pipeline_send_event):
11409 Do not access variables after they have been deleted.
11411 2005-05-19 Wim Taymans <wim@fluendo.com>
11413 * tools/gst-inspect.c: (print_plugin_features):
11414 A plugin feature does unfortunatly not use the
11417 2005-05-18 Wim Taymans <wim@fluendo.com>
11419 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11420 Port _span() functions to new subbuffers.
11422 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11424 * gst/gstbin.c: (gst_bin_add_func):
11425 Fix clock settery in bins when adding kids after the clock has
11428 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11430 * gst/elements/gstidentity.c: (gst_identity_class_init):
11431 Workaround until signals support GstMiniObject.
11433 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
11436 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11438 2005-05-18 Wim Taymans <wim@fluendo.com>
11440 * gst/base/Makefile.am:
11441 * gst/base/gstadapter.c: (gst_adapter_base_init),
11442 (gst_adapter_class_init), (gst_adapter_init),
11443 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11444 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11445 (gst_adapter_flush), (gst_adapter_available),
11446 (gst_adapter_available_fast):
11447 * gst/base/gstadapter.h:
11448 Ported and added adapter to the base classes.
11450 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11453 * gst/gstmessage.c:
11454 Make sure the class is reffed/unreffed once before threads can be
11455 used. Fixes #304551.
11457 2005-05-17 Wim Taymans <wim@fluendo.com>
11459 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11460 (gst_basesink_chain_unlocked), (gst_basesink_activate):
11461 * gst/gstminiobject.c: (gst_mini_object_get_type),
11462 (gst_mini_object_free):
11463 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11464 (gst_pad_push), (gst_pad_push_event):
11465 * gst/gstqueue.c: (gst_queue_change_state):
11466 Don't queue buffers in basesink when we are flushing.
11467 Unref buffer when flushing in basesink.
11468 Flush queue when going to READY
11469 Unref buffer when _push() returns an error.
11470 Don't free MiniObject instance when refcount is incremented
11471 in _finalize() so that we can recover objects.
11473 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
11475 * docs/manual/advanced-schedulers.xml:
11476 * docs/manual/appendix-checklist.xml:
11477 * docs/pwg/advanced-clock.xml:
11478 * docs/pwg/advanced-interfaces.xml:
11479 * docs/pwg/advanced-request.xml:
11480 * docs/pwg/advanced-types.xml:
11481 * docs/pwg/intro-preface.xml:
11482 * examples/plugins/example.c: (gst_example_get_type),
11483 (gst_example_class_init), (gst_example_chain),
11484 (gst_example_set_property), (gst_example_get_property),
11485 (gst_example_change_state), (plugin_init):
11486 * examples/plugins/example.h:
11489 2005-05-17 Wim Taymans <wim@fluendo.com>
11491 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11492 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11493 * gst/gstqueue.c: (gst_queue_change_state):
11494 Clear queue when going to READY.
11495 Remove IN_SETCAPS flag too.
11497 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
11499 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11500 Remove implicit cast from gboolean to GstElementStateReturn;
11501 make sure we still return failure in paused => ready case if
11502 the parent class fails to change state and our own stop
11505 2005-05-17 Wim Taymans <wim@fluendo.com>
11507 * tools/gst-launch.c: (event_loop):
11508 Message was unreffed too soon.
11510 2005-05-16 Andy Wingo <wingo@pobox.com>
11512 * gst/gstbin.c (sink_iterator_filter): Err... um...
11514 * check/gst/gstbin.c (test_ghost_pads): New test for the
11515 ghosting-if-elements-not-in-same-bin behavior.
11517 2005-05-16 David Schleef <ds@schleef.org>
11519 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11520 accessing refcount directly.
11522 2005-05-15 David Schleef <ds@schleef.org>
11524 * check/Makefile.am: remove GstData checks
11525 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11526 * gst/Makefile.am: add miniobject, remove data
11527 * gst/gst.h: add miniobject, remove data
11528 * gst/gstdata.c: remove
11529 * gst/gstdata.h: remove
11530 * gst/gstdata_private.h: remove
11531 * gst/gsttypes.h: remove GstEvent and GstMessage
11532 * gst/gstelement.c: (gst_element_post_message): fix for API changes
11533 * gst/gstmarshal.list: change BOXED -> OBJECT
11535 Implement GstMiniObject.
11536 * gst/gstminiobject.c:
11537 * gst/gstminiobject.h:
11539 Modify to be subclasses of GstMiniObject.
11540 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11541 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11542 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11543 (gst_subbuffer_get_type), (gst_subbuffer_init),
11544 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11547 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11548 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11549 (_gst_event_copy), (gst_event_new):
11551 * gst/gstmessage.c: (_gst_message_initialize),
11552 (gst_message_get_type), (gst_message_class_init),
11553 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11554 (gst_message_new), (gst_message_new_error),
11555 (gst_message_new_warning), (gst_message_new_tag),
11556 (gst_message_new_state_changed), (gst_message_new_application):
11557 * gst/gstmessage.h:
11558 * gst/gstprobe.c: (gst_probe_perform),
11559 (gst_probe_dispatcher_dispatch):
11561 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11562 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11563 (_gst_query_copy), (gst_query_new):
11565 Update elements for GstData -> GstMiniObject changes
11567 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11568 (gst_queue_chain), (gst_queue_loop):
11569 * gst/elements/gstbufferstore.c:
11570 (gst_buffer_store_add_buffer_func),
11571 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11572 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11573 (gst_fakesink_render):
11574 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11575 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11576 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11577 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11578 (gst_filesrc_create_read):
11579 * gst/elements/gstidentity.c: (gst_identity_class_init):
11580 * gst/elements/gsttypefindelement.c:
11581 (gst_type_find_element_src_event), (free_entry_buffers),
11582 (gst_type_find_element_handle_event):
11583 * libs/gst/dataprotocol/dataprotocol.c:
11584 (gst_dp_header_from_buffer):
11585 * libs/gst/dataprotocol/dataprotocol.h:
11586 * libs/gst/dataprotocol/dp-private.h:
11588 2005-05-15 David Schleef <ds@schleef.org>
11590 * gst/elements/gstelements.c: Don't include headers that were
11593 2005-05-15 David Schleef <ds@schleef.org>
11595 * gst/elements/Makefile.am: Remove some elements that don't
11596 need to be in the core (or even exist at all).
11597 * gst/elements/gstaggregator.c:
11598 * gst/elements/gstaggregator.h:
11599 * gst/elements/gstmd5sink.c:
11600 * gst/elements/gstmd5sink.h:
11601 * gst/elements/gstmultifilesrc.c:
11602 * gst/elements/gstmultifilesrc.h:
11603 * gst/elements/gstpipefilter.c:
11604 * gst/elements/gstpipefilter.h:
11605 * gst/elements/gstshaper.c:
11606 * gst/elements/gstshaper.h:
11607 * gst/elements/gststatistics.c:
11608 * gst/elements/gststatistics.h:
11609 * po/POTFILES.in: Remove above files.
11611 2005-05-14 Andy Wingo <wingo@pobox.com>
11613 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11614 so as to get the refs right.
11615 (sink_iterator_filter): New function, wraps bin_element_is_sink,
11616 unreffing objects that don't pass the filter.
11618 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11619 gst_element_set_bus.
11620 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11621 normal cases, this will destroy the bus.
11623 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11626 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11629 2005-05-13 Andy Wingo <wingo@pobox.com>
11631 * gst/gstutils.c (gst_element_link_pads): Instead of calling
11632 gst_pad_link, call pad_link_maybe_ghosting,
11633 (pad_link_maybe_ghosting): Links pads, making sure that the
11634 elements being linked are in the same bin.
11635 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11636 Helpers for pad_link_maybe_ghosting.
11638 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11641 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11643 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11645 * docs/design/part-element-source.txt:
11648 2005-05-12 Wim Taymans <wim@fluendo.com>
11650 * gst/base/gstbasesink.c: (gst_basesink_init),
11651 (gst_basesink_activate):
11652 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11653 (gst_basesrc_is_seekable):
11654 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11655 (bin_element_is_sink), (gst_bin_change_state):
11656 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11657 * gst/gstelement.h:
11658 Identify sinks by their flag to avoid overly complicated
11660 Do state changes even for elements not reachable from the
11662 BaseSink is a sink now :)
11663 Some more debugging info in the basesrc.
11666 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11668 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11669 Implement _query on a bin, similar to _send_event.
11671 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
11673 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11674 Discont event offset format should be GST_FORMAT_BYTES,
11675 not GST_FORMAT_TIME.
11677 2005-05-12 Wim Taymans <wim@fluendo.com>
11679 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11680 Same fix as Ronald's but without the signal.
11682 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11684 * gst/gstutils.c: (gst_element_query_position):
11685 No, an element is not a pad.
11687 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11689 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11690 (gst_bin_get_state):
11691 If a child is removed from a bin while we remove the child from
11692 the bin and while we're retrieving its state, signal this to the
11693 get_state function so we abort the wait (instead of waiting for
11694 a timeout) and can immediately re-iterate over all other elements.
11696 2005-05-12 Wim Taymans <wim@fluendo.com>
11698 * gst/base/Makefile.am:
11699 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11700 (gst_basesrc_start):
11701 * gst/base/gstbasesrc.h:
11702 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11703 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11704 (gst_pushsrc_init), (gst_pushsrc_create):
11705 * gst/base/gstpushsrc.h:
11706 Added is_seekable to BaseSrc
11707 Added simple PushSrc.
11709 2005-05-11 Wim Taymans <wim@fluendo.com>
11711 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11712 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11713 (gst_element_link_pads), (gst_element_query_position),
11714 (gst_element_query_convert), (intersect_caps_func),
11715 (gst_pad_query_position), (gst_pad_query_convert):
11716 Fix refcounting in utils function.
11717 No point in trying to activate a pad when it's added, it could
11718 be added from the state change function and then we deadlock, the
11719 element has to decide what to do.
11721 2005-05-10 Andy Wingo <wingo@pobox.com>
11723 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11724 *all* the arguments.
11726 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11727 stream lock if it's a FLUSH_DONE; normal flushes don't get the
11728 lock (according to the docs -- if this is wrong change the docs).
11730 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11731 flush messages in the NULL state.
11733 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11734 message immediately and return.
11735 (gst_bus_set_flushing): New function. If a bus is flushing, it
11736 flushes out any queued messages and immediately unrefs new
11737 messages. This is so when an element goes to NULL, all of the
11738 unhandled messages coming from it can be freed, and their
11739 references to the element dropped. In other words: message source
11740 ref considered harmful :P
11742 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11743 we're finished with it.
11745 * gst/gstmessage.c (gst_message_new_state_changed):
11747 2005-05-10 Wim Taymans <wim@fluendo.com>
11749 * gst/gstvalue.c: (gst_value_compare_flags),
11750 (gst_value_serialize_flags), (gst_value_deserialize_flags),
11751 (_gst_value_initialize):
11752 Added flags serialize/deserialize/compare code.
11754 2005-05-09 Andy Wingo <wingo@pobox.com>
11756 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11757 Intersect the peer's caps with our caps.
11759 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11761 * gst/base/gsttypefindhelper.c: (helper_find_peek):
11762 * gst/elements/gsttypefindelement.c: (find_peek):
11763 Handle negative offsets better. Fixes decodebin.
11765 2005-05-09 Wim Taymans <wim@fluendo.com>
11767 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11768 (gst_base_transform_event):
11769 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11770 Implement accept_caps.
11771 Fix silly lock/unlock mismatch in base class.
11773 2005-05-09 Wim Taymans <wim@fluendo.com>
11775 * docs/design/draft-push-pull.txt:
11776 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11777 * gst/elements/gstfilesink.c: (gst_filesink_init),
11778 (gst_filesink_query):
11779 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11780 (gst_type_find_handle_src_query), (find_element_get_length):
11781 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11782 * gst/gstelement.h:
11783 * gst/gstmessage.c:
11784 * gst/gstmessage.h:
11785 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11786 (gst_real_pad_get_caps_unlocked),
11787 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11788 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11789 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11790 (gst_real_pad_dispose), (gst_real_pad_finalize),
11791 (gst_pad_load_and_link), (gst_pad_save_thyself),
11792 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11793 (gst_pad_check_pull_range), (gst_pad_pull_range),
11794 (gst_pad_template_get_type), (gst_pad_template_class_init),
11795 (gst_pad_template_init), (gst_pad_template_dispose),
11796 (name_is_valid), (gst_static_pad_template_get),
11797 (gst_pad_template_new), (gst_static_pad_template_get_caps),
11798 (gst_pad_template_get_caps), (gst_pad_set_element_private),
11799 (gst_pad_get_element_private), (gst_pad_start_task),
11800 (gst_pad_pause_task), (gst_pad_stop_task),
11801 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11802 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11803 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11804 (gst_ghost_pad_new):
11806 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11807 (gst_query_new_position), (gst_query_set_position),
11808 (gst_query_parse_position), (gst_query_new_convert),
11809 (gst_query_set_convert), (gst_query_parse_convert):
11811 * gst/gstqueryutils.c:
11812 * gst/gstqueryutils.h:
11813 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11814 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11815 (gst_queue_handle_src_query):
11816 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11817 (gst_element_query_position), (gst_element_query_convert),
11818 (intersect_caps_func), (gst_pad_query_position),
11819 (gst_pad_query_convert):
11821 * tools/gst-inspect.c: (print_pad_info):
11822 * tools/gst-xmlinspect.c: (print_element_info):
11823 Remove old query functions. Ported old code.
11824 Added position/convert helper functions to gstutils.
11825 Reordered gstpad.c code, grouping relevant things.
11826 Remove gst_message_new(), always need to speficy a specific
11830 2005-05-09 Andy Wingo <wingo@pobox.com>
11832 * gst/gstiterator.h: Add some includes.
11834 * gst/gstqueryutils.h: Include more headers.
11837 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11838 some uses of gst_pad_query.
11840 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11841 NULL out parameters.
11842 (gst_query_new_position): New proc, allocates a new position
11845 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11846 gstqueryutils.c to the build.
11848 * gst/gststructure.c (gst_structure_set_valist): Implement with
11849 the generic G_VALUE_COLLECT.
11851 2005-05-08 Edward Hervey <bilboed@bilboed.com>
11853 * gst/Makefile.am: (gst_headers):
11854 Added gstqueryutils.h to the list of headers to install, that was
11855 a 'nachty' move wingo :)
11857 2005-05-06 Andy Wingo <wingo@pobox.com>
11860 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11861 GstData, init a memchunk.
11862 (standard_definitions): Add a few query types, deprecate a few.
11863 (gst_query_get_type): New proc.
11864 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11866 (gst_query_new_application, gst_query_get_structure): New public
11869 * docs/design/draft-query.txt: Removed LINKS from the query types,
11870 because all the rest can be dispatched to other pads -- seemed
11871 ugly to have a query that couldn't be dispatched. internal_links
11872 is fine as a pad method.
11874 * gst/gstpad.h: Add query2 as a pad method, add the new functions
11875 in gstpad.c, but maintain binary compatibility for the moment.
11876 Will fix before 0.9 is out.
11878 * gst/gstqueryutils.c:
11879 * gst/gstqueryutils.h: New files, implement 3 methods for each
11880 query type: parse_query, parse_response, and set. Probably need an
11883 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11885 * gst/elements/gstfilesink.c (gst_filesink_query2):
11886 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11887 query_types, and formats methods.
11889 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11890 (gst_pad_set_query2_function): New functions.
11891 (gst_real_pad_init): Set query2_default as the default query2
11892 function. Basically just dispatches to internally linked pads.
11896 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11897 without using the atomic operations. Only one thread can possibly
11898 be accessing the data at this point. Changed so as to avoid
11899 gst_atomic operations.
11901 2005-05-06 Wim Taymans <wim@fluendo.com>
11903 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11904 Also set caps if we use the fallback buffer alloc.
11906 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
11908 * docs/gst/Makefile.am:
11909 * docs/gst/gstreamer-docs.sgml:
11910 * docs/gst/gstreamer-sections.txt:
11911 * docs/gst/tmpl/gstatomic.sgml:
11912 * docs/gst/tmpl/gstmemchunk.sgml:
11913 * testsuite/elements/struct_i386.h:
11914 * win32/GStreamer.vcproj:
11916 Purge GstAtomic stuff from docs and win32 makefiles as well
11918 2005-05-06 Wim Taymans <wim@fluendo.com>
11920 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11921 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11922 * gst/gstpad.c: (gst_pad_peer_get_caps):
11923 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11924 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11925 (gst_queue_src_activate), (gst_queue_change_state):
11927 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11928 (intersect_caps_func):
11929 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11930 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11931 Some fixes for the peer_get_caps() change.
11933 2005-05-06 Wim Taymans <wim@fluendo.com>
11935 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11936 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11937 (gst_basesink_activate):
11938 Actually do something with error codes returned from the push
11941 2005-05-06 Wim Taymans <wim@fluendo.com>
11943 * docs/design/part-element-sink.txt:
11944 * docs/design/part-element-source.txt:
11945 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11946 (gst_basesink_event), (gst_basesink_activate):
11947 * gst/base/gstbasesink.h:
11948 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11949 (gst_basesrc_activate):
11950 * gst/base/gstbasesrc.h:
11951 * gst/gstelement.c: (gst_element_pads_activate):
11952 Some more documentation.
11953 Fixed scheduling decision in _pads_activate().
11955 2005-05-05 Andy Wingo <wingo@pobox.com>
11957 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11960 2005-05-05 Wim Taymans <wim@fluendo.com>
11962 * gst/base/Makefile.am:
11963 * gst/base/gstbasesink.h:
11964 * gst/base/gstbasesrc.c: (gst_basesrc_init),
11965 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11966 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11967 (gst_collectpads_class_init), (gst_collectpads_init),
11968 (gst_collectpads_finalize), (gst_collectpads_new),
11969 (gst_collectpads_set_function), (gst_collectpads_add_pad),
11970 (find_pad), (gst_collectpads_remove_pad),
11971 (gst_collectpads_is_active), (gst_collectpads_collect),
11972 (gst_collectpads_collect_range), (gst_collectpads_start),
11973 (gst_collectpads_stop), (gst_collectpads_peek),
11974 (gst_collectpads_pop), (gst_collectpads_available),
11975 (gst_collectpads_read), (gst_collectpads_flush),
11976 (gst_collectpads_chain):
11977 * gst/base/gstcollectpads.h:
11978 * gst/elements/Makefile.am:
11979 * gst/elements/gstelements.c:
11980 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11981 (gst_fakesink_get_times), (gst_fakesink_event),
11982 (gst_fakesink_preroll), (gst_fakesink_render):
11983 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11984 (gst_filesink_init), (gst_filesink_set_location),
11985 (gst_filesink_open_file), (gst_filesink_close_file),
11986 (gst_filesink_pad_query), (gst_filesink_event),
11987 (gst_filesink_render), (gst_filesink_change_state):
11988 * gst/elements/gstfilesink.h:
11989 Added object to help in making collect pad based elements.
11991 Make event function in sink baseclass return gboolean.
11993 2005-05-05 Wim Taymans <wim@fluendo.com>
11995 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11996 (gst_bin_get_by_name):
11998 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11999 (gst_clock_finalize):
12000 * gst/gstdata.c: (gst_data_replace):
12002 * gst/gstelement.c: (gst_element_request_pad),
12003 (gst_element_pads_activate):
12004 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12005 (gst_object_unref):
12006 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12007 (gst_pad_set_checkgetrange_function),
12008 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12009 (gst_pad_check_pull_range), (gst_pad_pull_range),
12010 (gst_static_pad_template_get_caps), (gst_pad_start_task),
12011 (gst_pad_pause_task), (gst_pad_stop_task):
12012 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12013 (gst_element_request_pad), (gst_pad_proxy_getcaps):
12014 Fix name lookup in GstBin.
12015 Added _data_replace() function and _buffer_replace()
12016 Use finalize method to clean up clock.
12017 Fix refcounting on request pads.
12018 Fix pad schedule mode error.
12019 Some more object refcounting debug info,
12022 2005-05-04 Andy Wingo <wingo@pobox.com>
12024 * check/Makefile.am:
12025 * docs/gst/tmpl/gstatomic.sgml:
12026 * docs/gst/tmpl/gstplugin.sgml:
12027 * gst/base/gstbasesink.c: (gst_basesink_activate):
12028 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12029 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12030 (gst_basesrc_query), (gst_basesrc_set_property),
12031 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12032 (gst_basesrc_activate):
12033 * gst/base/gstbasesrc.h:
12034 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12035 (gst_base_transform_src_activate):
12036 * gst/elements/gstelements.c:
12037 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12038 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12039 * gst/elements/gsttee.c: (gst_tee_sink_activate):
12040 * gst/elements/gsttypefindelement.c: (find_element_get_length),
12041 (gst_type_find_element_checkgetrange),
12042 (gst_type_find_element_activate):
12043 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12044 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12045 (gst_caps_load_thyself):
12046 * gst/gstelement.c: (gst_element_pads_activate),
12047 (gst_element_save_thyself), (gst_element_restore_thyself):
12048 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12049 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12051 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12052 (gst_xml_parse_file), (gst_xml_parse_memory),
12053 (gst_xml_get_element), (gst_xml_make_element):
12054 * gst/indexers/gstfileindex.c: (gst_file_index_load),
12055 (_file_index_id_save_xml), (gst_file_index_commit):
12056 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12057 (read_enum), (load_pad_template), (load_feature), (load_plugin),
12059 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12060 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12061 * tools/gst-complete.c: (main):
12062 * tools/gst-compprep.c: (main):
12063 * tools/gst-inspect.c: (print_element_properties_info):
12064 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12065 * tools/gst-xmlinspect.c: (print_element_properties):
12068 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
12070 * gst/gstplugin.c: (gst_plugin_check_module),
12071 (gst_plugin_check_file), (gst_plugin_load_file):
12072 apply patch from #172526 to make register work on MacOSX
12074 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12076 * docs/gst/tmpl/gstconfig.sgml:
12077 * gst/gstconfig.h.in:
12078 move documentation for some symbols. Add doc for GST_PTR_FORMAT
12079 * testsuite/debug/printf_extension.c: (main):
12080 Do not use GST_PTR_FORMAT on pointers to types with
12081 sizeof < sizeof(gpointer). Fixes test on 64-bit
12082 * testsuite/elements/property.h:
12083 use correct printf format
12085 2005-05-02 Wim Taymans <wim@fluendo.com>
12087 * docs/design/draft-push-pull.txt:
12088 * docs/design/draft-query.txt:
12089 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12090 (gst_basesrc_start):
12091 Added draft for new query API.
12092 Added draft for better selecting scheduling methods.
12093 Make basesrc ignore length if the subclass does not support
12096 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12099 possible fixes for automake-1.5 - _LIBADD is reserved
12101 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12103 * docs/faq/Makefile.am:
12104 * docs/manual/Makefile.am:
12105 * docs/manuals.mak:
12106 * docs/pwg/Makefile.am:
12108 possible fixes for automake-1.5
12110 2005-04-28 Wim Taymans <wim@fluendo.com>
12112 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12113 (gst_basesink_pad_getcaps), (gst_basesink_init),
12114 (gst_basesink_do_sync):
12115 * gst/gstclock.c: (gst_clock_entry_new):
12116 * gst/gstevent.c: (gst_event_discont_get_value):
12117 * gst/gstpipeline.c: (pipeline_bus_handler),
12118 (gst_pipeline_change_state):
12119 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12120 Better debugging of clocking info.
12121 Allow NULL values when getting discont values.
12123 2005-04-27 Wim Taymans <wim@fluendo.com>
12125 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12126 * check/gst/gstpad.c: (gst_pad_suite):
12127 Increase timeout for checks.
12129 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12131 * check/Makefile.am:
12132 fix the broken rule for cleanup. Apparently this rule is
12133 only needed on FC2, so maybe this warrants further autotool
12136 2005-04-26 Wim Taymans <wim@fluendo.com>
12138 * gst/gsttrashstack.h:
12139 Ooohh. a nasty one! After having a failed pop() from the stack,
12140 it's possible that the stack is empty. In that case, don't
12141 follow the NULL pointer.
12143 2005-04-25 Wim Taymans <wim@fluendo.com>
12145 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12146 (gst_pad_set_checkgetrange_function),
12147 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12148 (gst_pad_check_pull_range), (gst_pad_pull_range),
12149 (gst_static_pad_template_get_caps), (gst_pad_start_task),
12150 (gst_pad_pause_task), (gst_pad_stop_task):
12151 * gst/gstplugin.c: (gst_plugin_load):
12153 Remove gst_library_load as it does more harm than good with
12154 the new g_module flags.
12155 Revert bogus caps template check in pad linking, pad caps
12156 are important when linking not the template, which is more
12157 general than the current caps.
12159 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12161 * gst/autoplug/.cvsignore:
12162 * gst/autoplug/Makefile.am:
12163 * gst/autoplug/gstsearchfuncs.c:
12164 * gst/autoplug/gstsearchfuncs.h:
12165 * gst/autoplug/gstspider.c:
12166 * gst/autoplug/gstspider.h:
12167 * gst/autoplug/gstspideridentity.c:
12168 * gst/autoplug/gstspideridentity.h:
12169 * gst/autoplug/spidertest.c:
12172 2005-04-25 Wim Taymans <wim@fluendo.com>
12174 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12175 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12176 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12177 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12179 Added stubs for unimplemented functions.
12181 2005-04-24 David Schleef <ds@schleef.org>
12183 * gst/gstpad.h: Disable some unimplemented functions. Wim,
12186 2005-04-24 David Schleef <ds@schleef.org>
12188 Convert everything from GstAtomicInt to g_atomic_int_*, and
12193 * gst/gstatomic_impl.h:
12201 * gst/gstdata_private.h:
12205 * gst/gstmessage.c:
12208 * gst/gststructure.c:
12209 * gst/gststructure.h:
12210 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12213 2005-04-24 David Schleef <ds@schleef.org>
12215 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12216 make the regressions tests work. Remove some code that is no
12218 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12219 Disable warning for pads without templates.
12221 2005-04-24 David Schleef <ds@schleef.org>
12223 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
12224 functions that handle filtered links.
12225 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12227 * gst/gstutils.c: Fix/remove utility functions that handle
12230 * gst/gstvalue.c: Add serialization/deserialization of caps
12231 * gst/parse/grammar.y: Ignore filtered caps when linking. This
12232 requires fixing so that the filter caps notation creates
12233 a capsfilter element and sets the filter_caps property. I
12234 think everyone probably wants to keep the shorthand notation.
12235 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12236 * docs/gst/tmpl/gstpad.sgml:
12238 * gst/elements/gstelements.c: Register capsfilter element.
12239 * gst/Makefile.am: fix spacing
12240 * docs/random/ds/0.9-suggested-changes: random
12242 2005-04-23 David Schleef <ds@schleef.org>
12244 * gst/elements/Makefile.am:
12245 * gst/elements/gstcapsfilter.c: New element that acts like an
12246 identity, but filters caps. Will eventually replace filtered
12247 caps in pad linking.
12248 * gst/gstutils.c: (gst_element_create_all_pads): New function
12249 to create all the ALWAYS pads that are registered with an
12250 element class. This functionality should eventually be
12251 merged in with GstElement initialization.
12253 * testsuite/trigger/README: part of trigger test code that should
12254 have been checked in a long time ago.
12256 2005-04-23 David Schleef <ds@schleef.org>
12258 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
12259 needed with new versions of libtool (nobody will confirm this),
12260 and hard to carry around.
12261 * gst/autoplug/Makefile.am:
12262 * gst/base/Makefile.am:
12263 * gst/elements/Makefile.am:
12264 * gst/indexers/Makefile.am:
12265 * gst/schedulers/Makefile.am:
12266 * libs/gst/bytestream/Makefile.am:
12267 * libs/gst/control/Makefile.am:
12268 * libs/gst/dataprotocol/Makefile.am:
12269 * libs/gst/getbits/Makefile.am:
12271 2005-04-21 Wim Taymans <wim@fluendo.com>
12273 * docs/design/draft-push-pull.txt:
12274 * docs/design/part-MT-refcounting.txt:
12275 * docs/design/part-TODO.txt:
12276 * docs/design/part-caps.txt:
12277 * docs/design/part-events.txt:
12278 * docs/design/part-gstbus.txt:
12279 * docs/design/part-gstpipeline.txt:
12280 * docs/design/part-messages.txt:
12281 * docs/design/part-push-pull.txt:
12282 * docs/design/part-query.txt:
12285 2005-04-21 Wim Taymans <wim@fluendo.com>
12287 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12288 (gst_message_new), (gst_message_new_error),
12289 (gst_message_new_warning), (gst_message_new_tag),
12290 (gst_message_new_state_changed), (gst_message_new_application),
12291 (gst_message_get_structure):
12292 * gst/gstmessage.h:
12293 * gst/gststructure.c: (gst_structure_set_parent_refcount),
12294 (gst_structure_copy_conditional):
12295 Use parent refcount in GstMessage to ensure GstStructure
12297 Cleaned up headers a bit.
12300 2005-04-20 Wim Taymans <wim@fluendo.com>
12302 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12303 (gst_basesink_pad_getcaps), (gst_basesink_init),
12304 (gst_basesink_chain_unlocked):
12305 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12306 (gst_type_find_helper):
12307 * gst/elements/gsttypefindelement.c:
12308 (gst_type_find_element_have_type), (gst_type_find_element_init),
12309 (stop_typefinding), (gst_type_find_element_handle_event),
12310 (find_suggest), (gst_type_find_element_chain),
12311 (gst_type_find_element_checkgetrange),
12312 (gst_type_find_element_getrange), (do_typefind),
12313 (gst_type_find_element_activate):
12314 * gst/gstbuffer.c: (_gst_buffer_sub_free),
12315 (gst_buffer_default_free), (gst_buffer_default_copy),
12316 (gst_buffer_set_caps):
12317 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12318 (gst_caps_replace):
12319 * gst/gstmessage.c: (gst_message_new),
12320 (gst_message_new_state_changed):
12321 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12322 (gst_pad_set_checkgetrange_function),
12323 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12324 (gst_pad_set_caps), (gst_pad_check_pull_range),
12325 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12327 * gst/gsttypefind.c: (gst_type_find_register):
12328 Make gst_caps_replace() work like other _replace() functions.
12329 Use _caps_replace() where possible.
12330 Make sure _message_new() initialises its field.
12331 Add gst_static_pad_template_get_caps()
12334 2005-04-18 Andy Wingo <wingo@pobox.com>
12336 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12337 on the peer, not the pad. I think that was a typo. Pass an extra
12338 arg to see if random access is possible. Activate the pads as
12339 PULL_RANGE if possible.
12341 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12343 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
12344 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12347 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12349 * docs/faq/using.xml:
12350 Add note on gstreamer-properties (#154996).
12352 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12354 * docs/random/bbb/optional-properties:
12355 Some analysis on optional properties.
12357 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12359 * docs/gst/tmpl/gstelementfactory.sgml:
12360 * gst/gstelement.h:
12361 * gst/gstelementfactory.c: (gst_element_factory_init),
12362 (gst_element_factory_cleanup), (gst_element_register),
12363 (__gst_element_factory_add_static_pad_template),
12364 (gst_element_factory_get_static_pad_templates),
12365 (gst_element_factory_can_src_caps),
12366 (gst_element_factory_can_sink_caps):
12367 * gst/registries/Makefile.am:
12368 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12369 (gst_xml_registry_class_init), (gst_xml_registry_init),
12370 (gst_xml_registry_new), (gst_xml_registry_set_property),
12371 (gst_xml_registry_get_property), (get_time), (make_dir),
12372 (gst_xml_registry_get_perms_func),
12373 (plugin_times_older_than_recurse), (plugin_times_older_than),
12374 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12375 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12376 (add_to_char_array), (read_string), (read_uint), (read_enum),
12377 (load_pad_template), (load_feature), (load_plugin), (load_paths),
12378 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12379 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12380 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12381 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12382 (gst_xml_registry_rebuild):
12383 * gst/registries/gstlibxmlregistry.h:
12384 * tools/gst-compprep.c: (main):
12385 * tools/gst-inspect.c: (print_pad_templates_info):
12386 * tools/gst-xmlinspect.c: (print_element_info):
12387 Use libxml2 for registry parsing, use staticpadtemplates in
12388 elementfactories. Makes gst_init() +/- 10x faster.
12390 2005-04-12 Wim Taymans <wim@fluendo.com>
12392 * gst/base/Makefile.am:
12393 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12394 (gst_basesink_pad_getcaps), (gst_basesink_init),
12395 (gst_basesink_event), (gst_basesink_change_state):
12396 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12397 (gst_basesrc_init), (gst_basesrc_query),
12398 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12399 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12400 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12401 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12402 (gst_basesrc_stop), (gst_basesrc_activate),
12403 (gst_basesrc_change_state):
12404 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12405 (helper_find_suggest), (gst_type_find_helper):
12406 * gst/base/gsttypefindhelper.h:
12407 * gst/elements/Makefile.am:
12408 * gst/elements/gstelements.c:
12409 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12410 (gst_fakesink_get_times), (gst_fakesink_event),
12411 (gst_fakesink_preroll), (gst_fakesink_render):
12412 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12413 (gst_fakesrc_init), (gst_fakesrc_event_handler),
12414 (gst_fakesrc_get_property), (gst_fakesrc_create),
12415 (gst_fakesrc_start), (gst_fakesrc_stop):
12416 * gst/elements/gstfakesrc.h:
12417 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12418 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12419 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12420 (gst_filesrc_create_read), (gst_filesrc_create),
12421 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12422 (gst_filesrc_start):
12423 * gst/elements/gsttypefindelement.c:
12424 (gst_type_find_element_have_type), (gst_type_find_element_init),
12425 (start_typefinding), (stop_typefinding), (push_buffer_store),
12426 (gst_type_find_element_handle_event),
12427 (gst_type_find_element_chain),
12428 (gst_type_find_element_checkgetrange),
12429 (gst_type_find_element_getrange), (do_typefind),
12430 (gst_type_find_element_activate),
12431 (gst_type_find_element_change_state):
12432 * gst/elements/gsttypefindelement.h:
12433 * gst/gstpipeline.c: (pipeline_bus_handler):
12434 Added typefind helper.
12435 Small preroll fix in the base sink.
12436 Disable typefind code in basesrc.
12437 Crude port of typefindelement.
12441 2005-04-11 Wim Taymans <wim@fluendo.com>
12443 * check/gst/gstbus.c: (gstbus_suite):
12444 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12445 * check/gstcheck.h:
12446 Fix up the timeout so that the test does not fail.
12448 2005-04-06 Wim Taymans <wim@fluendo.com>
12451 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12452 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12453 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12454 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12455 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12456 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12457 (gst_basesrc_stop), (gst_basesrc_activate),
12458 (gst_basesrc_change_state), (basesrc_find_peek),
12459 (basesrc_find_suggest), (gst_basesrc_type_find):
12460 * gst/base/gstbasesrc.h:
12461 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12462 (gst_filesrc_class_init), (gst_filesrc_init),
12463 (gst_filesrc_finalize), (gst_filesrc_set_location),
12464 (gst_filesrc_set_property), (gst_filesrc_get_property),
12465 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12466 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12467 (gst_filesrc_create_read), (gst_filesrc_create),
12468 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12469 * gst/elements/gstfilesrc.h:
12470 * gst/gstelement.c: (gst_element_get_state_func),
12471 (gst_element_lost_state), (gst_element_pads_activate):
12472 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12473 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12474 (gst_pad_pull_range):
12476 More work on the generic source base class, implement seeking,
12478 Make filesrc extend the base source class.
12479 Added gst_pad_set_checkgetrange_function to GstPad.
12481 2005-04-06 Andy Wingo <wingo@pobox.com>
12483 * pkgconfig/gstreamer-base.pc.in:
12484 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12486 * pkgconfig/Makefile.am:
12487 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12489 2005-04-04 Wim Taymans <wim@fluendo.com>
12491 * gst/base/Makefile.am:
12493 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12494 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12495 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12496 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12497 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12498 (gst_basesrc_base_init), (gst_basesrc_class_init),
12499 (gst_basesrc_init), (gst_basesrc_get_formats),
12500 (gst_basesrc_get_query_types), (gst_basesrc_query),
12501 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12502 (gst_basesrc_set_property), (gst_basesrc_get_property),
12503 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12504 (gst_basesrc_loop), (gst_basesrc_activate),
12505 (gst_basesrc_change_state):
12506 * gst/base/gstbasesrc.h:
12507 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12508 (gst_fakesrc_class_init), (gst_fakesrc_init),
12509 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12510 (gst_fakesrc_get_property), (gst_fakesrc_create):
12511 * gst/elements/gstfakesrc.h:
12512 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12513 (gst_filesrc_open_file), (gst_filesrc_loop),
12514 (gst_filesrc_activate), (filesrc_find_peek),
12515 (gst_filesrc_type_find):
12516 Made base source class, make fakesrc extend it.
12517 Add comments to basesink class.
12518 Some filesrc cleanup.
12520 2005-03-31 David Schleef <ds@schleef.org>
12522 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12523 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12524 expected to link against libgstreamer.
12525 * gst/base/Makefile.am: link against libgstreamer
12526 * gst/elements/Makefile.am: same
12528 2005-03-31 Andy Wingo <wingo@pobox.com>
12530 * tests/instantiate/Makefile.am:
12531 * tests/instantiate/caps.c: Add test to test speed of caps copy
12534 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12535 GMemChunk to be fair.
12537 * gst/gsttrashstack.h: Remove warning about using the fallback
12538 trash stack implementation, it's still faster than malloc.
12540 2005-03-30 Andy Wingo <wingo@pobox.com>
12542 * tests/complexity.c: Add a copyright.
12544 2005-03-31 Wim Taymans <wim@fluendo.com>
12546 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12547 (gst_base_transform_class_init), (gst_base_transform_init),
12548 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12549 (gst_base_transform_get_property),
12550 (gst_base_transform_sink_activate),
12551 (gst_base_transform_src_activate),
12552 (gst_base_transform_change_state):
12553 * gst/base/gstbasetransform.h:
12554 * gst/elements/gstidentity.c: (gst_identity_class_init),
12555 (gst_identity_event), (gst_identity_check_perfect),
12556 (gst_identity_transform), (gst_identity_start),
12557 (gst_identity_stop):
12558 Added start/stop methods to transform base class so subclasses
12559 don't need to deal with state changes even.
12561 2005-03-31 Wim Taymans <wim@fluendo.com>
12563 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12564 (gst_event_new_discontinuous), (gst_event_discont_get_value):
12566 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12567 (gst_pad_pull_range):
12568 Added rate to the discont event to prepare for variable speed
12569 and reverse playback.
12571 2005-03-29 David Schleef <ds@schleef.org>
12574 * testsuite/trigger/Makefile.am:
12575 * testsuite/trigger/trigger.c: A little example program to show
12576 how trigger-based elements can work.
12578 2005-03-29 Wim Taymans <wim@fluendo.com>
12580 * gst/base/Makefile.am:
12582 * gst/base/gstbasesink.c: (gst_basesink_get_type),
12583 (gst_basesink_base_init), (gst_basesink_class_init),
12584 (gst_basesink_pad_getcaps), (gst_basesink_init),
12585 (gst_basesink_activate), (gst_basesink_change_state):
12586 * gst/base/gstbasesink.h:
12587 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12588 (gst_base_transform_base_init), (gst_base_transform_finalize),
12589 (gst_base_transform_class_init), (gst_base_transform_init),
12590 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12591 (gst_base_transform_event), (gst_base_transform_getrange),
12592 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12593 (gst_base_transform_set_property),
12594 (gst_base_transform_get_property),
12595 (gst_base_transform_sink_activate),
12596 (gst_base_transform_src_activate),
12597 (gst_base_transform_change_state):
12598 * gst/base/gstbasetransform.h:
12599 * gst/elements/gstidentity.c: (gst_identity_finalize),
12600 (gst_identity_class_init), (gst_identity_init),
12601 (gst_identity_event), (gst_identity_check_perfect),
12602 (gst_identity_transform), (gst_identity_set_property),
12603 (gst_identity_get_property), (gst_identity_change_state):
12604 * gst/elements/gstidentity.h:
12605 * gst/gstelement.c: (gst_element_get_state_func),
12606 (gst_element_lost_state), (gst_element_pads_activate):
12607 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12608 (gst_pad_check_pull_range), (gst_pad_pull_range):
12610 Simplify pad activation.
12611 Added function to check if pull_range can be performed.
12612 Error out when pulling inactive or flushing pads.
12613 Removed const from refcounted types as it does not make sense.
12614 Simplify pad templates in basesink
12615 Added base class for simple 1-to-1 transforms.
12616 Make identity subclass the base transform.
12618 2005-03-29 Andy Wingo <wingo@pobox.com>
12620 * docs/libs/gstreamer-libs-overrides.txt:
12621 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12622 really don't understand what's going on, but like whatever. I want
12625 * docs/gst/Makefile.am:
12626 * docs/libs/Makefile.am: Dist the overrides files.
12628 * check/Makefile.am (clean-local): Remove .libs directories.
12630 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12631 elements to EXTRA_DIST, so po/ files are happy.
12633 * po/POTFILES.in: Er, remove it here.
12635 * po/POTFILES: Remove gstspider.c.
12637 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12639 * docs/libs/gstreamer-libs-docs.sgml:
12640 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12643 * tests/complexity.c (main): Set the length of the preroll queue
12644 on the sinks to prevent a lockup.
12646 * libs/gst/dataprotocol/Makefile.am:
12647 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12648 the same as the one in check/gst-libs/gdp.c.
12650 * po/, docs/gst/: Commit automatic changes to docs and po files.
12652 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12653 the versioned libgstbase.
12655 * check/Makefile.am: Depend on an unversioned gst-register, seems
12656 to make autoconf happier.
12658 * gst/base/Makefile.am: Make libgstbase a versioned lib.
12660 2005-03-28 Wim Taymans <wim@fluendo.com>
12663 * docs/design/part-gstelement.txt:
12664 * docs/design/part-negotiation.txt:
12665 * docs/design/part-preroll.txt:
12666 * docs/design/part-scheduling.txt:
12667 * docs/design/part-states.txt:
12669 * gst/base/Makefile.am:
12671 * gst/base/gstbasesink.c: (gst_basesink_get_template),
12672 (gst_basesink_base_init), (gst_basesink_class_init),
12673 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12674 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12675 (gst_basesink_set_pad_functions),
12676 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12677 (gst_basesink_set_property), (gst_basesink_get_property),
12678 (gst_base_sink_get_template), (gst_base_sink_get_caps),
12679 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12680 (gst_basesink_preroll_queue_push),
12681 (gst_basesink_preroll_queue_empty),
12682 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12683 (gst_basesink_event), (gst_basesink_get_times),
12684 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12685 (gst_basesink_chain_unlocked), (gst_basesink_chain),
12686 (gst_basesink_loop), (gst_basesink_activate),
12687 (gst_basesink_change_state):
12688 * gst/base/gstbasesink.h:
12689 * gst/elements/Makefile.am:
12690 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12691 (gst_fakesink_class_init), (gst_fakesink_init),
12692 (gst_fakesink_set_property), (gst_fakesink_get_property),
12693 (gst_fakesink_get_times), (gst_fakesink_event),
12694 (gst_fakesink_preroll), (gst_fakesink_render),
12695 (gst_fakesink_change_state):
12696 * gst/elements/gstfakesink.h:
12697 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12698 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12699 * gst/gstelement.c: (gst_element_add_pad),
12700 (gst_element_get_state_func), (gst_element_abort_state),
12701 (gst_element_commit_state), (gst_element_lost_state),
12702 (gst_element_set_state), (gst_element_pads_activate):
12703 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12704 * gst/gstpipeline.c: (gst_pipeline_send_event),
12705 (gst_pipeline_change_state):
12706 Added state change code.
12707 Added/updated docs.
12708 Added sink base class, make fakesink extend the base class.
12709 Small cleanups in GstPipeline.
12711 2005-03-26 David Schleef <ds@schleef.org>
12713 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
12714 is broken and should be implemented in a different library.
12715 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12716 * gst/gst.h: remove gstcpu.h
12717 * gst/gstcpu.c: remove
12718 * gst/gstcpu.h: remove
12719 * gst/Makefile.am.future: Remove this file. It's ancient.
12721 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12723 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12724 (gst_bin_send_event):
12725 Add default event/set_manager handlers. The set_manager handler
12726 takes care that the manager is distributed over kids that were
12727 already in the bin before the manager was set. The event handler
12728 is a utility virtual function that sends the event over all sinks,
12729 so that gst_element_send_event (bin, event); has the expected
12731 * gst/gstpad.c: (gst_pad_event_default):
12732 Re-install default event handling for discontinuities, so that
12733 seeking works without requiring hacks in applications or extra
12735 * gst/gstpipeline.c: (gst_pipeline_class_init),
12736 (gst_pipeline_send_event):
12737 Half hack, half utility: set a pipeline to PAUSED for seek events,
12738 since that is the only way we can guarantee a/v sync. Means that
12739 you can do gst_element_seek (pipeline, method, pos); on a pipeline
12740 and it "just works".
12742 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12744 * gst/gstpipeline.c: (gst_pipeline_use_clock):
12745 Lock/unlock mismatch.
12747 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
12749 * docs/faq/gst-uninstalled:
12750 add gst-plugins-base
12751 * docs/gst/Makefile.am:
12752 don't error out until docs are fixed
12753 * docs/gst/gstreamer.types:
12756 2005-03-22 Wim Taymans <wim@fluendo.com>
12758 * check/Makefile.am:
12759 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12760 * gst/gststructure.c: (gst_structure_set_valist),
12761 (gst_structure_copy_conditional):
12762 Activated more tests.
12763 Added message test.
12764 Added G_TYPE_POINTER to GstStructure.
12767 2005-03-22 Wim Taymans <wim@fluendo.com>
12769 * docs/design/part-TODO.txt:
12770 * docs/design/part-events.txt:
12771 * docs/design/part-gstbin.txt:
12772 * docs/design/part-gstbus.txt:
12773 * docs/design/part-gstpipeline.txt:
12774 * docs/design/part-messages.txt:
12776 * gst/gstmessage.c:
12779 2005-03-21 Wim Taymans <wim@fluendo.com>
12781 * gst/gstbus.c: (gst_bus_post):
12782 Fix copy-and-paste error.
12784 2005-03-21 Wim Taymans <wim@fluendo.com>
12786 * check/Makefile.am:
12788 * gst/elements/Makefile.am:
12789 * gst/elements/gstelements.c:
12790 * gst/elements/gstfakesink.c: (gst_fakesink_init),
12791 (gst_fakesink_event), (gst_fakesink_chain):
12792 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12793 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12794 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12795 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12796 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12797 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12798 (gst_fakesrc_loop), (gst_fakesrc_activate),
12799 (gst_fakesrc_change_state):
12800 * gst/elements/gstfakesrc.h:
12801 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12802 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12803 (gst_filesrc_open_file), (gst_filesrc_loop),
12804 (gst_filesrc_activate), (gst_filesrc_change_state),
12805 (filesrc_find_peek), (filesrc_find_suggest),
12806 (gst_filesrc_type_find):
12807 * gst/elements/gstidentity.c: (gst_identity_finalize),
12808 (gst_identity_class_init), (gst_identity_init),
12809 (gst_identity_proxy_getcaps), (identity_queue_push),
12810 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12811 (gst_identity_getrange), (gst_identity_chain),
12812 (gst_identity_sink_loop), (gst_identity_src_loop),
12813 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12814 (gst_identity_set_property), (gst_identity_get_property),
12815 (gst_identity_change_state):
12816 * gst/elements/gstidentity.h:
12817 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12818 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12819 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12820 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12821 (gst_tee_sink_activate):
12822 * gst/elements/gsttee.h:
12823 * gst/gst.c: (gst_register_core_elements), (init_post):
12825 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12826 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12827 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12828 (gst_bin_change_state):
12830 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12831 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12832 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12833 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12834 (gst_bus_set_sync_handler), (gst_bus_create_watch),
12835 (bus_watch_callback), (bus_watch_destroy),
12836 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12837 (poll_timeout), (gst_bus_poll):
12841 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12842 (gst_element_post_message), (gst_element_message_full),
12843 (gst_element_get_state_func), (gst_element_get_state),
12844 (gst_element_abort_state), (gst_element_commit_state),
12845 (gst_element_lost_state), (gst_element_set_state),
12846 (gst_element_pads_activate), (gst_element_change_state),
12847 (gst_element_dispose), (gst_element_set_manager_func),
12848 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12849 (gst_element_set_manager), (gst_element_get_manager),
12850 (gst_element_set_bus), (gst_element_get_bus),
12851 (gst_element_set_scheduler), (gst_element_get_scheduler):
12852 * gst/gstelement.h:
12853 * gst/gstevent.c: (gst_event_new_segment_seek),
12854 (gst_event_new_flush):
12856 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12857 (_gst_message_free), (gst_message_get_type), (gst_message_new),
12858 (gst_message_new_eos), (gst_message_new_error),
12859 (gst_message_new_warning), (gst_message_new_tag),
12860 (gst_message_new_state_changed), (gst_message_new_application),
12861 (gst_message_get_structure), (gst_message_parse_tag),
12862 (gst_message_parse_state_changed), (gst_message_parse_error),
12863 (gst_message_parse_warning):
12864 * gst/gstmessage.h:
12865 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12866 (gst_real_pad_set_property), (gst_pad_set_active),
12867 (gst_pad_is_active), (gst_pad_set_blocked_async),
12868 (gst_pad_set_blocked), (gst_pad_is_blocked),
12869 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12870 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12871 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12872 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12873 (gst_pad_link_filtered), (gst_pad_relink_filtered),
12874 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12875 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12876 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12877 (gst_pad_set_caps), (gst_pad_configure_sink),
12878 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12879 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12880 (gst_real_pad_dispose), (gst_real_pad_finalize),
12881 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12882 (gst_pad_event_default_dispatch), (gst_pad_event_default),
12883 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12885 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12886 (pipeline_bus_handler), (gst_pipeline_change_state),
12887 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12888 * gst/gstpipeline.h:
12890 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12891 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12892 (gst_queue_link_src), (gst_queue_bufferalloc),
12893 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12894 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12895 (gst_queue_loop), (gst_queue_handle_src_event),
12896 (gst_queue_handle_src_query), (gst_queue_src_activate),
12897 (gst_queue_change_state):
12899 * gst/gstscheduler.c: (gst_scheduler_init),
12900 (gst_scheduler_dispose), (gst_scheduler_create_task),
12901 (gst_scheduler_factory_create):
12902 * gst/gstscheduler.h:
12903 * gst/gststructure.c: (gst_structure_get_type),
12904 (gst_structure_copy_conditional):
12905 * gst/gststructure.h:
12906 * gst/gsttaginterface.h:
12907 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12908 (gst_task_init), (gst_task_dispose), (gst_task_create),
12909 (gst_task_get_state), (gst_task_start), (gst_task_stop),
12915 * gst/schedulers/Makefile.am:
12916 * gst/schedulers/cothreads_compat.h:
12917 * gst/schedulers/entryscheduler.c:
12918 * gst/schedulers/faircothreads.c:
12919 * gst/schedulers/faircothreads.h:
12920 * gst/schedulers/fairscheduler.c:
12921 * gst/schedulers/gstbasicscheduler.c:
12922 * gst/schedulers/gstoptimalscheduler.c:
12923 * gst/schedulers/gthread-cothreads.h:
12924 * gst/schedulers/threadscheduler.c:
12925 (gst_thread_scheduler_task_get_type),
12926 (gst_thread_scheduler_task_class_init),
12927 (gst_thread_scheduler_task_init),
12928 (gst_thread_scheduler_task_start),
12929 (gst_thread_scheduler_task_stop),
12930 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12931 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12932 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12933 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12935 * libs/gst/Makefile.am:
12936 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12937 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12938 (gst_file_pad_parent_set):
12939 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12940 (gst_dp_event_from_packet):
12941 * tests/complexity.c: (main):
12942 * tests/mass_elements.c: (main):
12943 * testsuite/states/locked.c: (message_received), (main):
12944 * testsuite/states/parent.c: (main):
12945 * tools/gst-inspect.c: (print_element_flag_info),
12946 (print_implementation_info), (print_pad_info):
12947 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12949 * tools/gst-md5sum.c: (event_loop), (main):
12950 * tools/gst-typefind.c: (main):
12951 * tools/gst-xmlinspect.c: (print_element_info):
12953 Added GstBus for mainloop integration.
12954 Added GstMessage for sending notifications on the bus.
12955 Added GstTask as an abstraction for pipeline entry points.
12957 Removed Schedulers.
12958 Simplified GstQueue for multithreaded core.
12959 Made _link threadsafe, removed old capsnego.
12960 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12961 Added pad blocking functions.
12962 Reworked scheduling functions in GstPad to prepare for
12963 scheduling updates soon.
12964 Moved events out of data stream.
12965 Simplified GstEvent types.
12966 Added return values to push/pull.
12967 Removed clocking from GstElement.
12968 Added prototypes for state change function for next merge.
12969 Removed iterate from bins and state change management.
12970 Fixed some elements, disabled others for now.
12971 Fixed -inspect and -launch.
12972 Added check for GstBus.
12974 2005-03-10 Wim Taymans <wim@fluendo.com>
12976 * docs/design/part-MT-refcounting.txt:
12977 * docs/design/part-clocks.txt:
12978 * docs/design/part-gstelement.txt:
12979 * docs/design/part-gstobject.txt:
12980 * docs/design/part-standards.txt:
12981 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12982 (gst_bin_remove_func), (gst_bin_remove):
12986 * testsuite/clock/clock1.c: (main):
12987 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12989 * testsuite/dlopen/loadgst.c: (do_test):
12990 * testsuite/refcounting/bin.c: (add_remove_test1),
12991 (add_remove_test2), (main):
12992 * testsuite/refcounting/element.c: (main):
12993 * testsuite/refcounting/element_pad.c: (main):
12994 * testsuite/refcounting/pad.c: (main):
12995 * tools/gst-launch.c: (sigint_handler_sighandler):
12996 * tools/gst-typefind.c: (main):
12998 Added doc about clock.
12999 removed gst_bin_iterate_recurse_up(), marked methods
13001 Fix more testsuites.
13003 2005-03-09 Wim Taymans <wim@fluendo.com>
13005 * gst/gstpad.c: (gst_pad_get_direction),
13006 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13007 (gst_pad_collect_valist):
13008 * testsuite/bins/interface.c: (main):
13009 * testsuite/caps/audioscale.c: (test_caps):
13010 * testsuite/caps/caps.c: (test1), (test2), (test3):
13011 * testsuite/caps/deserialize.c: (main):
13012 * testsuite/caps/enumcaps.c: (main):
13013 * testsuite/caps/filtercaps.c: (main):
13014 * testsuite/caps/intersect2.c: (main):
13015 * testsuite/caps/random.c: (main):
13016 * testsuite/caps/renegotiate.c: (my_fixate), (main):
13017 * testsuite/caps/sets.c: (check_caps):
13018 * testsuite/caps/simplify.c: (check_caps), (main):
13019 * testsuite/caps/subtract.c: (check_caps):
13020 Fix _pad_get_direction wrt ghostpads.
13021 Fix caps testsuite.
13023 2005-03-09 Wim Taymans <wim@fluendo.com>
13025 * check/Makefile.am:
13026 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13027 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13028 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13029 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13030 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13031 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13032 (gst_bin_remove), (gst_bin_iterate_recurse_up),
13033 (bin_element_is_sink), (gst_bin_iterate_sinks),
13034 (gst_bin_iterate_all_by_interface):
13036 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13037 (gst_element_change_state), (gst_element_dispose),
13038 (gst_element_finalize), (gst_element_set_loop_function):
13039 * gst/gstelement.h:
13040 * gst/gstiterator.c: (find_custom_fold_func):
13041 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13042 (gst_pad_collectv), (gst_pad_collect_valist),
13043 (gst_pad_template_new):
13044 * gst/gstpipeline.c: (gst_pipeline_class_init),
13045 (gst_pipeline_dispose), (gst_pipeline_set_property),
13046 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13047 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13048 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13050 * gst/schedulers/entryscheduler.c:
13051 * gst/schedulers/gstbasicscheduler.c:
13052 (gst_basic_scheduler_cothreaded_chain),
13053 (gst_basic_scheduler_chain_add_element):
13054 * testsuite/bins/interface.c: (main):
13056 Added GstSystemClock test.
13057 Implemented clock distribution code in GstBin.
13058 Implemented iterate sinks method for future use.
13059 Rearranged gstelement.h
13060 Fix GstIterator comparison bug.
13061 Moved some code to GstPipeline, mostly clocking related.
13063 2005-03-09 Wim Taymans <wim@fluendo.com>
13066 * gst/gst_private.h:
13067 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13068 (gst_bin_remove_func), (gst_bin_remove),
13069 (gst_bin_get_by_name_recurse_up):
13070 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13071 (gst_clock_id_compare_func), (gst_clock_id_wait),
13072 (gst_clock_id_wait_async), (gst_clock_init),
13073 (gst_clock_adjust_unlocked), (gst_clock_get_time):
13074 * gst/gstelement.h:
13075 * gst/gstinfo.c: (_gst_debug_init):
13077 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13078 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13080 Bump version number, we're now 0.9.0
13081 Add future debugging category.
13082 Fix NULL _unref() in _get_by_name_recurse_up
13083 Rearrange gstpad.h.
13086 2005-03-08 Wim Taymans <wim@fluendo.com>
13088 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13089 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13090 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13091 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13092 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13093 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13094 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13095 * gst/elements/gstidentity.c: (gst_identity_class_init):
13096 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13097 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13098 * gst/elements/gstshaper.c: (gst_shaper_class_init):
13099 * gst/elements/gststatistics.c: (gst_statistics_class_init):
13100 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13102 * gst/gstelement.c: (gst_element_class_init),
13103 (gst_element_base_class_init), (gst_element_init),
13104 (gst_element_get_random_pad), (gst_element_wait_state_change),
13105 (gst_element_change_state), (gst_element_dispose),
13106 (gst_element_finalize), (gst_element_set_loop_function):
13107 * gst/gstelement.h:
13108 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13109 * gst/gstthread.c: (gst_thread_class_init),
13110 (gst_thread_release_children_locks), (gst_thread_change_state):
13111 * gst/schedulers/gstbasicscheduler.c:
13112 (gst_basic_scheduler_loopfunc_wrapper),
13113 (gst_basic_scheduler_chain_wrapper),
13114 (gst_basic_scheduler_src_wrapper),
13115 (gst_basic_scheduler_remove_element):
13116 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13117 Remove threadsafe properties. Fix elements because GObject
13118 complains when installing a property before declaring a
13119 set/get_property handler.
13120 Rearrange gstelement.h file, use STATE macros for state locks.
13121 Free mutexes in the finalize method instead of dispose.
13123 2005-03-08 Wim Taymans <wim@fluendo.com>
13125 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13126 * gst/gstthread.c: (gst_thread_release_children_locks):
13127 Added parentage check.
13128 Fix build og GstThread again.
13130 2005-03-08 Wim Taymans <wim@fluendo.com>
13132 * docs/design/part-MT-refcounting.txt:
13133 * docs/design/part-conventions.txt:
13134 * docs/design/part-gstobject.txt:
13135 * docs/design/part-relations.txt:
13136 * docs/design/part-standards.txt:
13137 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13138 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13139 (gst_bin_get_by_name), (gst_bin_get_by_interface),
13140 (gst_bin_iterate_all_by_interface):
13143 * gst/gstelement.c: (gst_element_class_init),
13144 (gst_element_change_state), (gst_element_set_loop_function):
13145 * gst/gstelement.h:
13146 * gst/gstiterator.c:
13147 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13148 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13149 (gst_object_dispatch_properties_changed), (gst_object_set_name),
13150 (gst_object_set_parent), (gst_object_unparent),
13151 (gst_object_check_uniqueness):
13153 Docs updates, clean up some headers.
13155 2005-03-07 Wim Taymans <wim@fluendo.com>
13157 * check/.cvsignore:
13158 * check/Makefile.am:
13159 * check/gst-libs/.cvsignore:
13160 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13161 * check/gst/.cvsignore:
13162 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13163 (START_TEST), (gstbus_suite), (main):
13164 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13165 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13166 (gst_data_suite), (main):
13167 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13168 (add_fold_func), (gstiterator_suite), (main):
13169 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13170 (thread_name_object), (thread_name_object_default),
13171 (gst_object_name_compare), (gst_object_suite), (main):
13172 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13173 (gst_pad_suite), (main):
13174 * check/gstcheck.c: (gst_check_log_message_func),
13175 (gst_check_log_critical_func), (gst_check_init):
13176 * check/gstcheck.h:
13177 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13178 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13181 2005-03-07 Wim Taymans <wim@fluendo.com>
13183 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13184 (gst_list_iterator_next), (gst_list_iterator_resync),
13185 (gst_list_iterator_free), (gst_iterator_new_list),
13186 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13187 (gst_iterator_free), (gst_iterator_push), (filter_next),
13188 (filter_resync), (filter_uninit), (filter_free),
13189 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13190 (gst_iterator_foreach), (find_custom_fold_func),
13191 (gst_iterator_find_custom):
13192 * gst/gstiterator.h:
13193 Added missing files.
13195 2005-03-07 Wim Taymans <wim@fluendo.com>
13199 * docs/design/part-MT-refcounting.txt:
13200 * docs/design/part-conventions.txt:
13201 * docs/design/part-gstobject.txt:
13202 * docs/design/part-relations.txt:
13203 * examples/mixer/mixer.c: (main):
13204 * examples/thread/thread.c: (eos), (main):
13206 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13207 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13208 (gst_spider_plug_from_srcpad):
13209 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13210 (gst_spider_identity_change_state),
13211 (gst_spider_identity_sink_loop_type_finding):
13212 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13213 * gst/elements/gstidentity.c: (gst_identity_init):
13214 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13215 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13216 * gst/elements/gsttypefindelement.c: (free_entry):
13219 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13220 (gst_bin_set_clock_func), (gst_bin_auto_clock),
13221 (gst_bin_set_index), (gst_bin_set_element_sched),
13222 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13223 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13224 (gst_bin_iterate_elements), (iterate_child_recurse),
13225 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13226 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13227 (compare_interface), (gst_bin_get_by_interface),
13228 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13230 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13231 (gst_buffer_default_free), (gst_buffer_default_copy),
13232 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13233 (gst_buffer_create_sub):
13235 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13236 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13237 (gst_caps_unref), (gst_static_caps_get),
13238 (gst_caps_remove_and_get_structure), (gst_caps_append),
13239 (gst_caps_append_structure), (gst_caps_remove_structure),
13240 (gst_caps_copy_nth), (gst_caps_set_simple),
13241 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13242 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13243 (gst_caps_structure_intersect_field), (gst_caps_intersect),
13244 (gst_caps_structure_subtract_field), (gst_caps_subtract),
13245 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13246 (gst_caps_structure_figure_out_union),
13247 (gst_caps_switch_structures), (gst_caps_do_simplify),
13248 (gst_caps_replace), (gst_caps_from_string),
13249 (gst_caps_copy_conditional):
13251 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13252 (_gst_clock_id_free), (gst_clock_id_unref),
13253 (gst_clock_id_compare_func), (gst_clock_id_wait),
13254 (gst_clock_id_wait_async), (gst_clock_class_init),
13255 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13256 (gst_clock_get_time), (gst_clock_set_time_adjust),
13257 (gst_clock_set_property), (gst_clock_get_property):
13260 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13261 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13263 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13264 (gst_element_requires_clock), (gst_element_provides_clock),
13265 (gst_element_set_clock), (gst_element_clock_wait),
13266 (gst_element_wait), (gst_element_set_time_delay),
13267 (gst_element_is_indexable), (gst_element_add_pad),
13268 (gst_element_add_ghost_pad), (gst_element_remove_pad),
13269 (pad_compare_name), (gst_element_get_static_pad),
13270 (gst_element_request_pad), (gst_element_get_request_pad),
13271 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13272 (gst_element_class_get_pad_template_list),
13273 (gst_element_class_get_pad_template), (gst_element_error_func),
13274 (gst_element_get_random_pad), (gst_element_get_event_masks),
13275 (gst_element_send_event), (gst_element_seek),
13276 (gst_element_get_query_types), (gst_element_query),
13277 (gst_element_get_formats), (gst_element_convert),
13278 (gst_element_is_locked_state), (gst_element_set_locked_state),
13279 (gst_element_sync_state_with_parent), (gst_element_change_state),
13280 (gst_element_finalize), (gst_element_yield),
13281 (gst_element_interrupt), (gst_element_set_scheduler),
13282 (gst_element_get_scheduler), (gst_element_set_loop_function):
13283 * gst/gstelement.h:
13285 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13286 (gst_format_get_by_nick), (gst_format_get_details),
13287 (gst_format_iterate_definitions):
13289 * gst/gstindex.c: (gst_index_gtype_resolver):
13292 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13293 (gst_mem_chunk_free):
13294 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13295 (gst_object_ref), (gst_object_unref), (gst_object_sink),
13296 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13297 (gst_object_dispatch_properties_changed),
13298 (gst_object_set_name_default), (gst_object_set_name),
13299 (gst_object_get_name), (gst_object_set_name_prefix),
13300 (gst_object_get_name_prefix), (gst_object_set_parent),
13301 (gst_object_get_parent), (gst_object_unparent),
13302 (gst_object_check_uniqueness), (gst_object_save_thyself),
13303 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13304 (gst_object_set_property), (gst_object_get_property),
13305 (gst_object_get_path_string):
13307 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13308 (gst_real_pad_init), (gst_real_pad_get_property),
13309 (gst_pad_custom_new), (gst_pad_get_direction),
13310 (gst_pad_set_active), (gst_pad_is_active),
13311 (gst_pad_set_event_function), (gst_pad_is_linked),
13312 (gst_pad_link_free), (gst_pad_link_intersect),
13313 (gst_pad_link_fixate), (gst_pad_set_caps),
13314 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13315 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13316 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13317 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13318 (gst_pad_get_caps), (gst_pad_peer_get_caps),
13319 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13320 (gst_pad_realize), (gst_pad_get_allowed_caps),
13321 (gst_real_pad_dispose), (gst_real_pad_finalize),
13322 (gst_pad_collectv), (gst_pad_collect_valist),
13323 (gst_pad_template_dispose), (gst_pad_template_new),
13324 (gst_pad_get_internal_links):
13326 * gst/gstpipeline.c: (gst_pipeline_dispose),
13327 (gst_pipeline_change_state):
13328 * gst/gstpipeline.h:
13330 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13331 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13332 * gst/gstpluginfeature.h:
13333 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13334 * gst/gstquery.c: (_gst_query_type_initialize),
13335 (gst_query_type_register), (gst_query_type_get_by_nick),
13336 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13338 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13339 * gst/gstscheduler.c: (gst_scheduler_add_element),
13340 (gst_scheduler_factory_create):
13341 * gst/gststructure.c: (gst_structure_set_parent_refcount),
13342 (gst_structure_free), (gst_structure_set_name),
13343 (gst_structure_id_set_value), (gst_structure_set_value),
13344 (gst_structure_set_valist), (gst_structure_remove_field),
13345 (gst_structure_remove_fields),
13346 (gst_structure_remove_fields_valist),
13347 (gst_structure_remove_all_fields), (gst_structure_foreach),
13348 (gst_structure_map_in_place),
13349 (gst_caps_structure_fixate_field_nearest_int),
13350 (gst_caps_structure_fixate_field_nearest_double):
13351 * gst/gststructure.h:
13352 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13353 (gst_system_clock_init), (gst_system_clock_dispose),
13354 (gst_system_clock_async_thread),
13355 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13356 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13357 * gst/gstsystemclock.h:
13358 * gst/gsttag.c: (gst_tag_list_add_value_internal),
13359 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13360 * gst/gsttaginterface.c:
13361 * gst/gstthread.c: (gst_thread_dispose),
13362 (gst_thread_release_children_locks), (gst_thread_change_state),
13363 (gst_thread_main_loop):
13364 * gst/gsttrashstack.h:
13365 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13367 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13368 (gst_element_request_pad), (gst_element_get_pad_from_template),
13369 (gst_element_request_compatible_pad),
13370 (gst_element_get_compatible_pad_filtered),
13371 (gst_element_get_compatible_pad), (gst_element_state_get_name),
13372 (gst_element_link_pads_filtered), (gst_element_link_filtered),
13373 (gst_element_link_many), (gst_element_link),
13374 (gst_element_link_pads), (gst_element_unlink_pads),
13375 (gst_element_unlink_many), (gst_element_unlink),
13376 (gst_pad_can_link_filtered), (gst_pad_can_link),
13377 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13378 (gst_object_default_error), (gst_bin_add_many),
13379 (gst_bin_remove_many), (gst_element_populate_std_props),
13380 (gst_element_class_install_std_props), (gst_buffer_merge),
13381 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13382 (link_fold_func), (gst_pad_proxy_setcaps):
13384 * gst/gstvalue.c: (gst_value_deserialize_string):
13385 * gst/parse/grammar.y:
13386 * gst/schedulers/gstbasicscheduler.c:
13387 (gst_basic_scheduler_cothreaded_chain),
13388 (gst_basic_scheduler_chain_recursive_add),
13389 (gst_basic_scheduler_pad_link):
13390 * gst/schedulers/gstoptimalscheduler.c:
13391 (get_group_schedule_function),
13392 (gst_opt_scheduler_state_transition),
13393 (gst_opt_scheduler_add_element), (element_get_reachables_func):
13394 * libs/gst/bytestream/bytestream.c:
13395 * libs/gst/dataprotocol/dataprotocol.c:
13396 (gst_dp_header_from_buffer):
13399 * tests/threadstate/threadstate2.c: (eos):
13400 * tools/gst-compprep.c: (main):
13401 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13402 (print_pad_info), (print_children_info):
13403 * tools/gst-launch.c: (idle_func), (main):
13404 * tools/gst-md5sum.c: (idle_func), (main):
13405 * tools/gst-xmlinspect.c: (print_element_info):
13406 First THREADED backport attempt, focusing on adding locks and
13407 making sure the API is threadsafe. Needs more work. More docs
13410 2005-02-24 Andy Wingo <wingo@pobox.com>
13412 * tests/bench-complexity.scm:
13413 * tests/complexity.gnuplot: New files, good for running complexity
13416 * tests/Makefile.am:
13417 * tests/complexity.c: New test, sets up N elements, at each level
13418 teeing into M streams per element. Eeeenteresting.
13420 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13421 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13422 running bench-mass_elements.scm.
13424 * tests/bench-mass_elements.scm: New script, runs mass_elements
13425 for various numbers of identities, outputting the results to a
13426 file. Requires guile 1.6. Just for testing.
13428 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
13430 * gst/schedulers/fairscheduler.c:
13431 compile with debug disabled
13433 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
13436 hunting season on 0.9 is now OPEN