3 2005-12-05 <thomas (at) apestaart (dot) org>
6 releasing 0.10.0, "Maroilles"
8 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
10 submitted by: Funda Wang <fundawang@linux.net.cn>
14 added Chinese (Traditional) translation
16 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18 * docs/gst/gstreamer-sections.txt:
19 * docs/libs/tmpl/gstdataprotocol.sgml:
20 * docs/random/thomasvs/TODO:
25 2005-12-05 Andy Wingo <wingo@pobox.com>
27 patch by: Wim Taymans <wim@fluendo.com>
29 * libs/gst/base/gstbasetransform.c
30 (gst_base_transform_prepare_output_buf)
31 (gst_base_transform_buffer_alloc):
32 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
33 alloc_buffer_and_set_caps.
35 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
36 set_caps on the source pad.
37 (gst_pad_alloc_buffer_and_set_caps): New function, does what
38 alloc_buffer used to do. Fixes #322874.
40 * docs/gst/gstreamer-sections.txt:
41 * docs/design/part-negotiation.txt:
42 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
45 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
47 patch by: Sebastien Moutte
50 * win32/common/config.h.in:
51 * win32/vs6/libgstcontroller.dsp:
54 2005-12-05 Wim Taymans <wim@fluendo.com>
56 * gst/gstcaps.c: (gst_caps_is_equal):
57 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
58 (gst_fake_src_create):
59 Back out previous code changes, leave doc updates, file bugs
62 2005-12-05 Wim Taymans <wim@fluendo.com>
64 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
65 (gst_fake_src_get_times), (gst_fake_src_create):
66 * plugins/elements/gstfakesrc.h:
69 2005-12-05 Wim Taymans <wim@fluendo.com>
71 * gst/gstcaps.c: (gst_caps_is_equal):
72 Comparing NULL against !NULL yields different caps, not a
75 2005-12-05 Wim Taymans <wim@fluendo.com>
78 Fix small typo in docs.
80 2005-12-05 Andy Wingo <wingo@pobox.com>
82 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
84 * gst/gst.c (init_post): remove hard-coded 0.9 location for
85 registries/plugins with a MAJORMINOR one.
86 (plugin_desc): Rename library from gstcoreleements to
87 staticelements. Fixes #323222.
89 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
91 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
92 Change debug category to 'collectpads' from 'collect_pads'
95 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
97 patch by: Sebastien Moutte
99 * libs/gst/controller/gstinterpolation.c:
100 use convert function for uint64/double
101 * win32/vs6/libgstcontroller.dsp:
104 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
106 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
107 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
109 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
110 add tests that seem to show that the guint64/gdouble conversions
113 2005-12-02 Wim Taymans <wim@fluendo.com>
115 * gst/gstregistry.c: (gst_registry_add_path):
117 * gst/gstregistryxml.c:
120 2005-12-02 Wim Taymans <wim@fluendo.com>
122 * gst/gstutils.c: (gst_util_uint64_scale_int64),
123 (gst_util_uint64_scale_int):
126 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
129 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
132 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
135 * win32/common/config.h:
136 * win32/vs6/gstreamer.dsw:
137 * win32/vs6/libgstcoreelements.dsp:
138 * win32/vs6/libgstelements.dsp:
139 renamed core elements plugin
141 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
143 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
145 do piece-wise major/minor comparison so 0.9 < 0.10
146 also allow .exe extensions for tools
148 2005-12-02 Michael Smith <msmith@fluendo.com>
151 Escape a % to make gtkdoc happier; bug 322958.
153 === release 0.9.7 ===
155 2005-12-01 <thomas (at) apestaart (dot) org>
158 releasing 0.9.7, "My Dog Has No Nose"
160 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
162 * common/gst-xmlinspect.py:
164 * docs/libs/tmpl/gstdataprotocol.sgml:
165 * docs/random/release:
184 * win32/common/config.h:
185 * win32/common/config.h.in:
186 * win32/vs6/gst_inspect.dsp:
187 * win32/vs6/gst_launch.dsp:
188 * win32/vs6/libgstbase.dsp:
189 * win32/vs6/libgstelements.dsp:
190 * win32/vs6/libgstreamer.dsp:
191 * win32/vs7/GStreamer.vcproj:
192 * win32/vs7/gst-inspect.vcproj:
193 * win32/vs7/gst-launch.vcproj:
194 * win32/vs7/libgstbase.vcproj:
195 bump GST_MAJORMINOR to 0.10
196 reset libtool version
198 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
202 Added Bulgarian translation by (Alexander Shopov)
204 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
206 * tests/check/gst/gstplugin.c:
209 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
211 * common/gst-xmlinspect.py:
212 * common/gtk-doc-plugins.mak:
215 * docs/gst/Makefile.am:
216 * docs/gst/gstreamer-docs.sgml:
217 * docs/gst/gstreamer-sections.txt:
218 * docs/gst/gstreamer.types:
219 * docs/gst/gstreamer.types.in:
220 * docs/plugins/Makefile.am:
221 * docs/plugins/gstreamer-plugins-docs.sgml:
222 * docs/plugins/gstreamer-plugins-sections.txt:
223 * docs/plugins/gstreamer-plugins.types:
224 * docs/plugins/inspect.stamp:
225 * docs/plugins/inspect/plugin-coreelements.xml:
226 * docs/plugins/inspect/plugin-coreindexers.xml:
227 * docs/plugins/scanobj-build.stamp:
229 * plugins/elements/Makefile.am:
230 * plugins/elements/gstelements.c:
231 * plugins/elements/gstfakesink.c:
232 * plugins/elements/gstfakesrc.c:
233 * plugins/elements/gstfilesink.c:
234 * plugins/elements/gstfilesrc.c:
235 * plugins/elements/gstqueue.c:
236 * plugins/indexers/Makefile.am:
237 * plugins/indexers/gstindexers.c:
238 document core plugins in a separate document just like all the
240 rename these plugins to something starting with core
242 2005-12-01 Andy Wingo <wingo@pobox.com>
244 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
245 padding here before, but it missed the commit.
247 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
249 * libs/gst/controller/gstinterpolation.c:
250 whitespace prices have crashed, we should feel free to use some now
251 use gst_guint64_to_gdouble
253 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
255 * libs/gst/controller/gstcontroller.c:
256 * libs/gst/controller/gsthelper.c:
257 * libs/gst/controller/gstinterpolation.c:
258 * libs/gst/controller/lib.c:
259 wrap config.h include
261 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
263 * docs/gst/gstreamer-sections.txt:
266 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
268 * plugins/elements/gstelements.c:
269 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
270 (gst_fd_sink__class_init), (gst_fd_sink__init),
271 (gst_fd_sink__chain), (gst_fd_sink__set_property),
272 (gst_fd_sink__get_property):
273 * plugins/elements/gstfdsink.h:
274 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
275 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
276 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
277 (gst_fd_src_unlock), (gst_fd_src_set_property),
278 (gst_fd_src_get_property), (gst_fd_src_create),
279 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
280 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
281 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
282 (gst_fd_src_uri_handler_init):
283 * plugins/elements/gstfdsrc.h:
284 * plugins/elements/gstqueue.c: (gst_queue_get_type):
287 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
289 * docs/gst/Makefile.am:
290 * docs/gst/gstreamer.types.in:
294 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
301 * tests/benchmarks/complexity.c:
302 * tests/benchmarks/mass-elements.c:
303 * tests/check/Makefile.am:
305 * tools/gst-inspect.c:
306 * tools/gst-xmlinspect.c:
307 various fixes to make
308 --disable-nls --disable-registry --disable-loadsave
309 --disable-parse --disable-gst-debug
310 work and get the core .so down to 360444 bytes after stripping
312 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
317 * docs/random/thomasvs/TODO:
322 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
324 * win32/GStreamer.vcproj:
327 * win32/Makefile.inspect:
328 * win32/Makefile.launch:
329 * win32/Makefile.register:
331 * win32/gst-inspect.vcproj:
332 * win32/gst-launch.vcproj:
333 * win32/gst-register.vcproj:
334 * win32/gstelements.vcproj:
335 * win32/gstgetbits.def:
336 * win32/gstgetbits.vcproj:
337 * win32/gstreamer-dbg.def:
338 * win32/gstreamer.def:
339 * win32/libgstbase.def:
340 * win32/libgstbase.vcproj:
341 * win32/link_oldruntime.c:
346 move even more stuff, win32/ is nice and clean now
348 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
350 * libs/gst/control/.cvsignore:
355 * win32/gstbytestream.def:
356 * win32/gstbytestream.vcproj:
358 * win32/gstenumtypes.c:
359 * win32/gstenumtypes.h:
360 * win32/gstoptimalscheduler.vcproj:
361 * win32/gstversion.h:
363 * win32/testsuite/bins.vcproj:
364 * win32/testsuite/bytestream.vcproj:
365 * win32/testsuite/caps.vcproj:
366 * win32/testsuite/cleanup.vcproj:
367 * win32/testsuite/clock.vcproj:
368 * win32/testsuite/debug.vcproj:
369 * win32/testsuite/dlopen.vcproj:
370 * win32/testsuite/dynparams.vcproj:
371 * win32/testsuite/elements.vcproj:
372 * win32/testsuite/ghostpads.vcproj:
373 * win32/testsuite/indexers.vcproj:
374 * win32/testsuite/negotiation.vcproj:
375 * win32/testsuite/parse.vcproj:
376 * win32/testsuite/plugin.vcproj:
377 * win32/testsuite/refcounting.vcproj:
378 * win32/testsuite/schedulers.vcproj:
379 * win32/testsuite/states.vcproj:
380 * win32/testsuite/tags.vcproj:
381 * win32/testsuite/threads.vcproj:
382 remove old win32 stuff that isn't maintained and should be
385 2005-11-30 Andy Wingo <wingo@pobox.com>
387 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
388 loading the gst.interfaces python module bork.
390 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
391 available since GLib 2.2. Fixes #318031.
393 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
398 * check/elements/.cvsignore:
399 * check/elements/fakesrc.c:
400 * check/elements/fdsrc.c:
401 * check/elements/identity.c:
402 * check/generic/.cvsignore:
403 * check/generic/states.c:
404 * check/gst-libs/.cvsignore:
405 * check/gst-libs/controller.c:
406 * check/gst-libs/gdp.c:
407 * check/gst/.cvsignore:
408 * check/gst/capslist.h:
410 * check/gst/gstbin.c:
411 * check/gst/gstbuffer.c:
412 * check/gst/gstbus.c:
413 * check/gst/gstcaps.c:
414 * check/gst/gstelement.c:
415 * check/gst/gstevent.c:
416 * check/gst/gstghostpad.c:
417 * check/gst/gstiterator.c:
418 * check/gst/gstmessage.c:
419 * check/gst/gstminiobject.c:
420 * check/gst/gstobject.c:
421 * check/gst/gstpad.c:
422 * check/gst/gstpipeline.c:
423 * check/gst/gstplugin.c:
424 * check/gst/gstsegment.c:
425 * check/gst/gststructure.c:
426 * check/gst/gstsystemclock.c:
427 * check/gst/gsttag.c:
428 * check/gst/gstutils.c:
429 * check/gst/gstvalue.c:
430 * check/net/.cvsignore:
431 * check/net/gstnetclientclock.c:
432 * check/net/gstnettimeprovider.c:
433 * check/pipelines/.cvsignore:
434 * check/pipelines/cleanup.c:
435 * check/pipelines/simple_launch_lines.c:
436 * check/pipelines/stress.c:
437 * check/states/.cvsignore:
438 * check/states/sinks.c:
440 * examples/Makefile.am:
441 * examples/appreader/.cvsignore:
442 * examples/appreader/Makefile.am:
443 * examples/appreader/appreader.c:
444 * examples/controller/.cvsignore:
445 * examples/controller/Makefile.am:
446 * examples/controller/audio-example.c:
447 * examples/cutter/.cvsignore:
448 * examples/cutter/Makefile.am:
449 * examples/cutter/cutter.c:
450 * examples/cutter/cutter.h:
451 * examples/events/Makefile.am:
452 * examples/events/seek.c:
453 * examples/helloworld/.cvsignore:
454 * examples/helloworld/Makefile.am:
455 * examples/helloworld/helloworld.c:
456 * examples/helloworld2/.cvsignore:
457 * examples/helloworld2/Makefile.am:
458 * examples/helloworld2/helloworld2.c:
459 * examples/launch/.cvsignore:
460 * examples/launch/Makefile.am:
461 * examples/launch/mp3parselaunch.c:
462 * examples/launch/mp3play:
463 * examples/manual/.cvsignore:
464 * examples/manual/Makefile.am:
465 * examples/manual/extract.pl:
466 * examples/metadata/Makefile.am:
467 * examples/metadata/read-metadata.c:
468 * examples/mixer/.cvsignore:
469 * examples/mixer/Makefile.am:
470 * examples/mixer/mixer.c:
471 * examples/mixer/mixer.h:
472 * examples/pingpong/.cvsignore:
473 * examples/pingpong/Makefile.am:
474 * examples/pingpong/pingpong.c:
475 * examples/plugins/.cvsignore:
476 * examples/plugins/Makefile.am:
477 * examples/plugins/example.c:
478 * examples/plugins/example.h:
479 * examples/pwg/.cvsignore:
480 * examples/pwg/Makefile.am:
481 * examples/pwg/extract.pl:
482 * examples/queue/.cvsignore:
483 * examples/queue/Makefile.am:
484 * examples/queue/queue.c:
485 * examples/queue2/.cvsignore:
486 * examples/queue2/Makefile.am:
487 * examples/queue2/queue2.c:
488 * examples/queue3/.cvsignore:
489 * examples/queue3/Makefile.am:
490 * examples/queue3/queue3.c:
491 * examples/queue4/.cvsignore:
492 * examples/queue4/Makefile.am:
493 * examples/queue4/queue4.c:
494 * examples/retag/.cvsignore:
495 * examples/retag/Makefile.am:
496 * examples/retag/retag.c:
497 * examples/retag/transcode.c:
498 * examples/thread/.cvsignore:
499 * examples/thread/Makefile.am:
500 * examples/thread/thread.c:
501 * examples/typefind/.cvsignore:
502 * examples/typefind/Makefile.am:
503 * examples/typefind/typefind.c:
504 * examples/xml/.cvsignore:
505 * examples/xml/Makefile.am:
506 * examples/xml/createxml.c:
507 * examples/xml/runxml.c:
509 * tests/check/Makefile.am:
510 * testsuite/.cvsignore:
511 * testsuite/Makefile.am:
513 * testsuite/caps/.cvsignore:
514 * testsuite/caps/Makefile.am:
515 * testsuite/caps/app_fixate.c:
516 * testsuite/caps/audioscale.c:
517 * testsuite/caps/caps.c:
518 * testsuite/caps/caps.h:
519 * testsuite/caps/caps_strings:
520 * testsuite/caps/compatibility.c:
521 * testsuite/caps/deserialize.c:
522 * testsuite/caps/enumcaps.c:
523 * testsuite/caps/eratosthenes.c:
524 * testsuite/caps/filtercaps.c:
525 * testsuite/caps/fixed.c:
526 * testsuite/caps/fraction-convert.c:
527 * testsuite/caps/fraction-multiply-and-zero.c:
528 * testsuite/caps/intersect2.c:
529 * testsuite/caps/intersection.c:
530 * testsuite/caps/normalisation.c:
531 * testsuite/caps/random.c:
532 * testsuite/caps/renegotiate.c:
533 * testsuite/caps/sets.c:
534 * testsuite/caps/simplify.c:
535 * testsuite/caps/string-conversions.c:
536 * testsuite/caps/structure.c:
537 * testsuite/caps/subtract.c:
538 * testsuite/caps/union.c:
539 * testsuite/debug/.cvsignore:
540 * testsuite/debug/Makefile.am:
541 * testsuite/debug/category.c:
542 * testsuite/debug/commandline.c:
543 * testsuite/debug/global.c:
544 * testsuite/debug/output.c:
545 * testsuite/debug/printf_extension.c:
546 * testsuite/dlopen/.cvsignore:
547 * testsuite/dlopen/Makefile.am:
548 * testsuite/dlopen/dlopen_gst.c:
549 * testsuite/dlopen/loadgst.c:
550 * testsuite/elements/.cvsignore:
551 * testsuite/elements/Makefile.am:
552 * testsuite/elements/gst-inspect-check.in:
553 * testsuite/elements/struct_i386.h:
554 * testsuite/elements/struct_size.c:
555 * testsuite/indexers/.cvsignore:
556 * testsuite/indexers/Makefile.am:
557 * testsuite/indexers/cache1.c:
558 * testsuite/indexers/indexdump.c:
559 * testsuite/parse/.cvsignore:
560 * testsuite/parse/Makefile.am:
561 * testsuite/parse/parse1.c:
562 * testsuite/parse/parse2.c:
563 * testsuite/plugin/.cvsignore:
564 * testsuite/plugin/Makefile.am:
565 * testsuite/plugin/README:
566 * testsuite/plugin/dynamic.c:
567 * testsuite/plugin/linked.c:
568 * testsuite/plugin/loading.c:
569 * testsuite/plugin/registry.c:
570 * testsuite/plugin/static.c:
571 * testsuite/plugin/static2.c:
572 * testsuite/plugin/testplugin.c:
573 * testsuite/plugin/testplugin2.c:
574 * testsuite/plugin/testplugin2_s.c:
575 * testsuite/plugin/testplugin_s.c:
576 * testsuite/refcounting/.cvsignore:
577 * testsuite/refcounting/Makefile.am:
578 * testsuite/refcounting/bin.c:
579 * testsuite/refcounting/element.c:
580 * testsuite/refcounting/element_pad.c:
581 * testsuite/refcounting/mainloop.c:
582 * testsuite/refcounting/mem.c:
583 * testsuite/refcounting/mem.h:
584 * testsuite/refcounting/object.c:
585 * testsuite/refcounting/pad.c:
586 * testsuite/refcounting/sched.c:
587 * testsuite/refcounting/thread.c:
588 * testsuite/states/.cvsignore:
589 * testsuite/states/Makefile.am:
590 * testsuite/states/bin.c:
591 * testsuite/states/locked.c:
592 * testsuite/states/parent.c:
593 * testsuite/threads/.cvsignore:
594 * testsuite/threads/159566.c:
595 * testsuite/threads/159852.c:
596 * testsuite/threads/Makefile.am:
597 * testsuite/threads/queue.c:
598 * testsuite/threads/signals.c:
599 * testsuite/threads/staticrec.c:
600 * testsuite/threads/thread.c:
601 * testsuite/threads/threadb.c:
602 * testsuite/threads/threadc.c:
603 * testsuite/threads/threadd.c:
604 * testsuite/threads/threade.c:
605 * testsuite/threads/threadf.c:
606 * testsuite/threads/threadg.c:
607 * testsuite/threads/threadh.c:
608 * testsuite/threads/threadi.c:
609 move all of these under tests
611 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
617 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
619 * docs/gst/gstreamer-sections.txt:
620 * tests/sched/.cvsignore:
621 * tests/sched/Makefile.am:
622 * tests/sched/cases/(fs-fs).xml:
623 * tests/sched/cases/(fs-i-fs).xml:
624 * tests/sched/cases/(fs-i-i-fs).xml:
625 * tests/sched/cases/(fs-i-q[i-fs]).xml:
626 * tests/sched/dynamic-pipeline.c:
627 * tests/sched/interrupt1.c:
628 * tests/sched/interrupt2.c:
629 * tests/sched/interrupt3.c:
630 * tests/sched/runtestcases:
631 * tests/sched/runxml.c:
632 * tests/sched/sched-stress.c:
633 * tests/sched/sort.c:
634 * tests/sched/testcases:
635 * tests/sched/testcases1.tc:
636 * tests/seeking/.cvsignore:
637 * tests/seeking/Makefile.am:
638 * tests/seeking/seeking1.c:
639 * tests/threadstate/.cvsignore:
640 * tests/threadstate/Makefile.am:
641 * tests/threadstate/test1.c:
642 * tests/threadstate/test2.c:
643 * tests/threadstate/threadstate1.c:
644 * tests/threadstate/threadstate2.c:
645 * tests/threadstate/threadstate3.c:
646 * tests/threadstate/threadstate4.c:
647 * tests/threadstate/threadstate5.c:
648 remove obsolete tests
650 * tests/bench-complexity.scm:
651 * tests/bench-mass_elements.scm:
652 * tests/complexity.c:
653 * tests/complexity.gnuplot:
654 * tests/instantiate/.cvsignore:
655 * tests/instantiate/Makefile.am:
656 * tests/instantiate/caps.c:
657 * tests/mass_elements.c:
658 * tests/network-clock-utils.scm:
659 * tests/network-clock.scm:
661 First pass at cleaning up tests/ dir before moving the rest
662 Combined with CVS surgery
664 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
667 queue has moved, update
669 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
671 * docs/gst/gstreamer-sections.txt:
672 remove double entries from the docs
674 * gst/gstinfo.c: (_gst_debug_init):
675 remove the THREAD debug category
679 * docs/gst/gstreamer.types:
680 * plugins/elements/gstqueue.c: (gst_queue_get_type),
681 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
682 completely move queue and fix up debugging categories
684 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
686 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
687 make initialization portable, using LL is not
689 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
691 * win32/common/gstconfig.h:
694 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
696 * win32/common/libgstreamer.def:
697 rename symbols; sort base section
699 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
701 * gst/gstclock.c: (do_linear_regression):
702 remove crack non-portable handrolled DEBUG macro
704 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
706 * docs/random/release:
708 * win32/common/gstenumtypes.c: (register_gst_object_flags),
709 (gst_object_flags_get_type), (register_gst_bin_flags),
710 (gst_bin_flags_get_type), (register_gst_buffer_flag),
711 (gst_buffer_flag_get_type), (register_gst_bus_flags),
712 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
713 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
714 (gst_caps_flags_get_type), (register_gst_clock_return),
715 (gst_clock_return_get_type), (register_gst_clock_entry_type),
716 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
717 (gst_clock_flags_get_type), (register_gst_state),
718 (gst_state_get_type), (register_gst_state_change_return),
719 (gst_state_change_return_get_type), (register_gst_state_change),
720 (gst_state_change_get_type), (register_gst_element_flags),
721 (gst_element_flags_get_type), (register_gst_core_error),
722 (gst_core_error_get_type), (register_gst_library_error),
723 (gst_library_error_get_type), (register_gst_resource_error),
724 (gst_resource_error_get_type), (register_gst_stream_error),
725 (gst_stream_error_get_type), (register_gst_event_type_flags),
726 (gst_event_type_flags_get_type), (register_gst_event_type),
727 (gst_event_type_get_type), (register_gst_seek_type),
728 (gst_seek_type_get_type), (register_gst_seek_flags),
729 (gst_seek_flags_get_type), (register_gst_format),
730 (gst_format_get_type), (register_gst_index_certainty),
731 (gst_index_certainty_get_type), (register_gst_index_entry_type),
732 (gst_index_entry_type_get_type),
733 (register_gst_index_lookup_method),
734 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
735 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
736 (gst_index_resolver_method_get_type), (register_gst_index_flags),
737 (gst_index_flags_get_type), (register_gst_debug_level),
738 (gst_debug_level_get_type), (register_gst_debug_color_flags),
739 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
740 (gst_iterator_result_get_type), (register_gst_iterator_item),
741 (gst_iterator_item_get_type), (register_gst_message_type),
742 (gst_message_type_get_type), (register_gst_mini_object_flags),
743 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
744 (gst_pad_link_return_get_type), (register_gst_flow_return),
745 (gst_flow_return_get_type), (register_gst_activate_mode),
746 (gst_activate_mode_get_type), (register_gst_pad_direction),
747 (gst_pad_direction_get_type), (register_gst_pad_flags),
748 (gst_pad_flags_get_type), (register_gst_pad_presence),
749 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
750 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
751 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
752 (gst_plugin_error_get_type), (register_gst_plugin_flags),
753 (gst_plugin_flags_get_type), (register_gst_rank),
754 (gst_rank_get_type), (register_gst_query_type),
755 (gst_query_type_get_type), (register_gst_tag_merge_mode),
756 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
757 (gst_tag_flag_get_type), (register_gst_task_state),
758 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
759 (gst_alloc_trace_flags_get_type),
760 (register_gst_type_find_probability),
761 (gst_type_find_probability_get_type), (register_gst_uri_type),
762 (gst_uri_type_get_type), (register_gst_parse_error),
763 (gst_parse_error_get_type):
764 * win32/common/gstenumtypes.h:
765 * win32/common/gstversion.h:
766 update visual studio generated files
768 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
770 * win32/vs6/libgstbase.dsp:
771 * win32/vs6/libgstelements.dsp:
772 update project files for new locations
774 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
784 * docs/random/LICENSE:
787 2005-11-30 Edward Hervey <edward@fluendo.com>
789 * gst/gsttypefind.c: (gst_type_find_register):
791 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
792 (gst_type_find_factory_dispose):
793 * gst/gsttypefindfactory.h:
794 Fix memory leak in GstTypeFindFactory.
796 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
799 * plugins/elements/Makefile.am:
800 * plugins/elements/gstelements.c:
801 * plugins/elements/gstqueue.c:
802 move queue from core to the elements plugin
804 2005-11-29 Andy Wingo <wingo@pobox.com>
806 * libs/gst/base/gstbasetransform.h:
807 * libs/gst/base/gstbasesrc.h:
808 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
810 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
811 of pointers by which to pad very extensible base classes (like the
812 ones in libs/gst/base).
814 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
816 * docs/gst/gstreamer-docs.sgml:
817 * docs/gst/gstreamer-sections.txt:
818 * docs/libs/gstreamer-libs-docs.sgml:
819 * docs/libs/gstreamer-libs-sections.txt:
820 moving documentation from core to lib
822 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
826 * docs/gst/Makefile.am:
828 * gst/base/.cvsignore:
829 * gst/base/Makefile.am:
831 * gst/base/gstadapter.c:
832 * gst/base/gstadapter.h:
833 * gst/base/gstbasesink.c:
834 * gst/base/gstbasesink.h:
835 * gst/base/gstbasesrc.c:
836 * gst/base/gstbasesrc.h:
837 * gst/base/gstbasetransform.c:
838 * gst/base/gstbasetransform.h:
839 * gst/base/gstcollectpads.c:
840 * gst/base/gstcollectpads.h:
841 * gst/base/gstpushsrc.c:
842 * gst/base/gstpushsrc.h:
843 * gst/base/gsttypefindhelper.c:
844 * gst/base/gsttypefindhelper.h:
845 * gst/check/Makefile.am:
846 * gst/check/gstcheck.c:
847 * gst/check/gstcheck.h:
848 * gst/net/Makefile.am:
850 * gst/net/gstnetclientclock.c:
851 * gst/net/gstnetclientclock.h:
852 * gst/net/gstnettimepacket.c:
853 * gst/net/gstnettimepacket.h:
854 * gst/net/gstnettimeprovider.c:
855 * gst/net/gstnettimeprovider.h:
856 * libs/gst/Makefile.am:
857 * libs/gst/base/Makefile.am:
858 * libs/gst/base/gstbasetransform.c:
859 * libs/gst/check/Makefile.am:
860 * plugins/elements/Makefile.am:
862 CVS surgery + support to move base, check, and net out of gst
865 2005-11-29 Andy Wingo <wingo@pobox.com>
867 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
869 * gst/gststructure.h (struct _GstStructure): Only one pointer of
872 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
874 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
876 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
878 * gst/gstobject.h: (struct _GstObject): Only one pointer of
879 padding; reduces object size by about 30%. We don't expect
880 anything else to go into gstobject.
882 * gst/gstminiobject.h (struct _GstMiniObject)
883 (struct _GstMiniObjectClass): Only one pointer of padding; the
884 payload is only a pointer and two ints anyway. For the class there
885 are only two methods as well.
887 * gst/gstelement.h (struct _GstElementClass): Removed
888 the state_changed signal callback, it is not used.
890 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
892 * docs/gst/gstreamer.types:
893 fix includes, though they are a little dinky
895 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
898 look in the right place for elements, a lot more chance of
901 remove indexers and elements subdirs
902 * plugins/Makefile.am:
903 make indexers conditional
905 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
909 * plugins/elements/Makefile.am:
910 * plugins/elements/gstcapsfilter.c:
911 * plugins/elements/gstfilesink.c:
912 * plugins/elements/gstfilesrc.c:
913 * plugins/elements/gstidentity.c:
914 * plugins/indexers/Makefile.am:
915 do CVS surgery and related build fixery to move elements
916 and indexers in a new gstreamer/plugins directory, out of the
919 2005-11-29 Andy Wingo <wingo@pobox.com>
922 * pkgconfig/gstreamer-net-uninstalled.pc.in:
923 * pkgconfig/gstreamer-net.pc.in:
924 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
927 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
930 * tools/gst-complete.1.in:
931 * tools/gst-complete.c:
932 * tools/gst-compprep.1.in:
933 * tools/gst-compprep.c:
934 removing -compprep and -complete
936 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
938 * gst/gstevent.c: (gst_event_new_new_segment),
939 (gst_event_parse_new_segment):
941 fix #320529 - clean up new_segment API and structure.
942 Let's hope everyone was using the methods, and not the structure.
944 2005-11-29 Edward Hervey <edward@fluendo.com>
946 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
947 (gst_base_sink_event), (gst_base_sink_do_sync),
948 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
949 Properly handle non GST_FORMAT_TIME segment
950 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
951 Properly handle non GST_FORMAT_TIME segment
953 This function is valid if the accumulator is 0 and the format
954 is different from the requested format.
956 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
958 * docs/gst/gstreamer-sections.txt:
959 Add gst_query_new_seeking and gst_query_parse_seeking to the
962 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
964 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
965 Treat a pad alloc with new caps the same as if we were not
966 negotiated, in order to allow a changing upstream output
967 to produce a new format of data.
969 2005-11-29 Edward Hervey <edward@fluendo.com>
971 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
972 (gst_base_transform_event), (gst_base_transform_eventfunc):
973 The event virtual method is now properly implemented, with a default
975 Sub classes should call the parent_class event method. They should
976 return FALSE if they had a problem handling the given event, or don't
977 want GstBaseTransform to send that even downstream
978 * gst/elements/gstidentity.c: (gst_identity_class_init),
979 (gst_identity_init), (gst_identity_event),
980 (gst_identity_transform_ip), (gst_identity_set_property),
981 (gst_identity_get_property):
982 * gst/elements/gstidentity.h:
983 Added the single-segment boolean property.
984 If set to TRUE, it will output a single segment of data, starting from
985 0, will eat up all incoming newsegment, and modify the timestamp of the
988 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
990 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
991 Don't ref NULL target pad (#322751). Improve docs.
993 2005-11-29 Michael Smith <msmith@fluendo.com>
995 * gst/gstregistryxml.c: (load_plugin):
996 Don't crash if we failed to load a feature from a plugin.
998 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1000 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1002 use more check API and less GLib API
1004 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1007 don't run checks if we don't have check
1009 remove the registry when running make torture
1010 * docs/gst/gstreamer-sections.txt:
1011 remove second multiply
1012 * gst/gstqueue.c: (gst_queue_loop):
1013 fix a compile warning when disabling debug
1015 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1018 Hey! Let's print the pad name if the pointer != NULL instead
1019 of when it == NULL :-)
1021 2005-11-28 Wim Taymans <wim@fluendo.com>
1023 * check/gst/gstutils.c: (GST_START_TEST):
1024 Updated check, add some scaling accuracy checking code.
1026 * gst/gstutils.c: (gst_util_div128_64),
1027 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1028 (gst_util_uint64_scale_int):
1029 Fix 6 times faster division code. Optimize for common
1030 1/1 and less common X/1 cases.
1032 2005-11-28 Wim Taymans <wim@fluendo.com>
1034 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1037 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1038 (do_linear_regression), (gst_clock_add_observation):
1040 Release lock when the clock cannot be slaved.
1041 Catch the case where the regression returned an invalid denominator.
1043 * gst/gstutils.c: (gst_util_div128_64_iterate),
1044 (gst_util_div128_64), (gst_util_uint64_scale_int64),
1045 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1046 Add protentially more performant non-iterative 128/64 divide function
1047 that unfortunatly does not work yet.
1048 Shortcut the trivial 0/X = 0 case.
1049 Remove the warnings on overflow.
1051 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1053 * gst/gstplugin.c: (gst_plugin_register_func):
1054 everything causing a plugin not to load should be at least a WARNING
1056 2005-11-28 Stefan Kost <ensonic@users.sf.net>
1058 * docs/random/ensonic/dparams.txt:
1059 some TODOs for the next dev cycle
1060 * libs/gst/controller/gstcontroller.c:
1061 (gst_controlled_property_set_interpolation_mode),
1062 (gst_controlled_property_new):
1063 * libs/gst/controller/gstcontroller.h:
1064 use base type to assign acccessor functions
1066 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1068 * check/Makefile.am:
1069 Oops, that should have been top_srcdir
1071 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1073 * check/Makefile.am:
1074 * check/elements/fdsrc.c: (GST_START_TEST):
1075 Use a cmdline define to specify the location of a file to use for
1076 testing, to avoid breaking distcheck.
1078 2005-11-28 Andy Wingo <wingo@pobox.com>
1080 * gst/gstpad.c (fixate_value): Use array functions for arrays.
1082 2005-11-28 Edward Hervey <edward@fluendo.com>
1084 * tools/gst-launch.c: (main):
1085 Clarify the output strings, makes it easier to translate.
1088 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1091 don't try and build net if we don't even have <sys/socket.h>
1093 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
1095 * check/Makefile.am:
1096 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1097 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1098 Add tests for fdsrc seekability
1100 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1101 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1102 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1103 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1104 * gst/elements/gstfdsrc.h:
1105 fdsrc should not be a 'live' source.
1106 Implement seeking on seekable fd's.
1108 * gst/gstquery.c: (gst_query_new_seeking),
1109 (gst_query_parse_seeking):
1111 Implement SEEKING query functions:
1112 *_new_seeking and *_parse_seeking
1114 2005-11-27 Stefan Kost <ensonic@users.sf.net>
1116 * gst/gstelement.c: (gst_element_dispose):
1119 * gst/gstiterator.c:
1120 * gst/gststructure.c:
1123 * libs/gst/controller/gstcontroller.c:
1124 (gst_controlled_property_set_interpolation_mode):
1125 * libs/gst/controller/gstcontroller.h:
1126 * libs/gst/controller/gstinterpolation.c:
1127 (interpolate_none_get_enum_value_array):
1128 support controlling enums
1130 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1133 Improve documentation for gst_value_union().
1136 Change return value for union, intersect and subtract functions
1137 from gint to gboolean.
1139 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1141 * gst/gstvalue.c: (gst_value_serialize_any_list),
1142 (gst_value_transform_any_list_string),
1143 (gst_value_deserialize_list), (gst_value_deserialize_array),
1144 (gst_value_set_int_range), (gst_value_deserialize_int_range),
1145 (gst_value_set_double_range), (gst_value_deserialize_double_range),
1146 (gst_value_set_fraction_range_full),
1147 (gst_value_deserialize_fraction_range),
1148 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1149 (gst_value_deserialize_boolean),
1150 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1151 (gst_value_serialize_float), (gst_value_deserialize_float),
1152 (gst_string_wrap), (gst_value_deserialize_string),
1153 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1154 (gst_value_union_int_range_int_range),
1155 (gst_value_intersect_int_range_int_range),
1156 (gst_value_intersect_double_range_double_range),
1157 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1158 (gst_value_subtract_int_range_int_range),
1159 (gst_value_subtract_double_double_range),
1160 (gst_value_subtract_double_range_double_range),
1161 (gst_value_deserialize_fraction):
1163 Use gint, gdouble and gchar in our API instead of int, double and
1164 char (and make usage in gstvalue.c more consistent).
1166 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1168 * check/Makefile.am:
1169 * libs/gst/controller/Makefile.am:
1170 * libs/gst/dataprotocol/Makefile.am:
1171 fix up Makefile.am and remove GST_ENABLE_NEW
1173 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1177 * gst/base/Makefile.am:
1178 * gst/check/Makefile.am:
1179 * gst/elements/Makefile.am:
1180 * gst/net/Makefile.am:
1181 update LDFLAGS use some more
1183 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1185 * common/m4/gst-doc.m4:
1188 2005-11-26 Edward Hervey <edward@fluendo.com>
1190 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1191 This shouldn't issue a g_warning since it returns NULL if it
1192 couldn't find the plugin, and all functions using this behave
1193 properly on a NULL return. Switching to a GST_WARNING.
1195 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
1197 * gst/gstbin.c: (gst_bin_handle_message_func):
1198 Don't leak clock messages.
1200 2005-11-25 Wim Taymans <wim@fluendo.com>
1202 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1203 (gst_util_uint64_scale_int):
1204 Optimisations, remove unneeded vars.
1206 2005-11-25 Wim Taymans <wim@fluendo.com>
1208 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1209 Added more checks for the high precision uint64 cases.
1211 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1212 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1213 Implement high precision (guint64 * guint64) / guint64.
1215 2005-11-24 Wim Taymans <wim@fluendo.com>
1217 * gst/base/gstbasesrc.c: (gst_base_src_query):
1218 Fix wrong percentage query.
1220 * gst/gstutils.c: (gst_util_uint64_scale),
1221 (gst_util_uint64_scale_int):
1222 Add some more common cases that can be handled
1223 efficiently to _scale.
1225 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1227 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1228 (gst_mini_object_suite):
1229 don't use check calls from threads; check probably isn't
1230 threadsafe and using a lock to make it threadsafe would
1231 defeat the purpose of this check
1232 * gst/check/gstcheck.c:
1233 * gst/check/gstcheck.h:
1234 use GST_DEBUG some more
1236 2005-11-24 Wim Taymans <wim@fluendo.com>
1238 * gst/gstutils.c: (gst_util_uint64_scale),
1239 (gst_util_uint64_scale_int):
1240 Chain trivial case to _scale_int.
1242 2005-11-24 Wim Taymans <wim@fluendo.com>
1244 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1245 Added test for scaling.
1250 * gst/gstutils.c: (gst_util_uint64_scale_int):
1251 Implemented high precision scaling code.
1253 2005-11-24 Stefan Kost <ensonic@users.sf.net>
1256 do not crash on pad==NULL
1258 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1260 Patch by: Stefan Kost
1262 * common/gtk-doc.mak:
1263 * docs/gst/Makefile.am:
1264 * docs/libs/Makefile.am:
1265 Fix distcheck issues for the libraries docs build
1268 2005-11-24 Michael Smith <msmith@fluendo.com>
1270 * docs/manual/basics-helloworld.xml:
1271 Fix bug #315027: memory leak in example code in docs.
1273 2005-11-24 Michael Smith <msmith@fluendo.com>
1275 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1276 Unlock the PREROLL_LOCK in a failure case.
1278 2005-11-24 Wim Taymans <wim@fluendo.com>
1280 * docs/gst/gstreamer-sections.txt:
1281 * gst/base/gstadapter.h:
1282 * gst/base/gstbasesink.h:
1283 * gst/base/gstbasesrc.h:
1284 * gst/base/gstbasetransform.h:
1285 * gst/base/gstpushsrc.h:
1286 * gst/elements/gstfakesink.h:
1287 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1288 * gst/elements/gstfakesrc.h:
1289 * gst/elements/gstfilesink.h:
1290 * gst/elements/gstfilesrc.h:
1293 * gst/gstbuffer.c: (_gst_buffer_copy):
1296 * gst/gstchildproxy.c:
1299 * gst/gstelementfactory.c:
1300 * gst/gstelementfactory.h:
1302 * gst/gstghostpad.h:
1304 * gst/gstinterface.h:
1305 * gst/gstminiobject.c:
1306 * gst/gstminiobject.h:
1309 * gst/gstpadtemplate.h:
1310 * gst/gstpipeline.h:
1311 * gst/gstpluginfeature.h:
1316 * gst/gsttagsetter.c:
1317 * gst/gsttagsetter.h:
1320 * gst/gsttypefind.h:
1323 * gst/net/gstnetclientclock.c:
1324 * gst/net/gstnetclientclock.h:
1325 * gst/net/gstnettimepacket.c:
1326 * gst/net/gstnettimeprovider.c:
1327 * gst/net/gstnettimeprovider.h:
1330 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1332 * configure.ac: back to HEAD
1334 === release 0.9.6 ===
1336 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1339 releasing 0.9.6, "Always On Time"
1341 2005-11-23 Wim Taymans <wim@fluendo.com>
1343 * docs/gst/gstreamer-sections.txt:
1344 * gst/glib-compat.c:
1345 * gst/gsttagsetter.c:
1347 * gst/net/gstnetclientclock.c:
1348 * gst/net/gstnettimepacket.h:
1351 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1353 * docs/faq/using.xml:
1354 * docs/libs/tmpl/gstcontrol.sgml:
1355 * docs/manual/advanced-dparams.xml:
1356 * docs/manual/appendix-checklist.xml:
1357 * docs/manual/basics-elements.xml:
1358 * docs/pwg/other-source.xml:
1359 * docs/random/moving-plugins:
1361 * tools/gst-launch.1.in:
1362 remove mentions of sinesrc
1364 2005-11-23 Michael Smith <msmith@fluendo.com>
1366 * docs/gst/gstreamer-sections.txt:
1367 Update for new API and API changes.
1369 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1371 Documentation typo fix.
1372 * gst/net/gstnettimepacket.c:
1373 Documentation fixes for arguments.
1375 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
1377 * gst/gststructure.c: (gst_structure_get_fraction),
1378 (gst_structure_parse_value),
1379 (gst_structure_fixate_field_nearest_fraction):
1380 * gst/gststructure.h:
1381 * gst/gstutils.c: (gst_util_uint64_scale_int):
1383 * scripts/update-funcnames:
1385 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1386 Make gst_structure_fixate_field_nearest_fraction take a numerator
1387 and denominator argument instead of a GValue
1388 add gst_structure_get_fraction helper function.
1390 2005-11-23 Wim Taymans <wim@fluendo.com>
1392 * docs/design/part-TODO.txt:
1395 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1396 * gst/net/gstnetclientclock.h:
1397 Use parent fields for timeout and window_size.
1399 2005-11-23 Andy Wingo <wingo@pobox.com>
1401 * check/net/gstnetclientclock.c (test_functioning): Adjust to
1402 rate_num/rate_denom change.
1404 * gst/net/gstnetclientclock.c
1405 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1406 OBJECT_LOCK. Don't call add_observation with the lock.
1408 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1410 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1412 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1413 deal with rate as a fraction whose numerator and denominator are
1414 GstClockTime values.
1415 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1416 master; the other fields are protected by the SLAVE_LOCK.
1417 (do_linear_regression): Note that this must be called with the
1419 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1420 OBJECT_LOCK. Call set_calibration instead of touching the
1422 (gst_clock_set_property, gst_clock_get_property): Protect
1423 master/slave parameters with the SLAVE_LOCK.
1425 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1426 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1427 note that all of the instance variables that add_observation and
1428 the set_master functions use are protected by that lock and not
1430 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1432 * gst/gstclock.c (gst_clock_add_observation): No longer requires
1433 the caller to take the object lock.
1435 2005-11-23 Wim Taymans <wim@fluendo.com>
1437 * gst/gsterror.c: (_gst_core_errors_init):
1439 Add error for clock stuff.
1441 * gst/gstpipeline.c: (gst_pipeline_change_state),
1442 (gst_pipeline_set_clock):
1443 Post clock error when clock cannot be used in a pipeline.
1445 2005-11-23 Stefan Kost <ensonic@users.sf.net>
1447 * docs/gst/gstreamer-sections.txt:
1448 make two symbols from gstinfo private for the docs
1449 * gst/base/gstcollectpads.h:
1451 fix doc typos, update docs
1453 2005-11-22 Wim Taymans <wim@fluendo.com>
1455 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1456 (gst_base_sink_wait), (gst_base_sink_do_sync),
1457 (gst_base_sink_handle_event):
1458 * gst/base/gstbasesink.h:
1459 No need to store the clock, the parent element class already
1462 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1463 Updates for clock_set returning a gboolean
1465 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1466 (gst_clock_id_wait_async), (gst_clock_class_init),
1467 (gst_clock_init), (gst_clock_finalize),
1468 (gst_clock_get_internal_time), (gst_clock_get_time),
1469 (gst_clock_slave_callback), (gst_clock_set_master),
1470 (gst_clock_get_master), (do_linear_regression),
1471 (gst_clock_add_observation), (gst_clock_set_property),
1472 (gst_clock_get_property):
1474 Implement master/slave. When setting a clock as a slave, a
1475 periodic timeout is scheduled to sample master and slave times.
1476 Then the slave clock is recalibrated to match offset and rate
1477 of the master clock.
1478 Update logging a bit.
1479 Add flag so that a clock can state that is cannot be slaved to
1482 * gst/gstelement.c: (gst_element_set_clock):
1484 The set clock returns a gboolean for when an element cannot
1485 deal with the selected clock in the pipeline.
1487 * gst/gstpipeline.c: (gst_pipeline_change_state),
1488 (gst_pipeline_set_clock):
1489 * gst/gstpipeline.h:
1490 Handle the case where the selected clock cannot be set on
1493 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1494 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1495 (gst_net_client_clock_set_property),
1496 (gst_net_client_clock_get_property),
1497 (gst_net_client_clock_observe_times):
1498 * gst/net/gstnetclientclock.h:
1499 Use regression code in GstClock parent, remove duplicated
1502 2005-11-22 Michael Smith <msmith@fluendo.com>
1504 * gst/gstutils.c: (gst_util_clock_time_scale):
1506 * docs/gst/gstreamer-sections.txt:
1507 Rename method to have extra underscore.
1509 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
1511 * gst/elements/Makefile.am:
1512 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1513 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1514 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1515 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1516 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1517 * gst/elements/gstfakesrc.h:
1518 * gst/gstqueue.c: (queue_leaky_get_type):
1519 correctly fix GEnumValues so that nick is the short lowercase
1521 * tools/gst-inspect.c: (print_element_properties_info):
1522 also show the nick, since it's useful to use from parse_launch
1526 2005-11-22 Michael Smith <msmith@fluendo.com>
1528 * gst/gstutils.c: (gst_util_clocktime_scale):
1530 * docs/gst/gstreamer-sections.txt:
1531 Add util method for scaling a clocktime by a fraction. Useful
1532 implementation is left as an exercise for the reader.
1534 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1536 * gst/gstvalue.c: (gst_value_collect_fraction_range):
1537 If needed, allocate storage in the destination value during
1540 2005-11-22 Edward Hervey <edward@fluendo.com>
1542 * docs/gst/gstreamer-sections.txt:
1547 * gst/gstutils.c: (gst_util_set_object_arg):
1548 * tools/gst-compprep.c: (main):
1549 * tools/gst-inspect.c: (print_element_properties_info):
1550 Removed GstURI, closes bug #321061
1552 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1554 * check/gst/gststructure.c: (GST_START_TEST):
1555 * gst/gststructure.c: (gst_structure_parse_value):
1556 Oops, broke automatic string type parsing.
1557 Add a test to catch it in future.
1559 2005-11-22 Andy Wingo <wingo@pobox.com>
1561 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
1562 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1563 Actually rename the function implementations. Grr.
1565 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1567 * check/gst/capslist.h:
1569 * check/gst/gststructure.c: (GST_START_TEST),
1570 (gst_structure_suite):
1571 Test automatic value type detection in gst_structure_from_string.
1572 * gst/gststructure.c: (gst_structure_parse_value):
1573 Add fraction as a type we try and guess automatically in
1574 caps/structure strings.
1576 2005-11-22 Andy Wingo <wingo@pobox.com>
1578 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1580 * gst/gsttagsetter.h:
1581 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1582 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1583 (gst_tag_setter_add_tag_valist)
1584 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1585 _add_values, _add_valist, and _add_valist_values. Since this is an
1586 interface the function suffixes should be more explicit so
1587 language binding don't end up with element.add_valist ->
1588 gst_tag_setter_add_valist, for example. Fixes #322069.
1590 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1592 * check/gst/gstcaps.c: (GST_START_TEST):
1593 Extend caps string tests to check that a caps to string
1594 conversion is reversible and produces the same caps.
1596 * gst/gststructure.c: (gst_structure_value_get_generic_type):
1597 Output "fraction" as the generic type fraction range, so caps
1598 serialisation and deserialisation works.
1599 * check/gst/capslist.h:
1600 * gst/gstvalue.c: (gst_value_deserialize_fraction):
1601 Support 'MIN' and 'MAX' for deserialising fractions.
1603 2005-11-22 Andy Wingo <wingo@pobox.com>
1605 * gst/gstevent.h (gst_event_new_new_segment)
1606 (gst_event_parse_new_segment, gst_event_new_buffer_size)
1607 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1608 Renamed from *_newsegment, *_buffersize, *_notarget.
1610 * scripts/update-funcnames: New script, performs the changes
1613 2005-11-22 Wim Taymans <wim@fluendo.com>
1615 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1616 Make sure the GstFlowReturn is returned.
1618 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1619 (gst_bus_add_signal_watch):
1621 add gst_bus_add_signal_watch_full.
1623 * gst/gstplugin.c: (gst_plugin_load_file):
1624 Small style cleanup.
1626 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1628 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1629 Block the fakesrc srcpad when we send an event, to avoid
1630 contention on the stream_lock causing random test failures.
1632 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1634 * check/gst/gstvalue.c: (GST_START_TEST):
1635 * gst/gstvalue.c: (gst_value_fraction_subtract):
1638 2005-11-22 Stefan Kost <ensonic@users.sf.net>
1641 include "gstchildproxy.h"
1642 * gst/gstchildproxy.h:
1643 * libs/gst/controller/gstcontroller.h:
1644 use G_GNUC_NULL_TERMINATED
1646 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1648 * check/gst/capslist.h:
1649 * check/gst/gstcaps.c: (GST_START_TEST):
1650 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1651 * gst/gststructure.c: (gst_structure_parse_range),
1652 (gst_structure_fixate_field_nearest_fraction):
1653 * gst/gststructure.h:
1654 * gst/gstvalue.c: (gst_value_init_fraction_range),
1655 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1656 (gst_value_collect_fraction_range),
1657 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1658 (gst_value_set_fraction_range_full),
1659 (gst_value_get_fraction_range_min),
1660 (gst_value_get_fraction_range_max),
1661 (gst_value_serialize_fraction_range),
1662 (gst_value_transform_fraction_range_string),
1663 (gst_value_compare_fraction_range),
1664 (gst_value_deserialize_fraction_range),
1665 (gst_value_intersect_fraction_fraction_range),
1666 (gst_value_intersect_fraction_range_fraction_range),
1667 (gst_value_subtract_fraction_fraction_range),
1668 (gst_value_subtract_fraction_range_fraction),
1669 (gst_value_subtract_fraction_range_fraction_range),
1670 (gst_value_collect_fraction), (gst_value_fraction_multiply),
1671 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1672 (gst_value_transform_string_fraction), (_gst_value_initialize):
1674 Implement fraction ranges and extend GstFraction to support
1675 arithmetic subtraction, as well as deserialization from integer
1676 strings such as "100"
1677 Add a testsuite as for int and double range set operations
1679 2005-11-21 Andy Wingo <wingo@pobox.com>
1683 * gst/gststructure.h: Add glib-compat.h.
1685 2005-11-21 Wim Taymans <wim@fluendo.com>
1687 * gst/gstbin.c: (gst_bin_change_state_func):
1690 2005-11-21 Wim Taymans <wim@fluendo.com>
1693 And add a nice define too.
1695 2005-11-21 Wim Taymans <wim@fluendo.com>
1697 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1698 (gst_segment_new), (gst_segment_free), (gst_segment_init),
1699 (gst_segment_set_duration), (gst_segment_set_last_stop),
1700 (gst_segment_set_seek), (gst_segment_set_newsegment),
1701 (gst_segment_to_stream_time), (gst_segment_to_running_time),
1704 Make binding friendly.
1706 2005-11-21 Andy Wingo <wingo@pobox.com>
1708 * gst/gsttagsetter.h:
1710 * gst/gststructure.h:
1712 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1715 * gst/gsterror.c (_gst_core_errors_init):
1716 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1719 * gst/Makefile.am (gst_headers): Add glib-compat.h.
1720 (noinst_HEADERS): noinst the -private.
1722 2005-11-21 Michael Smith <msmith@fluendo.com>
1725 * gst/gstregistry.h:
1726 Remove unimplemented declarations for which we can see no sensible
1729 2005-11-21 Andy Wingo <wingo@pobox.com>
1731 * gst/gst.h: Include glib-compat.h.
1733 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1735 * gst/glib-compat.c: Include the public and the private header.
1737 * gst/glib-compat-private.h: Copied here from glib-compat.h.
1741 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1743 * check/gst/gstevent.c (create_custom_events): Check that
1744 FLUSH_STOP is serialized.
1746 * check/elements/identity.c (event_func):
1747 * check/elements/fakesrc.c (event_func): No stream lock, the core
1750 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1751 stream lock taking, yay.
1753 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1754 ensure that core takes the stream lock.
1756 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1759 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1760 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1761 it already. For the flush start we do take it though so we get the
1762 right preroll state change messages.
1764 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1765 the stream lock here, the core does it for us.
1767 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1768 GST_STREAM_GET_LOCK.
1769 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
1770 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
1771 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1772 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1773 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
1774 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1776 * gst/gstpad.c: Update for stream lock name change.
1778 * gst/base/gstbasesink.c: Update for preroll lock name change.
1780 2005-11-21 Wim Taymans <wim@fluendo.com>
1782 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1783 (gst_clock_get_master):
1785 * gst/gstsystemclock.c: (gst_system_clock_init):
1786 Convert Clock flags to object flags.
1787 Added methods to manage master/slave clocks.
1789 2005-11-21 Wim Taymans <wim@fluendo.com>
1791 * check/gst/gstsegment.c: (GST_START_TEST):
1792 * docs/design/part-TODO.txt:
1793 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1794 (gst_base_sink_event), (gst_base_sink_do_sync),
1795 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1796 (gst_base_sink_query), (gst_base_sink_change_state):
1797 * gst/base/gstbasesink.h:
1798 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1799 (gst_base_src_default_newsegment),
1800 (gst_base_src_configure_segment), (gst_base_src_do_seek),
1801 (gst_base_src_get_range), (gst_base_src_loop),
1802 (gst_base_src_change_state):
1803 * gst/base/gstbasesrc.h:
1804 * gst/base/gstbasetransform.c:
1805 (gst_base_transform_prepare_output_buf),
1806 (gst_base_transform_event), (gst_base_transform_change_state):
1807 * gst/base/gstbasetransform.h:
1808 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1809 (gst_collect_pads_event):
1810 * gst/base/gstcollectpads.h:
1811 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1812 (gst_fake_src_create):
1813 * gst/elements/gstfakesrc.h:
1814 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1815 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1816 (gst_segment_set_last_stop), (gst_segment_set_seek),
1817 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1818 (gst_segment_to_running_time), (gst_segment_clip):
1820 More segment updates, replace code in plugins with segment
1823 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1825 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1826 Don't ignore sscanf results
1828 2005-11-21 Andy Wingo <wingo@pobox.com>
1830 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1833 * *.c: Ran scripts/update-macros. Oh yes.
1835 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1836 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1839 * scripts/update-macros: New script. Run it on your files to
1840 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1843 2005-11-21 Stefan Kost <ensonic@users.sf.net>
1845 * docs/gst/Makefile.am:
1846 * docs/gst/gstreamer-docs.sgml:
1847 * docs/gst/gstreamer-sections.txt:
1848 * docs/gst/gstreamer.types:
1850 more docs fixes, add new api to the docs
1852 2005-11-21 Andy Wingo <wingo@pobox.com>
1854 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1855 state_broadcast call.
1857 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1859 2005-11-21 Julien MOUTTE <julien@moutte.net>
1861 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1862 function calls for arrays.
1864 2005-11-21 Stefan Kost <ensonic@users.sf.net>
1866 * docs/random/ensonic/media-device-daemon.txt:
1867 wild idea, can this be done?
1868 * docs/gst/gstreamer-sections.txt:
1873 * gst/gstpluginfeature.c:
1877 doc fixes and additions
1879 2005-11-21 Andy Wingo <wingo@pobox.com>
1881 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
1882 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
1883 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
1884 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1885 private to the basesrc implementation.
1887 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1888 behalf of event function if necessary. It should no longer be
1889 necessary to take the stream lock in pad's event functions. Fixes
1892 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1893 * docs/gst/gstreamer-sections.txt:
1894 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1895 (gst_structure_fixate_field_nearest_double),
1896 (gst_structure_fixate_field_boolean):
1897 * gst/gststructure.h:
1898 * win32/common/libgstreamer.def:
1899 * win32/gstreamer.def:
1901 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1904 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1906 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1907 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1908 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1909 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1910 (gst_fdsrc_uri_handler_init):
1911 * gst/elements/gstfdsrc.h:
1912 Port fd:// URI handler from 0.8 to fdsrc
1914 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1916 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1917 (gst_value_serialize_fourcc):
1919 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1920 consistent with our other format defines (#320324).
1922 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1924 * gst/gstvalue.c: (gst_value_is_fixed):
1925 Revert previous commit. Value lists are by definition
1926 not fixed, as they are a list of possible values.
1928 2005-11-21 Andy Wingo <wingo@pobox.com>
1930 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1931 during the stable series if we need it. Fixes #319178.
1933 * gst/gstevent.c (gst_event_new_filler): Removed.
1935 * check/gst/gstevent.c: Update comment about filler events.
1937 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1939 * gst/gstvalue.c: (gst_value_is_fixed):
1940 Should handle both value arrays and value lists.
1942 2005-11-21 Andy Wingo <wingo@pobox.com>
1944 patch by: Alessandro Dessina <alessandro nnva org>
1946 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1947 functions to access arrays. Fixes #321962.
1949 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1951 * docs/gst/gstreamer.types:
1952 gst_collectpads_get_type => gst_collect_pads_get_type.
1954 * gst/base/gstbasetransform.c:
1955 Remove unused SIGNAL_HANDOFF enum.
1957 2005-11-21 Andy Wingo <wingo@pobox.com>
1959 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1960 the event type (upstream, downstream, serialized). Renamed
1961 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1962 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1963 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1965 * gst/gstevent.c: Update for new CUSTOM event names.
1967 * check/gst/gstevent.c: Update check for new CUSTOM event names.
1970 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1973 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1975 * docs/gst/gstreamer-sections.txt:
1976 * win32/common/libgstbase.def:
1977 * win32/libgstbase.def:
1978 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1979 (gst_collect_pads_class_init), (gst_collect_pads_init),
1980 (gst_collect_pads_finalize), (gst_collect_pads_new),
1981 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1982 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1983 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1984 (gst_collect_pads_start), (gst_collect_pads_stop),
1985 (gst_collect_pads_peek), (gst_collect_pads_pop),
1986 (gst_collect_pads_available), (gst_collect_pads_read),
1987 (gst_collect_pads_flush), (gst_collect_pads_event),
1988 (gst_collect_pads_chain):
1989 * gst/base/gstcollectpads.h:
1990 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1991 unimplemented functions as unimplemented. Add padding to
1992 GstCollectData. (#320766, #320423)
1994 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1997 Improve docs for DURATION message (usage of duration parameter)
2000 2005-11-20 Wim Taymans <wim@fluendo.com>
2002 * check/Makefile.am:
2003 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2007 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2008 (gst_segment_set_seek), (gst_segment_set_newsegment),
2009 (gst_segment_to_stream_time), (gst_segment_to_running_time),
2012 Added segment helper structure and methods. Not fully implemented
2014 Added segment check.
2016 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
2018 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2019 Add a deserialisation test for fractions
2020 * examples/metadata/read-metadata.c: (message_loop),
2021 (make_pipeline), (main):
2022 Fix up metadata reading sample.
2023 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2025 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2026 Don't try and fixate empty caps
2027 * gst/gst_private.h:
2028 Wrap in G_BEGIN_DECLS/G_END_DECLS
2029 * gst/gstvalue.c: (gst_value_collect_fraction),
2030 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2031 (gst_value_transform_string_fraction),
2032 (gst_value_compare_fraction):
2033 Add some extra guards to ensure that we don't end up
2034 with an invalid denominator of 0 in a gstfraction and
2035 that fractions always get reduced.
2037 2005-11-20 Wim Taymans <wim@fluendo.com>
2039 * docs/gst/gstreamer-sections.txt:
2050 2005-11-20 Wim Taymans <wim@fluendo.com>
2052 * docs/design/part-TODO.txt:
2054 Make a proper enum of the flag.
2056 2005-11-19 Wim Taymans <wim@fluendo.com>
2058 * docs/design/part-TODO.txt:
2059 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2060 (gst_format_to_quark), (gst_format_register):
2062 * gst/gstquery.c: (_gst_query_initialize),
2063 (gst_query_type_get_name), (gst_query_type_to_quark),
2064 (gst_query_type_register):
2066 Add type to quark and type to string conversions.
2068 2005-11-19 Andy Wingo <wingo@pobox.com>
2070 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2073 2005-11-19 Wim Taymans <wim@fluendo.com>
2075 * docs/design/part-TODO.txt:
2076 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2077 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2078 (gst_bin_handle_message_func):
2080 Make message handling overridable.
2082 2005-11-19 Andy Wingo <wingo@pobox.com>
2084 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2087 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2089 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2090 is a GstClockTime. Fixes #321710.
2092 * gst/gstclock.h (GstClock): Remove offset property. Add
2093 internal_calibration and external_calibration. Fix padding. Pad
2094 also by GstClockTime so we don't run into problems.
2096 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2097 (gst_clock_get_rate_offset): Remove.
2098 (gst_clock_set_time_adjust): Remove. Fixes #321712.
2101 * gst/gstutils.c (g_static_rec_cond_wait)
2102 (g_static_rec_cond_timed_wait): Removed, no longer needed.
2104 * gst/gstbin.c: Remove terrible continue_state prototype.
2106 * gst/gstelement.h (gst_element_continue_state): Make public.
2109 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2110 by continue_state. Fixes #319389.
2112 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2113 Really fixes #168438. However I don't see anywhere where the
2114 filter function is called... stupid GStreamer...
2116 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2117 don't have a dispose function, so it won't get called when the
2118 object is unreffed, but oh well!
2120 * gst/gstindex.c (gst_index_set_filter_full): New API function,
2121 allows a destroy function to be set so user_data can be freed.
2123 (gst_index_set_filter): Call gst_index_set_filter_full.
2125 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2127 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2128 string should produce an error, given the lack of a way to
2129 represent NULL strings. Fixes #165650.
2132 * gst/gstvalue.c (gst_value_array_append_value)
2133 (gst_value_array_prepend_value, gst_value_array_get_size)
2134 (gst_value_array_get_value): New API, copied from
2135 gst_value_list_*, only operates on arrays.
2136 (gst_value_list_append_value, gst_value_list_prepend_value)
2137 (gst_value_list_concat, gst_value_list_get_size)
2138 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2140 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2141 init_list, because it works on both.
2142 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2143 (gst_value_copy_list_or_array): Renamed from copy_list.
2144 (gst_value_free_list_or_array): Renamed from free_list.
2145 (gst_value_collect_list_or_array): Renamed from collect_list.
2146 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2147 (gst_value_list_or_array_peek_pointer): Renamed from
2149 (_gst_value_array_value_table, _gst_value_list_value_table):
2150 Update value table functions.
2151 (gst_value_compare_list_or_array): Renamed from compare_list.
2153 * gsttaglist.h: Whoops, foreach function returns void. Also fix
2157 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2158 GstTagList*. Fixes #143472.
2160 * gst/gststructure.h: Clarify what the foreach/map functions can
2161 or can't do to their arguments.
2163 2005-11-18 Wim Taymans <wim@fluendo.com>
2165 * gst/gstclock.c: (gst_clock_set_calibration),
2166 (gst_clock_get_calibration):
2168 Calibration can be set with internal time equal to current
2171 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
2177 2005-11-18 Andy Wingo <wingo@pobox.com>
2180 * pkgconfig/gstreamer-net.pc.in:
2181 * pkgconfig/gstreamer-net-uninstalled.pc.in:
2182 * pkgconfig/Makefile.am: Add net pkgconfig files.
2184 2005-11-18 Stefan Kost <ensonic@users.sf.net>
2187 * gst/gstghostpad.c:
2193 2005-11-18 Andy Wingo <wingo@pobox.com>
2195 * gst/net/gstnetclientclock.c: Turn off debugging.
2197 * check/net/gstnetclientclock.c (test_functioning): Assert that the
2198 times connverge somewhat. Can't make a real test.
2200 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2201 integer arithmetic. Return the minimum of the domain, which can be
2202 set as "internal" for gst_clock_set_calibration.
2203 (gst_net_client_clock_observe_times): Call _set_calibration.
2204 (gst_net_client_clock_new): Call _set_calibration instead of
2207 * check/net/gstnetclientclock.c (test_functioning): Use the right
2211 * gst/gstclock.c (gst_clock_get_calibration)
2212 (gst_clock_set_calibration): New functions, obsolete the ones I
2213 added yesterday. Doh. Precision issues mean we have to extrapolate
2214 from a point in the more recent past than 1970.
2215 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2217 (gst_clock_adjust_unlocked): Use the right calibration data.
2219 2005-11-18 Edward Hervey <edward@fluendo.com>
2221 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2222 Also reset the ->current_* values in READY->PAUSED
2224 2005-11-18 Andy Wingo <wingo@pobox.com>
2226 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2227 Whoops, check the right fd. Also add some debugging.
2228 (gst_net_client_clock_observe_times): Adjust for int64 offset.
2229 (do_linear_regression): Add a crapload of debugging. Subtract off
2230 the minimum values from the input series to discard unneeded bits.
2231 Use only int arithmetic. There is still double arithmetic when
2232 calculating the intercept that needs fixing. Return boolean to
2233 indicate success; FALSE would mean the domain or range is too
2234 great. Still needs fixes.
2236 2005-11-18 Wim Taymans <wim@fluendo.com>
2238 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2239 For the current position in stream time, we need to subtract
2242 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2243 Release lock before calling the callback function of async
2246 2005-11-18 Andy Wingo <wingo@pobox.com>
2248 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2249 Port goes all the way to MAXUINT16.
2251 * gst/net/gstnettimeprovider.c: Make the port range the same as
2252 for the kernel: 0 assigns, otherwise ports are less than
2255 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2258 * check/net/gstnetclientclock.c (test_functioning): Add the start
2261 2005-11-18 Wim Taymans <wim@fluendo.com>
2263 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2264 (gst_bin_remove_func), (bin_bus_handler):
2266 Removing a clock provider from a bin, triggers a clock lost message
2267 so that a new clock will be selected.
2268 Adding a clock to a bin triggers a clock provider message.
2269 Make sure we reselect a clock when we received a clock lost message.
2270 Keep a reference to the element that provided the clock.
2272 2005-11-18 Andy Wingo <wingo@pobox.com>
2274 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2275 the clock initially so it produces values around the base time.
2276 (gst_net_client_clock_class_init): Typo fix.
2277 (gst_net_client_clock_thread): Add note on when the socket gets
2280 2005-11-17 Wim Taymans <wim@fluendo.com>
2282 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2283 Free remote and local time arrays.
2285 2005-11-17 Wim Taymans <wim@fluendo.com>
2287 * gst/net/gstnetclientclock.c: (do_linear_regression),
2288 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2289 Fix compilation, uninitialized vars and a forgotten continue.
2291 2005-11-17 Andy Wingo <wingo@pobox.com>
2293 * check/Makefile.am (check_PROGRAMS):
2294 * check/net/gstnetclientclock.c: Add a most minimal test for the
2295 net client clock. More to come later.
2298 * gst/net/Makefile.am: Add netclientclock.
2300 * gst/net/gstnetclientclock.h:
2301 * gst/net/gstnetclientclock.c: New files, implement an untested
2302 GstClock that takes its time from a network time provider.
2303 Implements the algorithm in network-clock.scm.
2305 * tests/network-clock.scm (*window-size*): Rename from
2307 * tests/network-clock.scm (network-time):
2308 * tests/network-clock-utils.scm (q-push): Update callers.
2310 2005-11-17 Wim Taymans <wim@fluendo.com>
2312 * gst/gstbin.c: (gst_bin_provide_clock_func),
2313 (gst_bin_sort_iterator_new):
2314 And unref the child too..
2316 2005-11-17 Wim Taymans <wim@fluendo.com>
2318 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2319 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2320 Refactor the sort iterator so it can be used while holding the
2322 Make clock selection select a clock closest to the source.
2324 2005-11-17 Michael Smith <msmith@fluendo.com>
2326 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2327 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2329 Anonymous structs are a gcc (and some other compilers) extension, so
2330 don't use them. Since this is only for ABI-compatibility, and our
2331 API/ABI freeze is over in a few days, this whole thing will only
2332 last a few days, so don't bother trying to think up a meaningful
2333 name for the struct.
2335 2005-11-17 Andy Wingo <wingo@pobox.com>
2337 * gst/gstclock.h (GstClock): Add rate and offset properties,
2338 preserving ABI stability. Add rate/offset accessors. Will file bug
2339 for the freeze break.
2341 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2342 and offset, trying to keep precision and avoiding
2344 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2345 functions. Make gst_clock_set_time_adjust obsolete.
2346 (gst_clock_set_time_adjust): Note that this function is obsolete.
2349 * gst/base/gstbasetransform.h: Make the ABI-stability hack
2350 greppable by using GST_PADDING-1+1.
2352 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
2354 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2356 * gst/gstmessage.c: (gst_message_parse_clock_lost):
2357 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2359 * gst/gstpadtemplate.h:
2360 * gst/gstpluginfeature.h:
2361 Don't use c++ style comments in headers (#321638).
2363 2005-11-16 Andy Wingo <wingo@pobox.com>
2365 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2368 * check/net/gstnettimeprovider.c: Check to see that the time
2369 provider actually provides times. Works, yo!
2371 2005-11-16 Wim Taymans <wim@fluendo.com>
2373 * check/Makefile.am:
2376 * check/elements/fakesrc.c: (GST_START_TEST):
2377 Set element to NULL before disposing it.
2379 2005-11-16 Andy Wingo <wingo@pobox.com>
2381 * gst/net/Makefile.am:
2383 * gst/net/gstnettimeprovider.c:
2384 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2385 provider, include it from gstnet.h, and add it to the build.
2387 * gst/net/gstnettimepacket.h:
2388 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2389 sending and receiving.
2391 2005-11-16 Wim Taymans <wim@fluendo.com>
2393 * check/Makefile.am:
2394 Enable valgrind check.
2396 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2397 (gst_fake_src_alloc_buffer):
2400 2005-11-16 Wim Taymans <wim@fluendo.com>
2402 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2403 Call parent finalize too.
2405 2005-11-16 Wim Taymans <wim@fluendo.com>
2407 * check/Makefile.am:
2408 Enable valgrind check that should work fine now.
2410 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2411 * gst/gstqueue.c: (gst_queue_init):
2412 Fix memleaks in pad allocation.
2414 2005-11-16 Andy Wingo <wingo@pobox.com>
2416 * gst/net/Makefile.am:
2417 * gst/net/gstnet.h: New part of core to hold network elements and
2418 objects. Put in core because it exposes API that applications want
2419 to use. The library is named libgstnet-tempname right now because
2420 of the existing libgstnet in gst-plugins-base. Solution is
2421 probably to rename the one in plugins-base; will file a bug for
2424 * gst/net/gstnettimeprovider.c:
2425 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2426 get_time call over the network.
2429 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2431 * check/Makefile.am:
2432 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2433 get additions shortly.
2435 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2437 * gst/gstpad.c: (gst_pad_new_from_static_template):
2439 add gst_pad_new_from_static_template functions
2440 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2441 (gst_check_setup_sink_pad):
2442 * gst/elements/gsttee.c: (gst_tee_init):
2445 2005-11-16 Wim Taymans <wim@fluendo.com>
2447 * gst/gstpad.c: (gst_pad_pause_task):
2448 Removed warning, it's not really an error either.
2450 2005-11-16 Wim Taymans <wim@fluendo.com>
2452 * gst/base/gstbasetransform.c:
2453 (gst_base_transform_prepare_output_buf),
2454 (gst_base_transform_event):
2455 Check if the caps are NULL, this can happen if the element
2456 is shutting down and the pad caps are set to NULL.
2458 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2460 * gst/elements/gsttee.c: (gst_tee_init):
2461 fix pad template leak in tee
2463 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2465 * gst/glib-compat.c: (g_value_dup_gst_object):
2466 * gst/glib-compat.h:
2467 * gst/gstpad.c: (gst_pad_set_property):
2468 use gst_object_ref when setting the pad template; this will
2469 trigger the pad template leaks on GLib 2.6 and the slaves
2471 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2473 * gst/glib-compat.c: (gst_flags_get_first_value):
2474 * gst/glib-compat.h:
2475 * gst/gstregistryxml.c:
2476 remove functions copied from GLib 2.6
2478 2005-11-16 Michael Smith <msmith@fluendo.com>
2481 Don't link against VALGRIND_LIBS. That was always the wrong thing to
2482 do, but only breaks with newer valgrind versions. We're not a
2483 valgrind tool, we have no link-time dependencies on libcoregrind.
2485 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2487 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2492 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2494 * gst/base/gstbasesrc.c: (gst_base_src_init):
2495 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2496 * gst/gstqueue.c: (gst_queue_init):
2497 * gst/gstregistryxml.c: (load_feature):
2498 Revert all these unrefs, they don't even pass make check !
2500 2005-11-15 Johan Dahlin <johan@gnome.org>
2502 * gst/base/gstbasesrc.c: (gst_base_src_init):
2503 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2504 * gst/gstqueue.c: (gst_queue_init):
2505 Free pad templates, fixes a couple of leaks.
2507 2005-11-15 Daniel Fischer <dan at f3c dot com>
2509 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2511 * gst/gstpad.c: (gst_pad_get_property):
2512 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2513 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2516 2005-11-15 Wim Taymans <wim@fluendo.com>
2521 2005-11-15 Andy Wingo <wingo@pobox.com>
2523 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2525 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2526 using GST_CLOCK_TIME_NONE to disable base time management.
2527 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2528 time if it was NONE before.
2529 (gst_pipeline_change_state): Only munge the base time if
2530 stream_time != GST_CLOCK_TIME_NONE.
2532 * check/gst/gstpipeline.c (test_base_time): Punt around the
2533 problem of the probe not being called, because that's not the
2534 issue I'm looking at. Add a check that setting stream_time to NONE
2535 disables base time management.
2537 2005-11-15 Wim Taymans <wim@fluendo.com>
2539 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2540 segment_stop == -1 at startup.
2542 * gst/base/gstbasetransform.c: (gst_base_transform_event),
2543 (gst_base_transform_change_state):
2544 Init segment values at start.
2546 2005-11-15 Wim Taymans <wim@fluendo.com>
2548 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2549 0 segment values are 0 in any format.
2551 * gst/base/gstbasetransform.c: (gst_base_transform_event):
2552 * gst/base/gstbasetransform.h:
2553 Parse newsegment correctly in basetransform
2555 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2556 Sync to clock using updated segment values.
2558 2005-11-15 Andy Wingo <wingo@pobox.com>
2560 * check/gst/gstpipeline.c (test_base_time): Add check that the
2561 base time and stream time are reset correctly.
2563 2005-11-15 Wim Taymans <wim@fluendo.com>
2565 * docs/design/part-TODO.txt:
2566 Some more TODO items.
2568 2005-11-15 Andy Wingo <wingo@pobox.com>
2570 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2571 error if the user selected "no clock" as the clocking method.
2573 * check/gst/gstpipeline.c (test_base_time): New test for buffer
2574 timestamps with live capture.
2576 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2577 is 0 but we are a live source, timestamp the buffers using the
2580 2005-11-14 Stefan Kost <ensonic@users.sf.net>
2582 * docs/gst/gstreamer-sections.txt:
2584 * gst/gstghostpad.c:
2589 2005-11-14 Wim Taymans <wim@fluendo.com>
2592 add suppressions from Wim's Debian machine
2594 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
2597 add suppressions from Andy's AMD64 Ubuntu machine
2599 2005-11-14 Andy Wingo <wingo@pobox.com>
2601 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2602 STATE_LOCK not necessary. Fixes #311489.
2604 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2607 * gst/gstindex.c (gst_index_add_object): Note in the docs that
2608 this function is not implemented.
2610 2005-11-14 Julien MOUTTE <julien@moutte.net>
2612 * gst/base/gstbasetransform.c:
2613 (gst_base_transform_prepare_output_buf):
2614 Ref the source pad caps while we need them.
2617 2005-11-11 Wim Taymans <wim@fluendo.com>
2619 * docs/gst/gstreamer-sections.txt:
2620 Added some docs for GstCollectData.
2622 * gst/base/gstadapter.c:
2623 Some small code example fix.
2625 * gst/base/gstcollectpads.c:
2626 * gst/base/gstcollectpads.h:
2629 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2631 * configure.ac: back to HEAD
2633 === release 0.9.5 ===
2635 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2638 releasing 0.9.5, "Bike Lunch Day"
2640 2005-11-11 Wim Taymans <wim@fluendo.com>
2642 * gst/gstbuffer.c: (_gst_buffer_copy):
2645 * gst/gstcaps.c: (gst_caps_is_equal):
2647 Make _is_equal fast in the trivial cases.
2649 * gst/gstminiobject.c:
2650 * gst/gstminiobject.h:
2651 More docs. Spifify .h file.
2656 2005-11-11 Wim Taymans <wim@fluendo.com>
2658 * gst/base/gstbasetransform.c:
2659 (gst_base_transform_prepare_output_buf),
2660 (gst_base_transform_handle_buffer):
2662 If we're processing a buffer and need to allocate an output
2663 buffer, we cannot accept a format change. If we did get a
2664 format change, we have to alloc a buffer ourselves of the
2667 2005-11-11 Wim Taymans <wim@fluendo.com>
2669 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2670 While checking the flag for reentrancy in the gstcaps function
2671 is nice to detect recursive invocations, it also makes it
2672 impossible to call getcaps from multiple threads, which must be
2673 possible. So, checking for recursive calls has to go.
2675 2005-11-11 Michael Smith <msmith@fluendo.com>
2677 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2678 Don't sync on buffers that fall partially outside our current
2679 segment. Prevents an assertion failure/abort playing some files.
2681 2005-11-10 Andy Wingo <wingo@pobox.com>
2683 * check/gst/gstbin.c (test_message_state_changed_children): Style
2686 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2687 gst_bus_poll with the signal watch. Ensures that poll and a signal
2688 watch see the same messages.
2690 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2691 a poll and a watch at the same time get the same messages.
2693 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
2695 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2696 * gst/gstcaps.c: (gst_caps_intersect):
2697 Don't call gst_caps_do_simplify - it doesn't respect order of caps
2698 and it's not needed.
2700 2005-11-10 Wim Taymans <wim@fluendo.com>
2702 * docs/design/part-TODO.txt:
2705 2005-11-10 Wim Taymans <wim@fluendo.com>
2707 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2708 * gst/base/gstbasesrc.c: (gst_base_src_wait),
2709 (gst_base_src_do_sync), (gst_base_src_get_range):
2710 Implement clock sync in base class.
2712 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
2714 patch by: Tim-Philipp Müller <tim at centricular dot net>
2716 * gst/gststructure.c: (gst_structure_parse_field),
2717 (gst_structure_from_string):
2718 Forward-port a 0.8 patch to handle escaped spaces in structure string,
2719 so that gst_parse_launch() can deal with spaces in filtered link
2720 caps (fixes #164479)
2721 * check/gst/capslist.h:
2722 * check/gst/gststructure.c: (GST_START_TEST):
2723 add unit tests for this change
2725 2005-11-10 Wim Taymans <wim@fluendo.com>
2727 * docs/gst/gstreamer-sections.txt:
2730 Fix docs, move some STATE macros to private.
2732 2005-11-10 Wim Taymans <wim@fluendo.com>
2734 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2735 Added check for bug #317341
2739 Some more spiffifying.
2741 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2742 Call peer linkfunction if we are a source pad. Totally fixes
2746 Update docs, source pads should call the peer linkfunction
2747 so they can atomically perform the pad link.
2749 2005-11-09 Wim Taymans <wim@fluendo.com>
2753 Uber-spiffy-spiffify some more.
2755 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
2757 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2758 * gst/elements/gstfilesink.c: (gst_file_sink_init):
2759 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2760 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2761 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2762 * gst/gstpad.c: (gst_pad_init):
2763 Use GST_DEBUG_FUNCPTR() more extensively.
2765 2005-11-09 Wim Taymans <wim@fluendo.com>
2767 * gst/gstobject.c: (gst_object_class_init):
2769 Documentation fixes.
2771 2005-11-09 Edward Hervey <edward@fluendo.com>
2773 * gst/gsttypefindfactory.c:
2776 2005-11-09 Edward Hervey <edward@fluendo.com>
2778 * gst/base/gsttypefindhelper.c:
2779 * gst/gsttypefind.c:
2780 * gst/gsttypefind.h:
2783 2005-11-09 Wim Taymans <wim@fluendo.com>
2785 * gst/gstiterator.c:
2792 2005-11-09 Wim Taymans <wim@fluendo.com>
2798 2005-11-09 Wim Taymans <wim@fluendo.com>
2800 * docs/gst/gstreamer-sections.txt:
2801 Moved the message async delivery private lock and cond
2802 to the private section.
2808 2005-11-09 Edward Hervey <edward@fluendo.com>
2810 * docs/gst/gstreamer-sections.txt:
2813 Document GstURIHandler
2815 2005-11-09 Wim Taymans <wim@fluendo.com>
2817 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2818 (gst_iterator_find_custom):
2819 * gst/gstiterator.h:
2822 2005-11-09 Wim Taymans <wim@fluendo.com>
2825 Document another field.
2827 * gst/gststructure.c:
2828 * gst/gststructure.h:
2831 2005-11-09 Wim Taymans <wim@fluendo.com>
2836 2005-11-09 Wim Taymans <wim@fluendo.com>
2838 * docs/gst/gstreamer-sections.txt:
2839 Added some new macros.
2846 2005-11-09 Wim Taymans <wim@fluendo.com>
2848 * docs/design/part-TODO.txt:
2849 Some more items for the TODO
2855 2005-11-09 Andy Wingo <wingo@pobox.com>
2857 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2858 to work on something else now tho...
2860 * gst/base/gstadapter.c: More adapter docs.
2862 * gst/elements/gstfilesink.c (gst_file_sink_start)
2863 (gst_file_sink_stop): New functions, replace the state change
2865 (gst_file_sink_class_init): Hook up the start and stop functions.
2866 (gst_file_sink_base_init): Don't set the state change handler any
2867 more. It was a bit ugly too, being set from here...
2868 (gst_file_sink_get_property, gst_file_sink_set_property):
2870 (gst_file_sink_set_location): More robust check that doesn't call
2873 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
2875 * gst/base/gstbasetransform.c: (gst_base_transform_event):
2876 Hold STREAM_LOCK while pushing newsegment or tag events as well.
2878 2005-11-08 Wim Taymans <wim@fluendo.com>
2880 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2881 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2882 (gst_base_sink_chain), (gst_base_sink_change_state):
2883 * gst/base/gstbasesink.h:
2884 * gst/base/gstbasesrc.h:
2887 Avoid excessive typechecking in macros.
2889 * gst/gstminiobject.c: (gst_mini_object_get_type),
2890 (gst_mini_object_init), (gst_mini_object_new),
2891 (gst_mini_object_free):
2892 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2893 (gst_object_finalize):
2894 Remove cruft code, optimize alloc_trace.
2896 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
2898 * docs/faq/gst-uninstalled:
2899 fix up PS1 for systems that try to reset it
2901 2005-11-07 Wim Taymans <wim@fluendo.com>
2903 * gst/base/gstbasesrc.c: (gst_base_src_init),
2904 (gst_base_src_get_range):
2905 Set the segment_end to -1 initially. Fixed typefind.
2907 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
2909 * gst/base/gstadapter.c:
2910 Debug category should be 'adapter', not 'GstAdapter'.
2912 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2913 (gst_collectpads_class_init), (gst_collectpads_init),
2914 (gst_collectpads_peek), (gst_collectpads_pop),
2915 (gst_collectpads_event), (gst_collectpads_chain):
2916 Add debug category and some debugging output. Use boilerplate
2917 macros. Remove some extraneous words from docs.
2919 2005-11-05 Andy Wingo <wingo@pobox.com>
2921 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2924 2005-11-04 Stefan Kost <ensonic@users.sf.net>
2926 * docs/gst/gstreamer-sections.txt:
2929 * gst/gstminiobject.h:
2934 2005-11-04 Wim Taymans <wim@fluendo.com>
2936 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2937 Small update to stop at the configured segment_end
2940 2005-11-04 Stefan Kost <ensonic@users.sf.net>
2942 * gst/gstregistry.c:
2943 * gst/gstregistry.h:
2946 2005-11-04 Edward Hervey <edward@fluendo.com>
2948 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2949 Check if we are doing a segment seek and have arrived at the
2950 end of that segment.
2952 2005-11-04 Wim Taymans <wim@fluendo.com>
2954 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2955 Don't leak a mutex unlock in case of an error.
2960 2005-11-04 Wim Taymans <wim@fluendo.com>
2962 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2964 Get the context to wake up only once.
2966 2005-11-03 Wim Taymans <wim@fluendo.com>
2968 * check/states/sinks.c: (GST_START_TEST):
2969 Uncomment fixed check.
2971 * docs/design/part-TODO.txt:
2974 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2975 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2976 (gst_base_sink_get_position):
2977 If we are going to PLAYING, post the right pending state
2978 when we post the intermediate paused message.
2980 * gst/gstelement.c: (gst_element_continue_state),
2981 (gst_element_set_state_func), (gst_element_change_state):
2982 Don't post state changes that were between the same state
2985 2005-11-03 Stefan Kost <ensonic@users.sf.net>
2987 * docs/gst/gstreamer-sections.txt:
2990 * gst/gstminiobject.h:
2993 more docs and doc style fixes
2995 2005-11-03 Stefan Kost <ensonic@users.sf.net>
2997 * docs/gst/gstreamer-sections.txt:
2999 * gst/gstminiobject.c:
3002 2005-11-03 Andy Wingo <wingo@pobox.com>
3004 * check/states/sinks.c (test_livesrc_sink): Add checks that the
3005 state-changed messages actually have the right order and the right
3008 2005-11-03 Wim Taymans <wim@fluendo.com>
3010 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3011 Added some more checks. Specifically the case where NO_PREROLL
3012 elements are in the pipeline.
3014 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3015 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3016 (gst_base_sink_get_position):
3017 Post READY->PAUSED state change messages too.
3018 Fix bug where VOID was posted as pending state...
3020 * gst/gstbin.c: (gst_bin_recalc_state):
3021 use _element_continue_state() to continue the state change.
3023 * gst/gstelement.c: (gst_element_continue_state),
3024 (gst_element_commit_state), (gst_element_set_state_func),
3025 (gst_element_change_state), (gst_element_change_state_func):
3026 Lots of state change cleanups, assign the STATE_RETURN in
3027 a new continue_state() function that also propagates the
3028 last return value from a state change to the app.
3029 Update some debug statements with proper category.
3031 2005-11-03 Wim Taymans <wim@fluendo.com>
3033 * docs/design/part-events.txt:
3034 * docs/design/part-gstpipeline.txt:
3035 * docs/design/part-messages.txt:
3036 * docs/design/part-overview.txt:
3037 * docs/design/part-seeking.txt:
3038 * docs/design/part-states.txt:
3039 * docs/design/part-trickmodes.txt:
3040 * docs/manual/advanced-position.xml:
3044 People think !! is ugly, this looks better.
3046 * gst/gstpad.c: (gst_pad_set_blocked_async):
3047 Remove !! since it's fixed elsewhere now.
3049 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3051 * gst/gstminiobject.h:
3053 Add !! to _FLAG_IS_SET macros to make the result boolean.
3055 2005-11-03 Edward Hervey <edward@fluendo.com>
3057 * gst/gstpad.c: (gst_pad_set_blocked_async):
3058 comparing a flag and a gboolean rarely returns coherent results...
3059 Added two characters (!!) to make that work correctly.
3061 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3063 * gst/gstbus.c: (gst_bus_class_init):
3066 * gst/gstqueue.c: (gst_queue_loop):
3067 Don't assume a miniobject that isn't a buffer is an
3068 event (it could be that there is a refcounting
3069 problem somewhere and the pointer is stale and
3070 refers to an already destroyed miniobject).
3072 2005-11-03 Julien MOUTTE <julien@moutte.net>
3074 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3076 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3078 * docs/manual/advanced-position.xml:
3079 Update seek example and explanations to current 0.9 API.
3081 * gst/elements/gsttypefindelement.c:
3082 (gst_type_find_element_activate):
3083 Remove FIXME comment now that the found caps
3086 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
3088 * gst/gstregistryxml.c: (load_feature):
3089 Add another GST_STR_NULL instance
3091 2005-11-02 Edward Hervey <edward@fluendo.com>
3093 * gst/gstpad.c: (handle_pad_block):
3094 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3096 2005-11-02 Wim Taymans <wim@fluendo.com>
3101 * gst/gstelement.c: (gst_element_commit_state):
3102 Remove unused value.
3104 * gst/gstiterator.c:
3105 Mention that the returned element is reffed in the docs.
3107 2005-11-02 Wim Taymans <wim@fluendo.com>
3109 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3110 (gst_pad_push), (gst_pad_push_event):
3111 Unlock blocked pads when they are flushed.
3113 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3116 * docs/gst/gstreamer-sections.txt:
3119 * gst/gstregistry.c: (gst_registry_scan_path_level):
3120 fix for a nasty little missed situation where an installed plug-in
3121 which was in the cache did not get overridden by an uninstalled one
3122 which was earlier in the plugin path because the newly created plugin
3123 for the uninstalled one (not in the registry) didn't get its
3124 ->registered set to TRUE
3126 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3128 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3129 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3130 (gst_collectpads_is_active), (gst_collectpads_collect),
3131 (gst_collectpads_collect_range), (gst_collectpads_start),
3132 (gst_collectpads_stop), (gst_collectpads_peek),
3133 (gst_collectpads_pop), (gst_collectpads_available),
3134 (gst_collectpads_read), (gst_collectpads_flush):
3135 Guard public API with assertions.
3138 Fix docs for gst_pad_set_link_function().
3140 2005-11-02 Johan Dahlin <johan@gnome.org>
3142 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
3143 Unref found_caps after we used it.
3145 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3147 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3148 Don't try to ref NULL.
3150 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3152 * win32/common/config.h.in:
3153 provide a GST_FUNCTION that just gives a string for now
3155 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3157 * win32/common/gstenumtypes.c: (register_gst_object_flags),
3158 (gst_object_flags_get_type), (register_gst_bin_flags),
3159 (gst_bin_flags_get_type), (register_gst_buffer_flag),
3160 (gst_buffer_flag_get_type), (register_gst_bus_flags),
3161 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3162 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3163 (gst_clock_return_get_type), (register_gst_clock_entry_type),
3164 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3165 (gst_clock_flags_get_type), (register_gst_state),
3166 (gst_state_get_type), (register_gst_state_change_return),
3167 (gst_state_change_return_get_type), (register_gst_state_change),
3168 (gst_state_change_get_type), (register_gst_element_flags),
3169 (gst_element_flags_get_type), (register_gst_core_error),
3170 (gst_core_error_get_type), (register_gst_library_error),
3171 (gst_library_error_get_type), (register_gst_resource_error),
3172 (gst_resource_error_get_type), (register_gst_stream_error),
3173 (gst_stream_error_get_type), (register_gst_event_type),
3174 (gst_event_type_get_type), (register_gst_seek_type),
3175 (gst_seek_type_get_type), (register_gst_seek_flags),
3176 (gst_seek_flags_get_type), (register_gst_format),
3177 (gst_format_get_type), (register_gst_index_certainty),
3178 (gst_index_certainty_get_type), (register_gst_index_entry_type),
3179 (gst_index_entry_type_get_type),
3180 (register_gst_index_lookup_method),
3181 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3182 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3183 (gst_index_resolver_method_get_type), (register_gst_index_flags),
3184 (gst_index_flags_get_type), (register_gst_debug_level),
3185 (gst_debug_level_get_type), (register_gst_debug_color_flags),
3186 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3187 (gst_iterator_result_get_type), (register_gst_iterator_item),
3188 (gst_iterator_item_get_type), (register_gst_message_type),
3189 (gst_message_type_get_type), (register_gst_mini_object_flags),
3190 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3191 (gst_pad_link_return_get_type), (register_gst_flow_return),
3192 (gst_flow_return_get_type), (register_gst_activate_mode),
3193 (gst_activate_mode_get_type), (register_gst_pad_direction),
3194 (gst_pad_direction_get_type), (register_gst_pad_flags),
3195 (gst_pad_flags_get_type), (register_gst_pad_presence),
3196 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3197 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3198 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3199 (gst_plugin_error_get_type), (register_gst_plugin_flags),
3200 (gst_plugin_flags_get_type), (register_gst_rank),
3201 (gst_rank_get_type), (register_gst_query_type),
3202 (gst_query_type_get_type), (register_gst_tag_merge_mode),
3203 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3204 (gst_tag_flag_get_type), (register_gst_task_state),
3205 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3206 (gst_alloc_trace_flags_get_type),
3207 (register_gst_type_find_probability),
3208 (gst_type_find_probability_get_type), (register_gst_uri_type),
3209 (gst_uri_type_get_type), (register_gst_parse_error),
3210 (gst_parse_error_get_type):
3211 * win32/common/gstversion.h:
3214 2005-11-01 Luca Ognibene <luogni@tin.it>
3217 fix docs. popt is dead, long live GOption.
3219 2005-10-31 Wim Taymans <wim@fluendo.com>
3224 2005-10-31 Andy Wingo <wingo@pobox.com>
3228 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3230 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3231 need to serialize property notifications on GLib 2.8. GLib 2.6 has
3232 the possibility of deadlocks here if code calling notify() or
3233 set() has a lock that can be taken in another notify handler (ABBA
3234 with class lock and e.g. python GIL state lock).
3236 2005-10-28 Julien MOUTTE <julien@moutte.net>
3238 * gst/gstbus.c: Doc updates.
3240 2005-10-28 Wim Taymans <wim@fluendo.com>
3242 * docs/design/part-TODO.txt:
3243 * gst/gstiterator.c:
3244 * gst/gstsystemclock.c:
3245 * gst/gstsystemclock.h:
3248 2005-10-28 Edward Hervey <edward@fluendo.com>
3250 * docs/gst/gstreamer-docs.sgml:
3251 * docs/gst/gstreamer-sections.txt:
3252 the GstURIType documentation page is private, it only defines GstURIType
3253 which should be defined in the GstURIHandler page
3255 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
3257 * gst/gstbin.c: (gst_bin_class_init):
3260 Documentation updates.
3262 2005-10-28 Wim Taymans <wim@fluendo.com>
3264 * docs/gst/gstreamer-sections.txt:
3267 Documented the clocks.
3269 2005-10-28 Stefan Kost <ensonic@users.sf.net>
3271 * docs/gst/gstreamer-sections.txt:
3272 move some macros to private sections
3273 * gst/gstminiobject.c:
3274 * gst/gstminiobject.h:
3275 add descriptions provided by ds and some more
3277 mark macro as to be removed
3279 2005-10-28 Wim Taymans <wim@fluendo.com>
3281 * docs/design/part-TODO.txt:
3282 Add an item to TODO.
3284 * gst/gstiterator.c: (gst_iterator_fold),
3285 (gst_iterator_find_custom):
3286 * gst/gstiterator.h:
3289 2005-10-28 Wim Taymans <wim@fluendo.com>
3291 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3292 (gst_base_transform_init):
3295 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3296 An EOS event marks the queue as completely filled.
3298 2005-10-27 Wim Taymans <wim@fluendo.com>
3300 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3301 (gst_base_sink_do_sync), (gst_base_sink_get_position):
3302 Some more debugging.
3304 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3305 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3306 (gst_base_transform_event), (gst_base_transform_getrange),
3307 (gst_base_transform_chain):
3308 * gst/base/gstbasetransform.h:
3310 Protect transform and concurrent buffer alloc with a new lock.
3311 Try not to break ABI/API.
3313 2005-10-27 Wim Taymans <wim@fluendo.com>
3315 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3316 (gst_base_src_init), (gst_base_src_query),
3317 (gst_base_src_default_newsegment),
3318 (gst_base_src_configure_segment), (gst_base_src_do_seek),
3319 (gst_base_src_send_event), (gst_base_src_event_handler),
3320 (gst_base_src_pad_get_range), (gst_base_src_loop),
3321 (gst_base_src_unlock), (gst_base_src_default_negotiate),
3322 (gst_base_src_start), (gst_base_src_deactivate),
3323 (gst_base_src_activate_push), (gst_base_src_change_state):
3324 Move some stuff around and cleanup things.
3326 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
3328 * gst/base/gstbasesrc.c: (gst_base_src_query):
3329 Add missing break statements.
3331 2005-10-27 Wim Taymans <wim@fluendo.com>
3333 * check/gst/gstbin.c: (GST_START_TEST):
3334 An extra refcount is taken in basesrc.
3336 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3337 (gst_base_src_get_range), (gst_base_src_pad_get_range),
3338 (gst_base_src_loop):
3339 Small cleanups, check for flushing after being unlocked from the
3340 LIVE_LOCK. take refcounts correctly (not yet everywhere).
3341 Don't send out EOS when going to READY.
3343 2005-10-27 Wim Taymans <wim@fluendo.com>
3345 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3346 (gst_base_sink_get_position):
3349 * gst/gstbin.c: (message_check), (bin_replace_message),
3350 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3351 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3352 (bin_query_duration_init), (bin_query_duration_fold),
3353 (bin_query_duration_done), (bin_query_generic_fold),
3355 * tools/gst-launch.c: (main):
3358 2005-10-26 Stefan Kost <ensonic@users.sf.net>
3360 * examples/controller/audio-example.c: (main):
3361 * examples/queue/queue.c: (event_loop):
3362 * gst/base/gstbasetransform.h:
3363 * gst/gstelement.c: (gst_element_send_event):
3365 * gst/gstpad.c: (gst_pad_send_event):
3368 changing log priority in error situations
3370 2005-10-25 Wim Taymans <wim@fluendo.com>
3372 * gst/gstbin.c: (message_check), (bin_replace_message),
3373 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3374 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3375 (bin_query_duration_init), (bin_query_duration_fold),
3376 (bin_query_duration_done), (bin_query_generic_fold),
3378 Some doc and debug updates.
3379 Cache previously requested query DURATION for speed. invalidate
3380 cached duration if element posts a DURATION message.
3382 2005-10-25 Wim Taymans <wim@fluendo.com>
3384 * docs/design/part-TODO.txt:
3387 * gst/gstbin.c: (message_check), (bin_replace_message),
3388 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3389 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3390 (bin_query_duration_init), (bin_query_duration_fold),
3391 (bin_query_duration_done), (bin_query_generic_fold),
3393 Handle SEGMENT_START/DONE messages correctly.
3394 More evolved query algorithm that handles duration queries
3397 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3398 (gst_element_get_state_func), (gst_element_abort_state),
3399 (gst_element_commit_state), (gst_element_lost_state):
3400 Some more debugging.
3405 2005-10-25 Wim Taymans <wim@fluendo.com>
3407 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3408 Don't use invalid stream_time.
3410 * gst/gstevent.c: (gst_event_new_newsegment):
3411 stream_time in newsegment cannot be undefined.
3413 2005-10-24 Wim Taymans <wim@fluendo.com>
3418 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3420 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3422 2005-10-24 Stefan Kost <ensonic@users.sf.net>
3424 * docs/libs/tmpl/gstdparam.sgml:
3425 * docs/libs/tmpl/gstdplinint.sgml:
3426 * docs/libs/tmpl/gstdpman.sgml:
3427 * docs/libs/tmpl/gstdpsmooth.sgml:
3428 * docs/libs/tmpl/gstunitconvert.sgml:
3431 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
3436 === release 0.9.4 ===
3438 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3441 releasing 0.9.4, "Tyrannosaurus Rex"
3443 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
3445 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3446 (gst_file_sink_get_current_offset):
3447 Use fseeko() and ftello() if available. When falling back on
3448 lseek() to get the current offset, fflush() first to make sure
3449 everything is up-to-date and we get the right offset.
3451 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3453 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3454 * gst/base/gstbasesrc.c: (gst_base_src_loop):
3455 * gst/gsterror.c: (_gst_stream_errors_init):
3457 * gst/gstqueue.c: (gst_queue_loop):
3459 remove prematurely added error category and clean up the instances
3461 2005-10-21 Wim Taymans <wim@fluendo.com>
3463 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3464 (gst_base_sink_get_position), (gst_base_sink_query),
3465 (gst_base_sink_change_state):
3466 Simply set the right flag when going to playing, that's all
3467 we need to do instead of calling a function inside the object
3468 lock (that could take the lock as well and deadlock)
3470 2005-10-21 Wim Taymans <wim@fluendo.com>
3472 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3473 (gst_base_src_loop):
3474 Don't warn, the peer element knows what to do best when
3475 the seek failed, it might try something else.
3477 2005-10-21 Wim Taymans <wim@fluendo.com>
3479 * gst/base/gstbasesrc.c: (gst_base_src_init),
3480 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3483 2005-10-21 Wim Taymans <wim@fluendo.com>
3485 * docs/design/part-segments.txt:
3488 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3489 Correctly set caps, even on the subbufer.
3491 2005-10-21 Wim Taymans <wim@fluendo.com>
3493 * docs/gst/gstreamer-docs.sgml:
3494 * docs/gst/gstreamer-sections.txt:
3501 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3505 And 2% more doc coverage.
3507 2005-10-21 Andy Wingo <wingo@pobox.com>
3509 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3512 2005-10-20 Wim Taymans <wim@fluendo.com>
3514 * gst/gsterror.c: (gst_error_get_message):
3517 * gst/gststructure.c:
3522 2005-10-20 Wim Taymans <wim@fluendo.com>
3527 Another 1% more coverage.
3529 2005-10-20 Wim Taymans <wim@fluendo.com>
3531 * docs/gst/gstreamer-sections.txt:
3532 * gst/gstelement.c: (gst_element_get_state_func),
3533 (gst_element_abort_state), (gst_element_commit_state),
3534 (gst_element_lost_state):
3536 * gst/gstquery.c: (gst_query_set_position),
3537 (gst_query_parse_position), (gst_query_set_duration),
3538 (gst_query_parse_duration), (gst_query_new_convert):
3540 Yay! 1% more docs coverage.
3542 2005-10-20 Wim Taymans <wim@fluendo.com>
3545 * gst/gstquery.c: (gst_query_set_position),
3546 (gst_query_parse_position), (gst_query_set_duration),
3547 (gst_query_parse_duration), (gst_query_new_convert):
3549 * gst/gstutils.c: (gst_element_query_convert):
3551 Docs and consistency fixes.
3553 2005-10-20 Wim Taymans <wim@fluendo.com>
3559 2005-10-20 Wim Taymans <wim@fluendo.com>
3561 * gst/gstbin.c: (message_check), (bin_replace_message),
3562 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3563 (update_degree), (gst_bin_sort_iterator_next),
3564 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3565 Reworked the message handling a bit, cache the messages instead of
3566 only the senders. alows us to do more in the future.
3568 2005-10-20 Wim Taymans <wim@fluendo.com>
3570 * docs/design/part-TODO.txt:
3573 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3574 (gst_base_sink_query):
3575 Don't use clock time to report position when in EOS.
3577 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
3579 * tools/gst-inspect.c: (print_interfaces),
3580 (print_element_properties_info), (print_element_info):
3581 Fix interface output with gst-inspect -a; don't print
3582 newlines after double/float properties.
3584 2005-10-20 Wim Taymans <wim@fluendo.com>
3586 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3587 (gst_base_sink_query):
3588 Speed up current position calculation.
3590 * gst/base/gstbasesrc.c: (gst_base_src_query),
3591 (gst_base_src_default_newsegment):
3592 Correctly set stream position in newsegment.
3594 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3595 (update_degree), (gst_bin_sort_iterator_next),
3596 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3597 * gst/gstmessage.c: (gst_message_new_custom):
3598 Clean up debugging info
3600 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3601 (gst_queue_loop), (gst_queue_handle_src_query):
3604 2005-10-19 Wim Taymans <wim@fluendo.com>
3606 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3607 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3608 Fix query handling again.
3610 2005-10-19 Wim Taymans <wim@fluendo.com>
3612 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3613 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3614 * gst/base/gstbasesrc.c: (gst_base_src_query):
3615 * gst/elements/gstfilesink.c: (gst_file_sink_query):
3616 * gst/elements/gsttypefindelement.c:
3617 (gst_type_find_handle_src_query), (find_element_get_length),
3618 (gst_type_find_element_activate):
3621 * gst/gstquery.c: (gst_query_new_position),
3622 (gst_query_set_position), (gst_query_parse_position),
3623 (gst_query_new_duration), (gst_query_set_duration),
3624 (gst_query_parse_duration), (gst_query_set_segment),
3625 (gst_query_parse_segment):
3627 Bundling query position/duration is not a good idea since duration
3628 does not change much and we don't want to recalculate it for every
3629 position query, so they are separated again..
3630 Base value in segment query is not needed.
3632 * gst/gstqueue.c: (gst_queue_handle_src_query):
3633 * gst/gstutils.c: (gst_element_query_position),
3634 (gst_element_query_duration), (gst_pad_query_position),
3635 (gst_pad_query_duration):
3637 Updates for query API change.
3638 Added some docs here and there.
3640 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
3642 * check/gst/gstbin.c: (GST_START_TEST):
3643 * check/gst/gstghostpad.c: (GST_START_TEST):
3644 * check/pipelines/cleanup.c: (GST_START_TEST):
3645 wait on thread to die so we can check refcount correctly
3647 2005-10-18 Wim Taymans <wim@fluendo.com>
3649 * check/pipelines/stress.c: (GST_START_TEST):
3650 Make check a little more time consuming.
3652 2005-10-18 Wim Taymans <wim@fluendo.com>
3654 * check/Makefile.am:
3655 * check/pipelines/stress.c: (GST_START_TEST),
3656 (simple_launch_lines_suite), (main):
3657 Small state change torture test.
3659 * docs/design/part-states.txt:
3660 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3661 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3662 (gst_base_sink_change_state):
3663 Never take state lock from streaming thread, clean up ugly
3664 hacks. Unfortunatly core does not yet support nice ways to
3667 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3669 Start state recalc if a STATE_DIRTY message is posted, but only
3670 on the toplevel bin.
3672 * gst/gstelement.c: (gst_element_sync_state_with_parent),
3673 (gst_element_get_state_func), (gst_element_abort_state),
3674 (gst_element_commit_state), (gst_element_lost_state),
3675 (gst_element_set_state_func), (gst_element_change_state):
3677 State variables are now protected with the LOCK, the state
3678 lock is only used to serialize _set_state().
3680 2005-10-18 Wim Taymans <wim@fluendo.com>
3682 * check/gst/gstbin.c: (GST_START_TEST):
3683 * check/gst/gstmessage.c: (GST_START_TEST):
3684 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3685 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3687 * gst/gstelement.c: (gst_element_abort_state),
3688 (gst_element_commit_state), (gst_element_lost_state):
3689 * gst/gstmessage.c: (gst_message_new_state_changed),
3690 (gst_message_new_state_dirty), (gst_message_new_segment_start),
3691 (gst_message_new_segment_done), (gst_message_new_duration),
3692 (gst_message_parse_state_changed),
3693 (gst_message_parse_segment_start),
3694 (gst_message_parse_segment_done), (gst_message_parse_duration):
3696 * tools/gst-launch.c: (event_loop):
3697 Seriously, this is better than a previous commit as we only need
3698 to notify the fact that an element changed state in a streaming
3699 thread, marking the state of the parents dirty, hence the
3700 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3703 2005-10-18 Wim Taymans <wim@fluendo.com>
3705 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3706 (gst_bin_recalc_func):
3707 * gst/gstelement.c: (gst_element_set_clock),
3708 (gst_element_abort_state), (gst_element_lost_state):
3709 Cleanups, prepare for state change fixes.
3711 2005-10-18 Wim Taymans <wim@fluendo.com>
3714 * gst/gstelement.c: (gst_element_class_init),
3715 (gst_element_set_state), (gst_element_set_state_func):
3717 Pending ABI changes.
3718 GThreadPool in GstBinClass to monitor async state changes.
3719 state_cookie in GstElement to detect concurrent gst/set state.
3720 set_state is now virtual too in case a very complicated element
3721 has to be constructed.
3723 2005-10-18 Wim Taymans <wim@fluendo.com>
3725 * check/gst/gstbin.c: (GST_START_TEST):
3726 * check/gst/gstmessage.c: (GST_START_TEST):
3727 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3728 * gst/gstbin.c: (bin_bus_handler):
3729 * gst/gstelement.c: (gst_element_commit_state),
3730 (gst_element_lost_state):
3731 * gst/gstmessage.c: (gst_message_new_state_changed),
3732 (gst_message_new_segment_start), (gst_message_new_segment_done),
3733 (gst_message_new_duration), (gst_message_parse_state_changed),
3734 (gst_message_parse_segment_start),
3735 (gst_message_parse_segment_done), (gst_message_parse_duration):
3737 * tools/gst-launch.c: (event_loop):
3738 Make messages future proof.
3739 state-change gets a flag if it was a message comming from the
3741 segment-start/stop can also be specified in other formats.
3742 A message to notify an app that a pipeline changed playback
3744 Also fix a GstMessage leak in -launch
3746 2005-10-18 Andy Wingo <wingo@pobox.com>
3748 * gst/gstelement.c (gst_element_dispose): More helpful message.
3750 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
3752 reviewed by: <delete if not using a buddy>
3754 * common/gtk-doc.mak:
3756 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
3758 * gst/gstregistry.c: (gst_registry_scan_path_level):
3759 unref a plug-in we get that was already initialized
3761 2005-10-18 Stefan Kost <ensonic@users.sf.net>
3763 * docs/gst/gstreamer-sections.txt:
3764 * docs/libs/gstreamer-libs-sections.txt:
3769 2005-10-17 Andy Wingo <wingo@pobox.com>
3771 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3774 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3776 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3778 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3779 (gst_element_get_state_func): Better debug message.
3780 (gst_element_commit_state): s/INFO/DEBUG/.
3781 (gst_element_lost_state, gst_element_change_state):
3783 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3784 (gst_message_new_custom): s/INFO/LOG/.
3786 2005-10-17 Michael Smith <msmith@fluendo.com>
3788 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3789 Check if end time is valid using end time, not start time.
3791 2005-10-17 Stefan Kost <ensonic@users.sf.net>
3793 * check/gst-libs/controller.c: (GST_START_TEST),
3794 (gst_controller_suite):
3795 * libs/gst/controller/gstcontroller.c:
3796 (gst_controlled_property_set_interpolation_mode):
3797 * libs/gst/controller/gstcontroller.h:
3798 * libs/gst/controller/gstinterpolation.c:
3799 * testsuite/controller/.cvsignore:
3800 * testsuite/controller/Makefile.am:
3801 * testsuite/controller/interpolator.c:
3802 merge controller testsuites
3804 remove mem-chunk from docs
3806 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
3808 * gst/gstmemchunk.c:
3809 * gst/gstmemchunk.h:
3810 * gst/gsttrashstack.c:
3811 * gst/gsttrashstack.h:
3812 out. get out. you're fired. to the Attic !
3814 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
3816 * gst/gstcaps.c: (gst_caps_intersect):
3817 fix signedness issues in a (hopefully) correct way
3818 * gst/gstelement.c: (gst_element_pads_activate):
3820 * gst/gstobject.c: (gst_object_set_parent):
3823 2005-10-17 Julien MOUTTE <julien@moutte.net>
3825 * gst/gstvalue.h: Fix prototypes.
3827 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3829 * docs/gst/gstreamer-sections.txt:
3830 * gst/gst.c: (gst_version_string):
3832 * gst/gstversion.h.in:
3833 * win32/common/libgstreamer.def:
3834 add gst_version_string ()
3836 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3840 * gst/gst.c: (init_post):
3841 * win32/common/config.h.in:
3843 * gst/gstcaps.c: (gst_caps_intersect):
3844 use gint64, the range could be bigger than a guint
3846 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3849 document potential problem in 2038
3851 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3853 * gst/gstcaps.c: (gst_caps_intersect):
3854 Fix guint j diving under 0
3856 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3859 * win32/common/config.h:
3860 * win32/common/config.h.in:
3861 check for process.h, declares getpid() on Windows
3863 include process.h if we have it
3864 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3865 * gst/gstmemchunk.h:
3866 fix signedness issues
3867 * win32/common/libgstreamer.def:
3870 2005-10-16 Julien MOUTTE <julien@moutte.net>
3872 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3873 fix. Because of unsigned ints, caps intersection was going nuts and
3874 trying to access structures with G_MAXUINT index. That fixes
3875 videotestsrc ! ffmpegcolorspace ! fakesink
3876 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3879 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3882 use the gettext macro
3883 * gst/elements/gstelements.c:
3885 * gst/indexers/gstindexers.c:
3886 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3887 * win32/common/config.h:
3889 * win32/common/config.h.in:
3890 add the template to generate config.h
3891 * win32/common/gstenumtypes.c:
3892 * win32/common/gstversion.h:
3895 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3897 * gst/gst.c: (gst_version):
3898 * gst/gstversion.h.in:
3901 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
3904 Oops, add missing closing bracket.
3906 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3909 use common m4's for argument checking
3911 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
3913 * docs/gst/gstreamer-sections.txt:
3915 Add GST_EVENT_TYPE_NAME() macro.
3917 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3920 * gst/gstpluginfeature.c:
3922 privatize more symbols
3924 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3927 add srcdir, builddir includes to GST_ALL_CFLAGS, since
3928 everything that uses GStreamer API should have the includes
3930 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3932 * docs/gst/gstreamer-sections.txt:
3933 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3935 give each value a _get_type, removes the DATA exports
3937 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3941 remove _gst_registry_auto_load, not used anymore
3942 * gst/gstbin.c: (gst_bin_get_type):
3944 * gst/gstelement.c: (gst_element_get_type):
3946 * gst/gstobject.c: (gst_object_get_type):
3948 * gst/gstpad.c: (gst_pad_get_type):
3950 make _get_type functions similar, fixes data export from library
3952 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3955 correctly make conditionals
3956 * gst/elements/Makefile.am:
3957 * gst/elements/gstelements.c:
3958 fix typo causing fdsrc not to build
3960 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3962 * testsuite/Makefile.am:
3963 * testsuite/bytestream/.cvsignore:
3964 * testsuite/bytestream/Makefile.am:
3965 * testsuite/bytestream/filepadsink.c:
3966 * testsuite/bytestream/gstbstest.c:
3967 * testsuite/bytestream/test1.c:
3968 * testsuite/bytestream/testfile1:
3969 * testsuite/caps/normalisation.c:
3970 * testsuite/caps/random.c: (main):
3971 * testsuite/cleanup/.cvsignore:
3972 * testsuite/cleanup/Makefile.am:
3973 * testsuite/cleanup/cleanup1.c:
3974 * testsuite/cleanup/cleanup2.c:
3975 * testsuite/cleanup/cleanup3.c:
3976 * testsuite/cleanup/cleanup4.c:
3977 * testsuite/cleanup/cleanup5.c:
3978 * testsuite/controller/interpolator.c:
3979 * testsuite/debug/printf_extension.c: (main):
3980 * testsuite/elements/tee.c:
3981 * testsuite/negotiation/.cvsignore:
3982 * testsuite/negotiation/Makefile.am:
3983 * testsuite/negotiation/pad_link.c:
3984 * testsuite/pad/Makefile.am:
3985 * testsuite/pad/chainnopull.c:
3986 * testsuite/pad/getnopush.c:
3987 * testsuite/pad/link.c:
3988 * testsuite/refcounting/sched.c: (create_pipeline):
3989 * testsuite/registry/Makefile.am:
3990 * testsuite/registry/gst-print-formats.c:
3991 * testsuite/schedulers/.cvsignore:
3992 * testsuite/schedulers/142183-2.c:
3993 * testsuite/schedulers/142183.c:
3994 * testsuite/schedulers/143777-2.c:
3995 * testsuite/schedulers/143777.c:
3996 * testsuite/schedulers/147713.c:
3997 * testsuite/schedulers/147819.c:
3998 * testsuite/schedulers/147894-2.c:
3999 * testsuite/schedulers/147894.c:
4000 * testsuite/schedulers/Makefile.am:
4001 * testsuite/schedulers/group_link.c:
4002 * testsuite/schedulers/queue_link.c:
4003 * testsuite/schedulers/relink.c:
4004 * testsuite/schedulers/unlink.c:
4005 * testsuite/schedulers/unref.c:
4006 * testsuite/schedulers/useless_iteration.c:
4007 * testsuite/states/bin.c:
4008 clean out/remove some stuff from the testsuite directories
4010 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4013 check for some headers
4014 * gst/elements/Makefile.am:
4015 * gst/elements/gstelements.c:
4016 don't compile fdsrc without sys/socket.h
4017 * gst/indexers/Makefile.am:
4018 * gst/indexers/gstindexers.c: (plugin_init):
4019 don't compile fileindex without mmap
4021 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4028 * check/Makefile.am:
4029 * docs/gst/Makefile.am:
4030 * examples/helloworld/Makefile.am:
4032 * gst/base/Makefile.am:
4033 * gst/check/Makefile.am:
4034 * gst/elements/Makefile.am:
4035 * gst/indexers/Makefile.am:
4036 * gst/parse/Makefile.am:
4037 * libs/gst/controller/Makefile.am:
4038 * libs/gst/dataprotocol/Makefile.am:
4039 * examples/helloworld/helloworld.c: (event_loop):
4040 compile fixes, though it's not being compiled currently
4042 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4044 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4045 Add some simple tests for the new taglist date API.
4047 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4049 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4050 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4051 Beautify 'last-message' output: print 'none' for buffer timestamps
4052 and durations if none is set; improve alignment with next messages.
4054 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4056 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4057 * gst/gstpluginfeature.h:
4058 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4059 * gst/gstregistry.h:
4060 * docs/gst/gstreamer-sections.txt:
4061 Add new API to check plugin feature version requirements.
4063 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4064 Some basic tests for the above.
4066 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4068 * gst/gststructure.c: (gst_structure_to_string):
4069 guard against NULL printf - happens when for example
4070 a message structure with GstClock gets serialized
4072 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4074 * gst/base/gstcollectpads.c: (gst_collectpads_event):
4075 Fix presumable copy'n'pasto.
4077 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4079 * gst/elements/gstfakesrc.h:
4080 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4081 * gst/elements/gsttypefindelement.c:
4083 * gst/elements/gstfilesink.c: (gst_file_sink_render):
4084 I wonder if this could actually write +2GB files before
4086 2005-10-13 Andy Wingo <wingo@pobox.com>
4088 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4089 Fix Timmeke Waymans bug.
4090 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4091 string of the proper length to gst_caps_from_string. There's a
4092 potential for, before this fix, that this could cause someone
4093 connecting over the network to cause a segfault if the payload is
4096 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4098 * docs/design/draft-push-pull.txt:
4099 * docs/design/part-overview.txt:
4100 * docs/random/TODO-pre-0.9:
4101 * docs/random/old/ChangeLog.gstreamer:
4102 * gst/base/gstpushsrc.c:
4106 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4108 * gst/glib-compat.c: (gst_flags_get_first_value):
4109 * gst/glib-compat.h:
4110 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4111 (gst_value_compare_double), (gst_value_serialize_flags):
4112 GLib 2.6 g_flags_get_first_value has a bug that triggers an
4115 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4117 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4118 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4120 * tools/gst-launch.c: (event_loop):
4121 print out clock nicely
4123 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4125 * docs/gst/gstreamer-sections.txt:
4127 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4128 (gst_tag_list_get_date_index):
4129 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4130 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4132 2005-10-13 Julien MOUTTE <julien@moutte.net>
4134 * gst/base/gstcollectpads.c: (gst_collectpads_event),
4135 (gst_collectpads_chain):
4136 * gst/base/gstcollectpads.h: Handle newsegment and store informations
4139 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4141 * docs/gst/gstreamer-sections.txt:
4144 * tools/gst-inspect.c: (main):
4145 * tools/gst-launch.c: (main):
4146 * tools/gst-run.c: (main):
4147 * tools/gst-xmlinspect.c: (main):
4148 fix GOption context leaks
4151 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4155 * win32/common/config.h:
4157 * win32/vs6/grammar.dsp:
4158 * win32/vs6/libgstelements.dsp:
4159 * win32/vs6/libgstreamer.dsp:
4162 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4164 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4165 * gst/base/gstbasesrc.c: (gst_base_src_query):
4166 fix more guint64<->gdouble conversions
4168 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4171 add win32-update target
4172 * win32/common/gstconfig.h:
4173 * win32/common/gstenumtypes.c:
4174 * win32/common/gstenumtypes.h:
4175 * win32/common/gstversion.h:
4176 add files that visual studio can't generate
4178 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4181 add a win32-update target
4184 2005-10-12 Wim Taymans <wim@fluendo.com>
4186 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4187 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4188 * gst/gstelement.c: (gst_element_commit_state),
4189 (gst_element_set_state):
4190 Protect flags with proper lock.
4191 unref provided cached clock in dispose.
4193 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4196 * gst/gstminiobject.h:
4198 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4199 removed unused flags from miniobject
4202 2005-10-12 Wim Taymans <wim@fluendo.com>
4204 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4205 (gst_file_sink_event), (gst_file_sink_render):
4206 Flush before seeking.
4208 2005-10-12 Andy Wingo <wingo@pobox.com>
4210 * gst/gst.c (gst_init_check): Ignore unknown options, as has
4211 always been the case.
4213 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4215 * check/gst/gstbin.c: (GST_START_TEST):
4216 * docs/gst/gstreamer-sections.txt:
4217 * gst/base/gstbasesink.c: (gst_base_sink_init):
4218 * gst/base/gstbasesrc.c: (gst_base_src_init),
4219 (gst_base_src_get_range), (gst_base_src_check_get_range),
4220 (gst_base_src_start), (gst_base_src_stop):
4221 * gst/base/gstbasesrc.h:
4222 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4223 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4224 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4228 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4230 * gst/gstelement.c: (gst_element_is_locked_state),
4231 (gst_element_set_locked_state), (gst_element_commit_state),
4232 (gst_element_set_state):
4234 * gst/gstindex.c: (gst_index_init):
4236 * gst/gstminiobject.h:
4237 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4238 (gst_object_set_parent):
4240 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4241 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4243 * gst/gstpadtemplate.h:
4244 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4245 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4246 * gst/gstpipeline.h:
4247 * gst/indexers/gstfileindex.c: (gst_file_index_load),
4248 (gst_file_index_commit):
4249 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4250 * testsuite/pad/link.c: (gst_test_src_init),
4251 (gst_test_filter_init), (gst_test_sink_init):
4252 * testsuite/states/locked.c: (main):
4253 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4254 moved bitshift from macro to enum definition
4256 2005-10-12 Wim Taymans <wim@fluendo.com>
4258 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4259 * gst/elements/gstfilesink.c: (gst_file_sink_event),
4260 (gst_file_sink_render):
4261 Some more debugging info.
4263 2005-10-12 Wim Taymans <wim@fluendo.com>
4265 * docs/design/part-states.txt:
4266 * tools/gst-launch.c: (main):
4268 Revert non-intentional change.
4270 2005-10-12 Wim Taymans <wim@fluendo.com>
4272 * check/gst/gstbin.c: (GST_START_TEST):
4273 * check/gst/gstelement.c: (GST_START_TEST):
4274 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4275 * check/gst/gstghostpad.c: (GST_START_TEST):
4276 * check/gst/gstpipeline.c: (GST_START_TEST):
4277 * check/pipelines/simple_launch_lines.c: (run_pipeline):
4278 * check/states/sinks.c: (GST_START_TEST):
4279 * gst/elements/gsttypefindelement.c: (stop_typefinding):
4280 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4281 (gst_bin_remove_func), (gst_bin_get_state_func),
4282 (gst_bin_recalc_state), (gst_bin_change_state_func),
4284 * gst/gstelement.c: (gst_element_get_state_func),
4285 (gst_element_get_state), (gst_element_abort_state),
4286 (gst_element_commit_state), (gst_element_set_state),
4287 (gst_element_change_state), (gst_element_change_state_func):
4289 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4290 (gst_pipeline_provide_clock_func):
4291 * gst/gstutils.c: (gst_element_link_pads_filtered):
4292 * tools/gst-launch.c: (main):
4293 * tools/gst-typefind.c: (main):
4294 Use GstClockTime in _get_state() instead of GTimeVal.
4295 Remove old code in gstutils.c
4297 2005-10-12 Andy Wingo <wingo@pobox.com>
4299 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4302 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4303 there is no task. Shouldn't affect any code, as nothing in our
4304 plugins checks this return value.
4305 (gst_pad_stop_task): Also take the stream lock if the pad has no
4308 2005-10-12 Wim Taymans <wim@fluendo.com>
4310 * gst/gstpad.c: (pre_activate), (post_activate),
4311 (gst_pad_activate_pull), (gst_pad_activate_push):
4312 Cleanup activation code. Reset old state if
4315 2005-10-12 Wim Taymans <wim@fluendo.com>
4317 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4318 (gst_base_sink_change_state):
4319 No need to prerol after receiving EOS.
4321 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4322 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4323 * gst/elements/gstidentity.c: (gst_identity_event):
4324 Print events more verbosely.
4326 2005-10-12 Wim Taymans <wim@fluendo.com>
4328 * check/Makefile.am:
4329 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4330 * check/states/sinks2.c:
4331 Moved sinks2 testcode in sinks check.
4333 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4334 (gst_bin_remove_func), (gst_bin_recalc_state),
4335 (gst_bin_change_state_func), (bin_bus_handler):
4336 Fix potential race condition when _get_state() iterated over an
4337 ASYNC element right before it posted a state completion.
4340 Do proper cast here.
4342 * gst/gstevent.c: (gst_event_new_newsegment),
4343 (gst_event_parse_newsegment):
4344 A playback rate of 0.0 is not allowed.
4346 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4348 * win32/common/config.h:
4349 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4350 (_trewinddir), (_ttelldir), (_tseekdir):
4351 * win32/common/dirent.h:
4352 * win32/common/gtchar.h:
4353 * win32/common/libgstbase.def:
4354 * win32/common/libgstreamer.def:
4355 * win32/vs6/grammar.dsp:
4356 * win32/vs6/gst_inspect.dsp:
4357 * win32/vs6/gst_launch.dsp:
4358 * win32/vs6/gstreamer.dsw:
4359 * win32/vs6/libgstbase.dsp:
4360 * win32/vs6/libgstelements.dsp:
4361 * win32/vs6/libgstreamer.dsp:
4362 Visual Studio 6 project files, and a new common directory.
4365 2005-10-11 Wim Taymans <wim@fluendo.com>
4367 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4368 (gst_base_sink_do_sync), (gst_base_sink_query),
4369 (gst_base_sink_change_state):
4370 * gst/base/gstbasesink.h:
4371 Correctly parse newsegment info.
4373 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4375 * gst/gst.c: (init_post):
4376 split plugin paths correctly
4378 2005-10-11 Wim Taymans <wim@fluendo.com>
4380 * check/gst/gstevent.c: (GST_START_TEST):
4381 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4382 (gst_base_sink_change_state):
4383 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4384 * gst/base/gstbasetransform.c: (gst_base_transform_event):
4385 * gst/elements/gstfilesink.c: (gst_file_sink_event):
4386 * gst/gstevent.c: (gst_event_new_newsegment),
4387 (gst_event_parse_newsegment):
4389 Added extra flag to newsegment for future API freeze.
4390 Updated check and base elements.
4392 2005-10-11 Julien MOUTTE <julien@moutte.net>
4394 * gst/base/gstcollectpads.c: (gst_collectpads_init),
4395 (gst_collectpads_add_pad), (gst_collectpads_pop),
4396 (gst_collectpads_event), (gst_collectpads_chain):
4397 * gst/base/gstcollectpads.h: Handle EOS correctly.
4399 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4401 * tools/gst-launch.c: (main):
4402 more null protecting
4404 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4406 * gst/gst-i18n-lib.h:
4407 check for ENABLE_NLS, not GETTEXT_PACKAGE
4408 * gst/gstregistry.c: (gst_registry_add_plugin),
4409 (gst_registry_scan_path_level),
4410 (_gst_registry_remove_cache_plugins):
4411 protect possibly NULL strings
4412 * gst/parse/types.h:
4413 config.h already included before
4414 * tools/gst-inspect.c: (main):
4415 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4416 check for ENABLE_NLS, not GETTEXT_PACKAGE
4417 * tools/gst-launch.c: (main):
4418 check for ENABLE_NLS, not GETTEXT_PACKAGE
4420 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4423 if we don't have glib, fail before testing 2.8
4424 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4425 fix a leak, should fix plugins-base testsuite
4427 2005-10-11 Andy Wingo <wingo@pobox.com>
4429 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4430 take the mode we're going to as an arg. Go head and set the mode
4431 and flushing flags now, so that if the activate function starts a
4432 thread all the flags will be in the right state.
4433 (post_activate): Renamed also. Just handle making sure streaming
4434 finishes for the deactivation case, and setting the deactivated
4436 (gst_pad_set_active): Complain loudly if deactivation fails.
4437 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4438 (gst_pad_activate_push): Adapt to pre/post_activate changes,
4439 remove the terrible hack.
4441 2005-10-11 Wim Taymans <wim@fluendo.com>
4443 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4444 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4445 (gst_bin_recalc_state), (gst_bin_change_state_func),
4446 (gst_bin_dispose), (bin_bus_handler):
4448 Prepare to make current EOS message queue more generic.
4451 * gst/gstevent.c: (gst_event_new_newsegment),
4452 (gst_event_parse_newsegment):
4454 Rename base to stream_time.
4459 2005-10-11 Wim Taymans <wim@fluendo.com>
4461 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4462 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4463 (gst_bin_change_state_func), (bin_bus_handler):
4465 Work on proper clock selection.
4467 2005-10-11 Edward Hervey <edward@fluendo.com>
4469 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
4470 * libs/gst/controller/gstcontroller.h:
4471 Added GList* version of _remove_properties() in order to be able to wrap
4474 2005-10-11 Wim Taymans <wim@fluendo.com>
4476 * docs/design/part-states.txt:
4479 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4480 (gst_bin_change_state_func), (bin_bus_handler):
4481 Doc updates. Don't distribute the same clock over and over again.
4487 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4488 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4489 (gst_pad_send_event):
4491 Make probe emission threadsafe again.
4492 Register quarks and move _get_name() from utils.
4495 * gst/gstpipeline.c: (gst_pipeline_class_init),
4496 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4497 Only redistribute the clock of it changed.
4499 * gst/gstsystemclock.h:
4504 Moved the _flow_get_name() to GstPad.
4506 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4508 * check/gst-libs/gdp.c: (GST_START_TEST):
4509 * check/gst/gstcaps.c: (GST_START_TEST):
4510 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4511 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4512 (gst_dp_packet_from_caps):
4513 fix more valgrind warnings before turning up the heat
4515 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4517 * gst/parse/grammar.y:
4518 some cleanup before the hacking
4520 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4522 * gst/base/gstbasesrc.c: (gst_base_src_query):
4524 * gst/gstutils.c: (gst_guint64_to_gdouble),
4525 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4527 externalize, basesrc uses it
4528 obviously the implementation needs testing
4530 2005-10-10 Wim Taymans <wim@fluendo.com>
4532 * tests/sched/Makefile.am:
4533 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4534 (make_pipeline3), (make_pipeline4), (print_elem), (main):
4536 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4538 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4539 apparently converting from guint64 to double is not implemented
4542 2005-10-10 Wim Taymans <wim@fluendo.com>
4544 * check/Makefile.am:
4545 * check/generic/states.c: (GST_START_TEST):
4546 * check/gst/gstbin.c: (GST_START_TEST):
4547 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4548 * check/states/sinks.c: (GST_START_TEST):
4549 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4551 Check fixes, use API as stated in design docs, remove hacks.
4553 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4554 (gst_base_sink_change_state):
4555 Catch stopping our task while we're shutting down.
4557 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4558 (gst_bin_remove_func), (gst_bin_get_state_func),
4559 (gst_bin_recalc_state), (gst_bin_change_state_func),
4562 * gst/gstelement.c: (gst_element_init),
4563 (gst_element_get_state_func), (gst_element_abort_state),
4564 (gst_element_commit_state), (gst_element_lost_state),
4565 (gst_element_set_state), (gst_element_change_state),
4566 (gst_element_change_state_func):
4568 New state change algorithm (see #318116)
4570 * gst/gstpipeline.c: (gst_pipeline_class_init),
4571 (gst_pipeline_init), (gst_pipeline_set_property),
4572 (gst_pipeline_get_property), (do_pipeline_seek),
4573 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4574 * gst/gstpipeline.h:
4575 Remove crude state change hacks.
4580 * tools/gst-launch.c: (main):
4581 Fixes for state change. Needs some more work to fully use the
4584 2005-10-10 Andy Wingo <wingo@pobox.com>
4586 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4588 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4589 this flag, but it's not even in GLib 2.6. Odd. Hack around the
4592 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4594 * gst/gstiterator.c: (gst_iterator_new):
4595 Fix my previous commit: GTypes passed to gst_iterator_new()
4596 can be fundamental types.
4598 2005-10-10 Wim Taymans <wim@fluendo.com>
4600 * gst/gstelement.c: (gst_element_iterate_pad_list),
4601 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4602 (gst_element_iterate_sink_pads):
4603 Use src/sink pads lists for the respective iterators instead
4606 2005-10-10 Andy Wingo <wingo@pobox.com>
4608 Merged in popt removal + GOption addition patch from Ronald, bug
4611 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4612 GstElement macros around, remove popt-related symbols, add goption
4615 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4617 * docs/gst/Makefile.am:
4618 * docs/libs/Makefile.am: No POPT_CFLAGS.
4620 * examples/manual/Makefile.am:
4621 * docs/manual/basics-init.xml: Doc updates with an example.
4623 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4624 (gst_init), (parse_one_option), (parse_goption_arg):
4625 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4626 bit of hand merging and debugging to get the GOption stuff working
4629 * tests/Makefile.am:
4630 * tools/Makefile.am:
4631 * tools/gst-inspect.c: (main):
4632 * tools/gst-launch.c: (main):
4633 * tools/gst-run.c: (main):
4634 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4636 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4638 * gst/gstiterator.c: (gst_iterator_new):
4639 Add assertions to make sure passed GType is likely to really
4640 be a GType (as the compiler won't catch it if the size and
4641 GType arguments get mixed up, see #318447).
4643 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
4645 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4647 * gst/gstbin.c: (gst_bin_iterate_sorted):
4648 Pass GType and size arguments to gst_iterator_new() in the right
4649 order (maybe we should make _new() take the GType as first argument
4650 just like _new_list()?) (#318447).
4653 2005-10-10 Wim Taymans <wim@fluendo.com>
4655 * gst/gstelement.c: (gst_element_finalize):
4656 And free the GStaticRecMutex too
4658 2005-10-10 Andy Wingo <wingo@pobox.com>
4660 * gst/gstelement.c (gst_element_init, gst_element_finalize):
4661 Allocate and free the mutex properly.
4663 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4665 (GstElement): The state_lock is now recursive. Rebuild your
4666 plugins, suckers. Old macros adapted.
4668 * docs/gst/gstreamer-sections.txt: Doc updates.
4671 * gst/gstutils.c (g_static_rec_cond_timed_wait)
4672 (g_static_rec_cond_wait): Ported from state changes patch, while
4673 we wait on bug #317802 to be solved in a well-distributed GLib.
4675 * gst/gstelement.c (gst_element_change_state_func): Renamed from
4676 gst_element_change_state, variable name changes.
4677 (gst_element_change_state): Split out of gst_element_set_state in
4678 preparation for the state change merge. Doesn't pay attention to
4679 the 'transition' argument.
4680 (gst_element_set_state): Updates, hopefully purely cosmetic.
4681 (gst_element_sync_state_with_parent): MT-safety. Ported from the
4683 (gst_element_get_state_func): Renamed from get_state, cosmetic
4686 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4688 * gst/elements/gstelements.c:
4689 * win32/GStreamer.vcproj:
4691 * win32/dirent.c: (_tseekdir):
4692 * win32/gst-inspect.vcproj:
4693 * win32/gst-launch.vcproj:
4694 * win32/gstconfig.h:
4695 * win32/gstelements.vcproj:
4696 * win32/gstenumtypes.c: (gst_object_flags_get_type):
4697 * win32/gstreamer.def:
4699 updates for the win32 build (patch from Sebastien Moutte)
4701 2005-10-10 Andy Wingo <wingo@pobox.com>
4703 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4704 gst_bin_get_state, cleaned up (but no logic changes).
4705 (bin_element_is_sink): Comment updates.
4706 (sink_iterator_filter): Remove needless cast.
4707 (gst_bin_iterate_sinks): Doc update.
4708 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4709 cleaned up (but no logic changes).
4711 * check/states/sinks.c (test_src_sink): Cleanups from the state
4713 (test_livesrc_sink): Sync on the state.
4715 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4716 the state change patch.
4718 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4721 * check/gst/gstbin.c: Merge in some style fixes and additional
4722 checks from Wim's state change patch.
4724 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4726 * gst/base/gsttypefindhelper.c: (helper_find_peek),
4727 (gst_type_find_helper):
4728 Check whether we have the requested data already in our list of
4729 cached buffers before pulling a new buffer; also make the buffer
4730 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4732 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4737 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4738 don't use long long, it's not portable. Replacing with
4739 gint64 seems to work; let's hope no skeletons fall out of the closet.
4741 2005-10-10 Andy Wingo <wingo@pobox.com>
4743 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4745 2005-10-09 Stefan Kost <ensonic@users.sf.net>
4747 * docs/gst/gstreamer-sections.txt:
4752 * gst/gstmessage.c: (gst_message_parse_state_changed):
4755 more docs, fix compilation
4757 2005-10-09 Philippe Khalaf <burger@speedy.org>
4759 Fixed a few forgotten variables on previous commit
4761 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
4763 * gst/base/gsttypefindhelper.c: (helper_find_peek):
4764 Fix evil typefind crasher: getrange() might return a short
4765 buffer at the end of a file, but gst_type_find_peek() must
4766 either return the full data as requested or NULL, but
4767 never a short buffer.
4769 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
4771 * gst/gstmessage.c: (gst_message_new_state_changed),
4772 (gst_message_parse_state_changed):
4774 don't use "new", it's a C++ keyword
4776 2005-10-08 Wim Taymans <wim@fluendo.com>
4778 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4779 * gst/gstelement.c: (gst_element_post_message):
4780 * gst/gstpipeline.c: (gst_pipeline_change_state):
4781 Small docs and debug updates.
4783 2005-10-08 Stefan Kost <ensonic@users.sf.net>
4785 * docs/gst/gstreamer-sections.txt:
4786 * gst/gstelementfactory.c:
4791 2005-10-08 Wim Taymans <wim@fluendo.com>
4793 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4794 (gst_bin_dispose), (bin_bus_handler):
4795 Fix typos, add comments.
4796 Clear EOS list when going to PAUSED from any direction and do it
4797 in a threadsafe way.
4798 Get base time in a threadsafe way too.
4799 Fix confusing debug in the change_state function.
4800 Various other small cleanups.
4802 * gst/gstelement.c: (gst_element_post_message):
4803 Fix very verbose bus posting code.
4805 * gst/gstpipeline.c: (gst_pipeline_class_init),
4806 (gst_pipeline_set_property), (gst_pipeline_get_property),
4807 (gst_pipeline_change_state):
4808 Small ARG_ -> PROP_ cleanup
4810 2005-10-08 Wim Taymans <wim@fluendo.com>
4812 * gst/gstbin.c: (is_eos), (bin_bus_handler):
4813 Do a less CPU demanding EOS check because we can.
4815 2005-10-08 Wim Taymans <wim@fluendo.com>
4817 * libs/gst/dataprotocol/dataprotocol.c:
4818 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4819 (gst_dp_packet_from_event):
4820 * libs/gst/dataprotocol/dataprotocol.h:
4821 * libs/gst/dataprotocol/dp-private.h:
4822 It's about time we bump the version number.
4823 Since event types don't fit in the guint8 anymore describing
4824 the payload type, make payload type 16 bits wide.
4826 2005-10-08 Wim Taymans <wim@fluendo.com>
4828 * docs/design/part-TODO.txt:
4829 * docs/design/part-clocks.txt:
4830 * docs/design/part-events.txt:
4831 * docs/design/part-gstbin.txt:
4832 * docs/design/part-gstelement.txt:
4833 * docs/design/part-gstpipeline.txt:
4834 * docs/design/part-live-source.txt:
4835 * docs/design/part-messages.txt:
4836 * docs/design/part-overview.txt:
4837 * docs/design/part-states.txt:
4840 2005-10-08 Wim Taymans <wim@fluendo.com>
4844 Fix event quark registration.
4845 Add some space between events so we can insert them in the
4848 2005-10-08 Wim Taymans <wim@fluendo.com>
4850 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4851 (gst_base_sink_handle_buffer):
4858 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4859 (gst_queue_set_property), (gst_queue_get_property):
4861 Remove old unused properties.
4863 2005-10-08 Stefan Kost <ensonic@users.sf.net>
4864 * docs/gst/gstreamer-sections.txt:
4867 * gst/gstminiobject.c:
4868 * gst/gstminiobject.h:
4872 lots of new docs and doc fixes
4874 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4876 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4878 * gst/gstregistry.c: (gst_registry_lookup_locked),
4879 (gst_registry_scan_path_level):
4880 * gst/gstregistryxml.c: (load_plugin):
4881 Only ever load one plugin for a given plugin basename.
4882 This ensures correct overriding of GST_PLUGIN_PATH over
4883 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4884 system installed plugins.
4886 2005-10-08 Wim Taymans <wim@fluendo.com>
4888 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4889 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4890 Prepare for doing QOS.
4892 2005-10-08 Wim Taymans <wim@fluendo.com>
4894 * check/gst/gstbin.c: (GST_START_TEST):
4895 * check/pipelines/cleanup.c: (GST_START_TEST):
4896 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4897 Allow new clock message too.
4899 2005-10-08 Wim Taymans <wim@fluendo.com>
4901 * gst/gstmessage.c: (gst_message_new_error),
4902 (gst_message_new_warning), (gst_message_new_tag),
4903 (gst_message_new_state_changed), (gst_message_new_clock_provide),
4904 (gst_message_new_clock_lost), (gst_message_new_new_clock),
4905 (gst_message_new_segment_start), (gst_message_new_segment_done),
4906 (gst_message_parse_state_changed),
4907 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4908 (gst_message_parse_new_clock):
4910 Also carry the clock in question.
4912 2005-10-08 Wim Taymans <wim@fluendo.com>
4914 * gst/gstmessage.c: (gst_message_new_custom),
4915 (gst_message_new_eos), (gst_message_new_error),
4916 (gst_message_new_warning), (gst_message_new_tag),
4917 (gst_message_new_state_changed), (gst_message_new_clock_provide),
4918 (gst_message_new_new_clock), (gst_message_new_segment_start),
4919 (gst_message_new_segment_done), (gst_message_parse_state_changed),
4920 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4923 Added clock related messages.
4925 * gst/gstpipeline.c: (gst_pipeline_change_state):
4926 Post message when the clock changed.
4928 * tools/gst-launch.c: (event_loop):
4931 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
4933 * tools/gst-inspect.c: (print_element_properties_info):
4934 Can't pass NULL strings to g_print() on windows.
4936 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4939 * docs/gst/Makefile.am:
4940 * docs/gst/gstreamer-docs.sgml:
4941 * docs/gst/running.xml:
4942 * docs/version.entities.in:
4943 add a chapter on running GStreamer.
4944 document GST_DEBUG and GST_PLUGIN* env vars
4946 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4951 remove PLUGINS_BUILDDIR stuff
4952 * gst/gst.c: (init_post):
4953 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4955 remove, it was condescending and not needed
4957 2005-10-08 Wim Taymans <wim@fluendo.com>
4959 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4960 (gst_base_sink_handle_object), (gst_base_sink_event),
4961 (gst_base_sink_wait), (gst_base_sink_handle_event),
4962 (gst_base_sink_change_state):
4963 * gst/base/gstbasesink.h:
4964 Repost EOS message while going to PLAYING if still EOS.
4965 Make sure that when receiving a FLUSH_START we don't attempt
4966 to sync on the clock anymore.
4968 2005-10-08 Wim Taymans <wim@fluendo.com>
4970 * tools/gst-launch.c: (event_loop):
4971 Better message printout.
4973 2005-10-08 Wim Taymans <wim@fluendo.com>
4975 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4976 (gst_bin_child_proxy_get_children_count):
4977 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4978 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4979 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4980 (gst_child_proxy_set_valist):
4981 * gst/parse/grammar.y:
4982 Make ChildProxy threadsafe and fix mem leaks.
4984 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4986 * gst/gst.c: (init_post):
4987 debug the GST_PLUGIN_ env vars
4989 2005-10-08 Wim Taymans <wim@fluendo.com>
4991 * check/gst/gstbin.c: (GST_START_TEST):
4992 * check/gst/gstmessage.c: (GST_START_TEST):
4993 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4994 * gst/gstelement.c: (gst_element_commit_state),
4995 (gst_element_lost_state):
4996 * gst/gstmessage.c: (gst_message_new_state_changed),
4997 (gst_message_parse_state_changed):
4999 * tools/gst-launch.c: (event_loop):
5000 Added extra field to STATE_CHANGE message with the pending
5001 state, which will be different from the new state soon.
5003 2005-10-08 Wim Taymans <wim@fluendo.com>
5005 * gst/gstbus.c: (gst_bus_pop):
5007 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5008 Small cleanups and doc updates.
5010 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5012 * gst/gst.c: (init_pre):
5013 * gst/gstbin.c: (gst_bin_add_func):
5014 log distributing clocks and base time
5015 * gst/gstregistry.c: (gst_registry_add_plugin),
5016 (gst_registry_scan_path_level), (gst_registry_scan_path):
5017 clean up the debugging output a little
5018 * gst/gstutils.c: (gst_element_state_get_name):
5019 warn about a memleak (I've actually seen this be used, though
5020 it was probably a bug)
5022 2005-10-07 Wim Taymans <wim@fluendo.com>
5024 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5025 (gst_base_src_init), (gst_base_src_default_newsegment),
5026 (gst_base_src_newsegment), (gst_base_src_do_seek),
5027 (gst_base_src_loop), (gst_base_src_start):
5028 * gst/base/gstbasesrc.h:
5029 Make the newsegment event customizable by subclasses.
5031 2005-10-07 Wim Taymans <wim@fluendo.com>
5033 * gst/gstevent.c: (gst_event_new_buffersize),
5034 (gst_event_parse_buffersize):
5036 New event for future idea.
5038 2005-10-07 Andy Wingo <wingo@pobox.com>
5040 * gst/gstelement.c (gst_element_post_message): Doc update.
5042 * docs/gst/gstreamer-sections.txt: Update.
5044 * gst/gstmessage.c (gst_message_new_application): Made into a
5045 function like honest API calls.
5046 (gst_message_new_element): New message type.
5048 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5050 * check/elements/fakesrc.c (test_no_preroll): New check, checks
5051 that setting a live fakesrc to PAUSED returns NO_PREROLL both
5054 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5055 NO_PREROLL from gst_element_change_state to fall through.
5057 2005-10-07 Wim Taymans <wim@fluendo.com>
5059 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5060 (gst_ghost_pad_do_activate_push):
5061 Activating a ghostpad with no internal pad in push mode
5064 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
5067 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5068 Fixes compilation on Windows.
5070 2005-10-07 Michael Smith <msmith@fluendo.com>
5072 * tools/gst-inspect.c:
5073 Print out feature and plugin count at the end when printing out
5076 2005-10-04 Michael Smith <msmith@fluendo.com>
5078 * gst/gsterror.c: (_gst_stream_errors_init):
5079 Add another error string used in a few existing plugins.
5082 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5083 * tools/gst-inspect.c: (print_element_info):
5084 When a feature disappears from a plugin (and the feature exists in
5085 the cached registry file), things went horribly wrong. This isn't a
5086 complete fix, we should actually be removing the 'missing' features
5087 from the features list when we load the actual plugin. That's not
5090 2005-10-04 Johan Dahlin <johan@gnome.org>
5092 * check/gst/gstiterator.c: (GST_START_TEST):
5093 * gst/gstbin.c: (gst_bin_iterate_elements),
5094 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5095 * gst/gstelement.c: (gst_element_iterate_pads):
5096 * gst/gstformat.c: (gst_format_iterate_definitions):
5097 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5098 (gst_iterator_new_list), (gst_iterator_filter):
5099 * gst/gstiterator.h:
5100 * gst/gstquery.c: (gst_query_type_iterate_definitions):
5101 Add a GType to GstIterator, update callsites and tests.
5103 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5105 * gst/gstpad.c: (gst_pad_event_default_dispatch):
5106 give events a chance to be handled by event probes when the pad
5109 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5111 * gst/gstevent.c: (gst_event_type_get_name),
5112 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5114 add string representations for event types
5116 2005-10-06 Wim Taymans <wim@fluendo.com>
5118 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5119 Don't use NULL pointers.
5121 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5123 * gst/gst_private.h:
5127 * gst/gstpluginfeature.c:
5128 widen the debug category in output to fit the biggest one we have
5129 add a bus category and use it
5130 play with the colors
5131 fix up some categories
5133 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5135 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5136 add push activation of sink ghost pads.
5137 Andye, please verify
5139 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5141 * gst/gstutils.c: (gst_element_link_pads):
5142 fix a bug in the case where neither element has a pad
5143 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5144 add a test for that case
5146 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5148 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5149 emit have-data before checking for peers. This allows
5150 for probe handlers to connect elements. This helps autopluggers.
5151 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5153 add six checks, linked/unlinked with no/true/false probe
5155 2005-10-04 Wim Taymans <wim@fluendo.com>
5157 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5158 (gst_fake_sink_event), (gst_fake_sink_preroll),
5159 (gst_fake_sink_render), (gst_fake_sink_change_state):
5160 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5161 (gst_fake_src_get_property), (gst_fake_src_create),
5162 (gst_fake_src_stop):
5163 * gst/elements/gstidentity.c: (gst_identity_stop):
5164 Protect last_message with lock.
5166 2005-10-04 Edward Hervey <edward@fluendo.com>
5169 Added precision in the comments for GST_FORMAT_DEFAULT
5171 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
5173 * tools/gst-launch.c: (main):
5174 Don't try to run erroneous pipelines.
5176 2005-10-04 Julien MOUTTE <julien@moutte.net>
5178 * gst/gstbus.c: We don't need this header.
5180 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5185 === release 0.9.3 ===
5187 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5191 Releasing 0.9.3, "Unregistered"
5193 2005-10-03 Andy Wingo <wingo@pobox.com>
5195 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5196 whereby calling a pad's activatepush() function can start a thread
5197 that starts to push or pull before the pad gets the FLUSHING flag
5198 unset. Hack around it by holding the stream lock until the flag is
5199 set. Need to replace this with a proper solution. Together with
5200 the ghost pad fixes, this fixes mp3 playing/tagreading.
5202 * docs/design/part-gstghostpad.txt: Add a note about activation of
5203 proxy pads outside of ghost pads.
5205 * gst/gstghostpad.c: Implement the ghost pad activation design.
5207 2005-10-02 Andy Wingo <wingo@pobox.com>
5209 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5210 It is volatile, after all.
5212 * docs/design/part-gstghostpad.txt: Flesh out activation with
5215 * gst/base/gstbasesrc.c (gst_base_src_init): Use
5218 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
5221 Fix (unused) AM_CONDITIONAL tests.
5223 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
5225 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5227 * gst/gstutils.c: (gst_pad_query_convert):
5228 Add assertion that makes sure src_val is >=0, just like
5229 gst_query_new_convert() has. (#315895)
5231 2005-09-30 Edward Hervey <edward@fluendo.com>
5233 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5234 Let's not iterate pads we're not interested in, it avoids getting
5235 sky-high refcounts on sinkpad.
5237 2005-09-30 Wim Taymans <wim@fluendo.com>
5239 * gst/gstelement.c: (gst_element_set_state),
5240 (gst_element_change_state):
5241 Small tweak, element in ASYNC remains ASYNC.
5243 2005-09-30 Wim Taymans <wim@fluendo.com>
5245 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5246 Only error is an error.
5248 * gst/gstbin.c: (gst_bin_change_state):
5251 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5252 Also call pad_block in pad alloc.
5254 * gst/gstutils.c: (gst_flow_get_name):
5257 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5259 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5260 (gst_base_src_get_range):
5261 Fix documentation typos. Add some more debug info.
5263 2005-09-29 David Schleef <ds@schleef.org>
5265 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5266 more end-user friendly.
5267 * tools/gst-inspect.c: (main): Check if command-line argument is
5268 a file and attempt to load that file as a plugin.
5270 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5272 * check/gst/gstbin.c:
5273 * check/states/sinks.c:
5274 fix tests for the new warning
5275 * check/gst/gstpipeline.c:
5276 add a test for pipeline and bus interaction
5278 elements should be NULL if they get disposed; add a warning if not
5280 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5283 for 2.6 refcounting, make debug log more correct by printing
5284 the actual refcounts at the time of swap (Wim)
5286 2005-09-29 Andy Wingo <wingo@pobox.com>
5288 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5289 removes signal watches previously added via
5290 gst_bus_add_signal_watch.
5291 (gst_bus_add_signal_watch): Don't return the source id, just store
5292 it on the bus if there wasn't an id already.
5294 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5295 add_signal_watch and remove_signal_watch.
5297 2005-09-29 Edward Hervey <edward@fluendo.com>
5299 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5300 Better if we actually iterate the list :)
5302 2005-09-29 Wim Taymans <wim@fluendo.com>
5304 * check/gst/gstbin.c: (GST_START_TEST):
5305 Change for new bus API.
5307 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5308 (send_messages), (GST_START_TEST), (gstbus_suite):
5309 Change for new bus signal API.
5311 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5312 (gst_bus_source_prepare), (gst_bus_source_check),
5313 (gst_bus_create_watch), (gst_bus_add_watch_full),
5314 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5315 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5317 Remove support for multiple GSources operating on different
5318 message types as it is too complex and unneeded when using
5320 Added support for receiving signals from the bus.
5322 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5324 * docs/libs/tmpl/gstdataprotocol.sgml:
5325 * docs/manual/advanced-dataaccess.xml:
5326 * gst/elements/gstcapsfilter.c:
5328 rename filter-caps to caps property
5330 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5332 * gst/gstvalue.c: (gst_value_deserialize_fraction):
5333 More robust fraction string parsing.
5335 * docs/pwg/appendix-porting.xml:
5336 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5338 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5340 * gst/gstcaps.c: (gst_caps_do_simplify):
5341 Thou shalt not free a structure and then continue using it
5342 in the next loop iteration.
5344 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5346 Add test case for caps simplification.
5348 2005-09-29 Wim Taymans <wim@fluendo.com>
5350 * check/gst/gstbin.c: (GST_START_TEST):
5353 2005-09-29 Wim Taymans <wim@fluendo.com>
5355 * check/gst/gstbin.c: (GST_START_TEST):
5358 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5359 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5360 (find_element), (gst_bin_sort_iterator_next),
5361 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5362 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5363 (gst_bin_change_state), (gst_bin_dispose):
5364 A bin does not have a bus, it gets the bus from the parent.
5366 * gst/gstelement.c: (gst_element_requires_clock),
5367 (gst_element_provides_clock), (gst_element_is_indexable),
5368 (gst_element_is_locked_state), (gst_element_change_state),
5369 (gst_element_set_bus_func):
5372 * gst/gstpipeline.c: (gst_pipeline_class_init),
5373 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5374 The pipeline provides a bus.
5376 2005-09-28 Johan Dahlin <johan@gnome.org>
5378 * gst/gstmessage.c (gst_message_parse_state_changed): Use
5379 gst_structure_get_enum instead of gst_structure_get_int
5381 * gst/gststructure.c (gst_structure_get_enum): Impl.
5383 * gst/gststructure.h (gst_structure_get_enum): Add
5385 * docs/gst/gstreamer-sections.txt: Ditto
5387 * gst/gstmessage.c (gst_message_new_state_changed): Use
5388 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5389 which does introspection.
5390 Reviewed by Christian Schaller
5392 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5394 * gst/gstinfo.c: (gst_debug_log_default):
5395 don't do dummy g_strdup()s
5396 * libs/gst/controller/gstcontroller.c:
5397 (on_object_controlled_property_changed),
5398 (gst_controlled_property_new), (gst_controller_new_valist),
5399 (gst_controller_new_list),
5400 (gst_controller_remove_properties_valist), (gst_controller_set),
5401 (gst_controller_get), (gst_controller_sync_values),
5402 (gst_controller_get_value_array), (_gst_controller_class_init),
5403 (gst_controller_get_type):
5404 * libs/gst/controller/gstcontroller.h:
5405 * libs/gst/controller/gstinterpolation.c:
5406 (gst_controlled_property_find_timed_value_node):
5407 convert // to /**/ comments
5409 2005-09-28 Wim Taymans <wim@fluendo.com>
5411 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5412 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5413 (gst_bus_sync_signal_handler):
5415 Added async-message and sync-message signals to the bus.
5416 Added helper BusFunc to emit signals for all posted messages.
5418 * gst/gstmessage.c: (gst_message_type_get_name),
5419 (gst_message_type_to_quark), (gst_message_get_type):
5421 Register quarks for message names.
5423 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5425 * docs/libs/gstreamer-libs-sections.txt:
5426 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5427 (gst_controller_new_list):
5428 * libs/gst/controller/gstcontroller.h:
5429 added another constructor for language bindings
5431 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
5433 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5437 * gst/gstinfo.c: (_gst_debug_init):
5438 slightly more readable color for refcount debugging
5440 2005-09-28 Wim Taymans <wim@fluendo.com>
5442 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5443 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5444 (find_element), (gst_bin_sort_iterator_next),
5445 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5446 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5447 (gst_bin_change_state), (gst_bin_dispose):
5448 Small doc fixes. get_clock -> provide_clock.
5450 * gst/gstelement.c: (gst_element_class_init),
5451 (gst_element_provides_clock), (gst_element_provide_clock),
5452 (gst_element_get_clock), (gst_element_commit_state),
5453 (gst_element_lost_state):
5455 Make get/set_clock() symetric. Add provide_clock vmethod since
5456 that is actually what this function does.
5458 * gst/gstpipeline.c: (gst_pipeline_class_init),
5459 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5460 (gst_pipeline_get_clock):
5461 get_clock -> provide_clock.
5463 2005-09-28 Andy Wingo <wingo@pobox.com>
5465 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5466 lieu of real docs...
5468 * gst/elements/gstfdsrc.c: Cleaned up a bit.
5470 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
5472 * gst/elements/gstcapsfilter.c:
5473 * gst/elements/gstfakesink.c:
5474 * gst/elements/gstfakesrc.c:
5475 * gst/elements/gstfdsink.c:
5476 * gst/elements/gstfdsrc.c:
5477 * gst/elements/gstfilesink.c:
5478 * gst/elements/gstfilesrc.c:
5479 * gst/elements/gstidentity.c:
5480 * gst/elements/gsttee.c:
5481 * gst/elements/gsttypefindelement.c:
5482 Make element details static.
5484 2005-09-28 Wim Taymans <wim@fluendo.com>
5486 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5487 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5488 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5489 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5490 (gst_bin_change_state), (gst_bin_dispose):
5491 Some documentation updates.
5492 Clean up dispose handlers.
5494 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5495 * gst/gstpad.c: (gst_pad_dispose):
5496 Clean up dispose handler.
5498 * gst/gstpipeline.c: (gst_pipeline_change_state):
5499 Removed spurious UNLOCK.
5501 2005-09-27 Stefan Kost <ensonic@users.sf.net>
5503 * docs/gst/gstreamer-sections.txt:
5504 * gst/base/gstbasesrc.h:
5509 * gst/gstpipeline.c:
5510 * gst/gstpipeline.h:
5513 added two new functions to the docs
5514 documents all undocumented GstXXXFlags
5515 completed some incomplete docs
5517 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
5519 * gst/gstbin.c: (gst_bin_dispose):
5520 * gst/gstelement.c: (gst_element_dispose):
5521 remove now useless and leaky resurrection code in dispose
5522 * gst/base/gstbasesrc.c: (gst_base_src_init):
5523 * gst/gstelementfactory.c: (gst_element_factory_create):
5524 * gst/gstobject.c: (gst_object_set_parent):
5527 2005-09-27 Wim Taymans <wim@fluendo.com>
5529 * docs/design/part-TODO.txt:
5532 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5533 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5534 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5535 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5536 (gst_bin_change_state):
5538 Remove element variable, we keep element info in the iterator now.
5540 2005-09-27 Andy Wingo <wingo@pobox.com>
5542 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5545 2005-09-27 Wim Taymans <wim@fluendo.com>
5547 * check/gst/gstbin.c: (GST_START_TEST):
5548 Enable check that works now.
5550 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5551 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5552 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5553 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5554 (gst_bin_change_state):
5556 Redid the state change algorithm using a topological sort algo.
5557 Handles all cases correctly.
5558 Exposed iterator for state change order.
5561 Temp storage for state changes. Need to get rid of this soon.
5563 2005-09-27 Wim Taymans <wim@fluendo.com>
5565 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5566 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5567 (link_fold_func), (gst_pad_proxy_setcaps):
5568 Leak fixes, the fold functions need to unref the passed object and
5569 _get_parent_*() returns ref to parent.
5571 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5573 * check/gst/gstbuffer.c: (test_make_writable):
5574 Plug leak in test case and fix 'make check-valgrind'
5576 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5578 * gst/gstbuffer.c: (gst_subbuffer_init):
5579 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5580 works correctly in all circumstances (we could have just copied
5581 the parent buffer's readonly flag, but conceptually it seems
5582 cleaner to mark all subbuffers as read-only). (based on patch
5583 by Alessandro Decina, #314710).
5585 * check/gst/gstbuffer.c: (create_read_only_buffer),
5586 (test_make_writable), (test_subbuffer_make_writable),
5588 Add some tests for gst_buffer_make_writable().
5590 2005-09-27 Wim Taymans <wim@fluendo.com>
5592 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5593 use gst_object_has_ancestor().
5595 * gst/gstobject.c: (gst_object_has_ancestor):
5597 gst_object_has_ancestor() copied from gstbin.c as it is a
5600 * tests/instantiate/create.c: (create_all_elements):
5601 * tests/lat.c: (handoff_src), (handoff_sink):
5602 * tests/sched/runxml.c: (main):
5603 * tests/seeking/seeking1.c: (main):
5604 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5606 Fix compilation of some tests.
5608 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5611 Remove comment. GST_TYPE_G_ERROR is here to stay,
5612 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5615 2005-09-26 Wim Taymans <wim@fluendo.com>
5617 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5618 Added check that shows error in state change order.
5620 2005-09-26 Wim Taymans <wim@fluendo.com>
5622 * gst/gstbin.c: (gst_bin_change_state):
5623 Make state change function use 3 queues again, we were
5624 adding elements in the wrong order.
5626 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5629 * gst/gstpad.c: (gst_pad_dispose):
5630 Added some debug info first.
5632 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
5634 * docs/design/draft-push-pull.txt:
5635 * docs/design/part-events.txt:
5636 * docs/design/part-overview.txt:
5637 * docs/design/part-scheduling.txt:
5638 Replace all _pull_region() with _pull_range()
5640 2005-09-26 Andy Wingo <wingo@pobox.com>
5642 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5644 * check/gst-libs/controller.c: Update for controller api change.
5647 * tests/Makefile.am:
5648 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5649 over by GLib bug 118439.
5651 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5652 routines to a function.
5654 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5656 * libs/gst/controller/gsthelper.c:
5657 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5658 (gst_object_sync_values): Renamed from sink_values. Ugh.
5660 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5662 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5663 Renamed from controller_key, as it is exported.
5665 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5667 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
5672 * gst/gstpadtemplate.h:
5675 * gst/gstqueryutils.c:
5676 * gst/gstqueryutils.h:
5677 remove queryutils headers after moving the two used functions
5678 to gstquery. also fixes build problem for gstsiddec
5680 2005-09-26 Michael Smith <msmith@fluendo.com>
5682 * tools/gst-launch.1.in:
5683 Correct documentation in manpage of debug syntax
5685 2005-09-26 Wim Taymans <wim@fluendo.com>
5687 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5688 (gst_base_src_is_seekable), (gst_base_src_change_state):
5689 Some more debugging info.
5691 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5693 * docs/gst/gstreamer-sections.txt:
5694 * gst/base/gstbasetransform.h:
5698 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5700 * docs/gst/.cvsignore:
5701 * docs/gst/tmpl/.cvsignore:
5702 * docs/gst/tmpl/gstpipeline.sgml:
5703 * docs/gst/tmpl/gstplugin.sgml:
5704 * gst/gstpipeline.c:
5707 inlined the last two docs files
5708 removed the tmpl directory from cvs (no more conflicts here!)
5710 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5712 * docs/gst/gstreamer-sections.txt:
5713 * docs/gst/tmpl/.cvsignore:
5714 * docs/gst/tmpl/gstpad.sgml:
5715 * docs/gst/tmpl/gstpadtemplate.sgml:
5717 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5718 (gst_pad_finalize), (gst_pad_set_pad_template):
5720 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5721 (gst_pad_template_class_init), (gst_pad_template_init),
5722 (gst_pad_template_dispose), (name_is_valid),
5723 (gst_static_pad_template_get), (gst_pad_template_new),
5724 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5725 (gst_pad_template_pad_created):
5726 * gst/gstpadtemplate.h:
5727 inlined two more docs
5728 factored gstpadtemplate out of gstpad
5730 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
5732 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5733 (test_children_state_change_order_semi_sink):
5734 Fix test case: we can't rely on a fixed state change order when
5735 going from READY => PAUSED because the sink might commit its
5736 new state first when the first buffer created by the source
5737 reaches the sink before the source has finished its change state.
5738 (Test case still fails at times, see #316856, comment 5 onwards)
5740 2005-09-24 Wim Taymans <wim@fluendo.com>
5742 * docs/design/part-events.txt:
5743 * docs/design/part-gstbus.txt:
5744 * docs/design/part-gstpipeline.txt:
5745 * docs/design/part-messages.txt:
5746 * docs/design/part-overview.txt:
5747 * docs/design/part-segments.txt:
5754 * gst/gstiterator.c:
5755 Various documentation updates.
5757 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
5760 Well, that's embarassing. Luckily we weren't using
5761 GST_CLOCK_DIFF anywhere.
5763 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5765 * common/gtk-doc.mak:
5766 don't fail on building XML, FC4 slave shows a bunch of doc
5767 missing bits that I don't get
5769 * gst/gstpipeline.c:
5770 * gst/gststructure.c:
5773 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
5775 * docs/design/part-gstbin.txt:
5776 * docs/design/part-gstbus.txt:
5778 Add blurb about how the bus goes into flushing mode and
5779 drops all messages when its bin goes from READY into NULL
5782 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5784 * docs/gst/gstreamer-sections.txt:
5785 * gst/gststructure.c: (gst_structure_get_clock_time):
5786 * gst/gststructure.h:
5787 add a method to get a GstClockTime out of a structure
5789 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
5791 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5792 (test_children_state_change_order_semi_sink), (gst_bin_suite):
5793 Added test to check state change order in bins (can still be made
5794 to fail here under heavy disk load; bails out with 'Push on pad
5795 fakesink:sink0, but it was not activated in push mode').
5797 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5798 Fix state change order when there is only a semi sink (#316856)
5800 * gst/gstbus.c: (gst_bus_class_init):
5801 Use _class_peek_parent(), not _class_ref(); fix docs to say
5802 'default main context' instead of 'mainloop' where that is
5805 * gst/gstelement.c: (gst_element_commit_state),
5806 (gst_element_set_state):
5807 Fix typos in debug messages
5809 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5812 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5813 * gst/gstpluginfeature.c:
5816 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5817 change an assert into an error until it gets fixed properly
5819 2005-09-23 Stefan Kost <ensonic@users.sf.net>
5821 * docs/gst/gstreamer-sections.txt:
5822 * docs/gst/tmpl/.cvsignore:
5823 * docs/gst/tmpl/gstelement.sgml:
5824 * docs/gst/tmpl/gstinfo.sgml:
5825 * docs/gst/tmpl/gstobject.sgml:
5830 * gst/gstobject.c: (gst_object_class_init):
5832 inlined 3 more biiiig doc files and added some missing docs on the fly
5834 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5836 * check/gst/.cvsignore:
5837 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5838 * gst/gstregistryxml.c: (load_plugin),
5839 (gst_registry_xml_save_plugin):
5840 put back source in registry. add checks for find_plugin.
5841 * testsuite/states/bin.c: (assert_state), (empty_bin),
5842 (test_adding_one_element), (main):
5843 * testsuite/states/locked.c: (main):
5844 some compile/run fixes
5846 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
5848 * check/gst/gstvalue.c: (GST_START_TEST):
5849 fix leaks in the test itself
5851 2005-09-22 Wim Taymans <wim@fluendo.com>
5853 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5854 (gst_base_sink_send_event), (gst_base_sink_peer_query),
5855 (gst_base_sink_query):
5856 Prepare for more accurate position reporting and query
5859 * gst/gstelement.c: (gst_element_send_event),
5860 (gst_element_set_state):
5863 2005-09-22 Wim Taymans <wim@fluendo.com>
5865 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5866 (gst_query_parse_segment):
5869 Add segment query for future use.
5871 2005-09-22 Wim Taymans <wim@fluendo.com>
5873 * gst/gstbin.c: (gst_bin_add_func):
5874 Some more debug info.
5876 * gst/gstelement.c: (gst_element_send_event):
5880 Don't know how flags got broken.
5885 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
5887 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5888 Add simplistic test suite for GST_TYPE_DATE serialisation and
5891 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
5893 * docs/gst/gstreamer-sections.txt:
5894 * gst/gststructure.c: (gst_structure_set_valist),
5895 (gst_structure_get_date):
5896 * gst/gststructure.h:
5897 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5898 (gst_date_copy), (gst_value_compare_date),
5899 (gst_value_serialize_date), (gst_value_deserialize_date),
5900 (gst_value_transform_date_string),
5901 (gst_value_transform_string_date), (_gst_value_initialize):
5903 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5904 bunch of utility functions along with a hack that checks that
5905 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5906 is required. Part of the grand scheme in #170777.
5908 2005-09-22 Andy Wingo <wingo@pobox.com>
5910 * gst/gstconfig.h.in: Psych out gtk-doc.
5912 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5914 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5916 * tools/gst-inspect.c (print_element_list): Plug some
5917 inconsequential leaks.
5919 * gst/gstregistry.c (gst_registry_get_default): Doc.
5921 * check/gst/gstplugin.c:
5922 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5923 * gst/gstelementfactory.c (gst_element_factory_create):
5924 * gst/gstindexfactory.c (gst_index_factory_create): Update for
5927 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5928 (gst_plugin_feature_load): Doc, don't eat refs.
5930 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5931 (gst_plugin_list_free): Doc.
5932 (gst_plugin_load_file): Doc updates.
5934 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5935 accessors returning refcounted objects, return a ref.
5937 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5938 accessor for caps. IDEMPOTENCE. Oh yes.
5940 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
5942 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5944 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5945 (_gst_debug_register_funcptr):
5946 Add mutex to serialise access to the hash table with
5947 the function pointer => function name string mapping;
5948 make that hash table static scope (#316809).
5950 * gst/registries/.cvsignore:
5951 Remove left-over file.
5953 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
5955 * docs/pwg/appendix-porting.xml:
5956 And something about newsegment events and caps-on-buffers to
5957 the porting guide (feel free to improve).
5959 2005-09-21 Andy Wingo <wingo@pobox.com>
5961 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5962 data and event probes on the same pad.
5963 (test_buffer_probe_once): Test that removing probes from within
5964 the probe functions works.
5966 2005-09-21 Andy Wingo <wingo@pobox.com>
5968 * check/gst/gstutils.c: New file.
5969 (test_buffer_probe_n_times): A simple buffer probe test. More to
5972 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5973 have-data::buffer, not have-data.
5974 (gst_pad_add_event_probe): Likewise for have-data::event.
5975 (gst_pad_add_data_probe): More docs. The part about 'resolving the
5976 peer' isn't quite right yet though.
5977 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
5978 (gst_pad_remove_data_probe): Change to take the guint handler_id
5979 as their arg, not the function+data, which is more glib-like.
5981 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5982 the signal emission to indicate if the data is a buffer or an
5984 (gst_pad_get_type): Initialize buffer and event quarks.
5985 (gst_pad_class_init): have-data is now a detailed signal, yes it
5988 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
5990 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5991 * gst/gstutils.c: (gst_util_set_value_from_string),
5992 (gst_util_set_object_arg):
5993 Don't put functional code in g_return_if_fail() or
5994 g_return_val_if_fail() statements, otherwise things will
5995 break when G_DISABLE_CHECKS is defined during compilation.
5997 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5999 * docs/gst/tmpl/.cvsignore:
6000 * docs/gst/tmpl/gstvalue.sgml:
6003 inlied another one and added some obvious docs
6005 2005-09-21 Wim Taymans <wim@fluendo.com>
6007 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6008 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6009 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6010 (gst_fdsrc_get_property), (gst_fdsrc_create):
6011 * gst/elements/gstfdsrc.h:
6012 Properly implement fdsrc. Removed signal and timeout,
6013 better implemented somewhere else.
6015 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6017 * docs/gst/tmpl/.cvsignore:
6018 * docs/gst/tmpl/gstimplementsinterface.sgml:
6019 * gst/gstinterface.c:
6022 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6024 * docs/gst/gstreamer-sections.txt:
6025 * docs/gst/tmpl/.cvsignore:
6026 * docs/gst/tmpl/gstenumtypes.sgml:
6027 remove obsolete doc file
6029 2005-09-21 David Schleef <ds@schleef.org>
6031 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6032 little beer, fix a little leak.
6034 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6036 * docs/gst/gstreamer-docs.sgml:
6037 * docs/gst/gstreamer-sections.txt:
6038 * docs/gst/tmpl/.cvsignore:
6043 * gst/gstindex.c: (gst_index_class_init):
6045 * gst/gstindexfactory.c: (gst_index_factory_get_type),
6046 (gst_index_factory_class_init), (gst_index_factory_init),
6047 (gst_index_factory_finalize), (gst_index_factory_new),
6048 (gst_index_factory_destroy), (gst_index_factory_find),
6049 (gst_index_factory_create), (gst_index_factory_make):
6050 * gst/gstindexfactory.h:
6051 * gst/gstpluginfeature.c:
6052 * gst/gstpluginfeature.h:
6053 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6054 more docs inlined, splitted gstindex.{c,h}
6056 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6058 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6061 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6063 * gst/elements/gstfilesink.c: (gst_file_sink_init):
6064 Set sync to FALSE by default.
6066 2005-09-20 Wim Taymans <wim@fluendo.com>
6068 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6069 (gst_base_sink_init):
6070 Make sync property settable from subclass.
6072 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6073 (gst_fake_sink_change_state):
6074 Set sync to FALSE by default.
6076 2005-09-20 Wim Taymans <wim@fluendo.com>
6078 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6079 * tools/gst-launch.c: (main):
6080 The timeout handler should have lower priority than the source
6081 so we don't timeout before popping a message with 0 timeout.
6082 Dump error messages after failed state change.
6084 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6086 * tools/gst-inspect.c: (print_element_properties_info):
6089 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6091 * check/gst/gstevent.c:
6092 * gst/elements/gstfakesink.c:
6093 * gst/elements/gstfakesink.h:
6094 remove the sync property from fakesink.
6095 has the side effect of setting sync TRUE
6096 for fakesink, which is a change. Anyone who knows how
6097 to fix this nicely in a GObject-y way, feel free.
6099 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6101 * docs/gst/gstreamer-docs.sgml:
6102 remove probe refsection
6104 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6106 * check/Makefile.am:
6107 disable valgrinding the controller test again
6108 * docs/gst/gstreamer-sections.txt:
6109 update for api-changes
6111 2005-09-20 Wim Taymans <wim@fluendo.com>
6113 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6114 (gst_base_sink_set_property), (gst_base_sink_get_property),
6115 (gst_base_sink_do_sync):
6116 * gst/base/gstbasesink.h:
6117 Added sync property to basesink to disable clock sync.
6119 2005-09-20 Andy Wingo <wingo@pobox.com>
6121 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6122 eating the caller's refcount.
6124 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
6125 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6128 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6129 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6130 of GLib 2.8 public, so we can know which refcount to check in
6133 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6134 (gst_object_init): Only set the gst refcount if we're going ahead
6135 with the refcount hack.
6137 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6139 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6140 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6141 more leaks plumbed, added more debug-logging
6145 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6148 remove include of gstmemchunk.h
6150 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6152 * gst/gstclock.c: (_gst_clock_id_free):
6153 Commit from the Political Party For More Atomic CVS Commits,
6154 so that people don't waste too much of their day fishing
6155 out obvious leaks out of massive commits.
6156 Oh, and fix a pretty damn obvious leak in the memchunk
6159 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6161 * check/Makefile.am:
6162 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6163 plug mem-leak, re-add to valgrindable tests
6165 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6168 unbreak the build for those who have chronic arthritis
6169 and typing "make check" is just too taxing on the hands
6171 2005-09-20 Andy Wingo <wingo@pobox.com>
6173 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6174 really want it out, you should fix plugins at the same time.
6176 2005-09-19 Stefan Kost <ensonic@users.sf.net>
6179 * docs/gst/gstreamer-sections.txt:
6181 added missing symbols to api docs
6182 disable ref-count hack if we have glib >= 2.8
6184 2005-09-19 David Schleef <ds@schleef.org>
6186 * docs/gst/Makefile.am: Ignore a few more internal headers
6187 * docs/gst/gstreamer-docs.sgml: Remove old sections
6188 * docs/gst/gstreamer-sections.txt: Remove old sections
6189 * docs/gst/tmpl/gstobject.sgml: update
6190 * docs/gst/tmpl/gstplugin.sgml: update
6191 * docs/gst/tmpl/gstpluginfeature.sgml: update
6192 * docs/random/ds/0.9-suggested-changes: update.
6193 * gst/Makefile.am: remove memchunk and trashstack, since they're
6195 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6196 * gst/gst.h: don't include some headers
6197 * gst/gstchildproxy.c: add gstmarshal.h
6198 * gst/gstclock.c: Don't use memchunks
6199 * gst/gstminiobject.c: Add some docs
6200 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6201 * gst/gstobject.h: same
6202 * gst/gstplugin.c: include gstmacros.h
6203 * gst/gstplugin.h: don't include gstmacros.h, since it's private
6204 * gst/gstquery.c: don't use memchunks
6205 * gst/gstregistry.c: rename gst_registry_deinit()
6206 * gst/gstregistry.h: same
6208 2005-09-19 David Schleef <ds@schleef.org>
6210 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6211 * docs/libs/gstreamer-libs-sections.txt:
6212 * docs/libs/tmpl/gstgetbits.sgml:
6213 * docs/libs/tmpl/gstputbits.sgml:
6215 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
6217 * win32/gstenumtypes.c:
6218 * win32/gstenumtypes.h:
6221 2005-09-19 Wim Taymans <wim@fluendo.com>
6223 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6224 Automatically PAUSE and RESUME a pipeline when a flushing seek
6227 2005-09-19 Andy Wingo <wingo@pobox.com>
6229 * gst/gstregistry.h: Spacing fixen.
6231 2005-09-19 Wim Taymans <wim@fluendo.com>
6233 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6234 Handle state change failure more correctly.
6236 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6238 * check/Makefile.am:
6239 * check/pipelines/cleanup.c: (run_pipeline):
6240 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6242 enable cleanup again after fixing the leak
6244 some more info on docs
6246 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6248 * check/Makefile.am:
6249 re-enable tests now that leaks are plugged
6251 * check/gst/gstbin.c:
6252 * check/gst/gstpipeline.c:
6253 add some more tests while fixing leaks
6255 make sure binaries are uptodate when valgrinding/gdbing
6257 * gst/gstelementfactory.c:
6258 remove a ref too many, and add a FIXME for when we get
6259 round to disposing of classes
6261 fix the refcounting when loading a plugin from a file and
6262 the code pretends that the pointer is the same even though
6263 of course it can change
6264 * gst/gstpluginfeature.c:
6265 unref plugins marked cached (a bit confusing as a name)
6266 as the docs state should be done
6267 various doc additions to explain refcounting
6268 * gst/gstregistry.c:
6269 * gst/gstregistryxml.c:
6272 2005-09-19 Wim Taymans <wim@fluendo.com>
6274 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6275 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6276 (send_messages), (GST_START_TEST), (gstbus_suite):
6277 * check/gst/gstpipeline.c: (GST_START_TEST):
6278 * check/pipelines/cleanup.c: (run_pipeline):
6279 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6281 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6282 (gst_bus_source_check), (gst_bus_source_dispatch),
6283 (gst_bus_create_watch), (gst_bus_add_watch_full),
6284 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6286 * tools/gst-launch.c: (event_loop):
6287 * tools/gst-md5sum.c: (event_loop):
6288 GstBusHandler -> GstBusFunc, return value has the same meaning as
6289 any other GSource (FALSE == remove source).
6290 _add_watch() and _add_watch_full() now take a MessageType mask to
6291 only handle specific types of messages.
6292 _poll() returns the GstMessage instead of the message type to avoid
6294 _have_pending() takes a MessageType mask now too.
6295 Added testsuite for multiple bus watches.
6296 Fix testsuites and applications for new bus API.
6298 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6300 * check/Makefile.am:
6301 mark a bunch of the tests as to fix until we fix them
6303 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6306 use GST_PLUGIN settings for valgrind tests as well, so we're
6307 valgrinding the correct thing
6308 * gst/gst.c: (init_post):
6311 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6313 * gst/gst.c: (init_post), (gst_deinit):
6314 * gst/gstelementfactory.c: (gst_element_factory_class_init),
6315 (gst_element_factory_finalize), (gst_element_factory_cleanup):
6316 * gst/gstindex.c: (gst_index_factory_class_init),
6317 (gst_index_factory_finalize):
6318 * gst/gstobject.c: (gst_object_dispose):
6319 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6320 (gst_plugin_load_file), (gst_plugin_desc_free):
6321 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6322 (gst_plugin_feature_finalize):
6323 * gst/gstregistry.c: (gst_registry_class_init),
6324 (gst_registry_init), (gst_registry_finalize),
6325 (gst_registry_get_default), (gst_registry_deinit):
6326 * gst/gstregistry.h:
6327 * gst/gstregistryxml.c: (load_feature), (load_plugin):
6328 various cleanups and memleak plugging. make valgrind is happy now.
6330 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6333 add a check-valgrind target
6335 2005-09-18 David Schleef <ds@schleef.org>
6337 * tools/gst-inspect.c: Revert the GOption code.
6339 2005-09-17 David Schleef <ds@schleef.org>
6341 * check/Makefile.am: Fix environment variables.
6342 * check/gst/gstplugin.c: Fix for API changes.
6343 * tools/gst-inspect.c: Fix for API changes.
6344 * tools/gst-xmlinspect.c: Fix for API changes.
6345 * gst/gstelementfactory.c:
6348 * gst/gstpluginfeature.c:
6349 * gst/gstpluginfeature.h:
6350 * gst/gstregistry.c:
6351 * gst/gstregistry.h:
6352 * gst/gstregistryxml.c:
6353 * gst/gsttypefind.c:
6354 * gst/gsttypefindfactory.c:
6355 * gst/indexers/gstfileindex.c:
6356 * gst/indexers/gstmemindex.c:
6357 * gst/schedulers/Makefile.am:
6358 Change registry to keep track of both plugins and features,
6359 removing the feature tracking from plugins themselves.
6361 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
6363 * check/Makefile.am:
6364 * tools/gst-register.1.in:
6367 2005-09-15 David Schleef <ds@schleef.org>
6369 * check/gst/gstplugin.c:
6370 * gst/gstelementfactory.c:
6372 * gst/gstpluginfeature.c:
6373 * gst/gstregistry.c:
6374 Getting tired of debugging. Disabled all the unreffing of
6375 plugins and features, which fixes the segfaults, but of
6376 course leaks like crazy. At least playbin works.
6378 2005-09-15 David Schleef <ds@schleef.org>
6380 * check/gst/gstplugin.c: (register_check_elements),
6381 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6383 * gst/elements/gsttypefindelement.c: Fix refcounting.
6384 * gst/gsttypefind.c:
6385 * gst/gsttypefindfactory.c:
6386 * gst/gsttypefindfactory.h:
6388 2005-09-15 David Schleef <ds@schleef.org>
6390 * gst/gstindex.c: get refcounting correct.
6391 * gst/gstregistry.c: Handle the case where a feature/plugin is
6394 2005-09-15 David Schleef <ds@schleef.org>
6396 * check/Makefile.am:
6397 * check/gst/gstplugin.c: Add test
6398 * gst/gstplugin.c: Fix problems noticed by testsuite
6400 * gst/gstregistry.c:
6401 * gst/gstregistry.h:
6403 2005-09-15 David Schleef <ds@schleef.org>
6405 * gst/gstplugin.c: Implement semi-decent recounting and locking
6406 in plugins and plugin features.
6408 * gst/gstpluginfeature.c:
6409 * gst/gstpluginfeature.h:
6410 * gst/gstregistry.c:
6412 2005-09-15 Michael Smith <msmith@fluendo.com>
6414 * gst/gstregistry.c: (gst_registry_get_feature_list):
6415 Implement this. Makes oggdemux work; decodebin still broken.
6417 2005-09-14 David Schleef <ds@schleef.org>
6419 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6421 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6422 * gst/check/Makefile.am:
6423 * libs/gst/controller/Makefile.am:
6424 * libs/gst/dataprotocol/Makefile.am:
6426 2005-09-14 David Schleef <ds@schleef.org>
6428 * configure.ac: Remove getbits library. Nothing uses it, and
6429 it should be in something like liboil if someone did want
6431 * libs/gst/Makefile.am:
6432 * libs/gst/getbits/Makefile.am:
6433 * libs/gst/getbits/gbtest.c:
6434 * libs/gst/getbits/getbits.c:
6435 * libs/gst/getbits/getbits.h:
6436 * libs/gst/getbits/gstgetbits_generic.c:
6437 * libs/gst/getbits/gstgetbits_i386.s:
6438 * libs/gst/getbits/gstgetbits_inl.h:
6440 2005-09-14 David Schleef <ds@schleef.org>
6442 * gst/Makefile.am: Dist glib-compat.h
6444 2005-09-14 David Schleef <ds@schleef.org>
6446 * configure.ac: Remove gst/registries, since it's no longer used.
6447 * gst/registries/Makefile.am:
6448 * gst/registries/gstlibxmlregistry.c:
6449 * gst/registries/gstlibxmlregistry.h:
6450 * gst/registries/gstxmlregistry.c:
6451 * gst/registries/gstxmlregistry.h:
6452 * gst/registries/registrytest.c:
6454 2005-09-14 David Schleef <ds@schleef.org>
6456 * gst/glib-compat.h:
6457 * gst/gstregistryxml.c:
6458 Convergence is near. Seriously.
6460 2005-09-14 David Schleef <ds@schleef.org>
6462 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6463 * gst/glib-compat.h:
6464 Attempt #4 to appease the buildbots.
6466 2005-09-14 David Schleef <ds@schleef.org>
6468 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6471 2005-09-14 David Schleef <ds@schleef.org>
6473 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6476 2005-09-14 David Schleef <ds@schleef.org>
6478 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6481 2005-09-14 David Schleef <ds@schleef.org>
6483 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6484 * gst/glib-compat.h: Add some functions that are in newer versions
6485 of glib than we care to require.
6486 * gst/gstregistryxml.c: Use them.
6488 2005-09-14 David Schleef <ds@schleef.org>
6490 * po/POTFILES.in: remove gst-register.c
6492 2005-09-14 David Schleef <ds@schleef.org>
6494 * docs/gst/gstreamer-docs.sgml:
6495 * docs/gst/gstreamer-sections.txt:
6496 * docs/gst/gstreamer.types:
6497 * docs/gst/tmpl/gstelement.sgml:
6498 * docs/gst/tmpl/gstplugin.sgml:
6499 * docs/gst/tmpl/gstpluginfeature.sgml:
6500 Documentation updates for registry changes.
6502 2005-09-14 David Schleef <ds@schleef.org>
6504 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6505 because we don't require glib-2.8.
6507 2005-09-14 David Schleef <ds@schleef.org>
6509 * gst/gstregistryxml.c: Added. Essentially moved out of the
6510 registries directory.
6512 2005-09-14 David Schleef <ds@schleef.org>
6514 * check/Makefile.am:
6515 * check/generic/states.c:
6519 * gst/gst_private.h:
6520 * gst/gstelementfactory.c:
6525 * gst/gstpluginfeature.c:
6526 * gst/gstpluginfeature.h:
6527 * gst/gstregistry.c:
6528 * gst/gstregistry.h:
6529 * gst/gstregistrypool.c: remove
6530 * gst/gstregistrypool.h: remove
6531 * gst/gsttypefind.c:
6532 * gst/gsttypefindfactory.c:
6534 * tools/Makefile.am:
6535 * tools/gst-compprep.c:
6536 * tools/gst-inspect.c:
6537 * tools/gst-register.c: remove
6538 * tools/gst-xmlinspect.c:
6539 Registry rewrite. Changes registry from being a file created
6540 by a tool into a simple cache file created automatically by
6541 libgstreamer. Removed gst-register (because it's no longer
6542 needed). Remove registry pools, because we only have one
6543 registry implementation (XML). Fix up other subsystems as
6546 2005-09-13 Michael Smith <msmith@fluendo.com>
6548 * gst/gstconfig.h.in:
6549 Don't Use windows linking attributes for MinGW. Fixes #316157
6551 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
6553 * gst/gstutils.c: (set_state_async_thread_func),
6554 (gst_element_set_state_async):
6555 Apparently people think it's better if this function doesn't
6556 try to set the state to whatever state was asked for on the first
6557 call to this function for any object. Seriously.
6559 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6561 * check/gst/gstpipeline.c: (GST_START_TEST):
6562 * docs/gst/gstreamer-sections.txt:
6563 * gst/gstutils.c: (set_state_async_thread_func),
6564 (gst_element_set_state_async):
6566 add a "gst_element_set_state_async" method that
6567 sets the state and starts a thread to make sure the state
6568 change completes as best as it can
6570 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6572 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6573 codify design+behaviour in testsuite after discussion
6575 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6577 * docs/gst/tmpl/gstelement.sgml:
6578 * docs/manual/appendix-quotes.xml:
6580 * gst/gstelement.c: (gst_element_set_state):
6583 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
6585 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6586 (gst_base_transform_prepare_output_buf),
6587 (gst_base_transform_handle_buffer):
6588 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6589 (gst_capsfilter_prepare_buf):
6590 Remove the requirement for sub-classes to call the parent
6591 implementation of prepare_output_buffer with a wrapper function.
6594 * gst/gsttagsetter.h:
6597 2005-09-11 Stefan Kost <ensonic@users.sf.net>
6599 * docs/gst/gstreamer-sections.txt:
6602 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6604 * docs/gst/gstreamer-sections.txt:
6605 * docs/gst/tmpl/gstelement.sgml:
6606 * docs/gst/tmpl/gstplugin.sgml:
6607 * gst/gstminiobject.c:
6609 docs now stop throwing warnings
6611 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6613 * docs/gst/gstreamer-sections.txt:
6614 * docs/gst/gstreamer.types:
6615 * docs/gst/tmpl/gstpad.sgml:
6616 * docs/gst/tmpl/gsttypes.sgml:
6617 * gst/base/gstadapter.h:
6618 * gst/base/gstbasesink.h:
6619 * gst/base/gstbasesrc.h:
6629 * gst/gststructure.c:
6630 * gst/registries/gstlibxmlregistry.h:
6631 various documentation fixes
6633 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6635 * docs/gst/gstreamer-sections.txt:
6636 * docs/gst/tmpl/gstvalue.sgml:
6637 rearrange gstvalue section
6638 * gst/gstutils.c: (gst_element_state_get_name):
6640 * gst/gstvalue.c: (_gst_value_initialize):
6644 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
6646 * check/gst-libs/controller.c:
6648 * gst/base/gstbasetransform.c:
6649 (gst_base_transform_default_prepare_buf),
6650 (gst_base_transform_handle_buffer):
6651 * gst/base/gstbasetransform.h:
6652 Some more basetransform changes and fixes to enable sub-classes
6653 that modify buffer metadata only.
6654 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6655 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6656 (gst_capsfilter_prepare_buf):
6657 If the output pad has fixed allowed caps and input buffers
6658 don't have any, set the fixed caps on outgoing buffers.
6660 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
6661 * check/elements/identity.c: (GST_START_TEST):
6662 Make the error a little clearer when the test fails because
6663 identity made a copy of the buffer.
6664 * docs/gst/gstreamer-sections.txt:
6665 New symbols in gstbasetransform.h
6666 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6667 (gst_base_transform_init), (gst_base_transform_transform_size),
6668 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6669 (gst_base_transform_default_prepare_buf),
6670 (gst_base_transform_get_unit_size),
6671 (gst_base_transform_buffer_alloc),
6672 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6673 (gst_base_transform_change_state),
6674 (gst_base_transform_set_passthrough),
6675 (gst_base_transform_set_in_place),
6676 (gst_base_transform_is_in_place):
6677 * gst/base/gstbasetransform.h:
6678 Change BaseTransform to separate in_place operate from same_caps
6679 output. in_place implies that the element can perform the transform
6680 on incoming buffers in-place, even if the caps on the output are
6682 Sub-class elements can now implement special buffer allocation
6683 methods for outgoing buffers if they wish to.
6684 Big documentation addition.
6685 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6686 * gst/elements/gstelements.c:
6687 Changes for basetransform modifications.
6688 * gst/elements/Makefile.am:
6689 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6690 Compile fix. Extra debug output.
6692 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6694 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6696 add tests for valid pad naming
6697 * gst/check/gstcheck.c: (gst_check_log_message_func),
6698 (gst_check_log_critical_func):
6700 remove printing of code, it is fragile when the code contains
6701 % and the line number is enough info
6702 * gst/check/gstcheck.h:
6703 * gst/gstpad.c: (gst_pad_template_new):
6706 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6709 say what CHECK flags we use
6710 * docs/libs/gstreamer-libs.types:
6711 * libs/gst/controller/Makefile.am:
6712 * libs/gst/controller/gst-controller.c:
6713 * libs/gst/controller/gst-controller.h:
6714 * libs/gst/controller/gst-helper.c:
6715 * libs/gst/controller/gst-interpolation.c:
6716 * libs/gst/controller/gstcontroller.c:
6717 * libs/gst/controller/gsthelper.c:
6718 * libs/gst/controller/gstinterpolation.c:
6719 * tools/gst-inspect.c: (print_plugin_info):
6720 we don't use dashes in header names
6722 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6724 * check/Makefile.am:
6725 * check/gst/.cvsignore:
6726 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6727 (gst_pipeline_suite), (main):
6728 adding a test for pipelines and state changes
6729 * gst/gstutils.c: (get_state_func):
6731 * gstreamer.spec.in:
6734 2005-09-08 Michael Smith <msmith@fluendo.com>
6736 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6737 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6738 (gst_file_src_is_seekable), (gst_file_src_get_size),
6739 (gst_file_src_start):
6740 * gst/elements/gstfilesrc.h:
6741 Various fixes for unseekable, unmmapable, and non-normal files, so
6742 that fallback to read() rather than mmap() works.
6743 * gst/gstevent.c: (gst_event_new_newsegment):
6744 Allow newsegment events with segment_start == segment_end, as will
6745 correctly happen if you use filesrc on a zero-size file, for
6748 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
6750 * gst/gstplugin.c: (gst_plugin_load_file):
6751 Call g_module_close when we don't load the module
6753 * gst/registries/gstlibxmlregistry.c:
6754 (gst_xml_registry_get_property):
6755 Port leak fix from 0.8
6757 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6759 * docs/gst/gstreamer-docs.sgml:
6760 * docs/gst/tmpl/.cvsignore:
6761 * docs/gst/tmpl/gsttrace.sgml:
6762 * docs/gst/tmpl/gsttrashstack.sgml:
6771 * gst/gsttaginterface.c:
6772 * gst/gsttaginterface.h:
6775 * gst/gsttagsetter.c:
6776 * gst/gsttagsetter.h:
6779 * gst/gsttrashstack.c:
6780 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6781 inlined docs for gsttrace, gsttrashstack
6783 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6786 * gst/elements/gstbufferstore.h:
6787 * gst/elements/gsttypefindelement.c:
6788 * gst/elements/gsttypefindelement.h:
6790 * gst/gsttypefind.c:
6791 * gst/gsttypefind.h:
6792 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6793 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6794 (gst_type_find_factory_dispose),
6795 (gst_type_find_factory_unload_thyself),
6796 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6797 (gst_type_find_factory_get_caps),
6798 (gst_type_find_factory_get_extensions),
6799 (gst_type_find_factory_call_function):
6800 * gst/gsttypefindfactory.h:
6801 * gst/registries/gstlibxmlregistry.c:
6802 * gst/registries/gstxmlregistry.c:
6803 splitted gsttypefind into gsttypefind, gsttypefindfactory
6805 2005-09-07 Andy Wingo <wingo@pobox.com>
6807 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6808 condition whereby the pad's task function is entered before the
6809 pad_mode variable was set.
6811 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
6813 * gst/gstpad.c: (gst_pad_alloc_buffer):
6814 Catch misbehaving pad_alloc functions that don't
6815 set up caps and do it for them.
6817 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6819 * check/pipelines/simple_launch_lines.c: (run_pipeline):
6821 * docs/gst/tmpl/.cvsignore:
6822 * docs/gst/tmpl/gstmemchunk.sgml:
6823 * docs/gst/tmpl/gstparse.sgml:
6824 * docs/gst/tmpl/gsttaglist.sgml:
6825 * docs/gst/tmpl/gsttagsetter.sgml:
6826 * docs/gst/tmpl/gsttypefind.sgml:
6827 * docs/gst/tmpl/gsttypefindfactory.sgml:
6828 * gst/gstmemchunk.c:
6831 * gst/gsttaginterface.c:
6832 * gst/gsttypefind.c:
6833 * gst/gsttypefind.h:
6836 === release 0.9.2 ===
6838 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
6843 releasing 0.9.2, "South"
6845 2005-09-05 Andy Wingo <wingo@pobox.com>
6847 * gst/registries/gstxmlregistry.h:
6848 * gst/registries/gstxmlregistry.c: Um... resurrect...
6850 * gst/registries/gstxmlregistry.h:
6851 * gst/registries/gstxmlregistry.c: and update to newer API.
6852 Incidentally they should be a bit faster now that they don't have
6855 2005-09-05 Andy Wingo <wingo@pobox.com>
6857 * gst/registries/gstxmlregistry.h:
6858 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6859 replaced by the libxml registry a while back
6861 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
6863 * docs/gst/tmpl/gstplugin.sgml:
6864 * gst/elements/gstelements.c:
6866 * gst/gstplugin.c: (gst_plugin_register_func),
6867 (gst_plugin_desc_copy), (gst_plugin_desc_free),
6868 (gst_plugin_get_source):
6870 * gst/registries/gstlibxmlregistry.c: (load_plugin),
6871 (gst_xml_registry_save_plugin):
6872 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6873 (gst_xml_registry_save_plugin):
6874 * tools/gst-inspect.c: (print_plugin_info):
6875 add a "source" plugin description field, to represent the source
6876 module this plugin is a part of. By default GST_PLUGIN_DEFINE
6877 will set it to PACKAGE, which is automake's idea of the name of
6880 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
6886 * docs/faq/Makefile.am:
6887 * docs/gst/tmpl/gstelement.sgml:
6888 * docs/gst/tmpl/gsttypes.sgml:
6889 * docs/htmlinstall.mak:
6890 * docs/manual/Makefile.am:
6891 * docs/pwg/Makefile.am:
6892 reorganize doc build a little
6893 split out docbook and gtk-doc stuff
6894 have two separate --enable's and enable them through autogen
6895 but disable by default in configure (to be similar to other
6897 * gstreamer.spec.in:
6898 clean up docs install
6918 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
6920 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6923 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6924 (gst_fake_sink_change_state):
6925 Make state change function thread-safe.
6927 * gst/gstpad.c: (gst_pad_alloc_buffer):
6928 Set offset on generic buffer allocated by fallback.
6930 2005-09-03 Stefan Kost <ensonic@users.sf.net>
6932 * docs/gst/gstreamer-sections.txt:
6933 * docs/gst/tmpl/gstelement.sgml:
6935 * libs/gst/controller/gst-controller.c:
6936 (gst_controlled_property_set_interpolation_mode),
6937 (gst_controlled_property_new),
6938 (gst_controller_find_controlled_property):
6939 run the wingo-magic script against the docs
6941 2005-09-02 Stefan Kost <ensonic@users.sf.net>
6943 * docs/gst/gstreamer-docs.sgml:
6944 * docs/gst/gstreamer-sections.txt:
6945 * docs/gst/tmpl/.cvsignore:
6946 * docs/gst/tmpl/gstelementdetails.sgml:
6947 * docs/gst/tmpl/gstelementfactory.sgml:
6950 * gst/gstelementfactory.c:
6951 * gst/gstelementfactory.h:
6952 merged elementdetails docs into elementfactory docs
6955 2005-09-02 Andy Wingo <wingo@pobox.com>
6957 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6958 consider this enum an enum and not a flags.
6960 2005-09-02 Stefan Kost <ensonic@users.sf.net>
6962 * docs/gst/gstreamer-docs.sgml:
6963 * docs/gst/tmpl/.cvsignore:
6964 * docs/gst/tmpl/gstghostpad.sgml:
6965 * docs/gst/tmpl/gstiterator.sgml:
6966 * docs/gst/tmpl/gstmacros.sgml:
6967 * docs/gst/tmpl/gstrealpad.sgml:
6968 * docs/gst/tmpl/gstregistry.sgml:
6969 * docs/gst/tmpl/gstregistrypool.sgml:
6970 * docs/gst/tmpl/gststructure.sgml:
6971 * docs/gst/tmpl/gstsystemclock.sgml:
6972 * docs/gst/tmpl/gsttrace.sgml:
6973 * gst/gstghostpad.c:
6975 * gst/gstmemchunk.c:
6976 * gst/gstmemchunk.h:
6978 * gst/gstregistry.c:
6979 * gst/gstregistrypool.c:
6980 * gst/gststructure.c:
6981 * gst/gstsystemclock.c:
6984 2005-09-02 Andy Wingo <wingo@pobox.com>
6986 * gst/gstelement.h (GstState): Renamed from GstElementState,
6987 changed to be a normal enum instead of flags.
6988 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6989 munged to be GST_STATE_CHANGE_*.
6990 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6991 work with the new state representation.
6992 (GstStateChange): New enumeration of possible state transitions.
6993 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6994 (GstElementClass::change_state): Pass the GstStateChange along as
6995 an argument. Helps language bindings, so they don't have to use
6996 tricky lock-needing macros like GST_STATE_CHANGE ().
6998 * scripts/update-states (file): New script. Run it on a file to
6999 update it for state naming and API changes. Updates files in
7002 * All files updated for the new API.
7004 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
7006 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7007 * gst/gstutils.c: (gst_util_set_value_from_string),
7008 (gst_util_set_object_arg):
7009 fix a bunch of unchecked return values
7010 * tools/gst-complete.c: (main):
7011 * gstreamer.spec.in:
7014 2005-09-01 Wim Taymans <wim@fluendo.com>
7016 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7017 (gst_base_sink_event), (gst_base_sink_do_sync),
7018 (gst_base_sink_handle_event):
7019 * gst/base/gstbasesink.h:
7020 Handle newsegments more correctly.
7025 * gst/gstevent.c: (gst_event_new_newsegment):
7026 A newsegment cannot have a start_time of -1
7028 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
7030 * win32/gstenumtypes.c:
7031 * win32/gstenumtypes.h:
7034 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7036 * libs/gst/controller/gst-controller.c:
7037 (gst_controlled_property_set_interpolation_mode),
7038 (gst_controlled_property_new):
7041 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
7043 * docs/faq/gst-uninstalled:
7048 * gst/gstutils.c: (gst_element_link_filtered):
7050 add gst_element_link_filtered
7052 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7054 * docs/gst/gstreamer-docs.sgml:
7055 * docs/gst/gstreamer-sections.txt:
7056 * docs/gst/tmpl/.cvsignore:
7057 * docs/gst/tmpl/gsterror.sgml:
7058 * docs/gst/tmpl/gstfilter.sgml:
7059 * docs/gst/tmpl/gsturihandler.sgml:
7060 * docs/gst/tmpl/gsturitype.sgml:
7061 * docs/gst/tmpl/gstutils.sgml:
7062 * docs/gst/tmpl/gstxml.sgml:
7070 inlined more docs, fixed double id-ref
7072 2005-08-31 Wim Taymans <wim@fluendo.com>
7074 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7075 (gst_base_transform_handle_buffer):
7076 Passthrough elements don't need the caps as they don't care.
7078 2005-08-31 Wim Taymans <wim@fluendo.com>
7080 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7081 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7082 Don't leak refcounts on buffers.
7084 2005-08-31 Wim Taymans <wim@fluendo.com>
7086 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7087 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7088 (gst_base_transform_chain), (gst_base_transform_change_state):
7089 * gst/base/gstbasetransform.h:
7090 Handle the case where we are not negotiated more gracefully.
7092 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
7094 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7095 (gst_file_src_map_region):
7096 Set READONLY flag on mmap'ed buffers, otherwise
7097 gst_buffer_make_writable() won't work properly (#314708).
7099 2005-08-31 Wim Taymans <wim@fluendo.com>
7101 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7102 passthrough elements can even do inplace on non writable
7103 buffers (as they don't touch them).
7105 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7107 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7108 (gst_test_mono_source_set_property),
7109 (gst_test_mono_source_class_init), (GST_START_TEST),
7110 (gst_controller_suite):
7111 more tests (hehe I have the most)
7113 describe popping messages whenusing mulltiple sources
7114 * libs/gst/controller/gst-controller.c:
7115 (gst_controlled_property_set_interpolation_mode),
7116 (gst_controlled_property_new):
7117 * libs/gst/controller/gst-controller.h:
7118 * libs/gst/controller/gst-interpolation.c:
7119 implement boolean properties
7121 2005-08-31 Wim Taymans <wim@fluendo.com>
7123 * gst/gstminiobject.c: (gst_mini_object_ref):
7124 Cannot assert that the refcount has to be positive
7125 since a disposed object can be resurrected.
7127 2005-08-31 Wim Taymans <wim@fluendo.com>
7129 * gst/gstpad.c: (gst_pad_init):
7130 Revert change, need to first fix badly behaving
7133 2005-08-30 Wim Taymans <wim@fluendo.com>
7135 * check/elements/fakesrc.c: (setup_fakesrc):
7136 * check/elements/identity.c: (setup_identity):
7137 Activate pads before using them.
7139 2005-08-30 Wim Taymans <wim@fluendo.com>
7141 * gst/base/gstadapter.c: (gst_adapter_flush):
7142 Flushing out 0 bytes is ok for this function.
7144 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7145 no newsegment gives a warning and sets the start/stop to
7148 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7149 (gst_base_transform_set_passthrough):
7152 * gst/gstminiobject.c: (gst_mini_object_ref):
7153 Check refcount here too.
7155 * gst/gstpad.c: (gst_pad_init):
7156 Pads are initially flushing and refusing data.
7158 * gst/gstutils.c: (gst_element_link_pads_filtered):
7159 When adding a capsfilter element make sure it has the
7160 same state as the parent bin.
7162 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7164 * docs/gst/tmpl/.cvsignore:
7165 * docs/gst/tmpl/gstformat.sgml:
7166 * docs/gst/tmpl/gstversion.sgml:
7170 * gst/gstversion.h.in:
7171 more docs and two more inlined
7173 2005-08-30 Wim Taymans <wim@fluendo.com>
7175 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7176 Don't sync to clock.
7178 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7180 * docs/gst/gstreamer-sections.txt:
7181 ultral33t func10ns deserve to appear in the docs actually
7182 * docs/gst/tmpl/.cvsignore:
7183 * docs/gst/tmpl/gstcompat.sgml:
7184 * docs/gst/tmpl/gstconfig.sgml:
7185 * gst/check/gstcheck.c:
7187 * gst/gstconfig.h.in:
7190 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7192 * docs/gst/tmpl/.cvsignore:
7193 * docs/gst/tmpl/gstquery.sgml:
7194 * docs/gst/tmpl/gstutils.sgml:
7197 inlined and extended docs
7199 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7201 * check/gst-libs/controller.c: (GST_START_TEST),
7202 (gst_controller_suite):
7204 * docs/gst/tmpl/gstutils.sgml:
7205 * docs/libs/gstreamer-libs-sections.txt:
7206 * docs/libs/tmpl/gstdataprotocol.sgml:
7208 * examples/controller/audio-example.c: (main):
7209 controller example works now
7212 * tools/gst-inspect.c: (print_element_properties_info):
7213 show param spec flags
7215 2005-08-29 Andy Wingo <wingo@pobox.com>
7217 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7219 2005-08-28 Andy Wingo <wingo@pobox.com>
7221 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7222 as having two arguments instead of just one. Allows superclasses
7223 to access information on subclasses -- see the terrible for() loop
7224 in gtype.c:g_type_create_instance for the reason why. All callers
7227 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7229 * docs/design/part-messages.txt:
7231 * docs/gst/tmpl/.cvsignore:
7232 * docs/gst/tmpl/gstcaps.sgml:
7233 * docs/gst/tmpl/gstclock.sgml:
7240 added descriptions for bus and message
7241 inline caps and clock docs
7243 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7249 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7251 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7254 2005-08-26 Andy Wingo <wingo@pobox.com>
7256 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7257 element_set_state's return val.
7258 (test_2_elements): Add test that's been disabled for months.
7260 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7261 can-activate-pull properties.
7263 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7264 can-activate-pull properties. Implement is_seekable so fakesrc can
7265 operate in pull mode.
7267 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7269 (gst_base_sink_activate, gst_base_sink_activate_pull)
7270 (gst_base_sink_activate_push): Make activation mode choosing work.
7272 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7273 is right. Make pull mode work. Post an eos before pausing in pull
7275 (gst_base_sink_change_state): Pay attention to the core's
7276 change_state() return val.
7278 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7279 has-getrange properties. Cleanups.
7281 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7282 has_getrange and replace with can_activate_pull and
7285 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7286 locking comments. Remove has_loop, has_chain and replace with
7287 can_activate_pull and can_activate_push.
7289 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
7292 * examples/Makefile.am:
7293 * examples/metadata/Makefile.am:
7294 * examples/metadata/read-metadata.c: (message_loop),
7295 (have_pad_handler), (make_pipeline), (print_tag), (main):
7296 Add metadata reading example that loops over a list of filenames,
7297 dumping any tags found.
7299 * gst/gstbus.c: (gst_bus_dispose):
7300 * gst/gstelement.c: (gst_element_dispose):
7301 Release a few potentially-held references in dispose.
7303 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7305 * docs/gst/tmpl/gstminiobject.sgml:
7306 do *not* add tmpl/*.sgml files to CVS!
7308 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7310 * libs/gst/bytestream/.cvsignore:
7311 * libs/gst/bytestream/Makefile.am:
7312 * libs/gst/bytestream/adapter.c:
7313 * libs/gst/bytestream/adapter.h:
7314 * libs/gst/bytestream/bytestream.c:
7315 * libs/gst/bytestream/bytestream.h:
7316 * libs/gst/bytestream/filepad.c:
7317 * libs/gst/bytestream/filepad.h:
7318 removing obsolete files
7320 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7322 * docs/gst/gstreamer-docs.sgml:
7323 * docs/libs/gstreamer-libs-docs.sgml:
7324 disabed additional index entries again, as this makes docs-gen just
7325 slow and they aren't useful yet
7326 * docs/libs/gstreamer-libs-sections.txt:
7327 little -section.txt cleanup for libs
7329 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
7331 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7332 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7333 fix up some debugging
7334 (gst_base_transform_get_unit_size),
7335 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7336 (gst_base_transform_handle_buffer):
7337 * gst/base/gstbasetransform.h:
7338 handle and store timed NEWSEGMENT events so that subclasses that
7339 calculate time by counting samples have a segment_start time they
7340 need to add to their timestamps - see audioresample
7342 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7345 removed ';' from the end of macro defs
7346 * docs/gst/gstreamer-docs.sgml:
7347 * docs/gst/gstreamer-sections.txt:
7348 * docs/gst/tmpl/.cvsignore:
7350 * gst/gstelement.c: (gst_element_class_init),
7351 (gst_element_set_state), (activate_pads),
7352 (gst_element_save_thyself):
7353 * gst/gstevent.c: (gst_event_new_newsegment):
7355 * gst/gstiterator.c:
7356 * gst/gstiterator.h:
7359 * gst/gstutils.c: (gst_pad_query_convert):
7361 fixed parameter name mismatches between source, header and docs
7362 added some more docs, resolved the last batch of unused elements in
7363 docs (now someone needs to doc them)
7365 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7367 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7368 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7369 don't walk through the plugins backwards. Where is all this
7370 reversed logic coming from ?
7372 2005-08-25 Wim Taymans <wim@fluendo.com>
7374 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7375 (gst_base_transform_transform_size),
7376 (gst_base_transform_configure_caps),
7377 (gst_base_transform_get_unit_size),
7378 (gst_base_transform_buffer_alloc),
7379 (gst_base_transform_change_state):
7380 * gst/base/gstbasetransform.h:
7381 Cache caps unit_size.
7382 Make sure we cannot negotiate up and downstream at the
7385 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7387 * gst/gst.c: (init_pre), (init_post):
7388 register the installed plugin path after the env var
7389 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7390 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7391 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7392 directories, so the tests can prefer uninstalled over installed
7394 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7396 * gst/base/gstbasetransform.h:
7401 2005-08-25 Wim Taymans <wim@fluendo.com>
7403 * gst/gstbin.c: (bin_bus_handler):
7404 Be a bit more conservative about the posted message.
7406 * gst/gstbus.c: (gst_bus_post):
7407 Some cleanups, warn wrong return values.
7409 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
7411 * check/gst/gstbin.c: (GST_START_TEST):
7412 * gst/gstbin.c: (bin_bus_handler):
7413 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7414 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7415 (gst_message_new_warning), (gst_message_new_tag),
7416 (gst_message_new_state_changed), (gst_message_new_segment_start),
7417 (gst_message_new_segment_done), (gst_message_new_custom):
7419 * tools/gst-launch.c: (event_loop):
7420 * tools/gst-md5sum.c: (event_loop):
7421 Revert unpopular change for GST_MESSAGE_SRC to GObject.
7423 2005-08-25 Wim Taymans <wim@fluendo.com>
7425 * check/generic/states.c: (GST_START_TEST):
7426 Cleanup can be done at the end.
7428 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7429 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7430 (gst_task_get_state), (gst_task_start), (gst_task_pause):
7431 Oh boy.. Thanks for finding this, Thomas.
7433 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7435 * docs/gst/gstreamer.types:
7438 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7440 * docs/gst/gstreamer-docs.sgml:
7441 * docs/gst/gstreamer-sections.txt:
7442 * docs/gst/tmpl/.cvsignore:
7444 * gst/gstiterator.c:
7446 * gst/registries/gstxmlregistry.h:
7447 added missing classes and symbols (123 more to go)
7448 removed removed symbols from section file
7449 fixed many doc-comments
7451 2005-08-24 Wim Taymans <wim@fluendo.com>
7453 * check/generic/states.c: (GST_START_TEST):
7454 Make sure all tasks are stopped.
7456 * check/gst/gstbin.c: (GST_START_TEST):
7457 Unref after usage for proper valgrinding.
7459 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7460 Really wait for the task to stop before destroying the
7463 * gst/gstqueue.c: (gst_queue_sink_activate_push),
7464 (gst_queue_src_activate_push):
7465 Small cleanups. Don't stop the task when we did not start
7468 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7469 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7470 (gst_task_get_state), (gst_task_start), (gst_task_pause),
7473 Protect the stream lock with the object lock.
7474 Disallow setting the stream lock when running.
7475 Add cleanup_all to wait for the threadpool to finish.
7476 Remove code to autoallocate a mutex if none was provided.
7477 Add _join() to wait for a task to stop.
7478 Protect the thread pool with a global lock.
7480 2005-08-24 Wim Taymans <wim@fluendo.com>
7482 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7483 (gst_base_sink_get_times), (gst_base_sink_do_sync),
7484 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7485 * gst/base/gstbasesink.h:
7486 Handle newsegment events correctly.
7487 Drop buffers out of the segment range.
7489 2005-08-22 Andy Wingo <wingo@pobox.com>
7491 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7492 macro, implements an interface and gstimplementsinterface for a
7495 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7497 * check/Makefile.am:
7498 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7499 add a test that does a bunch of state changes on elements
7500 needs some fixing for valgrind
7501 * check/states/sinks.c: (gst_object_suite):
7504 add prototype for gst_caps_is_equal_fixed
7506 * gst/gstregistrypool.c:
7509 2005-08-24 Andy Wingo <wingo@pobox.com>
7511 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7512 convert a negative value. Doesn't make much sense. Mostly this is
7513 here to force callers to ensure -1 maps to -1.
7515 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7517 * docs/pwg/advanced-types.xml:
7518 Well done to Michael for catching my deliberate introduction
7519 of this spelling mistake.
7520 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7522 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7523 unlink pads before removing the element from the bin.
7525 2005-08-24 Andy Wingo <wingo@pobox.com>
7527 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7528 the same thing as GST_DEBUG=*:4.
7529 (parse_debug_level, parse_debug_category): New helper parsers.
7531 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7533 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7534 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7535 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7536 (gst_base_transform_buffer_alloc),
7537 (gst_base_transform_handle_buffer):
7538 use gboolean return values and pointers to size so we can use the
7539 full GST_BUFFER_SIZE range (guint) for buffer sizes
7540 use GstPadDirection for transform_caps
7541 * gst/base/gstbasetransform.h:
7542 rename get_size to get_unit_size since that's what it is
7543 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7544 use GstPadDirection for transform_caps
7545 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7547 cleanup and debugging
7549 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7551 * gst/gstelement.c: (gst_element_class_init),
7552 (gst_element_set_state), (activate_pads),
7553 (gst_element_save_thyself):
7554 * tools/gst-compprep.c: (main):
7555 * tools/gst-inspect.c: (print_element_properties_info):
7556 * tools/gst-xmlinspect.c: (print_element_properties):
7557 Fixed long standing mem-leak
7559 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7561 * check/gst/gstbin.c: (GST_START_TEST):
7562 * gst/gstbin.c: (bin_bus_handler):
7563 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7564 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7565 (gst_message_new_warning), (gst_message_new_tag),
7566 (gst_message_new_state_changed), (gst_message_new_segment_start),
7567 (gst_message_new_segment_done), (gst_message_new_custom):
7569 * tools/gst-launch.c: (event_loop):
7570 * tools/gst-md5sum.c: (event_loop):
7571 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7572 that applications can sensibly post custom messages with references
7573 to their own objects.
7575 2005-08-24 Andy Wingo <wingo@pobox.com>
7577 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7580 2005-08-24 Wim Taymans <wim@fluendo.com>
7582 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7583 (gst_base_transform_transform_caps),
7584 (gst_base_transform_transform_size),
7585 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7586 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7587 (gst_base_transform_handle_buffer):
7588 * gst/base/gstbasetransform.h:
7589 Many fixes and new features added by Thomas. Can now also do
7590 transforms with variable sizes and a custom fixate_caps function.
7592 2005-08-24 Wim Taymans <wim@fluendo.com>
7594 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7598 Cast to ClockTime before formatting to time.
7603 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7605 * check/gst-libs/controller.c: (GST_START_TEST),
7606 (gst_controller_suite):
7607 * docs/gst/tmpl/gstcaps.sgml:
7608 * docs/gst/tmpl/gstghostpad.sgml:
7609 * docs/gst/tmpl/gstquery.sgml:
7610 * docs/gst/tmpl/gstutils.sgml:
7611 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7612 (gst_object_sink_values), (gst_object_get_value_arrays),
7613 (gst_object_get_value_array):
7614 gracefully handle helper method calls to objects that are not beeing
7615 controlled, added test case for that
7617 2005-08-23 Wim Taymans <wim@fluendo.com>
7619 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7620 (gst_event_new_newsegment), (gst_event_parse_newsegment),
7621 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7622 (gst_event_parse_qos), (gst_event_new_seek),
7623 (gst_event_parse_seek):
7625 Some more debugging output and doc cleanups.
7627 * gst/gstqueue.c: (gst_queue_handle_sink_event):
7628 Fix possible deadlock.
7630 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7632 * docs/gst/gstreamer-docs.sgml:
7633 * docs/gst/gstreamer-sections.txt:
7634 * docs/gst/gstreamer.types:
7635 * docs/gst/tmpl/.cvsignore:
7640 added 100 symbols from gstreamer-unused.txt to the right sections
7641 fixed more broken comments
7642 added GstBus to docs
7644 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7646 * docs/gst/gstreamer-sections.txt:
7647 * docs/gst/tmpl/.cvsignore:
7648 * docs/gst/tmpl/gstbin.sgml:
7649 * docs/gst/tmpl/gstbuffer.sgml:
7650 * gst/base/gstbasesrc.c:
7651 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7654 * tools/gst-launch.1.in:
7655 inlined more doc comments, added missing comments and fixed comments
7658 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
7660 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7664 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7666 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7667 * gst/gststructure.h:
7668 add a fixate function for booleans; add a FIXME that these func
7669 names should probably be gst_structure_fixate_*
7671 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7673 * docs/gst/gstreamer-docs.sgml:
7674 * docs/gst/gstreamer-sections.txt:
7676 * gst/gstbin.c: (gst_bin_get_type),
7677 (gst_bin_child_proxy_get_child_by_index),
7678 (gst_bin_child_proxy_get_children_count),
7679 (gst_bin_child_proxy_init):
7680 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7681 (gst_child_proxy_get_child_by_index),
7682 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7683 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7684 (gst_child_proxy_get), (gst_child_proxy_set_property),
7685 (gst_child_proxy_set_valist), (gst_child_proxy_set),
7686 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7687 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7688 * gst/gstchildproxy.h:
7689 * gst/parse/grammar.y:
7690 * tools/gst-inspect.c: (print_interfaces),
7691 (print_element_properties_info), (print_element_info):
7692 ported gstchildproxy over from 0.8
7693 ported gst-inspect fixes and enhancements over from 0.8
7695 2005-08-22 Wim Taymans <wim@fluendo.com>
7697 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7698 (gst_base_transform_handle_buffer):
7699 Also call the transform function if we have ANY caps.
7701 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7704 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
7706 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7707 Don't pretend to handle seek events if the source is not seekable
7709 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
7711 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7712 Remove extra parameter to debug output
7714 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7715 (gst_base_src_do_seek), (gst_base_src_activate_push):
7716 Fix seek event handling.
7718 * gst/gstpipeline.c: (gst_pipeline_change_state):
7719 * gst/gstqueue.c: (gst_queue_handle_sink_event),
7720 (gst_queue_src_activate_push):
7721 Don't start the src pad task on FLUSH_STOP if the pad
7725 2005-08-22 Wim Taymans <wim@fluendo.com>
7727 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7728 Added check for gst_static_caps_get() refcounting.
7730 2005-08-22 Wim Taymans <wim@fluendo.com>
7732 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7733 Make _static_caps_get() refcounting sane.
7735 * gst/gstelement.c: (gst_element_set_state):
7736 Add g_return_val_if_fail() to protect against segfaults.
7738 2005-08-22 Stefan Kost <ensonic@users.sf.net>
7740 * docs/gst/tmpl/gstevent.sgml:
7743 inlined remaining docs, added missing doc comments
7745 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
7747 * check/gst/gstbin.c: (GST_START_TEST):
7748 since we don't know when preroll is done, use refcount range
7750 * gst/check/gstcheck.h:
7751 add macro for checking refcount range
7753 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
7755 * check/Makefile.am:
7756 clean up environment for when registry gets built versus
7757 when actual tests are run; valgrind seems to not report
7758 leaks if GST_PLUGIN_PATH is set to some specific values
7759 * check/gst/gstbin.c: (GST_START_TEST):
7760 add more refcounting checks; maybe this exposes a
7763 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7764 * gst/check/gstcheck.h:
7765 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7766 (gst_bin_change_state):
7767 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7768 add/fix debugging/whitespace
7770 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
7772 * check/gst/gstevent.c: (event_probe), (test_event),
7774 Er, don't call gst_bin_watch_for_state_change you idiot.
7776 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
7778 * check/Makefile.am:
7779 Use CHECK_CFLAGS and CHECK_LIBS
7780 * check/gst/gstevent.c: (event_probe), (test_event),
7783 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7784 (gst_base_src_start), (gst_base_src_stop),
7785 (gst_base_src_activate_push), (gst_base_src_activate_pull),
7786 (gst_base_src_change_state):
7787 Sprinkle gst_base_src_stop liberally around error paths to fix
7788 problems reusing a source after failed state changes.
7789 * gst/base/gsttypefindhelper.c: (helper_find_peek),
7790 (helper_find_suggest), (gst_type_find_helper):
7791 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7793 * docs/gst/tmpl/gstevent.sgml:
7794 Migrate part of the docs from the SGML file. Wait for ensonic to
7795 tell me how I did it wrong ;)
7796 * tools/gst-typefind.c: (main):
7797 Extra robustness to state changes between files.
7799 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
7801 * check/Makefile.am:
7802 don't valgrind the controller test - it's leaking - Stefan, HELP
7803 * gst/check/gstcheck.c: (gst_check_message_error),
7804 (gst_check_chain_func), (gst_check_setup_element),
7805 (gst_check_teardown_element), (gst_check_setup_src_pad),
7806 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7807 (gst_check_teardown_sink_pad):
7808 * gst/check/gstcheck.h:
7809 add a bunch of methods to set up elements, and src and sink pads
7810 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7811 * check/elements/identity.c: (setup_identity), (cleanup_identity),
7816 whitespace/doc fixes
7818 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7821 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7822 be handled by the application and not always printed as well
7824 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7826 * check/Makefile.am:
7828 * gst/check/gstcheck.c: (gst_check_message_error):
7829 * gst/check/gstcheck.h:
7830 add a fail_unless_equals_int
7831 add fail_unless for error messages
7833 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7835 * check/Makefile.am:
7837 * common/Makefile.am:
7840 factor out some of the common stuff so we can use it
7842 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7844 * check/Makefile.am:
7845 * check/gst/gstiterator.c: (GST_START_TEST):
7846 * check/gst/gstsystemclock.c: (GST_START_TEST),
7847 (gst_systemclock_suite):
7848 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7852 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7854 * check/elements/.cvsignore:
7855 * check/elements/gstfakesrc.c:
7856 rename to name of element
7857 * check/elements/identity.c: (chain_func), (event_func),
7858 (setup_identity), (cleanup_identity), (GST_START_TEST),
7859 (identity_suite), (main):
7860 add a test for identity
7861 * check/Makefile.am:
7862 * pkgconfig/Makefile.am:
7863 * pkgconfig/gstreamer-check.pc.in:
7864 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7868 move the check stuff to a library that gets installed
7869 * check/gst-libs/controller.c: (GST_START_TEST):
7870 * check/gst-libs/gdp.c:
7871 * check/gst/gst.c: (GST_START_TEST):
7872 * check/gst/gstbin.c:
7873 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7874 * check/gst/gstbus.c:
7875 * check/gst/gstcaps.c: (GST_START_TEST):
7876 * check/gst/gstelement.c:
7877 * check/gst/gstghostpad.c:
7878 * check/gst/gstiterator.c:
7879 * check/gst/gstmessage.c:
7880 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7881 * check/gst/gstobject.c:
7882 * check/gst/gstpad.c: (GST_START_TEST):
7883 * check/gst/gststructure.c: (GST_START_TEST):
7884 * check/gst/gstsystemclock.c: (GST_START_TEST),
7885 (gst_systemclock_suite):
7886 * check/gst/gsttag.c: (gst_tag_suite):
7887 * check/gst/gstvalue.c:
7888 * check/pipelines/cleanup.c:
7889 * check/pipelines/simple_launch_lines.c:
7890 * check/states/sinks.c:
7891 change include statement
7893 * docs/gst/gstreamer-sections.txt:
7894 * docs/gst/tmpl/gstpad.sgml:
7895 document more pad stuff
7896 * gst/gstminiobject.c: (gst_mini_object_ref),
7897 (gst_mini_object_unref):
7900 2005-08-19 Stefan Kost <ensonic@users.sf.net>
7902 * docs/gst/tmpl/gst.sgml:
7904 eliminate another tmpl file, fix spelling in the long-description
7906 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7908 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7909 (test_event), (timediff), (gstevents_suite):
7910 Should fix build on 64-bit arch's
7912 2005-08-18 Andy Wingo <wingo@pobox.com>
7914 Make sure that when a pipeline goes to PLAYING, that data has
7915 actually hit the sink.
7917 * check/states/sinks.c (test_sink): A sink that doesn't get any
7918 data shouldn't return SUCCESS for going to either PLAYING or
7919 PAUSED. Test also the return values on the way back down.
7921 * gst/gstelement.c (gst_element_set_state): When changing the
7922 state of an element currently changing state asynchronously, go to
7923 lost-state after commiting the pending state. Makes future calls
7924 to get_state continue to return ASYNC.
7926 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7927 ASYNC when going to PLAYING if we still don't have preroll, as can
7928 happen with live sources.
7930 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7932 * docs/pwg/advanced-types.xml:
7933 Hack long paragraph into 2 chunks as a workaround for buggy
7934 jadetex version in sid and breezy that loops infinitely and
7937 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7939 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7940 (test_event), (timediff), (gstevents_suite):
7941 Provide more error margin in clock measurements to allow for
7942 g_get_current_time inaccuracies.
7944 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7946 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7947 (test_event), (timediff), (gstevents_suite):
7948 Fix error message output so I might be able to tell why the
7949 test works here but fails on the build farm.
7951 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7953 * check/Makefile.am:
7954 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7955 (test_event), (timediff), (gstevents_suite), (main):
7958 * docs/design/part-seeking.txt:
7961 * docs/gst/tmpl/gstevent.sgml:
7962 * docs/gst/tmpl/gstfakesrc.sgml:
7965 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7966 Treat a buffer-without-newsegment the same as a receiving
7967 a newsegment not in time format, and disable syncing to the clock
7970 * gst/gstbus.c: (gst_bus_set_sync_handler):
7971 Assert if anyone tries to replace the existing sync_handler for bus,
7972 as only the owner should be setting it.
7975 Have a fixed set of custom event enums with events identified by
7976 their structure name (as in 0.8), rather than a free-for-all
7977 allowing collisions between enum values from different plugins.
7979 * gst/gstpad.c: (gst_pad_class_init):
7982 * gst/gstqueue.c: (gst_queue_handle_sink_event):
7983 Handle out-of-band downstream events from the sending thread.
7985 2005-08-17 Andy Wingo <wingo@pobox.com>
7987 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7988 play-timeout==0 to mean no timeout at all. In that case, don't
7989 bother with a get_state or a warning, just return directly, even
7992 * gst/base/gstbasetransform.c: Debug changes.
7995 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7996 ensure bins post state change messages. A bit of a hack but I can't
7997 think of a way to avoid it.
7999 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8001 2005-08-16 Andy Wingo <wingo@pobox.com>
8003 * gst/base/gstadapter.h:
8004 * gst/base/gstadapter.c (gst_adapter_take): New function, like
8005 peek() but you own the data. Not terribly efficient atm.
8007 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8009 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8010 (gst_element_found_tags):
8012 Add two utility functions for tag handling.
8014 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8016 * docs/manual/advanced-dataaccess.xml:
8017 * docs/manual/basics-helloworld.xml:
8018 Fix docs to use _bin_add() before _link(), which fixes the examples
8019 with recent core versions (reported by Madhan Raj M
8020 <raj_madan@rediffmail.com>, #313199).
8022 2005-08-16 Wim Taymans <wim@fluendo.com>
8024 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8025 Added subtract checks.
8027 * docs/design/part-events.txt:
8028 Some more docs about newsegment
8030 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8033 * gst/gstcaps.c: (gst_caps_to_string):
8034 Add comments, cleanups.
8036 * gst/gstelement.c: (gst_element_save_thyself):
8039 * gst/gstvalue.c: (gst_value_collect_int_range),
8040 (gst_string_unwrap), (gst_value_union_int_int_range),
8041 (gst_value_union_int_range_int_range),
8042 (gst_value_intersect_int_int_range),
8043 (gst_value_intersect_int_range_int_range),
8044 (gst_value_intersect_double_double_range),
8045 (gst_value_intersect_double_range_double_range),
8046 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8047 (gst_value_subtract_int_range_int),
8048 (gst_value_subtract_double_range_double),
8049 (gst_value_subtract_double_range_double_range),
8050 (gst_value_subtract_from_list), (gst_value_subtract_list),
8051 (gst_value_can_compare), (gst_value_compare_fraction):
8052 Cleanups, add comments, remove unneeded asserts.
8054 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8056 * tools/gst-launch.c: (event_loop):
8057 don't convert NULL structures to strings
8059 2005-08-15 Stefan Kost <ensonic@users.sf.net>
8061 * docs/gst/gstreamer-sections.txt:
8062 made some defines private
8063 * docs/gst/tmpl/gstconfig.sgml:
8064 * docs/gst/tmpl/gstqueue.sgml:
8065 * docs/gst/tmpl/gsttaglist.sgml:
8066 * docs/gst/tmpl/gsttypes.sgml:
8067 * docs/gst/tmpl/gstutils.sgml:
8068 * docs/pwg/appendix-porting.xml:
8069 * gst/base/gstbasesink.h:
8070 * gst/base/gstbasesrc.c:
8071 * gst/base/gstbasesrc.h:
8072 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8073 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8074 * gst/gstelement.c: (gst_element_class_init):
8075 * gst/gstpad.c: (gst_pad_class_init):
8076 * gst/gstqueue.c: (gst_queue_class_init):
8077 * gst/gstxml.c: (gst_xml_class_init):
8078 documented all undocumented signal inline
8079 * libs/gst/controller/gst-controller.h:
8082 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8084 * docs/pwg/appendix-porting.xml:
8085 Document _set_link_function -> _set_setcaps_function.
8087 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8089 * check/Makefile.am:
8090 add a .check target for running the check
8091 * check/gst-libs/controller.c: (GST_START_TEST):
8093 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8094 complete checks for gstbuffer; would be nice if I could get the
8095 gcov stuff to work so I can see if I actually completed gstbuffer.c
8097 add ASSERT_BUFFER_REFCOUNT
8099 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
8101 * docs/gst/gstreamer-sections.txt:
8102 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8104 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8105 spew out a warning if a tag that is already registered
8106 is re-registered, unless it is re-registered with a
8107 different type (#308438).
8109 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
8111 * docs/pwg/appendix-porting.xml:
8112 * docs/pwg/building-state.xml:
8113 Add some paragraphs about state changes in 0.9 to the PWG
8114 and the porting guide, in particular about the new meaning
8115 of GST_STATE_PAUSED and how to write state change functions
8116 with concurrent access by multiple threads in mind.
8118 2005-08-11 Stefan Kost <ensonic@users.sf.net>
8120 * docs/gst/gstreamer-docs.sgml:
8121 * docs/libs/gstreamer-libs-docs.sgml:
8122 added deprecation and since indexes
8123 * libs/gst/controller/gst-controller.c:
8124 * libs/gst/controller/gst-helper.c:
8128 2005-08-11 Wim Taymans <wim@fluendo.com>
8130 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8131 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8132 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8133 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8134 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8135 (gst_ghost_pad_set_target):
8136 Actually implement (re)setting the target on a ghostpad
8137 as described in the docs.
8139 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8141 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8142 Check whether GST_DEBUG_NO_COLOR environment variable is
8143 set and disable coloured debug output if that is the case.
8145 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8147 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8148 (gst_type_find_helper):
8149 The memory returned by gst_type_find_peek() needs to
8150 stay valid until the end of a typefind function, and
8151 typefind functions may keep results from different
8152 offsets around, so we can't just unref the buffer from
8153 the previous _peek(), but have to save all buffers
8154 returned by _peek() until typefinding is done and only
8157 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
8159 * docs/gst/gstreamer-sections.txt:
8161 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8163 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8165 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8166 Fix a pretty good memleak.
8168 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8170 * gst/gstiterator.h:
8171 Fix wrong include and 'make distcheck'.
8173 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8175 * gst/gstbin.c: (bin_bus_handler):
8176 Use gst_element_post_message() instead.
8178 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8180 * gst/base/gstadapter.h:
8181 * gst/base/gstbasesink.h:
8182 * gst/base/gstbasesrc.h:
8183 * gst/base/gstbasetransform.h:
8184 * gst/base/gstcollectpads.h:
8185 * gst/base/gstpushsrc.h:
8186 * gst/gstiterator.h:
8187 Add padding to our base elements' class and instance structs and
8188 to GstIterator (you will need to rebuild all plugins and apps!)
8190 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8192 * gst/gstbin.c: (bin_bus_handler):
8193 Make default message forwarding from child->bus to bin->bus
8194 threadsafe and make it not emit warnings if the parent has no bus.
8196 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8198 * gst/gstelement.c: (activate_pads):
8199 On paused->ready, set pad->caps to NULL, as is the documented
8200 behaviour in this state change. Fixes playback of series of
8201 media files when visualization is enabled in Totem.
8203 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8205 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8206 Allow NULL as filter-caps (which means "any").
8208 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8210 * docs/libs/gstreamer-libs-sections.txt:
8211 * libs/gst/controller/gst-controller.c:
8212 * libs/gst/controller/gst-controller.h:
8213 * libs/gst/controller/gst-helper.c:
8214 adding more entries to the docs and fix small doc-bugs
8216 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8218 * docs/gst/gstreamer-docs.sgml:
8219 * docs/gst/gstreamer-sections.txt:
8220 * docs/gst/gstreamer.types:
8221 * docs/gst/tmpl/gstbasesink.sgml:
8222 * docs/gst/tmpl/gstbasesrc.sgml:
8223 * docs/gst/tmpl/gstbasetransform.sgml:
8224 * docs/gst/tmpl/gstfakesrc.sgml:
8225 * gst/base/gstcollectpads.c:
8226 * gst/base/gstcollectpads.h:
8227 * libs/gst/controller/gst-controller.c:
8228 * libs/gst/controller/gst-controller.h:
8229 * libs/gst/controller/gst-helper.c:
8230 * libs/gst/controller/gst-interpolation.c:
8231 * libs/gst/controller/lib.c:
8232 added long/short desc for controller docs
8233 added collectpads base class docs
8234 added correct includes to base-class docs
8236 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8238 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8239 (gst_test_mono_source_set_property),
8240 (gst_test_mono_source_class_init), (GST_START_TEST),
8241 (gst_controller_suite):
8242 * docs/gst/gstreamer-docs.sgml:
8243 * docs/gst/gstreamer-sections.txt:
8244 * docs/gst/gstreamer.types:
8245 * docs/libs/gstreamer-libs-docs.sgml:
8246 * docs/libs/gstreamer-libs-sections.txt:
8247 * gst/base/gstadapter.c:
8248 * libs/gst/controller/gst-controller.c:
8249 (gst_controlled_property_new), (gst_controlled_property_free),
8250 (gst_controller_new_valist),
8251 (gst_controller_remove_properties_valist),
8252 (gst_controller_sink_values), (_gst_controller_finalize):
8253 * libs/gst/controller/gst-controller.h:
8254 * libs/gst/controller/gst-helper.c:
8255 (gst_object_control_properties), (gst_object_uncontrol_properties),
8256 (gst_object_get_controller), (gst_object_set_controller),
8257 (gst_object_sink_values), (gst_object_get_value_arrays),
8258 (gst_object_get_value_array):
8259 more tests (and fixes) for the controller
8260 more docs for the controller
8261 integrated companies docs for the adapter
8263 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
8265 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8266 (GST_START_TEST), (fakesrc_suite):
8267 add tests for sizetype
8269 2005-08-04 Andy Wingo <wingo@pobox.com>
8271 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8272 fixes buffer_alloc proxying among other things.
8274 * gst/base/gstbasetransform.c:
8275 * gst/base/gstbasetransform.h:
8276 Revert patch to gstbasetransform from 7-28 removing
8279 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8280 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8281 Semantics changed, should return not the size of the output buffer
8282 but the byte size of a buffer with a given caps.
8284 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8286 (gst_base_transform_configure_caps): Don't set out_size here: (in,
8287 out) are not the pad caps until setcaps finishes.
8288 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8289 not-in-place case as well. Deal with changing from in-place to
8290 not-in-place within calling pad_alloc_buffer. Still a bit
8291 concerned about the overhead here...
8293 2005-08-03 Andy Wingo <wingo@pobox.com>
8295 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8296 fixating is an error.
8298 2005-08-04 Edward Hervey <edward@fluendo.com>
8300 * gst/base/gstadapter.h:
8301 Added gst_adapter_get_type() to the header
8303 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8305 * check/Makefile.am:
8306 * check/gst-libs/controller.c:
8307 * libs/gst/controller/gst-controller.c:
8308 (gst_controller_new_valist):
8309 added check test suite for the controller
8310 * gst/base/gstpushsrc.c:
8313 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8315 * docs/gst/Makefile.am:
8316 * docs/gst/gstreamer-docs.sgml:
8317 * docs/gst/gstreamer-sections.txt:
8318 * docs/gst/gstreamer.types:
8319 * docs/gst/tmpl/gstfakesrc.sgml:
8321 * gst/base/gstbasesink.c:
8322 * gst/base/gstbasesink.h:
8323 * gst/base/gstbasesrc.c:
8324 * gst/base/gstbasesrc.h:
8325 * gst/base/gstbasetransform.c:
8326 * gst/base/gstpushsrc.c:
8327 * gst/base/gstpushsrc.h:
8328 add short/long description docs to base classes
8329 add pushsrc to the docs
8330 remove consolidated doc fragments
8332 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8335 * docs/libs/Makefile.am:
8336 * docs/libs/gstreamer-libs-docs.sgml:
8337 * docs/libs/gstreamer-libs-sections.txt:
8338 * docs/libs/gstreamer-libs.types:
8339 * examples/Makefile.am:
8340 * examples/controller/.cvsignore:
8341 * examples/controller/Makefile.am:
8342 * examples/controller/audio-example.c: (main):
8343 * libs/gst/Makefile.am:
8344 * libs/gst/controller/.cvsignore:
8345 * libs/gst/controller/Makefile.am:
8346 * libs/gst/controller/gst-controller.c:
8347 (on_object_controlled_property_changed), (gst_timed_value_compare),
8348 (gst_timed_value_find),
8349 (gst_controlled_property_set_interpolation_mode),
8350 (gst_controlled_property_new), (gst_controlled_property_free),
8351 (gst_controller_find_controlled_property),
8352 (gst_controller_new_valist), (gst_controller_new),
8353 (gst_controller_remove_properties_valist),
8354 (gst_controller_remove_properties), (gst_controller_set),
8355 (gst_controller_set_from_list), (gst_controller_unset),
8356 (gst_controller_get), (gst_controller_get_all),
8357 (gst_controller_sink_values), (gst_controller_get_value_arrays),
8358 (gst_controller_get_value_array),
8359 (gst_controller_set_interpolation_mode),
8360 (_gst_controller_finalize), (_gst_controller_init),
8361 (_gst_controller_class_init), (gst_controller_get_type):
8362 * libs/gst/controller/gst-controller.h:
8363 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8364 (g_object_uncontrol_properties), (g_object_get_controller),
8365 (g_object_set_controller), (g_object_sink_values),
8366 (g_object_get_value_arrays), (g_object_get_value_array):
8367 * libs/gst/controller/gst-interpolation.c:
8368 (gst_controlled_property_find_timed_value_node),
8369 (interpolate_none_get), (interpolate_trigger_get),
8370 (interpolate_trigger_get_value_array):
8371 * libs/gst/controller/lib.c: (gst_controller_init):
8372 * pkgconfig/Makefile.am:
8373 * pkgconfig/gstreamer-control-uninstalled.pc.in:
8374 * pkgconfig/gstreamer-control.pc.in:
8375 * testsuite/Makefile.am:
8376 * testsuite/controller/.cvsignore:
8377 * testsuite/controller/Makefile.am:
8378 * testsuite/controller/interpolator.c: (main):
8379 added controller code
8380 removed dparam pc files
8382 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8383 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8384 (gst_collectpads_stop):
8385 Broadcast the condition when shutting down, to make sure we wake all
8386 threads up. Shut down pads on finalize, for safety.
8388 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8389 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8390 (gst_base_transform_handle_buffer),
8391 (gst_base_transform_change_state):
8392 Handle PAUSED->READY->PAUSED transition after negotiation
8394 * gst/gstmessage.c: (gst_message_init):
8395 Extra piece of debug for new messages.
8397 2005-08-01 Stefan Kost <ensonic@users.sf.net>
8400 * docs/gst/tmpl/gstbasesrc.sgml:
8401 * docs/gst/tmpl/gstelement.sgml:
8402 * docs/gst/tmpl/gstevent.sgml:
8403 * docs/gst/tmpl/gstfakesrc.sgml:
8404 * docs/gst/tmpl/gstformat.sgml:
8405 * docs/gst/tmpl/gstghostpad.sgml:
8406 * docs/gst/tmpl/gstpad.sgml:
8407 * docs/gst/tmpl/gstquery.sgml:
8408 * docs/gst/tmpl/gststructure.sgml:
8409 * docs/gst/tmpl/gsttaglist.sgml:
8410 * docs/gst/tmpl/gstvalue.sgml:
8411 * docs/libs/gstreamer-libs-docs.sgml:
8412 * docs/libs/gstreamer-libs-sections.txt:
8413 * docs/libs/gstreamer-libs.types:
8414 * libs/gst/Makefile.am:
8415 * libs/gst/control/.cvsignore:
8416 * libs/gst/control/Makefile.am:
8417 * libs/gst/control/control.c:
8418 * libs/gst/control/control.h:
8419 * libs/gst/control/dparam.c:
8420 * libs/gst/control/dparam.h:
8421 * libs/gst/control/dparam_smooth.c:
8422 * libs/gst/control/dparam_smooth.h:
8423 * libs/gst/control/dparamcommon.h:
8424 * libs/gst/control/dparammanager.c:
8425 * libs/gst/control/dparammanager.h:
8426 * libs/gst/control/dplinearinterp.c:
8427 * libs/gst/control/dplinearinterp.h:
8428 * libs/gst/control/unitconvert.c:
8429 * libs/gst/control/unitconvert.h:
8430 * testsuite/Makefile.am:
8431 * testsuite/dynparams/.cvsignore:
8432 * testsuite/dynparams/Makefile.am:
8433 * testsuite/dynparams/dparamstest.c:
8434 * tools/Makefile.am:
8435 * tools/gst-inspect.c: (print_element_info), (main):
8436 * tools/gst-xmlinspect.c: (print_element_info), (main):
8437 deactivate and remove dparams (libgstcontrol)
8439 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8441 * gst/elements/gsttypefindelement.c:
8442 (gst_type_find_element_have_type), (gst_type_find_element_init),
8443 (stop_typefinding), (gst_type_find_element_handle_event),
8444 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8445 * gst/elements/gsttypefindelement.h:
8446 Set caps on all outgoing buffers, not just the first one.
8448 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8450 * gst/elements/gsttypefindelement.c:
8451 (gst_type_find_element_have_type),
8452 (gst_type_find_element_check_set_buffer_caps),
8453 (gst_type_find_element_init), (stop_typefinding),
8454 (gst_type_find_element_handle_event),
8455 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8456 * gst/elements/gsttypefindelement.h:
8457 Set caps on first outgoing buffer when we've found the type.
8459 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8461 * docs/gst/gstreamer-docs.sgml:
8462 * docs/gst/gstreamer-sections.txt:
8463 * docs/gst/tmpl/gstscheduler.sgml:
8464 * docs/gst/tmpl/gstschedulerfactory.sgml:
8465 Remove some old cruft from docs.
8467 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
8470 Fix inline docs for GstPadLinkReturn.
8472 * gst/gststructure.c: (gst_structure_has_name):
8473 * gst/gststructure.h:
8474 * docs/gst/gstreamer-sections.txt:
8475 New API: gst_structure_has_name().
8477 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
8480 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8481 and _LARGEFILE_SOURCE in config.h as required. Do not
8482 export those flags in our .pc files any longer (#142209).
8484 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8486 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8487 (gst_file_sink_do_seek), (gst_file_sink_event),
8488 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8489 Redo seek/tell calls with large file support in mind; add some
8490 debugging messages; add log message that tells us when large
8491 file support is unavailable or not enabled for some reason.
8493 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8494 Add log message that tells us when large file support
8495 is unavailable or not enabled for some reason.
8497 2005-07-29 Wim Taymans <wim@fluendo.com>
8499 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8500 Added test for removing an element with ghostpad from a bin.
8501 Fixed test as current implementation does the right thing.
8503 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8504 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8505 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8506 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8507 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8508 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8509 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8510 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8511 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8512 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8513 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8514 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8515 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8516 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8517 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8518 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8519 * gst/gstghostpad.h:
8520 Clean up ghostpads, remove properties for internal stuff.
8523 Prepare for switching targets, not all use cases work yet.
8525 2005-07-29 Wim Taymans <wim@fluendo.com>
8527 * docs/design/part-gstghostpad.txt:
8530 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8531 (gst_bin_remove_func):
8532 Unlinking pads while holding the bin LOCK is not a good
8535 * gst/gstpad.c: (gst_pad_class_init),
8536 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8537 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8538 No prob setting template after creating the pad.
8540 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
8542 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8543 (gst_bus_peek), (gst_bus_source_dispatch),
8544 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8545 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8546 gst_bus_poll may be called from other threads. Handle
8547 this nicely by not making poll_data disappear off the
8548 stack once gst_bus_poll returns.
8549 gst_bus_peek now increments the refcount on the returned
8552 2005-07-29 Wim Taymans <wim@fluendo.com>
8554 * docs/design/part-gstghostpad.txt:
8555 Overview of current GhostPad datastructures and use
8556 cases for changing the target.
8558 2005-07-28 Wim Taymans <wim@fluendo.com>
8560 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8561 Added checks for hierarchy consistency whan adding linked
8564 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8565 Added check to test element scheduling without bin/pipeline.
8567 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8568 First add elements to bin, then link.
8570 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8571 (gst_bin_remove_func):
8572 Unlink pads from elements added/removed from bin to maintain
8573 hierarchy consistency.
8575 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8577 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8578 (gst_base_transform_handle_buffer):
8579 * gst/base/gstbasetransform.h:
8580 Remove broken delay_configure (fixes renegotiation of software
8581 scaling pipelines); remove some leftover printf()s.
8583 2005-07-28 Wim Taymans <wim@fluendo.com>
8585 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8586 Added some more tests for wrong hierarchy
8588 * docs/design/part-overview.txt:
8591 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8594 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8595 (gst_element_dispose):
8598 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8599 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8600 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8601 (gst_pad_set_caps), (gst_pad_send_event):
8602 Check for correct hierarchy when linking pads. Moving to
8603 strict requirement for ghostpads when linking elements in
8607 Clean ups. Added WRONG_HIERARCHY return value.
8609 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8611 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8612 Better debug if no transform is possible.
8614 2005-07-27 Wim Taymans <wim@fluendo.com>
8616 * docs/random/wtay/network-transp:
8619 2005-07-27 Wim Taymans <wim@fluendo.com>
8621 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8622 (gst_dp_event_from_packet):
8623 Fix serialization of seek events.
8625 2005-07-27 Wim Taymans <wim@fluendo.com>
8627 * check/gst-libs/gdp.c: (GST_START_TEST):
8628 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8629 Fix compilation and fix event serialization.
8631 2005-07-27 Wim Taymans <wim@fluendo.com>
8634 * docs/design/part-TODO.txt:
8635 * docs/design/part-events.txt:
8638 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8639 (gst_base_sink_event), (gst_base_sink_do_sync),
8640 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8641 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8642 (gst_base_src_do_seek), (gst_base_src_event_handler),
8643 (gst_base_src_loop):
8644 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8645 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8646 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8647 (gst_base_transform_event), (gst_base_transform_handle_buffer),
8648 (gst_base_transform_set_passthrough),
8649 (gst_base_transform_is_passthrough):
8650 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8651 * gst/elements/gstfilesink.c: (gst_file_sink_event):
8657 * gst/gstelement.c: (gst_element_seek):
8659 Update gst_element_seek.
8661 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8662 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8663 (gst_event_new_flush_start), (gst_event_new_flush_stop),
8664 (gst_event_new_eos), (gst_event_new_newsegment),
8665 (gst_event_parse_newsegment), (gst_event_new_tag),
8666 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8667 (gst_event_parse_qos), (gst_event_new_seek),
8668 (gst_event_parse_seek), (gst_event_new_navigation):
8670 Make GstEvent use GstStructure. Add parsing code, make sure the
8671 API is sufficiently generic.
8672 Mark possible directions of events and serialization.
8674 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8675 (_gst_message_copy), (gst_message_new_segment_start),
8676 (gst_message_new_segment_done), (gst_message_new_custom),
8677 (gst_message_parse_segment_start),
8678 (gst_message_parse_segment_done):
8681 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8682 (gst_pad_set_caps), (gst_pad_send_event):
8683 Update for new events.
8684 Catch events sent in wrong directions.
8686 * gst/gstqueue.c: (gst_queue_link_src),
8687 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8688 (gst_queue_handle_src_query):
8693 Remove event code from this file.
8695 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8696 (gst_dp_event_from_packet):
8699 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8701 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8702 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8703 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8704 Make debugging actually useful.
8706 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8708 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8709 (gst_pad_fixate_caps):
8710 Implement default fixation once again, so that gst_pad_fixate()
8711 actually does anything at all. This probably needs to be some
8712 sort of a last resort, and use profile-based fixation first, but
8713 since that doesn't exist yet, this is the best we have. Fixes
8714 visualization in Totem.
8716 2005-07-22 Wim Taymans <wim@fluendo.com>
8718 * docs/design/part-events.txt:
8721 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8722 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8723 (gst_base_sink_activate_pull):
8726 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8727 (gst_fake_src_create):
8728 Fix handoff marshall.
8730 * gst/elements/gstidentity.c: (gst_identity_class_init),
8731 (gst_identity_transform_ip):
8732 We're a real inplace element.
8734 * gst/gstbus.c: (gst_bus_post):
8735 Added some comments.
8737 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8738 * tests/muxing/case1.c: (main):
8739 * tests/sched/dynamic-pipeline.c: (main):
8740 * tests/sched/interrupt1.c: (main):
8741 * tests/sched/interrupt2.c: (main):
8742 * tests/sched/interrupt3.c: (main):
8743 * tests/sched/runxml.c: (main):
8744 * tests/sched/sched-stress.c: (main):
8745 * tests/seeking/seeking1.c: (event_received), (main):
8746 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8748 * tests/threadstate/threadstate3.c: (main):
8749 * tests/threadstate/threadstate4.c: (main):
8750 * tests/threadstate/threadstate5.c: (main):
8753 2005-07-21 Wim Taymans <wim@fluendo.com>
8755 * docs/design/part-seeking.txt:
8756 Some small additions.
8758 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8759 (gst_base_sink_get_times), (gst_base_sink_do_sync),
8760 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8761 * gst/base/gstbasesink.h:
8762 discont values are gint64, handle the math correctly.
8764 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8765 Make the basesrc report error if the source pad is not linked.
8767 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8768 (gst_queue_loop), (gst_queue_handle_src_query),
8769 (gst_queue_src_activate_push):
8770 Make queue collect data even if the srcpad is not linked.
8771 Start pushing out data as soon as it is linked.
8773 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8775 Added gst_flow_get_name() to ease error reporting.
8777 2005-07-20 Wim Taymans <wim@fluendo.com>
8779 * gst/gstmessage.c: (gst_message_new_segment_start),
8780 (gst_message_new_segment_done), (gst_message_parse_segment_start),
8781 (gst_message_parse_segment_done):
8783 Added a bunch of messages for advanced seeking.
8785 * gst/parse/grammar.y:
8786 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8787 (gst_dpman_state_changed):
8788 Fix some new-pad -> pad-added signals
8790 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8792 * docs/manual/appendix-porting.xml:
8793 * docs/pwg/appendix-porting.xml:
8794 Document new-pad/state-change signal renames and the FixedList
8797 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8799 * docs/manual/advanced-autoplugging.xml:
8800 * docs/manual/basics-helloworld.xml:
8801 * docs/manual/basics-pads.xml:
8802 * docs/random/ds/0.9-suggested-changes:
8803 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8808 * gst/gststructure.c: (gst_structure_value_get_generic_type),
8809 (gst_structure_parse_array), (gst_structure_parse_value):
8810 * gst/gstvalue.c: (gst_type_is_fixed),
8811 (gst_value_list_prepend_value), (gst_value_list_append_value),
8812 (gst_value_list_get_size), (gst_value_list_get_value),
8813 (gst_value_transform_array_string), (gst_value_serialize_array),
8814 (gst_value_deserialize_array), (gst_value_intersect_array),
8815 (gst_value_is_fixed), (_gst_value_initialize):
8817 GstElement::new-pad -> pad-added, GstElement::state-change ->
8818 state-changed, GstValueFixedList -> GstValueArray, add format and
8819 flags as their own arguments in gst_element_seek() (should improve
8820 "bindeability"), remove function generators since they don't work
8821 under a whole bunch of compilers (they were deprecated already
8824 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8826 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8827 (_gst_debug_register_funcptr):
8829 Fix illegal cast on some platforms (#309253).
8831 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8833 * gst/gstmessage.c: (gst_message_new_custom):
8835 Add _new_custom, make _new_application a macro to _new_custom.
8837 2005-07-20 Wim Taymans <wim@fluendo.com>
8839 * gst/base/gstbasesrc.c: (gst_base_src_init),
8840 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8841 * gst/base/gstbasesrc.h:
8842 Add a gboolean to decide when to push out a discont.
8844 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8845 (gst_queue_loop), (gst_queue_handle_src_query),
8846 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8847 (gst_queue_set_property), (gst_queue_get_property):
8850 * tests/threadstate/threadstate1.c: (main):
8851 Make a thread test compile and run... very silly..
8854 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8856 * docs/manual/appendix-porting.xml:
8857 Mention removal of libgstgconf-0.9.la and existence of gconf
8860 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8862 * docs/pwg/advanced-clock.xml:
8863 * docs/pwg/appendix-porting.xml:
8864 * docs/pwg/intro-preface.xml:
8865 * docs/pwg/other-base.xml:
8866 * docs/pwg/other-manager.xml:
8867 * docs/pwg/other-nton.xml:
8868 * docs/pwg/other-ntoone.xml:
8869 * docs/pwg/other-oneton.xml:
8871 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8872 demuxer), remove n-to-n (was never written), fix some code examples
8873 and links and update the porting section to include all this.
8875 2005-07-19 Wim Taymans <wim@fluendo.com>
8877 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8878 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8879 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8880 (gst_queue_src_activate_push), (gst_queue_change_state),
8881 (gst_queue_get_property):
8883 Propagate GstFlowReturn more intelligently upstream and output
8884 an ERROR/EOS when streaming stopped due to fatal error.
8886 2005-07-19 Wim Taymans <wim@fluendo.com>
8888 * tools/gst-launch.c: (check_intr), (event_loop), (main):
8889 Don't block forever for the state change to complete, the
8890 pipeline already did with a sensible timeout.
8892 2005-07-19 Wim Taymans <wim@fluendo.com>
8894 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8895 Make sure we never call the create function is we
8898 2005-07-19 Andy Wingo <wingo@pobox.com>
8900 * gst/parse/parse.l: Attempt to solve bug #172815.
8902 2005-07-19 Wim Taymans <wim@fluendo.com>
8904 * docs/design/part-clocks.txt:
8905 * docs/design/part-events.txt:
8906 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8908 Only update the seeking values when we are not
8911 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
8913 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8914 Oops, ignore the result of gst_pad_push_event here.
8916 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
8918 * gst/base/gstbasesrc.c: (gst_base_src_loop),
8919 (gst_base_src_activate_push):
8920 Send discont event from the loop function, as pads
8921 aren't activated yet in the activate_push handler.
8923 * gst/gstbin.c: (bin_bus_handler):
8924 Don't leak element name.
8926 2005-07-18 Andy Wingo <wingo@pobox.com>
8928 * configure.ac: Use AS_LIBTOOL_TAGS.
8930 2005-07-18 Wim Taymans <wim@fluendo.com>
8932 * docs/gst/gstreamer.types:
8933 Remove deleted types.
8935 2005-07-18 Wim Taymans <wim@fluendo.com>
8937 * check/elements/gstfakesrc.c: (GST_START_TEST):
8940 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8941 (init_popt_callback):
8943 * gst/gst_private.h:
8944 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8945 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8948 * gst/gstconfig.h.in:
8949 * gst/gstelement.c: (gst_element_class_init),
8950 (gst_element_set_base_time), (gst_element_get_base_time),
8951 (iterator_fold_with_resync), (gst_element_change_state),
8952 (gst_element_dispose), (gst_element_get_bus):
8954 * gst/gstelementfactory.h:
8955 * gst/gsterror.c: (_gst_core_errors_init):
8958 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8960 * gst/gstinfo.c: (_gst_debug_init):
8961 * gst/gstmessage.c: (_gst_message_copy):
8963 * gst/gstminiobject.h:
8966 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8967 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8970 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8971 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8972 (gst_pipeline_get_last_stream_time):
8973 * gst/gstpipeline.h:
8974 * gst/gstpluginfeature.h:
8976 * gst/gstscheduler.c:
8977 * gst/gstscheduler.h:
8978 * gst/gststructure.h:
8979 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8980 (gst_task_finalize), (gst_task_func), (gst_task_create),
8981 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8982 (gst_task_stop), (gst_task_pause):
8984 * gst/gsttypefind.h:
8986 * gst/registries/gstlibxmlregistry.c: (load_feature),
8987 (gst_xml_registry_load), (gst_xml_registry_save_feature):
8988 * gst/registries/gstxmlregistry.c:
8989 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8990 * gst/schedulers/threadscheduler.c:
8991 * libs/gst/control/dparammanager.h:
8992 * tools/gst-inspect.c: (print_element_list),
8993 (print_plugin_features), (print_element_features):
8994 * tools/gst-xmlinspect.c: (print_element_list),
8995 (print_plugin_info), (main):
8996 Removed plugable schedulers.
8997 Removed Scheduler/Manager from elements.
8998 Removed gsttypes.h, rearranged includes.
8999 Removed dependency pad<->element, element<>pipeline, and
9000 various others, fix includes.
9001 implement gst_pad_get_parent() with gst_object_get_parent()
9002 Make GstTask sefcontained.
9003 Fix _get_state() on GstBin, it did not return ASYNC with a 0
9005 Fix endless loop in iterator_fold_with_resync.
9008 2005-07-18 Wim Taymans <wim@fluendo.com>
9014 2005-07-18 Wim Taymans <wim@fluendo.com>
9019 2005-07-18 Wim Taymans <wim@fluendo.com>
9025 2005-07-18 Wim Taymans <wim@fluendo.com>
9027 * docs/design/part-dynamic.txt:
9028 * docs/design/part-events.txt:
9029 * docs/design/part-seeking.txt:
9030 Some more docs in the works.
9032 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9033 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9034 (gst_base_transform_setcaps), (gst_base_transform_get_size),
9035 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9036 (gst_base_transform_handle_buffer),
9037 (gst_base_transform_sink_activate_push),
9038 (gst_base_transform_src_activate_pull),
9039 (gst_base_transform_set_passthrough),
9040 (gst_base_transform_is_passthrough):
9043 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9046 * gst/gstevent.c: (gst_event_finalize):
9049 * gst/gstutils.c: (gst_element_unlink),
9050 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9051 (gst_pad_proxy_setcaps):
9053 Add _get_parent_element() to get a pads parent as an element.
9055 2005-07-18 Wim Taymans <wim@fluendo.com>
9057 * check/gst/gstbin.c: (GST_START_TEST):
9060 2005-07-18 Wim Taymans <wim@fluendo.com>
9062 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9063 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9064 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9065 (gst_base_sink_event), (gst_base_sink_do_sync),
9066 (gst_base_sink_chain), (gst_base_sink_loop),
9067 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9068 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9070 Fix logic for returning ASYNC when not prerolled.
9072 2005-07-18 Wim Taymans <wim@fluendo.com>
9074 * gst/gstqueue.c: (gst_queue_handle_sink_event):
9075 Fix nasty refcount bug.
9077 2005-07-16 Philippe Khalaf <burger@speedy.org>
9079 * gst/elements/gstfdsrc.c:
9080 * gst/elements/gstfdsrc.h:
9081 * gst/elements/gstelements.c:
9082 * gst/elements/Makefile.am:
9083 Ported fdsrc to 0.9.
9085 2005-07-16 Wim Taymans <wim@fluendo.com>
9087 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9088 (gst_base_sink_do_sync):
9091 2005-07-16 Wim Taymans <wim@fluendo.com>
9093 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9094 (gst_base_sink_event), (gst_base_sink_get_times),
9095 (gst_base_sink_do_sync), (gst_base_sink_change_state):
9096 * gst/base/gstbasesink.h:
9097 Store and use discont values when syncing buffers as described
9100 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9101 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9102 (gst_base_src_activate_push):
9103 Push discont event when starting.
9105 * gst/elements/gstidentity.c: (gst_identity_transform):
9108 * gst/gstbin.c: (gst_bin_change_state):
9109 Small cleanups in base_time distribution.
9111 * gst/gstelement.c: (gst_element_set_base_time),
9112 (gst_element_get_base_time), (gst_element_change_state):
9114 Added methods for the base_time of the element.
9117 * gst/gstpipeline.c: (gst_pipeline_send_event),
9118 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9119 (gst_pipeline_get_last_stream_time):
9120 * gst/gstpipeline.h:
9122 Handle seeking as described in design doc, remove stream_time
9124 Cleanups clock and stream_time selection code. Added accessors
9125 for the stream_time.
9128 2005-07-16 Andy Wingo <wingo@pobox.com>
9130 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9133 2005-07-16 Wim Taymans <wim@fluendo.com>
9135 * check/gst/gstbin.c: (GST_START_TEST):
9136 Make elements silent as the deep_notify refs the
9137 parent, which might make the test fail.
9139 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9140 Don't hold the lock for too long.
9142 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
9144 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9145 Don't unref the caps we passed to gst_caps_make_writable() after
9146 passing them. gst_caps_make_writable() will do that for us.
9148 2005-07-15 Andy Wingo <wingo@pobox.com>
9150 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9153 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9154 own marshalling function for the handoff signal. Properly type the
9155 buffer as a buffer. Fixes some warnings. Should do a more general
9157 (gst_identity_class_init): Plug into the right marshaller.
9159 2005-07-15 Wim Taymans <wim@fluendo.com>
9161 * docs/design/part-TODO.txt:
9162 * docs/design/part-clocks.txt:
9163 * docs/design/part-element-sink.txt:
9164 * docs/design/part-events.txt:
9165 * docs/design/part-gstpipeline.txt:
9166 Updated docs, mostly DISCONT related.
9168 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
9170 * docs/pwg/building-pads.xml:
9171 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9173 2005-07-15 Andy Wingo <wingo@pobox.com>
9175 * tools/gst-typefind.c: Update, add copyright block.
9177 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9178 Normalize and truncate caps before fixation.
9181 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9182 discards all but the first structure from its argument.
9184 2005-07-15 Wim Taymans <wim@fluendo.com>
9186 * gst/base/gstbasetransform.c: (gst_base_transform_init),
9187 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9188 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9189 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9190 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9191 (gst_base_transform_chain), (gst_base_transform_change_state),
9192 (gst_base_transform_set_passthrough),
9193 (gst_base_transform_is_passthrough):
9194 * gst/base/gstbasetransform.h:
9195 Make passthrough work using the bufferpools.
9196 Changed API a bit, subclasses have to write into a buffer
9197 provided by the base class.
9198 More debug info in nego functions.
9200 * gst/elements/gstidentity.c: (gst_identity_init),
9201 (gst_identity_transform):
9202 Port to new base class.
9204 2005-07-15 Wim Taymans <wim@fluendo.com>
9206 * gst/gstmessage.c: (gst_message_new_state_changed):
9207 * tools/gst-launch.c: (event_loop), (main):
9208 Totally dump messages in -launch with the -m option.
9209 Fix message name for State messages,
9211 2005-07-14 Wim Taymans <wim@fluendo.com>
9213 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9214 Post error messages on errors.
9216 2005-07-14 Wim Taymans <wim@fluendo.com>
9218 * gst/gstcaps.c: (gst_caps_do_simplify):
9222 Define error for stream stopped.
9224 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9225 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9226 Do proper return values.
9228 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9229 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9230 (gst_pad_get_range):
9231 Better return values.
9234 Reorganise return values, add macro to check for fatal errors.
9236 * gst/gstqueue.c: (gst_queue_chain):
9237 Return proper GstFlowReturn values,
9239 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
9241 * docs/gst/gstreamer-sections.txt:
9242 * docs/gst/gstreamer.types:
9243 * docs/gst/tmpl/gst.sgml:
9244 * docs/gst/tmpl/gstbasesink.sgml:
9245 * docs/gst/tmpl/gstbasesrc.sgml:
9246 * docs/gst/tmpl/gstbasetransform.sgml:
9247 * docs/gst/tmpl/gstbin.sgml:
9248 * docs/gst/tmpl/gstbuffer.sgml:
9249 * docs/gst/tmpl/gstcaps.sgml:
9250 * docs/gst/tmpl/gstclock.sgml:
9251 * docs/gst/tmpl/gstcompat.sgml:
9252 * docs/gst/tmpl/gstconfig.sgml:
9253 * docs/gst/tmpl/gstelement.sgml:
9254 * docs/gst/tmpl/gstelementdetails.sgml:
9255 * docs/gst/tmpl/gstelementfactory.sgml:
9256 * docs/gst/tmpl/gstenumtypes.sgml:
9257 * docs/gst/tmpl/gsterror.sgml:
9258 * docs/gst/tmpl/gstevent.sgml:
9259 * docs/gst/tmpl/gstfakesink.sgml:
9260 * docs/gst/tmpl/gstfakesrc.sgml:
9261 * docs/gst/tmpl/gstfilesink.sgml:
9262 * docs/gst/tmpl/gstfilesrc.sgml:
9263 * docs/gst/tmpl/gstfilter.sgml:
9264 * docs/gst/tmpl/gstformat.sgml:
9265 * docs/gst/tmpl/gstghostpad.sgml:
9266 * docs/gst/tmpl/gstimplementsinterface.sgml:
9267 * docs/gst/tmpl/gstindex.sgml:
9268 * docs/gst/tmpl/gstindexfactory.sgml:
9269 * docs/gst/tmpl/gstinfo.sgml:
9270 * docs/gst/tmpl/gstiterator.sgml:
9271 * docs/gst/tmpl/gstmacros.sgml:
9272 * docs/gst/tmpl/gstmemchunk.sgml:
9273 * docs/gst/tmpl/gstminiobject.sgml:
9274 * docs/gst/tmpl/gstobject.sgml:
9275 * docs/gst/tmpl/gstpad.sgml:
9276 * docs/gst/tmpl/gstpadtemplate.sgml:
9277 * docs/gst/tmpl/gstparse.sgml:
9278 * docs/gst/tmpl/gstpipeline.sgml:
9279 * docs/gst/tmpl/gstplugin.sgml:
9280 * docs/gst/tmpl/gstpluginfeature.sgml:
9281 * docs/gst/tmpl/gstquery.sgml:
9282 * docs/gst/tmpl/gstqueue.sgml:
9283 * docs/gst/tmpl/gstregistry.sgml:
9284 * docs/gst/tmpl/gstregistrypool.sgml:
9285 * docs/gst/tmpl/gstscheduler.sgml:
9286 * docs/gst/tmpl/gstschedulerfactory.sgml:
9287 * docs/gst/tmpl/gststructure.sgml:
9288 * docs/gst/tmpl/gstsystemclock.sgml:
9289 * docs/gst/tmpl/gsttaglist.sgml:
9290 * docs/gst/tmpl/gsttagsetter.sgml:
9291 * docs/gst/tmpl/gsttrace.sgml:
9292 * docs/gst/tmpl/gsttrashstack.sgml:
9293 * docs/gst/tmpl/gsttypefind.sgml:
9294 * docs/gst/tmpl/gsttypefindfactory.sgml:
9295 * docs/gst/tmpl/gsttypes.sgml:
9296 * docs/gst/tmpl/gsturihandler.sgml:
9297 * docs/gst/tmpl/gsturitype.sgml:
9298 * docs/gst/tmpl/gstutils.sgml:
9299 * docs/gst/tmpl/gstvalue.sgml:
9300 * docs/gst/tmpl/gstversion.sgml:
9301 * docs/gst/tmpl/gstxml.sgml:
9302 * docs/libs/tmpl/gstcontrol.sgml:
9303 * docs/libs/tmpl/gstdataprotocol.sgml:
9304 * docs/libs/tmpl/gstdparam.sgml:
9305 * docs/libs/tmpl/gstdplinint.sgml:
9306 * docs/libs/tmpl/gstdpman.sgml:
9307 * docs/libs/tmpl/gstdpsmooth.sgml:
9308 * docs/libs/tmpl/gstgetbits.sgml:
9309 * docs/libs/tmpl/gstunitconvert.sgml:
9310 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9311 (gst_push_src_base_init), (gst_push_src_class_init),
9312 (gst_push_src_init), (gst_push_src_create):
9313 * gst/base/gstpushsrc.h:
9314 * gst/elements/gstelements.c:
9315 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9316 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9317 (gst_fake_sink_init), (gst_fake_sink_set_property),
9318 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9319 (gst_fake_sink_event), (gst_fake_sink_preroll),
9320 (gst_fake_sink_render), (gst_fake_sink_change_state):
9321 * gst/elements/gstfakesink.h:
9322 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9323 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9324 (gst_fake_src_base_init), (gst_fake_src_class_init),
9325 (gst_fake_src_init), (gst_fake_src_event_handler),
9326 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9327 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9328 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9329 (gst_fake_src_create_buffer), (gst_fake_src_create),
9330 (gst_fake_src_start), (gst_fake_src_stop):
9331 * gst/elements/gstfakesrc.h:
9332 * gst/elements/gstfilesink.c: (_do_init),
9333 (gst_file_sink_base_init), (gst_file_sink_class_init),
9334 (gst_file_sink_init), (gst_file_sink_dispose),
9335 (gst_file_sink_set_location), (gst_file_sink_set_property),
9336 (gst_file_sink_get_property), (gst_file_sink_open_file),
9337 (gst_file_sink_close_file), (gst_file_sink_query),
9338 (gst_file_sink_event), (gst_file_sink_render),
9339 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9340 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9341 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9342 * gst/elements/gstfilesink.h:
9343 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9344 (gst_file_src_class_init), (gst_file_src_init),
9345 (gst_file_src_finalize), (gst_file_src_set_location),
9346 (gst_file_src_set_property), (gst_file_src_get_property),
9347 (gst_file_src_map_region), (gst_file_src_map_small_region),
9348 (gst_file_src_create_mmap), (gst_file_src_create_read),
9349 (gst_file_src_create), (gst_file_src_is_seekable),
9350 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9351 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9352 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9353 (gst_file_src_uri_handler_init):
9354 * gst/elements/gstfilesrc.h:
9355 more autistic cleanliness in functions/names/defines
9357 2005-07-13 Andy Wingo <wingo@pobox.com>
9359 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9360 source couldn't negotiate.
9362 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9366 * gst/gstutils.c (gst_element_link_pads_filtered): New old
9367 function. I am channeling Hades. Put your boots on suckers!!!
9369 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
9371 * testsuite/caps/Makefile.am:
9372 * testsuite/caps/value_compare.c:
9373 * testsuite/caps/value_intersect.c:
9374 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9375 move two testsuite apps over to the check dir
9377 2005-07-12 Wim Taymans <wim@fluendo.com>
9379 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9380 Added more debug info in the negotiate process.
9383 Prepare for segment playback.
9385 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9391 * tools/gst-launch.c: (main):
9392 NULL pipeline on errors.
9394 2005-07-12 Andy Wingo <wingo@pobox.com>
9396 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9397 not it comes from a malloc region. Make sure our copy gets freed.
9399 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9401 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9402 * check/gst/gstmessage.c: (GST_START_TEST):
9403 * check/gst/gststructure.c: (GST_START_TEST),
9404 (gst_structure_suite), (main):
9406 * gst/gstelement.c: (gst_element_message_full):
9407 clean up GError and debug string now that they get copied
9408 * gst/gstmessage.c: (gst_message_new_error),
9409 (gst_message_new_warning), (gst_message_parse_error),
9410 (gst_message_parse_warning):
9411 use GST_TYPE_G_ERROR for structure_new, and take copies of
9412 arguments, so that we don't mess up refcounting
9414 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9416 * check/Makefile.am:
9417 add per-test valgrind targets
9418 * check/gst-libs/gdp.c: (GST_START_TEST),
9419 (gst_data_protocol_suite), (main):
9422 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9424 * check/Makefile.am:
9425 instate more valgrindable tests
9426 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9427 (GST_START_TEST), (fakesrc_suite):
9428 * check/gst/gstpad.c: (GST_START_TEST):
9429 * check/gst/gststructure.c: (GST_START_TEST):
9431 * docs/gst/tmpl/gstminiobject.sgml:
9432 * gst/gstpad.c: (gst_pad_finalize):
9433 fix the static mutex leak
9435 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9437 * check/Makefile.am:
9438 add two more tests for valgrinding
9439 * check/gst/gstvalue.c: (GST_START_TEST):
9440 test refcount of deserialized buffer, found a leak
9441 * docs/gst/gstreamer-docs.sgml:
9442 * docs/gst/gstreamer-sections.txt:
9443 * docs/gst/gstreamer.types:
9444 * docs/gst/tmpl/gstminiobject.sgml:
9445 add miniobject to docs
9446 * gst/gstminiobject.c:
9448 * gst/gstvalue.c: (gst_value_deserialize_buffer),
9449 (gst_string_unwrap):
9450 fix a hard-to-find invalid write for one of the tests
9451 fix a leak for deserialized buffers
9453 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9455 * docs/pwg/advanced-events.xml:
9456 * docs/pwg/advanced-request.xml:
9457 * docs/pwg/advanced-scheduling.xml:
9458 * docs/pwg/appendix-porting.xml:
9459 * docs/pwg/building-boiler.xml:
9460 * docs/pwg/intro-preface.xml:
9461 * docs/pwg/other-ntoone.xml:
9462 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9463 of example code and explanation for pad activation, loop() and
9464 getrange() functions and a bit more. Remove old comments pointing
9466 * examples/pwg/Makefile.am:
9467 Add loop/getrange examples.
9469 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9472 check for valgrind binary + some fixes
9474 valgrind suppressions for the tests
9475 * check/Makefile.am:
9476 add a valgrind: target that valgrinds the unit tests
9477 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9478 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9479 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9480 * check/gst/gstghostpad.c:
9482 * check/gst/gstdata.c:
9484 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9485 (thread_unref), (gst_mini_object_suite), (main):
9487 * gst/gst.c: (gst_deinit):
9489 add a method to clean up.
9490 * gst/gstsystemclock.c: (gst_system_clock_dispose),
9491 (gst_system_clock_obtain):
9492 allow for disposing the system clock.
9493 * tools/gst-launch.c: (main):
9496 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9498 * docs/gst/tmpl/gstbasesrc.sgml:
9499 * docs/gst/tmpl/gstfakesrc.sgml:
9500 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9501 (gst_base_src_init), (gst_base_src_set_property),
9502 (gst_base_src_get_property), (gst_base_src_get_range),
9503 (gst_base_src_start):
9504 * gst/base/gstbasesrc.h:
9505 add num-buffers property
9506 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9507 (gst_fakesrc_init), (gst_fakesrc_set_property),
9508 (gst_fakesrc_get_property), (gst_fakesrc_create),
9509 (gst_fakesrc_start):
9510 remove num-buffers property
9512 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9514 * docs/gst/gstreamer-sections.txt:
9515 * docs/gst/tmpl/gstbasesink.sgml:
9516 * docs/gst/tmpl/gstbasesrc.sgml:
9517 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9518 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9519 (gst_base_sink_finalize), (gst_base_sink_set_clock),
9520 (gst_base_sink_set_property), (gst_base_sink_get_property),
9521 (gst_base_sink_handle_object), (gst_base_sink_event),
9522 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9523 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9524 (gst_base_sink_loop), (gst_base_sink_deactivate),
9525 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9526 (gst_base_sink_change_state):
9527 * gst/base/gstbasesink.h:
9528 * gst/base/gstbasesrc.h:
9529 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9530 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9531 (gst_filesink_init):
9532 more macro splitting
9534 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9536 * gst/gstelement.c: (gst_element_get_bus):
9538 * tools/gst-launch.c: (check_intr), (event_loop):
9541 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9543 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9546 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9548 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9549 (gst_base_src_finalize):
9550 add finalize method and clean up properly
9551 * gst/gstpipeline.c: (gst_pipeline_dispose):
9554 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9556 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9558 add more things to check
9559 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9563 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9565 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9566 (GST_START_TEST), (fakesrc_suite):
9567 * check/gst-libs/gdp.c: (GST_START_TEST):
9568 * check/gst/gst.c: (GST_START_TEST):
9569 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9570 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9571 * check/gst/gstbus.c: (GST_START_TEST):
9572 * check/gst/gstcaps.c: (GST_START_TEST):
9573 * check/gst/gstdata.c: (GST_START_TEST):
9574 * check/gst/gstelement.c: (GST_START_TEST):
9575 * check/gst/gstghostpad.c: (GST_START_TEST):
9576 * check/gst/gstiterator.c: (GST_START_TEST):
9577 * check/gst/gstmessage.c: (GST_START_TEST):
9578 * check/gst/gstobject.c: (GST_START_TEST):
9579 * check/gst/gstpad.c: (GST_START_TEST):
9580 * check/gst/gststructure.c: (GST_START_TEST):
9581 * check/gst/gstsystemclock.c: (GST_START_TEST),
9582 (gst_systemclock_suite):
9583 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9584 * check/gst/gstvalue.c: (GST_START_TEST):
9585 * check/pipelines/cleanup.c: (GST_START_TEST):
9586 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9587 * check/states/sinks.c: (GST_START_TEST):
9588 * check/gstcheck.c: (gst_check_init):
9590 add debugging category
9591 use GST_START_TEST now, so we add a debug line
9593 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9595 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9596 add test for state change message on a bin
9597 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9599 * gst/gstbin.c: (gst_bin_init):
9600 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9601 * gst/gstelement.c: (gst_element_post_message),
9602 (gst_element_set_state):
9603 * gst/gstelementfactory.c: (gst_element_factory_create):
9604 * gst/gstmessage.c: (gst_message_new):
9605 * gst/gstscheduler.c:
9606 various debugging additions and cleanups
9608 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9610 * check/Makefile.am:
9611 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9613 adding tests for elements
9614 * gst/gstelement.c: (gst_element_dispose):
9616 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9618 * gst/registries/gstlibxmlregistry.c: (load_feature):
9619 plug more leaks. A simple gst_init() now is leakfree, yay.
9621 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9623 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9624 (gst_xml_registry_load):
9625 plug another memleak
9627 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9630 use GST_SET_ERROR_CFLAGS
9632 change to ERROR_CFLAGS
9634 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9637 make GST_ERROR_CFLAGS overridable and re-enable Werror
9639 add a note about error CFLAGS
9640 * docs/gst/tmpl/gstfakesrc.sgml:
9641 * gst/elements/gstfakesrc.c:
9642 comment out some unused code
9643 * gst/gst.c: (split_and_iterate):
9644 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9648 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9650 * common/Makefile.am:
9651 * common/gtk-doc.mak:
9652 * docs/gst/Makefile.am:
9653 factor out gtk-doc.mak
9655 2005-07-07 Wim Taymans <wim@fluendo.com>
9657 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9658 (gst_thread_scheduler_dispose):
9659 Unlock the STREAM_LOCK completely.
9661 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9663 * check/Makefile.am:
9664 * check/elements/.cvsignore:
9665 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9666 (START_TEST), (fakesrc_suite), (main):
9667 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9668 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9669 (gst_fakesrc_create), (gst_fakesrc_start):
9670 * gst/elements/gstfakesrc.h:
9671 adding a first element test
9673 2005-07-07 Andy Wingo <wingo@pobox.com>
9675 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9678 2005-07-07 Wim Taymans <wim@fluendo.com>
9684 2005-07-07 Wim Taymans <wim@fluendo.com>
9686 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9687 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9688 Allow subclasses to implement their own negotiation.
9690 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9692 * docs/design/part-gstbin.txt:
9693 * docs/design/part-gstpipeline.txt:
9694 Update design notes to reflect the movement of
9695 responsibility for bus handling from GstPipeline to
9698 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9701 Remove unnecessary queue2/3/4 examples.
9703 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9705 * examples/Makefile.am:
9706 * examples/helloworld/helloworld.c: (event_loop), (main):
9707 * examples/queue/queue.c: (event_loop), (main):
9708 * examples/queue2/queue2.c: (main):
9709 Update a couple of the examples to work again.
9711 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9712 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9713 Spelling corrections and extra debug.
9715 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9716 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9717 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9719 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9720 (gst_pipeline_change_state):
9721 * gst/gstpipeline.h:
9722 Move the bus handler for children to the GstBin, and create a
9723 separate bus for receiving messages from children to the one the
9724 bus sends 'upwards' on.
9726 2005-07-06 Wim Taymans <wim@fluendo.com>
9729 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9730 (gst_base_sink_handle_object), (gst_base_sink_loop),
9731 (gst_base_sink_change_state):
9732 * gst/base/gstbasesink.h:
9733 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9734 (gst_base_src_init), (gst_base_src_setcaps),
9735 (gst_base_src_getcaps), (gst_base_src_loop),
9736 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9737 (gst_base_src_start), (gst_base_src_change_state):
9738 * gst/base/gstbasesrc.h:
9739 Make basesrc negotiate.
9740 Handle the case where preroll fails in basesink.
9743 2005-07-06 Wim Taymans <wim@fluendo.com>
9745 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9746 Implement the fixate function.
9747 Clean up acceptcaps.
9749 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9751 * docs/pwg/building-filterfactory.xml:
9753 Remove never-written filter-factory chapter; I'll add the various
9754 base classes to part 4 ("other element types") later on.
9756 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9758 * docs/pwg/advanced-negotiation.xml:
9759 * docs/pwg/building-boiler.xml:
9760 * docs/pwg/building-pads.xml:
9762 * examples/pwg/Makefile.am:
9763 Add a chapter on caps negotiation, simplify the original code
9764 samples a bit w.r.t. caps negotiation, add link to the advanced
9765 section. Add a bunch of examples showing different use cases of
9766 different types of caps negotiation. Upstream renegotiation isn't
9767 fully documented yet since nobody knows how that works.
9769 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
9771 * check/gst/gstpad.c:
9773 * gst/gstpad.c: (gst_pad_get_internal_links_default):
9774 if pad has no parent, return NULL as list of internal links
9776 2005-07-05 Andy Wingo <wingo@pobox.com>
9778 * gst/elements/gstfilesrc.c:
9779 * gst/elements/gstfakesrc.c:
9780 * gst/base/gstpushsrc.c:
9781 * gst/base/gstbasesrc.h:
9782 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9784 2005-07-05 Stefan Kost <ensonic@users.sf.net>
9787 better report generation target (lcov needs a patch)
9789 2005-07-05 Andy Wingo <wingo@pobox.com>
9791 * gst/elements, testsuite: Null if we got it...
9793 2005-07-05 Wim Taymans <wim@fluendo.com>
9796 * libs/gst/dataprotocol/Makefile.am:
9797 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9798 * libs/gst/dataprotocol/dataprotocol.h:
9799 * pkgconfig/Makefile.am:
9800 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9801 * pkgconfig/gstreamer-dataprotocol.pc.in:
9802 Ported dataprotol to 0.9.
9803 Added pkgconfig files.
9805 2005-07-05 Andy Wingo <wingo@pobox.com>
9807 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9808 Default to returning TRUE for the case when tranform_caps returns
9809 a fixed caps, like for identity or volume.
9811 * check/gst/gstbus.c (pound_bus_with_messages):
9812 * check/gst/gstmessage.c (START_TEST):
9813 * check/pipelines/simple_launch_lines.c (got_handoff): Application
9816 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9817 logic weaks here: always run transform_caps, trying passthrough
9818 operation only if the original caps intersects with the transform.
9820 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9821 source and sink caps.
9823 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9824 Intersect the peer caps with the pad template before going into
9826 (gst_base_transform_transform_caps): More debugging.
9828 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9831 2005-07-04 Edward Hervey <edward@fluendo.com>
9835 (gst_pad_add_*_probe): now returns the signal id for better wrapping
9838 2005-07-04 Andy Wingo <wingo@pobox.com>
9840 * check/gst/gstpad.c: Only set explicit caps on pads.
9842 2005-07-01 Andy Wingo <wingo@pobox.com>
9844 * tests/network-clock.scm: Commentary update.
9846 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9847 Didn't really make sense, not implementable with basetransform,
9849 (gst_identity_transform): Unref inbuf via make_writable. Feeble
9850 attempt at implementing the sync property, needs an unlock method.
9852 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9853 New func, by default returns the same caps (the identity
9855 (gst_base_transform_getcaps): Uses transform_caps to return
9857 (gst_base_transform_setcaps): Complicated logic to get caps on
9858 both pads, even if they are different, and to call set_caps once
9859 for every time both pads get their caps set.
9860 (gst_base_transform_handle_buffer): Give the ref to the transform
9861 function. Allows in-place modification of the buffer.
9863 * gst/base/gstbasetransform.h (transform_caps): New class method.
9864 Given caps on one side, what can I do on the other.
9865 (set_caps): Take two caps, one for each side of the element.
9868 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9869 caps in place. This is safe because we can check the mutability of
9870 the caps, and a good idea because fixate functions are just called
9871 as a matter of last resort. (Not actually implemented.)
9872 (gst_pad_set_caps): If the caps we're setting is actually the same
9873 as the existing pad caps, just update the pointer without calling
9874 setcaps. Assert that caps is either NULL or fixed, as per the
9877 * gst/gstghostpad.c: Update for fixate changes.
9879 2005-07-02 Andy Wingo <wingo@pobox.com>
9882 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9883 two refcounts makes it immutable, which is enough. Doc more.
9885 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
9887 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9888 Put the mini_object into GValue as a mini_object,
9889 not a gpointer, since that's how we declared
9892 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9894 * examples/pwg/Makefile.am:
9897 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9899 * docs/pwg/building-testapp.xml:
9901 * examples/pwg/Makefile.am:
9904 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9907 * examples/Makefile.am:
9908 * examples/pwg/Makefile.am:
9909 * examples/pwg/extract.pl:
9910 Enable building the PWG examples.
9911 * docs/pwg/advanced-interfaces.xml:
9912 Add URI interface stub.
9913 * docs/pwg/advanced-types.xml:
9914 * docs/pwg/other-autoplugger.xml:
9915 * docs/pwg/appendix-porting.xml:
9917 Add porting guide (mostly stubs), remove autoplugging (see ADM).
9918 * docs/pwg/building-boiler.xml:
9919 * docs/pwg/building-chainfn.xml:
9920 * docs/pwg/building-pads.xml:
9921 * docs/pwg/building-props.xml:
9922 * docs/pwg/building-state.xml:
9923 * docs/pwg/building-testapp.xml:
9924 Update the building-*.xml parts for 0.9 changes. All examples
9925 code blocks compile in examples/pwg/*.
9927 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9929 * docs/manual/advanced-autoplugging.xml:
9930 * docs/manual/appendix-checklist.xml:
9931 * docs/manual/appendix-integration.xml:
9932 * docs/manual/highlevel-components.xml:
9933 Fix playbin/decodebin examples, update docs a bit, mention bus
9934 instead of signals in various places, mention kmplayer and
9935 kaffeine since they have a working GStreamer backend in the KDE
9938 2005-06-30 Wim Taymans <wim@fluendo.com>
9941 * docs/design/draft-ghostpads.txt:
9942 * docs/design/draft-push-pull.txt:
9943 * docs/design/draft-query.txt:
9944 * docs/design/part-TODO.txt:
9945 * docs/design/part-query.txt:
9946 Added CHANGES-0.9 doc, updated status of other docs.
9951 2005-06-30 Wim Taymans <wim@fluendo.com>
9953 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9954 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9955 (gst_base_sink_change_state):
9956 * gst/base/gstbasesink.h:
9957 Some tweaks, only EOS and a buffer complete a preroll.
9959 2005-06-30 Andy Wingo <wingo@pobox.com>
9961 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9962 activate_push down to the internal pad as well.
9964 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
9966 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9968 * gst/gsttaginterface.c:
9969 Some documentation fixes (#307394 and #307397).
9971 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
9973 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9975 * gst/gstvalue.c: (gst_value_intersect_list):
9976 Fix memleak (#309125).
9978 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9980 * docs/manual/advanced-dataaccess.xml:
9981 Fix fakesrc example to compile; doesn't work, bug somewhere...?
9982 * docs/manual/basics-pads.xml:
9983 Add reference for filtered caps to above chapter.
9985 2005-06-30 Wim Taymans <wim@fluendo.com>
9987 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9988 (gst_bin_change_state):
9990 Lame attempt at making the state change function a bit
9993 2005-06-30 Wim Taymans <wim@fluendo.com>
9995 * docs/design/part-clocks.txt:
9996 * docs/design/part-element-sink.txt:
9997 * docs/design/part-events.txt:
9998 * docs/design/part-preroll.txt:
9999 * docs/design/part-states.txt:
10000 Some more tweeks and additions to the docs.
10002 2005-06-30 Wim Taymans <wim@fluendo.com>
10004 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10005 (default_have_data), (gst_pad_class_init), (gst_pad_init),
10006 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10007 (gst_pad_check_pull_range), (gst_pad_get_range),
10008 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10010 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10011 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10012 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10013 (gst_pad_remove_buffer_probe):
10014 Removed atomic operations, use existing LOCK.
10015 Move exception handling out of main code path.
10017 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10019 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10020 (silly_return_true_function), (gst_pad_class_init),
10021 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10022 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10023 (gst_pad_send_event):
10024 Fix accumulator, add default value by using _emitv() instead
10025 of _emit() for signal emission.
10027 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10029 * docs/manual/advanced-dataaccess.xml:
10030 * examples/manual/Makefile.am:
10032 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10035 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
10037 * gst/elements/gstfilesink.c: (gst_filesink_render):
10038 Simplify code so that we don't have to handle short
10039 writes and return GST_FLOW_ERROR if an error occured.
10041 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10043 * docs/gst/gstreamer-docs.sgml:
10044 Remove probes more.
10046 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10048 * docs/gst/gstreamer-sections.txt:
10049 * docs/gst/tmpl/gstpad.sgml:
10050 * docs/gst/tmpl/gstprobe.sgml:
10052 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10053 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10054 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10055 (gst_pad_push_event), (gst_pad_send_event):
10057 * gst/gstutils.c: (gst_pad_add_data_probe),
10058 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10059 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10060 (gst_pad_remove_buffer_probe):
10062 Remove old probes, add new g-signal-based probes and some utility
10065 2005-06-29 Edward Hervey <edward@fluendo.com>
10067 * gst/gstelementfactory.c:
10070 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10071 the definition to the header file.
10073 2005-06-29 Andy Wingo <wingo@pobox.com>
10075 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10076 plugins from the source directory.
10078 2005-06-29 Wim Taymans <wim@fluendo.com>
10080 * docs/gst/tmpl/gstbuffer.sgml:
10081 * docs/gst/tmpl/gstclock.sgml:
10082 Some fixings for blantently wrong text.
10084 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10086 * check/Makefile.am:
10087 * gst/gst.c: (add_path_func), (init_pre):
10088 * gst/gstregistry.c: (gst_registry_add_path):
10089 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10090 only scan the GST_PLUGIN_PATH locations, and not add
10093 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10095 * docs/gst/gstreamer-sections.txt:
10096 * docs/gst/tmpl/gstbasesrc.sgml:
10097 * gst/gstelement.c:
10098 * gst/gstelement.h:
10103 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10105 * docs/manual/advanced-autoplugging.xml:
10106 Fix autoplugging example.
10108 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10110 * docs/manual/advanced-autoplugging.xml:
10111 * docs/manual/mime-world.fig:
10112 Try to get autoplugging working, fix type detection. Fix text
10113 in hello-world image.
10115 2005-06-29 Wim Taymans <wim@fluendo.com>
10117 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10118 (gst_base_sink_change_state):
10122 map SIGNAL and BROADCAST to the right function.
10125 Remove redundant braces.
10127 * gst/gstpad.c: (gst_pad_set_caps):
10128 Don't call setcaps function when reseting caps to NULL.
10130 * gst/gstsystemclock.c: (gst_system_clock_dispose),
10131 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10132 (gst_system_clock_id_unschedule):
10133 Use BROADCAST as this is what we do.
10135 2005-06-29 Wim Taymans <wim@fluendo.com>
10137 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10138 We are actually prerolling before commiting the state
10141 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10143 * docs/manual/advanced-clocks.xml:
10144 * docs/manual/advanced-interfaces.xml:
10145 * docs/manual/advanced-metadata.xml:
10146 * docs/manual/advanced-position.xml:
10147 * docs/manual/advanced-schedulers.xml:
10148 * docs/manual/advanced-threads.xml:
10149 * docs/manual/appendix-porting.xml:
10150 * docs/manual/basics-bins.xml:
10151 * docs/manual/basics-bus.xml:
10152 * docs/manual/basics-elements.xml:
10153 * docs/manual/basics-helloworld.xml:
10154 * docs/manual/basics-pads.xml:
10155 * docs/manual/highlevel-components.xml:
10156 * docs/manual/manual.xml:
10157 * docs/manual/thread.fig:
10158 Update (until threads/scheduling) Application Development Manual;
10159 remove GstThread, add GstBus, add simple porting checklist, add
10160 documentation for tag writing, clocks, make all examples until this
10161 part compile and run.
10162 * examples/manual/Makefile.am:
10163 Update from changes to Application Development Manual; add bus
10164 example, remove thread example.
10166 2005-06-28 Wim Taymans <wim@fluendo.com>
10168 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10169 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10170 (gst_bus_source_dispatch):
10171 Add debugging messages.
10172 Make internal methods static.
10173 Handle the case where the bus is flushed in the handler.
10175 * gst/gstelement.c: (gst_element_get_bus):
10176 Fix refcount in _get_bus();
10178 * gst/gstpipeline.c: (gst_pipeline_change_state),
10179 (gst_pipeline_get_clock_func):
10180 Clock refcounting fixes.
10181 Handle the case where preroll timed out more gracefully.
10183 * gst/gstsystemclock.c: (gst_system_clock_dispose):
10184 Clean up the internal thread in dispose. This is needed
10185 for subclasses that actually get disposed.
10187 * gst/schedulers/threadscheduler.c:
10188 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10189 (gst_thread_scheduler_dispose):
10190 Free thread pool in dispose.
10192 2005-06-28 Andy Wingo <wingo@pobox.com>
10194 * tests/network-clock-utils.scm (debug, print-event): New utils.
10196 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10197 (*packet-loss*): Unified loss probability.
10198 (network-time): Report out-of-band events.
10200 * tests/plot-data: Add support for out-of-band events. Hack it
10201 into this script instead of passing it down the pipe; should fix
10204 2005-06-28 Wim Taymans <wim@fluendo.com>
10206 * docs/gst/gstreamer.types:
10207 * docs/gst/tmpl/gstbasesrc.sgml:
10208 * docs/gst/tmpl/gstpad.sgml:
10211 2005-06-28 Wim Taymans <wim@fluendo.com>
10213 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10214 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10215 (gst_proxy_pad_do_fixatecaps):
10216 Correctly proxy the check_pull_range function.
10218 2005-06-28 Andy Wingo <wingo@pobox.com>
10220 * tests/network-clock.scm: Removed need for slib.
10222 2005-06-28 Wim Taymans <wim@fluendo.com>
10224 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10225 (gst_basesink_preroll_queue_flush):
10226 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10227 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10228 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10229 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10230 (gst_proxy_pad_set_property):
10233 * gst/gstqueue.c: (gst_queue_init):
10234 The deprecated pad loop function is removed now.
10236 2005-06-28 Andy Wingo <wingo@pobox.com>
10238 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10239 New parameters, simulate network packet loss.
10241 * tests/network-clock-utils.scm: Initialize the RNG.
10243 2005-06-28 Wim Taymans <wim@fluendo.com>
10245 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10246 (gst_basesink_event), (gst_basesink_deactivate):
10247 Flushing the preroll queue always needs to unlock the waiters.
10249 2005-06-28 Edward Hervey <edward@fluendo.com>
10251 * gst/gstpipeline.c: (gst_pipeline_send_event):
10252 Wheen a seek was successful on a pipeline, set the stream_time to the
10253 seek offset in order to have a synchronized stream_time.
10255 2005-06-28 Wim Taymans <wim@fluendo.com>
10257 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10258 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10259 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10260 (gst_proxy_pad_do_fixatecaps):
10261 Call wrapper function instead of just calling the function
10262 pointers. This takes care of any locking and whatmore.
10264 2005-06-28 Wim Taymans <wim@fluendo.com>
10266 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10267 (gst_pad_pull_range):
10269 CONNECTED -> LINKED.
10271 2005-06-28 Andy Wingo <wingo@pobox.com>
10273 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10274 source-munging commit!!!
10276 * gst/gstobject.c (gst_object_unref, gst_object_ref)
10277 (gst_object_sink): Take gpointer arguments, not GstObject --
10278 avoids casts. Like GLib.
10280 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10283 2005-06-27 Andy Wingo <wingo@pobox.com>
10285 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10288 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10289 returns a sorted copy of the trace list.
10290 (gst_alloc_trace_print_live): New API, only prints traces with
10291 live objects. Sort the list.
10292 (gst_alloc_trace_print_all): Sort the list.
10293 (gst_alloc_trace_print): Align columns.
10295 * gst/elements/gstttypefindelement.c:
10296 * gst/elements/gsttee.c:
10297 * gst/base/gstbasesrc.c:
10298 * gst/base/gstbasesink.c:
10299 * gst/base/gstbasetransform.c:
10300 * gst/gstqueue.c: Adapt for pad activation changes.
10302 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10304 (gst_pipeline_dispose): Drop ref on sched.
10306 * gst/gstpad.c (gst_pad_init): Set the default activate func.
10307 (gst_pad_activate_default): Push mode by default.
10308 (pre_activate_switch, post_activate_switch): New stubs, things to
10309 do before and after switching activation modes on pads.
10310 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10311 the pad's activate function to choose which mode to activate.
10312 Shortcut on deactivation and call the right function directly.
10313 (gst_pad_activate_pull): New API, (de)activates a pad in pull
10315 (gst_pad_activate_push): New API, same for push mode.
10316 (gst_pad_set_activate_function)
10317 (gst_pad_set_activatepull_function)
10318 (gst_pad_set_activatepush_function): Setters for new API.
10320 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10321 Trace all miniobjects.
10322 (gst_mini_object_make_writable): Unref the arg if we copy, like
10323 gst_caps_make_writable.
10325 * gst/gstmessage.c (_gst_message_initialize): No trace init.
10327 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
10328 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10329 Adapt for new pad API.
10331 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10333 * gst/gstelement.h:
10334 * gst/gstelement.c (gst_element_iterate_src_pads)
10335 (gst_element_iterate_sink_pads): New API functions.
10337 * gst/gstelement.c (iterator_fold_with_resync): New utility,
10338 should fold into gstiterator.c in some form.
10339 (gst_element_pads_activate): Simplified via use of fold and
10340 delegation of decisions to gstpad->activate.
10342 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10345 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10346 class once in init, like gstmessage. Didn't run into this issue
10347 but it seems correct. Don't initialize a trace, gstminiobject does
10350 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10351 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10353 (assert_live_count): New util function, uses alloc traces to check
10356 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10357 To be modified when unlink drops the internal pad.
10359 2005-06-27 Wim Taymans <wim@fluendo.com>
10361 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10362 (gst_bin_change_state):
10363 Cleanup the get_state() function a little, make sure it
10364 iterates the same set of elements.
10365 Added stub iterate_state_order().
10367 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
10369 * docs/gst/gstreamer-docs.sgml:
10370 * docs/gst/gstreamer-sections.txt:
10371 * docs/gst/gstreamer.types:
10372 * docs/gst/tmpl/gstbasesink.sgml:
10373 * docs/gst/tmpl/gstbasesrc.sgml:
10374 * docs/gst/tmpl/gstbasetransform.sgml:
10375 * docs/gst/tmpl/gstelement.sgml:
10376 * docs/gst/tmpl/gstiterator.sgml:
10377 * gst/base/gstbasesrc.c:
10378 * gst/base/gstbasesrc.h:
10379 * gst/base/gstbasetransform.h:
10380 * gst/gstelement.c:
10381 * gst/gstiterator.h:
10382 adding basetransform and iterator docs
10384 2005-06-27 Andy Wingo <wingo@pobox.com>
10386 * docs/design/part-activation.txt: Notes on how activation should
10387 work -- not quite implemented yet.
10389 2005-06-25 Wim Taymans <wim@fluendo.com>
10391 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10392 At least get the chain function correct, needs more
10395 2005-06-25 Wim Taymans <wim@fluendo.com>
10397 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10398 (gst_basesink_handle_object), (gst_basesink_event),
10399 (gst_basesink_do_sync), (gst_basesink_handle_event),
10400 (gst_basesink_change_state):
10402 Right, two problems here: ghostpads don't take locks and
10403 glib _rec_mutex_lock_full() with depth==0 still locks.
10404 Catch illegal locking and g_warn them.
10406 2005-06-25 Wim Taymans <wim@fluendo.com>
10408 * check/states/sinks.c: (START_TEST), (gst_object_suite):
10409 Have to check for completion now...
10411 2005-06-25 Wim Taymans <wim@fluendo.com>
10413 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10414 (gst_basesink_handle_object), (gst_basesink_event),
10415 (gst_basesink_do_sync), (gst_basesink_handle_event),
10416 (gst_basesink_change_state):
10418 Unlock STREAM_LOCK whatever the recursion was.
10420 2005-06-25 Wim Taymans <wim@fluendo.com>
10422 * gst/base/gstbasesink.c: (gst_basesink_set_property),
10423 (gst_basesink_preroll_queue_empty),
10424 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10425 (gst_basesink_event), (gst_basesink_do_sync),
10426 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10427 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10428 (gst_basesink_change_state):
10429 Reworked the base sink, handle event and buffer serialisation
10430 correctly and removed possible deadlock.
10431 Handle EOS correctly.
10433 2005-06-25 Wim Taymans <wim@fluendo.com>
10435 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10436 (gst_pipeline_change_state):
10437 * tools/gst-launch.c: (check_intr), (event_loop), (main):
10438 Allow elements to post EOS in the state change function.
10439 Fix up -launch, make it exit the poll loop when the
10440 pipeline actually changed state.
10441 Fix up warning parsing in -launch.
10443 2005-06-25 Wim Taymans <wim@fluendo.com>
10445 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10446 (gst_tee_sink_activate):
10447 Core takes STREAM_LOCK for us now.
10449 2005-06-25 Wim Taymans <wim@fluendo.com>
10451 * gst/gstelement.c: (gst_element_get_state_func),
10452 (gst_element_set_state):
10453 * gst/gstelement.h:
10454 * gst/gstmessage.c: (gst_message_parse_error),
10455 (gst_message_parse_warning):
10456 Keep track of current target state while performing a state
10457 change so that subclasses can do something interesting.
10458 Fix parsing of warning/error messages when GError is NULL.
10460 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
10462 * docs/gst/Makefile.am:
10463 * docs/gst/gstreamer-docs.sgml:
10464 * docs/gst/gstreamer-sections.txt:
10465 * docs/gst/gstreamer.types:
10466 * docs/gst/tmpl/gstbasesink.sgml:
10467 * docs/gst/tmpl/gstbasesrc.sgml:
10468 * docs/gst/tmpl/gstbin.sgml:
10469 * docs/gst/tmpl/gstcompat.sgml:
10470 * docs/gst/tmpl/gstfakesink.sgml:
10471 * docs/gst/tmpl/gstfakesrc.sgml:
10472 * docs/gst/tmpl/gstfilesink.sgml:
10473 * docs/gst/tmpl/gstfilesrc.sgml:
10474 * docs/gst/tmpl/gstindex.sgml:
10475 * docs/manual/appendix-quotes.xml:
10476 * gst/base/gstbasesrc.h:
10477 * gst/elements/gstfakesrc.h:
10478 * gst/gstmessage.h:
10479 start pulling in base classes and elements in our docs
10481 2005-06-24 Stefan Kost <ensonic@users.sf.net>
10483 * docs/gst/Makefile.am:
10484 * docs/libs/Makefile.am:
10485 fixed make distcheck with gtk-doc 1.3
10487 2005-06-23 Wim Taymans <wim@fluendo.com>
10489 * gst/gstelement.c: (gst_element_get_state_func),
10490 (gst_element_set_state), (gst_element_change_state):
10491 When the state did not change, also report NO_PREROLL
10494 2005-06-23 Wim Taymans <wim@fluendo.com>
10496 * gst/gstpad.c: (gst_pad_event_default):
10497 * gst/gstqueue.c: (gst_queue_loop):
10498 No unsafe task pausing please.
10500 2005-06-23 Wim Taymans <wim@fluendo.com>
10502 * gst/schedulers/threadscheduler.c:
10503 (gst_thread_scheduler_task_start),
10504 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10505 Ref the task before pushing it on the threadpool. This
10506 makes sure that we have a ref when the threadfunction is
10509 2005-06-23 Andy Wingo <wingo@pobox.com>
10511 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10512 offset is greater than the file's size.
10514 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
10515 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10516 * gst/gstobject.c (gst_object_class_init): Make the class lock
10517 recursive. Wim won't let me drop deep_notify. Decodebin works
10518 again, whoopdy doo.
10520 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10521 internal pad, and hacks accordingly. Doesn't do it on the target
10522 pad because we change its caps. Probably catches all cases of
10524 (gst_ghost_pad_set_property): Connect to notify::caps as
10527 * tests/network-clock.scm (plot-simulation): Pipe data to the
10528 elite python skript.
10530 * tests/network-clock-utils.scm (define-parameter): New macro,
10531 defines a parameter that can be set via the command line.
10532 (set-parameter!, parse-parameter-arguments): Command line args
10535 * tests/plot-data: Simple matplotlib-based plotter, takes input on
10538 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
10540 * gst/elements/gsttypefindelement.c:
10541 (gst_type_find_element_handle_event):
10542 Don't restart typefinding on a discont.
10543 * gst/gstelement.c: (gst_element_set_state):
10544 Debug spelling fix.
10545 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10546 Allow changing mode of an active pad.
10547 Debug output fixes.
10548 * gst/registries/gstlibxmlregistry.c: (load_feature):
10549 Don't cast a static pad template to a normal pad template.
10551 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
10553 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10554 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10555 remove gst_strtoll completely, since it didn't actually do
10556 anything more than what g_ascii_strtoull already does.
10557 check for range errors when deserializing
10558 do a cast for the unsigned cases; but further fixing needs
10559 a decision on what the interpretation of "(int)" and
10560 deserialization should be for values that fall outside the
10561 type's boundaries (ie, refuse, or interpret as casting)
10563 2005-06-23 Wim Taymans <wim@fluendo.com>
10565 * check/Makefile.am:
10566 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10567 * docs/design/part-live-source.txt:
10568 * docs/design/part-states.txt:
10569 * gst/base/gstbasesrc.c: (gst_basesrc_init),
10570 (gst_basesrc_set_live), (gst_basesrc_is_live),
10571 (gst_basesrc_get_range), (gst_basesrc_activate),
10572 (gst_basesrc_change_state):
10573 * gst/base/gstbasesrc.h:
10574 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10575 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10576 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10577 * gst/gstelement.c: (gst_element_get_state_func),
10578 (gst_element_set_state):
10579 * gst/gstelement.h:
10581 * tools/gst-launch.c: (event_loop), (main):
10582 Added support for live sources and other elements that
10584 Updated design docs, added live-source design doc.
10585 Implemented live source functionality in basesrc
10586 Fix error condition in _bin_get_state()
10587 Implement live source handling in -launch.
10588 Added check for live sources.
10589 Fixed case in GstBin where elements were changed state
10593 2005-06-23 Andy Wingo <wingo@pobox.com>
10595 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10596 borken refcounting.
10598 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10599 gst_caps_replace takes care of this for us.
10601 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10602 gst_pad_set_caps on the target, not just its setcaps() function.
10604 * tests/network-clock.scm:
10605 * tests/network-clock-utils.scm: A network clock simulator.
10606 Something of an algorithmic testbed before doing something in C.
10608 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10610 * check/Makefile.am:
10611 * check/gst/capslist.h:
10612 copy over from 0.8, and add two with bitmasks specified with
10614 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10615 add test to parse everything from capslist.h
10616 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10618 add test for structure deserialization
10619 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10620 add tests for deserialization of strings to int types
10621 * gst/gststructure.c: (gst_structure_nth_field_name):
10622 * gst/gststructure.h:
10623 add a way to get the name of a field referenced by index
10624 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10625 instead of checking if the resulting long long lies between
10626 min and max, we check if the long long would fit into
10627 a number of bytes for the final type.
10628 This fixes cases where a string represents 2^32 - 1, which
10629 when cast to int would be the (valid) -1, but is bigger than
10632 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10634 * gst/parse/grammar.y:
10635 add a log line for type deserialization
10637 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10639 * check/gst/gstvalue.c: (START_TEST):
10640 * gst/gstvalue.c: (gst_value_deserialize):
10641 return long long, not int, so gint64 deserialization actually
10642 works. Is there any flag that makes the compiler check this ?
10645 2005-06-22 Wim Taymans <wim@fluendo.com>
10648 Added convenience macros for setting buffers in GValue.
10650 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10652 * check/gst/.cvsignore:
10653 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10654 add a test deserializing int64, and comment part out because
10657 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10659 * check/Makefile.am:
10660 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10661 * testsuite/Makefile.am:
10662 * testsuite/caps/Makefile.am:
10663 * testsuite/caps/value_serialize.c:
10664 * testsuite/test_gst_init.c:
10665 move a value_serialize test over
10667 2005-06-20 Wim Taymans <wim@fluendo.com>
10672 * gst/gstvalue.c: (gst_value_compare_buffer),
10673 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10674 (gst_value_compare_flags), (gst_value_serialize_flags),
10675 (gst_value_deserialize_flags), (_gst_value_initialize):
10676 Fix serialisation of buffers, they are not boxed types anymore
10678 2005-06-20 Wim Taymans <wim@fluendo.com>
10680 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10681 Testcase to show error in buffer-on-caps serialisation.
10683 2005-06-20 Andy Wingo <wingo@pobox.com>
10685 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10686 will be adding to later.
10688 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10689 if its socks fill with rocks.
10690 (gst_system_clock_obtain): Set the name on object construction.
10691 Avoid double-checked locking.
10693 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
10695 * gst/gsturi.c: (gst_element_make_from_uri):
10696 Fix potential endless loop.
10698 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10700 * check/Makefile.am:
10702 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10704 move over from testsuite dir and clean up
10707 * testsuite/Makefile.am:
10708 * testsuite/tags/.cvsignore:
10709 * testsuite/tags/Makefile.am:
10710 * testsuite/tags/merge.c:
10711 remove testsuite/tags
10713 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10715 * docs/gst/gstreamer-sections.txt:
10716 * docs/gst/tmpl/gstenumtypes.sgml:
10717 * win32/gstenumtypes.c:
10718 clean up documentation build a little
10720 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10722 * check/gstcheck.h:
10723 add macros for checking refcounts on objects and caps
10724 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10725 add some more unit tests
10726 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10727 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10728 fix leaked refcounts (I hope :)) so unittest works
10732 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10734 * configure.ac: back to HEAD
10736 === release 0.9.1 ===
10738 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
10744 2005-06-17 Andy Wingo <wingo@pobox.com>
10746 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10747 assert; it's always possible that the pad gets deactivated in
10748 between the checks in gstpad.c and the implementation. Rely on
10749 finish_preroll() to return a FLUSHING or similar instead of on the
10752 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10753 clock and post an EOS message if we come out of finish_preroll in
10756 2005-06-16 David Schleef <ds@schleef.org>
10758 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10759 (gst_capsfilter_set_property): Allow NULL as possible value
10760 for filter_caps property, indicating GST_CAPS_ANY.
10762 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10764 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10766 * gst/schedulers/Makefile.am:
10768 * gstreamer.spec.in:
10771 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10773 * gstreamer.spec.in:
10776 2005-06-08 Andy Wingo <wingo@pobox.com>
10778 * gst/gstutils.c: RPAD fixes all around.
10779 (gst_element_link_pads): Refcounting fixes.
10781 * tools/gst-inspect.c:
10782 * tools/gst-xmlinspect.c:
10784 * gst/base/gsttypefindhelper.c:
10785 * gst/base/gstbasesink.c:
10786 * gst/gstqueue.c: RPAD fixes.
10788 * gst/gstghostpad.h:
10789 * gst/gstghostpad.c: New ghost pad implementation as full proxy
10790 pads. The tricky thing is they provide both source and sink
10791 interfaces, since they proxy the internal pad for the external
10792 pad, and vice versa. Implement with lower-level ProxyPad objects,
10793 with the interior proxy pad as a child of the exterior ghost pad.
10794 Should write a doc on this.
10796 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10797 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10800 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10801 pads are real pads. No ghost pads in this file. Not documenting
10802 the myriad s/RPAD/PAD/ and REALIZE fixes.
10803 (gst_pad_class_init): Add properties for "direction" and
10804 "template". Both are construct-only, so they can't change during
10805 the life of the pad. Fixes properly deriving from GstPad.
10806 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10807 derived objects, just set properties when creating the objects via
10809 (gst_pad_get_parent): Implement as a function, return NULL if the
10810 parent is not an element.
10811 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10812 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10814 * gst/gstobject.c (gst_object_class_init): Make name a construct
10815 property. Don't set it in the object init.
10817 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10818 with UNKNOWN direction.
10819 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10820 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10821 (gst_element_remove_pad): Remove ghost-pad special cases.
10822 (gst_element_pads_activate): Remove rpad cruft.
10824 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10825 catch the pad's-parent-not-an-element case.
10827 * gst/gst.h: Include gstghostpad.h.
10829 * gst/gst.c (init_post): No more real, ghost pads.
10831 * gst/Makefile.am: Add gstghostpad.[ch].
10833 * check/Makefile.am:
10834 * check/gst/gstbin.c:
10835 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10836 into a bin creates ghost pads, and that the refcounts are right.
10837 Partly moved from gstbin.c.
10839 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10841 * check/gst-libs/.cvsignore:
10842 * check/gst/.cvsignore:
10843 * check/pipelines/.cvsignore:
10845 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10846 (START_TEST), (cleanup_suite), (main):
10847 add some tests related to cleanup after running pipelines
10849 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10851 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10852 add a testsuite for GstBuffer
10854 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10856 * gst/gstminiobject.h:
10857 add defines for accessing the refcount
10859 2005-06-03 Stefan Kost <ensonic@users.sf.net>
10861 * Makefile.am: added support for html unit test coverage reports
10863 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
10865 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10866 Free existing caps if the capsfilter changes. Add a FIXME about
10867 setting those caps on the pads.
10869 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10870 Before adding a ghost pad to a parent bin, check that there isn't
10871 already one for the element on the bin. Prevents infinite recursion
10872 when using decodebin in parse pipelines. Andy says he'll rewrite the
10873 way this works anyway, so ignore the hack.
10875 2005-06-02 Andy Wingo <wingo@pobox.com>
10877 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10878 file size, pass it on to the type find helper.
10880 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10881 segment_start and segment_end properly according to the seek
10882 method. Segment_end is still a bit flaky because offset can be
10883 negative for CUR and END cases, but it takes -1 as an "unset"
10886 2005-06-02 Wim Taymans <wim@fluendo.com>
10888 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10889 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10890 (gst_basesink_activate):
10891 * gst/base/gstbasesink.h:
10892 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10893 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10894 (gst_pad_query), (gst_pad_start_task):
10896 * gst/gstqueue.c: (gst_queue_bufferalloc),
10897 (gst_queue_handle_sink_event), (gst_queue_chain):
10898 Bufferalloc: return GstFlowReturn to more accuratly report
10899 why allocation failed.
10901 2005-06-02 Wim Taymans <wim@fluendo.com>
10903 * gst/gstpipeline.c: (gst_pipeline_send_event):
10904 Take snapshot of state without blocking.
10906 2005-06-02 Wim Taymans <wim@fluendo.com>
10908 * docs/design/part-TODO.txt:
10909 * docs/design/part-caps.txt:
10910 * docs/design/part-clocks.txt:
10911 * docs/design/part-negotiation.txt:
10912 * docs/design/part-preroll.txt:
10915 2005-05-30 Wim Taymans <wim@fluendo.com>
10917 * gst/elements/gstidentity.c: (gst_identity_event),
10918 (gst_identity_transform), (gst_identity_get_property):
10919 Protect last_message property as it is accessed from
10922 2005-05-30 Wim Taymans <wim@fluendo.com>
10924 * gst/gstelement.c: (gst_element_init),
10925 (gst_element_pads_activate), (gst_element_change_state):
10926 Slicker pad activation code.
10928 2005-05-30 Wim Taymans <wim@fluendo.com>
10931 * gst/gstelement.h:
10932 * gst/gstelementfactory.h:
10934 Move elementfactory methods to separate .h file.
10936 2005-05-30 Wim Taymans <wim@fluendo.com>
10938 * docs/design/part-overview.txt:
10939 * gst/gstsystemclock.h:
10940 Small typo fixes, doc updates.
10942 2005-05-30 Wim Taymans <wim@fluendo.com>
10944 * gst/gst.c: (gst_init_get_popt_table), (init_post),
10945 (init_popt_callback):
10946 Remove cpu-opt flag.
10948 2005-05-30 Wim Taymans <wim@fluendo.com>
10950 * gst/gstbuffer.c: (gst_subbuffer_finalize),
10951 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10953 Avoid typechecking in places where not needed.
10954 Added accessor for malloc_data.
10956 2005-05-30 Wim Taymans <wim@fluendo.com>
10958 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10959 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10960 (gst_pad_configure_sink), (gst_pad_configure_src),
10961 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10962 (gst_pad_start_task):
10963 Propagate errors from _set_caps() in configure_src/sink
10964 functions instead of returning TRUE.
10965 FLUSH events can travel up and downstream
10968 2005-05-30 Wim Taymans <wim@fluendo.com>
10970 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10971 (gst_basesink_activate):
10972 Handle EOS in preroll.
10974 2005-05-30 Wim Taymans <wim@fluendo.com>
10976 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10977 (gst_queue_loop), (gst_queue_handle_src_event):
10978 Remove old pieces of code
10979 Flushing the queue in an upstream event is a very bad idea.
10981 2005-05-26 Andy Wingo <wingo@pobox.com>
10983 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10984 gst_value_set_mini_object so as to add a ref on the object (which
10985 will be removed when the value is unset).
10987 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10988 arg type in ::handoff.
10990 * gst/gstelement.c (gst_element_change_state): Also deactivate
10991 pads in READY->NULL, just in case the element didn't make it to
10992 PAUSED. Wingo tested, Wim approved.
10994 2005-05-26 Wim Taymans <wim@fluendo.com>
10996 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10997 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10998 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10999 A flushing pad cannot be used to alloc_buffer from.
11001 2005-05-26 Wim Taymans <wim@fluendo.com>
11003 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11004 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11005 (gst_bus_source_dispatch), (gst_bus_source_finalize),
11006 (gst_bus_create_watch), (gst_bus_add_watch_full):
11008 Implement a real GSource and use g_main_context_wakeup() to
11009 signal new messages instead of the socketpair.
11011 2005-05-25 Wim Taymans <wim@fluendo.com>
11013 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11014 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11015 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11016 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11017 (gst_pad_send_event), (gst_pad_start_task):
11018 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11019 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11020 (gst_queue_sink_activate), (gst_queue_src_activate),
11021 (gst_queue_change_state):
11023 Fix state changes for non sinks. We now change sinks, then elements
11024 with unconnected srcpads, then the rest.
11025 More efficient queue unlocking in flush and state changes.
11026 Set the pad activate mode even if it does not have an activate
11029 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11031 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11032 Don't go in pull mode for non-seekable sources.
11033 * gst/elements/gsttypefindelement.h:
11034 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11035 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11036 (free_entry), (stop_typefinding),
11037 (gst_type_find_element_handle_event), (find_peek),
11038 (gst_type_find_element_chain), (do_pull_typefind),
11039 (gst_type_find_element_change_state):
11040 Allow typefinding (w/o seeking) in push-mode, simplified version
11041 of what was in 0.8.
11042 * gst/gstutils.c: (gst_buffer_join):
11044 gst_buffer_join() from 0.8.
11046 2005-05-25 Wim Taymans <wim@fluendo.com>
11048 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11049 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11050 (gst_pad_send_event), (gst_pad_start_task):
11051 Disable attempt at mode switching until it is figured out.
11053 2005-05-25 Wim Taymans <wim@fluendo.com>
11055 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11056 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11057 (gst_basesink_finish_preroll), (gst_basesink_chain),
11058 (gst_basesink_loop), (gst_basesink_activate),
11059 (gst_basesink_change_state):
11060 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11061 (gst_basesrc_get_range), (gst_basesrc_loop),
11062 (gst_basesrc_activate):
11063 * gst/elements/gsttee.c: (gst_tee_sink_activate):
11064 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11065 (gst_real_pad_init), (gst_real_pad_set_property),
11066 (gst_real_pad_get_property), (gst_pad_set_active),
11067 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11068 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11069 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11070 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11071 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11072 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11073 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11074 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11075 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11076 (gst_pad_stop_task):
11078 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11079 (gst_queue_loop), (gst_queue_src_activate):
11080 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11081 (gst_task_get_state):
11083 * gst/schedulers/threadscheduler.c:
11084 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11085 Implement gst_pad_pause/start/stop_task(), take STREAM lock
11087 Remove ACTIVE pad flag, use FLUSHING everywhere
11088 Added _pad_chain(), _pad_get_range() to call chain/getrange
11090 Add locks around IS_FLUSHING when reading.
11091 Take STREAM lock in chain(), get_range() functions so plugins
11092 don't need to take it anymore.
11096 2005-05-25 Wim Taymans <wim@fluendo.com>
11098 * tools/gst-launch.c: (event_loop):
11099 Unref message after using its contents instead of
11102 2005-05-24 Wim Taymans <wim@fluendo.com>
11104 * docs/design/draft-ghostpads.txt:
11105 * docs/design/draft-push-pull.txt:
11106 * docs/design/draft-query.txt:
11107 * docs/design/part-overview.txt:
11108 Docs updates, added general overview doc.
11110 2005-05-21 David Schleef <ds@schleef.org>
11112 * docs/gst/tmpl/old/GstBin.sgml:
11113 * docs/gst/tmpl/old/GstBuffer.sgml:
11114 * docs/gst/tmpl/old/GstCaps.sgml:
11115 * docs/gst/tmpl/old/GstClock.sgml:
11116 * docs/gst/tmpl/old/GstCompat.sgml:
11117 * docs/gst/tmpl/old/GstData.sgml:
11118 * docs/gst/tmpl/old/GstElement.sgml:
11119 * docs/gst/tmpl/old/GstEvent.sgml:
11120 * docs/gst/tmpl/old/GstIndex.sgml:
11121 * docs/gst/tmpl/old/GstStructure.sgml:
11122 * docs/gst/tmpl/old/GstTag.sgml:
11123 * docs/gst/tmpl/old/cothreads.sgml:
11124 * docs/gst/tmpl/old/cothreads_compat.sgml:
11125 * docs/gst/tmpl/old/gettext.sgml:
11126 * docs/gst/tmpl/old/gobject2gtk.sgml:
11127 * docs/gst/tmpl/old/grammar.tab.sgml:
11128 * docs/gst/tmpl/old/gst-i18n-app.sgml:
11129 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11130 * docs/gst/tmpl/old/gst_private.sgml:
11131 * docs/gst/tmpl/old/gstaggregator.sgml:
11132 * docs/gst/tmpl/old/gstarch.sgml:
11133 * docs/gst/tmpl/old/gstatomic_impl.sgml:
11134 * docs/gst/tmpl/old/gstbufferstore.sgml:
11135 * docs/gst/tmpl/old/gstdata_private.sgml:
11136 * docs/gst/tmpl/old/gstdisksink.sgml:
11137 * docs/gst/tmpl/old/gstdisksrc.sgml:
11138 * docs/gst/tmpl/old/gstelementfactory.sgml:
11139 * docs/gst/tmpl/old/gstextratypes.sgml:
11140 * docs/gst/tmpl/old/gstfakesink.sgml:
11141 * docs/gst/tmpl/old/gstfakesrc.sgml:
11142 * docs/gst/tmpl/old/gstfdsink.sgml:
11143 * docs/gst/tmpl/old/gstfdsrc.sgml:
11144 * docs/gst/tmpl/old/gstfilesink.sgml:
11145 * docs/gst/tmpl/old/gstfilesrc.sgml:
11146 * docs/gst/tmpl/old/gsthttpsrc.sgml:
11147 * docs/gst/tmpl/old/gstidentity.sgml:
11148 * docs/gst/tmpl/old/gstindexfactory.sgml:
11149 * docs/gst/tmpl/old/gstmarshal.sgml:
11150 * docs/gst/tmpl/old/gstmd5sink.sgml:
11151 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11152 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11153 * docs/gst/tmpl/old/gstpadtemplate.sgml:
11154 * docs/gst/tmpl/old/gstpipefilter.sgml:
11155 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11156 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11157 * docs/gst/tmpl/old/gstshaper.sgml:
11158 * docs/gst/tmpl/old/gstspider.sgml:
11159 * docs/gst/tmpl/old/gstspideridentity.sgml:
11160 * docs/gst/tmpl/old/gststatistics.sgml:
11161 * docs/gst/tmpl/old/gsttee.sgml:
11162 * docs/gst/tmpl/old/gsttimecache.sgml:
11163 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11164 * docs/gst/tmpl/old/gstxmlregistry.sgml:
11165 * docs/gst/tmpl/old/gthread-cothreads.sgml:
11166 * docs/gst/tmpl/old/types.sgml:
11167 I didn't intend to add these or check them in.
11169 2005-05-19 David Schleef <ds@schleef.org>
11171 * configure.ac: Use -no-common everywhere. In a sane world, it
11172 would be the default in libtool, because without it, you can't
11173 build DLLs on Windows.
11174 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11175 * docs/gst/gstreamer-sections.txt:
11176 * docs/gst/tmpl/gstcpu.sgml:
11177 * docs/gst/tmpl/gstdata.sgml:
11178 * docs/gst/tmpl/gstthread.sgml:
11180 2005-05-19 David Schleef <ds@schleef.org>
11182 * gst/gstminiobject.c: (gst_value_set_mini_object),
11183 (gst_value_take_mini_object), (gst_value_get_mini_object):
11184 * gst/gstminiobject.h: Add GValue set/get functions.
11186 2005-05-19 Wim Taymans <wim@fluendo.com>
11188 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11189 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11190 (gst_subbuffer_init), (gst_buffer_is_span_fast):
11192 * gst/gstbus.c: (gst_bus_post):
11193 * gst/gstelement.c: (gst_element_get_random_pad):
11194 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11195 Make subbufer unref the parent in finalize.
11196 some more debugging info.
11199 2005-05-19 Wim Taymans <wim@fluendo.com>
11201 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11202 (gst_basesink_init), (gst_basesink_finalize),
11203 (gst_basesink_activate), (gst_basesink_change_state):
11204 Don't free preroll queue too early.
11206 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11210 Hi, I'm outdated. Please shoot me.
11212 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11214 * gst/gstpipeline.c: (gst_pipeline_send_event):
11215 Do not access variables after they have been deleted.
11217 2005-05-19 Wim Taymans <wim@fluendo.com>
11219 * tools/gst-inspect.c: (print_plugin_features):
11220 A plugin feature does unfortunatly not use the
11223 2005-05-18 Wim Taymans <wim@fluendo.com>
11225 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11226 Port _span() functions to new subbuffers.
11228 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11230 * gst/gstbin.c: (gst_bin_add_func):
11231 Fix clock settery in bins when adding kids after the clock has
11234 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11236 * gst/elements/gstidentity.c: (gst_identity_class_init):
11237 Workaround until signals support GstMiniObject.
11239 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
11242 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11244 2005-05-18 Wim Taymans <wim@fluendo.com>
11246 * gst/base/Makefile.am:
11247 * gst/base/gstadapter.c: (gst_adapter_base_init),
11248 (gst_adapter_class_init), (gst_adapter_init),
11249 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11250 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11251 (gst_adapter_flush), (gst_adapter_available),
11252 (gst_adapter_available_fast):
11253 * gst/base/gstadapter.h:
11254 Ported and added adapter to the base classes.
11256 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11259 * gst/gstmessage.c:
11260 Make sure the class is reffed/unreffed once before threads can be
11261 used. Fixes #304551.
11263 2005-05-17 Wim Taymans <wim@fluendo.com>
11265 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11266 (gst_basesink_chain_unlocked), (gst_basesink_activate):
11267 * gst/gstminiobject.c: (gst_mini_object_get_type),
11268 (gst_mini_object_free):
11269 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11270 (gst_pad_push), (gst_pad_push_event):
11271 * gst/gstqueue.c: (gst_queue_change_state):
11272 Don't queue buffers in basesink when we are flushing.
11273 Unref buffer when flushing in basesink.
11274 Flush queue when going to READY
11275 Unref buffer when _push() returns an error.
11276 Don't free MiniObject instance when refcount is incremented
11277 in _finalize() so that we can recover objects.
11279 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
11281 * docs/manual/advanced-schedulers.xml:
11282 * docs/manual/appendix-checklist.xml:
11283 * docs/pwg/advanced-clock.xml:
11284 * docs/pwg/advanced-interfaces.xml:
11285 * docs/pwg/advanced-request.xml:
11286 * docs/pwg/advanced-types.xml:
11287 * docs/pwg/intro-preface.xml:
11288 * examples/plugins/example.c: (gst_example_get_type),
11289 (gst_example_class_init), (gst_example_chain),
11290 (gst_example_set_property), (gst_example_get_property),
11291 (gst_example_change_state), (plugin_init):
11292 * examples/plugins/example.h:
11295 2005-05-17 Wim Taymans <wim@fluendo.com>
11297 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11298 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11299 * gst/gstqueue.c: (gst_queue_change_state):
11300 Clear queue when going to READY.
11301 Remove IN_SETCAPS flag too.
11303 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
11305 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11306 Remove implicit cast from gboolean to GstElementStateReturn;
11307 make sure we still return failure in paused => ready case if
11308 the parent class fails to change state and our own stop
11311 2005-05-17 Wim Taymans <wim@fluendo.com>
11313 * tools/gst-launch.c: (event_loop):
11314 Message was unreffed too soon.
11316 2005-05-16 Andy Wingo <wingo@pobox.com>
11318 * gst/gstbin.c (sink_iterator_filter): Err... um...
11320 * check/gst/gstbin.c (test_ghost_pads): New test for the
11321 ghosting-if-elements-not-in-same-bin behavior.
11323 2005-05-16 David Schleef <ds@schleef.org>
11325 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11326 accessing refcount directly.
11328 2005-05-15 David Schleef <ds@schleef.org>
11330 * check/Makefile.am: remove GstData checks
11331 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11332 * gst/Makefile.am: add miniobject, remove data
11333 * gst/gst.h: add miniobject, remove data
11334 * gst/gstdata.c: remove
11335 * gst/gstdata.h: remove
11336 * gst/gstdata_private.h: remove
11337 * gst/gsttypes.h: remove GstEvent and GstMessage
11338 * gst/gstelement.c: (gst_element_post_message): fix for API changes
11339 * gst/gstmarshal.list: change BOXED -> OBJECT
11341 Implement GstMiniObject.
11342 * gst/gstminiobject.c:
11343 * gst/gstminiobject.h:
11345 Modify to be subclasses of GstMiniObject.
11346 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11347 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11348 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11349 (gst_subbuffer_get_type), (gst_subbuffer_init),
11350 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11353 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11354 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11355 (_gst_event_copy), (gst_event_new):
11357 * gst/gstmessage.c: (_gst_message_initialize),
11358 (gst_message_get_type), (gst_message_class_init),
11359 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11360 (gst_message_new), (gst_message_new_error),
11361 (gst_message_new_warning), (gst_message_new_tag),
11362 (gst_message_new_state_changed), (gst_message_new_application):
11363 * gst/gstmessage.h:
11364 * gst/gstprobe.c: (gst_probe_perform),
11365 (gst_probe_dispatcher_dispatch):
11367 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11368 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11369 (_gst_query_copy), (gst_query_new):
11371 Update elements for GstData -> GstMiniObject changes
11373 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11374 (gst_queue_chain), (gst_queue_loop):
11375 * gst/elements/gstbufferstore.c:
11376 (gst_buffer_store_add_buffer_func),
11377 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11378 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11379 (gst_fakesink_render):
11380 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11381 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11382 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11383 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11384 (gst_filesrc_create_read):
11385 * gst/elements/gstidentity.c: (gst_identity_class_init):
11386 * gst/elements/gsttypefindelement.c:
11387 (gst_type_find_element_src_event), (free_entry_buffers),
11388 (gst_type_find_element_handle_event):
11389 * libs/gst/dataprotocol/dataprotocol.c:
11390 (gst_dp_header_from_buffer):
11391 * libs/gst/dataprotocol/dataprotocol.h:
11392 * libs/gst/dataprotocol/dp-private.h:
11394 2005-05-15 David Schleef <ds@schleef.org>
11396 * gst/elements/gstelements.c: Don't include headers that were
11399 2005-05-15 David Schleef <ds@schleef.org>
11401 * gst/elements/Makefile.am: Remove some elements that don't
11402 need to be in the core (or even exist at all).
11403 * gst/elements/gstaggregator.c:
11404 * gst/elements/gstaggregator.h:
11405 * gst/elements/gstmd5sink.c:
11406 * gst/elements/gstmd5sink.h:
11407 * gst/elements/gstmultifilesrc.c:
11408 * gst/elements/gstmultifilesrc.h:
11409 * gst/elements/gstpipefilter.c:
11410 * gst/elements/gstpipefilter.h:
11411 * gst/elements/gstshaper.c:
11412 * gst/elements/gstshaper.h:
11413 * gst/elements/gststatistics.c:
11414 * gst/elements/gststatistics.h:
11415 * po/POTFILES.in: Remove above files.
11417 2005-05-14 Andy Wingo <wingo@pobox.com>
11419 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11420 so as to get the refs right.
11421 (sink_iterator_filter): New function, wraps bin_element_is_sink,
11422 unreffing objects that don't pass the filter.
11424 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11425 gst_element_set_bus.
11426 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11427 normal cases, this will destroy the bus.
11429 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11432 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11435 2005-05-13 Andy Wingo <wingo@pobox.com>
11437 * gst/gstutils.c (gst_element_link_pads): Instead of calling
11438 gst_pad_link, call pad_link_maybe_ghosting,
11439 (pad_link_maybe_ghosting): Links pads, making sure that the
11440 elements being linked are in the same bin.
11441 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11442 Helpers for pad_link_maybe_ghosting.
11444 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11447 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11449 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11451 * docs/design/part-element-source.txt:
11454 2005-05-12 Wim Taymans <wim@fluendo.com>
11456 * gst/base/gstbasesink.c: (gst_basesink_init),
11457 (gst_basesink_activate):
11458 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11459 (gst_basesrc_is_seekable):
11460 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11461 (bin_element_is_sink), (gst_bin_change_state):
11462 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11463 * gst/gstelement.h:
11464 Identify sinks by their flag to avoid overly complicated
11466 Do state changes even for elements not reachable from the
11468 BaseSink is a sink now :)
11469 Some more debugging info in the basesrc.
11472 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11474 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11475 Implement _query on a bin, similar to _send_event.
11477 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
11479 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11480 Discont event offset format should be GST_FORMAT_BYTES,
11481 not GST_FORMAT_TIME.
11483 2005-05-12 Wim Taymans <wim@fluendo.com>
11485 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11486 Same fix as Ronald's but without the signal.
11488 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11490 * gst/gstutils.c: (gst_element_query_position):
11491 No, an element is not a pad.
11493 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11495 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11496 (gst_bin_get_state):
11497 If a child is removed from a bin while we remove the child from
11498 the bin and while we're retrieving its state, signal this to the
11499 get_state function so we abort the wait (instead of waiting for
11500 a timeout) and can immediately re-iterate over all other elements.
11502 2005-05-12 Wim Taymans <wim@fluendo.com>
11504 * gst/base/Makefile.am:
11505 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11506 (gst_basesrc_start):
11507 * gst/base/gstbasesrc.h:
11508 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11509 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11510 (gst_pushsrc_init), (gst_pushsrc_create):
11511 * gst/base/gstpushsrc.h:
11512 Added is_seekable to BaseSrc
11513 Added simple PushSrc.
11515 2005-05-11 Wim Taymans <wim@fluendo.com>
11517 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11518 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11519 (gst_element_link_pads), (gst_element_query_position),
11520 (gst_element_query_convert), (intersect_caps_func),
11521 (gst_pad_query_position), (gst_pad_query_convert):
11522 Fix refcounting in utils function.
11523 No point in trying to activate a pad when it's added, it could
11524 be added from the state change function and then we deadlock, the
11525 element has to decide what to do.
11527 2005-05-10 Andy Wingo <wingo@pobox.com>
11529 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11530 *all* the arguments.
11532 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11533 stream lock if it's a FLUSH_DONE; normal flushes don't get the
11534 lock (according to the docs -- if this is wrong change the docs).
11536 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11537 flush messages in the NULL state.
11539 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11540 message immediately and return.
11541 (gst_bus_set_flushing): New function. If a bus is flushing, it
11542 flushes out any queued messages and immediately unrefs new
11543 messages. This is so when an element goes to NULL, all of the
11544 unhandled messages coming from it can be freed, and their
11545 references to the element dropped. In other words: message source
11546 ref considered harmful :P
11548 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11549 we're finished with it.
11551 * gst/gstmessage.c (gst_message_new_state_changed):
11553 2005-05-10 Wim Taymans <wim@fluendo.com>
11555 * gst/gstvalue.c: (gst_value_compare_flags),
11556 (gst_value_serialize_flags), (gst_value_deserialize_flags),
11557 (_gst_value_initialize):
11558 Added flags serialize/deserialize/compare code.
11560 2005-05-09 Andy Wingo <wingo@pobox.com>
11562 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11563 Intersect the peer's caps with our caps.
11565 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11567 * gst/base/gsttypefindhelper.c: (helper_find_peek):
11568 * gst/elements/gsttypefindelement.c: (find_peek):
11569 Handle negative offsets better. Fixes decodebin.
11571 2005-05-09 Wim Taymans <wim@fluendo.com>
11573 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11574 (gst_base_transform_event):
11575 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11576 Implement accept_caps.
11577 Fix silly lock/unlock mismatch in base class.
11579 2005-05-09 Wim Taymans <wim@fluendo.com>
11581 * docs/design/draft-push-pull.txt:
11582 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11583 * gst/elements/gstfilesink.c: (gst_filesink_init),
11584 (gst_filesink_query):
11585 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11586 (gst_type_find_handle_src_query), (find_element_get_length):
11587 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11588 * gst/gstelement.h:
11589 * gst/gstmessage.c:
11590 * gst/gstmessage.h:
11591 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11592 (gst_real_pad_get_caps_unlocked),
11593 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11594 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11595 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11596 (gst_real_pad_dispose), (gst_real_pad_finalize),
11597 (gst_pad_load_and_link), (gst_pad_save_thyself),
11598 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11599 (gst_pad_check_pull_range), (gst_pad_pull_range),
11600 (gst_pad_template_get_type), (gst_pad_template_class_init),
11601 (gst_pad_template_init), (gst_pad_template_dispose),
11602 (name_is_valid), (gst_static_pad_template_get),
11603 (gst_pad_template_new), (gst_static_pad_template_get_caps),
11604 (gst_pad_template_get_caps), (gst_pad_set_element_private),
11605 (gst_pad_get_element_private), (gst_pad_start_task),
11606 (gst_pad_pause_task), (gst_pad_stop_task),
11607 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11608 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11609 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11610 (gst_ghost_pad_new):
11612 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11613 (gst_query_new_position), (gst_query_set_position),
11614 (gst_query_parse_position), (gst_query_new_convert),
11615 (gst_query_set_convert), (gst_query_parse_convert):
11617 * gst/gstqueryutils.c:
11618 * gst/gstqueryutils.h:
11619 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11620 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11621 (gst_queue_handle_src_query):
11622 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11623 (gst_element_query_position), (gst_element_query_convert),
11624 (intersect_caps_func), (gst_pad_query_position),
11625 (gst_pad_query_convert):
11627 * tools/gst-inspect.c: (print_pad_info):
11628 * tools/gst-xmlinspect.c: (print_element_info):
11629 Remove old query functions. Ported old code.
11630 Added position/convert helper functions to gstutils.
11631 Reordered gstpad.c code, grouping relevant things.
11632 Remove gst_message_new(), always need to speficy a specific
11636 2005-05-09 Andy Wingo <wingo@pobox.com>
11638 * gst/gstiterator.h: Add some includes.
11640 * gst/gstqueryutils.h: Include more headers.
11643 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11644 some uses of gst_pad_query.
11646 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11647 NULL out parameters.
11648 (gst_query_new_position): New proc, allocates a new position
11651 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11652 gstqueryutils.c to the build.
11654 * gst/gststructure.c (gst_structure_set_valist): Implement with
11655 the generic G_VALUE_COLLECT.
11657 2005-05-08 Edward Hervey <bilboed@bilboed.com>
11659 * gst/Makefile.am: (gst_headers):
11660 Added gstqueryutils.h to the list of headers to install, that was
11661 a 'nachty' move wingo :)
11663 2005-05-06 Andy Wingo <wingo@pobox.com>
11666 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11667 GstData, init a memchunk.
11668 (standard_definitions): Add a few query types, deprecate a few.
11669 (gst_query_get_type): New proc.
11670 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11672 (gst_query_new_application, gst_query_get_structure): New public
11675 * docs/design/draft-query.txt: Removed LINKS from the query types,
11676 because all the rest can be dispatched to other pads -- seemed
11677 ugly to have a query that couldn't be dispatched. internal_links
11678 is fine as a pad method.
11680 * gst/gstpad.h: Add query2 as a pad method, add the new functions
11681 in gstpad.c, but maintain binary compatibility for the moment.
11682 Will fix before 0.9 is out.
11684 * gst/gstqueryutils.c:
11685 * gst/gstqueryutils.h: New files, implement 3 methods for each
11686 query type: parse_query, parse_response, and set. Probably need an
11689 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11691 * gst/elements/gstfilesink.c (gst_filesink_query2):
11692 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11693 query_types, and formats methods.
11695 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11696 (gst_pad_set_query2_function): New functions.
11697 (gst_real_pad_init): Set query2_default as the default query2
11698 function. Basically just dispatches to internally linked pads.
11702 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11703 without using the atomic operations. Only one thread can possibly
11704 be accessing the data at this point. Changed so as to avoid
11705 gst_atomic operations.
11707 2005-05-06 Wim Taymans <wim@fluendo.com>
11709 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11710 Also set caps if we use the fallback buffer alloc.
11712 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
11714 * docs/gst/Makefile.am:
11715 * docs/gst/gstreamer-docs.sgml:
11716 * docs/gst/gstreamer-sections.txt:
11717 * docs/gst/tmpl/gstatomic.sgml:
11718 * docs/gst/tmpl/gstmemchunk.sgml:
11719 * testsuite/elements/struct_i386.h:
11720 * win32/GStreamer.vcproj:
11722 Purge GstAtomic stuff from docs and win32 makefiles as well
11724 2005-05-06 Wim Taymans <wim@fluendo.com>
11726 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11727 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11728 * gst/gstpad.c: (gst_pad_peer_get_caps):
11729 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11730 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11731 (gst_queue_src_activate), (gst_queue_change_state):
11733 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11734 (intersect_caps_func):
11735 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11736 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11737 Some fixes for the peer_get_caps() change.
11739 2005-05-06 Wim Taymans <wim@fluendo.com>
11741 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11742 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11743 (gst_basesink_activate):
11744 Actually do something with error codes returned from the push
11747 2005-05-06 Wim Taymans <wim@fluendo.com>
11749 * docs/design/part-element-sink.txt:
11750 * docs/design/part-element-source.txt:
11751 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11752 (gst_basesink_event), (gst_basesink_activate):
11753 * gst/base/gstbasesink.h:
11754 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11755 (gst_basesrc_activate):
11756 * gst/base/gstbasesrc.h:
11757 * gst/gstelement.c: (gst_element_pads_activate):
11758 Some more documentation.
11759 Fixed scheduling decision in _pads_activate().
11761 2005-05-05 Andy Wingo <wingo@pobox.com>
11763 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11766 2005-05-05 Wim Taymans <wim@fluendo.com>
11768 * gst/base/Makefile.am:
11769 * gst/base/gstbasesink.h:
11770 * gst/base/gstbasesrc.c: (gst_basesrc_init),
11771 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11772 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11773 (gst_collectpads_class_init), (gst_collectpads_init),
11774 (gst_collectpads_finalize), (gst_collectpads_new),
11775 (gst_collectpads_set_function), (gst_collectpads_add_pad),
11776 (find_pad), (gst_collectpads_remove_pad),
11777 (gst_collectpads_is_active), (gst_collectpads_collect),
11778 (gst_collectpads_collect_range), (gst_collectpads_start),
11779 (gst_collectpads_stop), (gst_collectpads_peek),
11780 (gst_collectpads_pop), (gst_collectpads_available),
11781 (gst_collectpads_read), (gst_collectpads_flush),
11782 (gst_collectpads_chain):
11783 * gst/base/gstcollectpads.h:
11784 * gst/elements/Makefile.am:
11785 * gst/elements/gstelements.c:
11786 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11787 (gst_fakesink_get_times), (gst_fakesink_event),
11788 (gst_fakesink_preroll), (gst_fakesink_render):
11789 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11790 (gst_filesink_init), (gst_filesink_set_location),
11791 (gst_filesink_open_file), (gst_filesink_close_file),
11792 (gst_filesink_pad_query), (gst_filesink_event),
11793 (gst_filesink_render), (gst_filesink_change_state):
11794 * gst/elements/gstfilesink.h:
11795 Added object to help in making collect pad based elements.
11797 Make event function in sink baseclass return gboolean.
11799 2005-05-05 Wim Taymans <wim@fluendo.com>
11801 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11802 (gst_bin_get_by_name):
11804 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11805 (gst_clock_finalize):
11806 * gst/gstdata.c: (gst_data_replace):
11808 * gst/gstelement.c: (gst_element_request_pad),
11809 (gst_element_pads_activate):
11810 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11811 (gst_object_unref):
11812 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11813 (gst_pad_set_checkgetrange_function),
11814 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11815 (gst_pad_check_pull_range), (gst_pad_pull_range),
11816 (gst_static_pad_template_get_caps), (gst_pad_start_task),
11817 (gst_pad_pause_task), (gst_pad_stop_task):
11818 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11819 (gst_element_request_pad), (gst_pad_proxy_getcaps):
11820 Fix name lookup in GstBin.
11821 Added _data_replace() function and _buffer_replace()
11822 Use finalize method to clean up clock.
11823 Fix refcounting on request pads.
11824 Fix pad schedule mode error.
11825 Some more object refcounting debug info,
11828 2005-05-04 Andy Wingo <wingo@pobox.com>
11830 * check/Makefile.am:
11831 * docs/gst/tmpl/gstatomic.sgml:
11832 * docs/gst/tmpl/gstplugin.sgml:
11833 * gst/base/gstbasesink.c: (gst_basesink_activate):
11834 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11835 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11836 (gst_basesrc_query), (gst_basesrc_set_property),
11837 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11838 (gst_basesrc_activate):
11839 * gst/base/gstbasesrc.h:
11840 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11841 (gst_base_transform_src_activate):
11842 * gst/elements/gstelements.c:
11843 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11844 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11845 * gst/elements/gsttee.c: (gst_tee_sink_activate):
11846 * gst/elements/gsttypefindelement.c: (find_element_get_length),
11847 (gst_type_find_element_checkgetrange),
11848 (gst_type_find_element_activate):
11849 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11850 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11851 (gst_caps_load_thyself):
11852 * gst/gstelement.c: (gst_element_pads_activate),
11853 (gst_element_save_thyself), (gst_element_restore_thyself):
11854 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11855 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11857 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11858 (gst_xml_parse_file), (gst_xml_parse_memory),
11859 (gst_xml_get_element), (gst_xml_make_element):
11860 * gst/indexers/gstfileindex.c: (gst_file_index_load),
11861 (_file_index_id_save_xml), (gst_file_index_commit):
11862 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11863 (read_enum), (load_pad_template), (load_feature), (load_plugin),
11865 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11866 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11867 * tools/gst-complete.c: (main):
11868 * tools/gst-compprep.c: (main):
11869 * tools/gst-inspect.c: (print_element_properties_info):
11870 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11871 * tools/gst-xmlinspect.c: (print_element_properties):
11874 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
11876 * gst/gstplugin.c: (gst_plugin_check_module),
11877 (gst_plugin_check_file), (gst_plugin_load_file):
11878 apply patch from #172526 to make register work on MacOSX
11880 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11882 * docs/gst/tmpl/gstconfig.sgml:
11883 * gst/gstconfig.h.in:
11884 move documentation for some symbols. Add doc for GST_PTR_FORMAT
11885 * testsuite/debug/printf_extension.c: (main):
11886 Do not use GST_PTR_FORMAT on pointers to types with
11887 sizeof < sizeof(gpointer). Fixes test on 64-bit
11888 * testsuite/elements/property.h:
11889 use correct printf format
11891 2005-05-02 Wim Taymans <wim@fluendo.com>
11893 * docs/design/draft-push-pull.txt:
11894 * docs/design/draft-query.txt:
11895 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11896 (gst_basesrc_start):
11897 Added draft for new query API.
11898 Added draft for better selecting scheduling methods.
11899 Make basesrc ignore length if the subclass does not support
11902 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11905 possible fixes for automake-1.5 - _LIBADD is reserved
11907 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11909 * docs/faq/Makefile.am:
11910 * docs/manual/Makefile.am:
11911 * docs/manuals.mak:
11912 * docs/pwg/Makefile.am:
11914 possible fixes for automake-1.5
11916 2005-04-28 Wim Taymans <wim@fluendo.com>
11918 * gst/base/gstbasesink.c: (gst_basesink_base_init),
11919 (gst_basesink_pad_getcaps), (gst_basesink_init),
11920 (gst_basesink_do_sync):
11921 * gst/gstclock.c: (gst_clock_entry_new):
11922 * gst/gstevent.c: (gst_event_discont_get_value):
11923 * gst/gstpipeline.c: (pipeline_bus_handler),
11924 (gst_pipeline_change_state):
11925 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11926 Better debugging of clocking info.
11927 Allow NULL values when getting discont values.
11929 2005-04-27 Wim Taymans <wim@fluendo.com>
11931 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11932 * check/gst/gstpad.c: (gst_pad_suite):
11933 Increase timeout for checks.
11935 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11937 * check/Makefile.am:
11938 fix the broken rule for cleanup. Apparently this rule is
11939 only needed on FC2, so maybe this warrants further autotool
11942 2005-04-26 Wim Taymans <wim@fluendo.com>
11944 * gst/gsttrashstack.h:
11945 Ooohh. a nasty one! After having a failed pop() from the stack,
11946 it's possible that the stack is empty. In that case, don't
11947 follow the NULL pointer.
11949 2005-04-25 Wim Taymans <wim@fluendo.com>
11951 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11952 (gst_pad_set_checkgetrange_function),
11953 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11954 (gst_pad_check_pull_range), (gst_pad_pull_range),
11955 (gst_static_pad_template_get_caps), (gst_pad_start_task),
11956 (gst_pad_pause_task), (gst_pad_stop_task):
11957 * gst/gstplugin.c: (gst_plugin_load):
11959 Remove gst_library_load as it does more harm than good with
11960 the new g_module flags.
11961 Revert bogus caps template check in pad linking, pad caps
11962 are important when linking not the template, which is more
11963 general than the current caps.
11965 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11967 * gst/autoplug/.cvsignore:
11968 * gst/autoplug/Makefile.am:
11969 * gst/autoplug/gstsearchfuncs.c:
11970 * gst/autoplug/gstsearchfuncs.h:
11971 * gst/autoplug/gstspider.c:
11972 * gst/autoplug/gstspider.h:
11973 * gst/autoplug/gstspideridentity.c:
11974 * gst/autoplug/gstspideridentity.h:
11975 * gst/autoplug/spidertest.c:
11978 2005-04-25 Wim Taymans <wim@fluendo.com>
11980 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11981 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11982 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11983 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11985 Added stubs for unimplemented functions.
11987 2005-04-24 David Schleef <ds@schleef.org>
11989 * gst/gstpad.h: Disable some unimplemented functions. Wim,
11992 2005-04-24 David Schleef <ds@schleef.org>
11994 Convert everything from GstAtomicInt to g_atomic_int_*, and
11999 * gst/gstatomic_impl.h:
12007 * gst/gstdata_private.h:
12011 * gst/gstmessage.c:
12014 * gst/gststructure.c:
12015 * gst/gststructure.h:
12016 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12019 2005-04-24 David Schleef <ds@schleef.org>
12021 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12022 make the regressions tests work. Remove some code that is no
12024 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12025 Disable warning for pads without templates.
12027 2005-04-24 David Schleef <ds@schleef.org>
12029 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
12030 functions that handle filtered links.
12031 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12033 * gst/gstutils.c: Fix/remove utility functions that handle
12036 * gst/gstvalue.c: Add serialization/deserialization of caps
12037 * gst/parse/grammar.y: Ignore filtered caps when linking. This
12038 requires fixing so that the filter caps notation creates
12039 a capsfilter element and sets the filter_caps property. I
12040 think everyone probably wants to keep the shorthand notation.
12041 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12042 * docs/gst/tmpl/gstpad.sgml:
12044 * gst/elements/gstelements.c: Register capsfilter element.
12045 * gst/Makefile.am: fix spacing
12046 * docs/random/ds/0.9-suggested-changes: random
12048 2005-04-23 David Schleef <ds@schleef.org>
12050 * gst/elements/Makefile.am:
12051 * gst/elements/gstcapsfilter.c: New element that acts like an
12052 identity, but filters caps. Will eventually replace filtered
12053 caps in pad linking.
12054 * gst/gstutils.c: (gst_element_create_all_pads): New function
12055 to create all the ALWAYS pads that are registered with an
12056 element class. This functionality should eventually be
12057 merged in with GstElement initialization.
12059 * testsuite/trigger/README: part of trigger test code that should
12060 have been checked in a long time ago.
12062 2005-04-23 David Schleef <ds@schleef.org>
12064 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
12065 needed with new versions of libtool (nobody will confirm this),
12066 and hard to carry around.
12067 * gst/autoplug/Makefile.am:
12068 * gst/base/Makefile.am:
12069 * gst/elements/Makefile.am:
12070 * gst/indexers/Makefile.am:
12071 * gst/schedulers/Makefile.am:
12072 * libs/gst/bytestream/Makefile.am:
12073 * libs/gst/control/Makefile.am:
12074 * libs/gst/dataprotocol/Makefile.am:
12075 * libs/gst/getbits/Makefile.am:
12077 2005-04-21 Wim Taymans <wim@fluendo.com>
12079 * docs/design/draft-push-pull.txt:
12080 * docs/design/part-MT-refcounting.txt:
12081 * docs/design/part-TODO.txt:
12082 * docs/design/part-caps.txt:
12083 * docs/design/part-events.txt:
12084 * docs/design/part-gstbus.txt:
12085 * docs/design/part-gstpipeline.txt:
12086 * docs/design/part-messages.txt:
12087 * docs/design/part-push-pull.txt:
12088 * docs/design/part-query.txt:
12091 2005-04-21 Wim Taymans <wim@fluendo.com>
12093 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12094 (gst_message_new), (gst_message_new_error),
12095 (gst_message_new_warning), (gst_message_new_tag),
12096 (gst_message_new_state_changed), (gst_message_new_application),
12097 (gst_message_get_structure):
12098 * gst/gstmessage.h:
12099 * gst/gststructure.c: (gst_structure_set_parent_refcount),
12100 (gst_structure_copy_conditional):
12101 Use parent refcount in GstMessage to ensure GstStructure
12103 Cleaned up headers a bit.
12106 2005-04-20 Wim Taymans <wim@fluendo.com>
12108 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12109 (gst_basesink_pad_getcaps), (gst_basesink_init),
12110 (gst_basesink_chain_unlocked):
12111 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12112 (gst_type_find_helper):
12113 * gst/elements/gsttypefindelement.c:
12114 (gst_type_find_element_have_type), (gst_type_find_element_init),
12115 (stop_typefinding), (gst_type_find_element_handle_event),
12116 (find_suggest), (gst_type_find_element_chain),
12117 (gst_type_find_element_checkgetrange),
12118 (gst_type_find_element_getrange), (do_typefind),
12119 (gst_type_find_element_activate):
12120 * gst/gstbuffer.c: (_gst_buffer_sub_free),
12121 (gst_buffer_default_free), (gst_buffer_default_copy),
12122 (gst_buffer_set_caps):
12123 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12124 (gst_caps_replace):
12125 * gst/gstmessage.c: (gst_message_new),
12126 (gst_message_new_state_changed):
12127 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12128 (gst_pad_set_checkgetrange_function),
12129 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12130 (gst_pad_set_caps), (gst_pad_check_pull_range),
12131 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12133 * gst/gsttypefind.c: (gst_type_find_register):
12134 Make gst_caps_replace() work like other _replace() functions.
12135 Use _caps_replace() where possible.
12136 Make sure _message_new() initialises its field.
12137 Add gst_static_pad_template_get_caps()
12140 2005-04-18 Andy Wingo <wingo@pobox.com>
12142 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12143 on the peer, not the pad. I think that was a typo. Pass an extra
12144 arg to see if random access is possible. Activate the pads as
12145 PULL_RANGE if possible.
12147 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12149 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
12150 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12153 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12155 * docs/faq/using.xml:
12156 Add note on gstreamer-properties (#154996).
12158 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12160 * docs/random/bbb/optional-properties:
12161 Some analysis on optional properties.
12163 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12165 * docs/gst/tmpl/gstelementfactory.sgml:
12166 * gst/gstelement.h:
12167 * gst/gstelementfactory.c: (gst_element_factory_init),
12168 (gst_element_factory_cleanup), (gst_element_register),
12169 (__gst_element_factory_add_static_pad_template),
12170 (gst_element_factory_get_static_pad_templates),
12171 (gst_element_factory_can_src_caps),
12172 (gst_element_factory_can_sink_caps):
12173 * gst/registries/Makefile.am:
12174 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12175 (gst_xml_registry_class_init), (gst_xml_registry_init),
12176 (gst_xml_registry_new), (gst_xml_registry_set_property),
12177 (gst_xml_registry_get_property), (get_time), (make_dir),
12178 (gst_xml_registry_get_perms_func),
12179 (plugin_times_older_than_recurse), (plugin_times_older_than),
12180 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12181 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12182 (add_to_char_array), (read_string), (read_uint), (read_enum),
12183 (load_pad_template), (load_feature), (load_plugin), (load_paths),
12184 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12185 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12186 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12187 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12188 (gst_xml_registry_rebuild):
12189 * gst/registries/gstlibxmlregistry.h:
12190 * tools/gst-compprep.c: (main):
12191 * tools/gst-inspect.c: (print_pad_templates_info):
12192 * tools/gst-xmlinspect.c: (print_element_info):
12193 Use libxml2 for registry parsing, use staticpadtemplates in
12194 elementfactories. Makes gst_init() +/- 10x faster.
12196 2005-04-12 Wim Taymans <wim@fluendo.com>
12198 * gst/base/Makefile.am:
12199 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12200 (gst_basesink_pad_getcaps), (gst_basesink_init),
12201 (gst_basesink_event), (gst_basesink_change_state):
12202 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12203 (gst_basesrc_init), (gst_basesrc_query),
12204 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12205 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12206 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12207 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12208 (gst_basesrc_stop), (gst_basesrc_activate),
12209 (gst_basesrc_change_state):
12210 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12211 (helper_find_suggest), (gst_type_find_helper):
12212 * gst/base/gsttypefindhelper.h:
12213 * gst/elements/Makefile.am:
12214 * gst/elements/gstelements.c:
12215 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12216 (gst_fakesink_get_times), (gst_fakesink_event),
12217 (gst_fakesink_preroll), (gst_fakesink_render):
12218 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12219 (gst_fakesrc_init), (gst_fakesrc_event_handler),
12220 (gst_fakesrc_get_property), (gst_fakesrc_create),
12221 (gst_fakesrc_start), (gst_fakesrc_stop):
12222 * gst/elements/gstfakesrc.h:
12223 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12224 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12225 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12226 (gst_filesrc_create_read), (gst_filesrc_create),
12227 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12228 (gst_filesrc_start):
12229 * gst/elements/gsttypefindelement.c:
12230 (gst_type_find_element_have_type), (gst_type_find_element_init),
12231 (start_typefinding), (stop_typefinding), (push_buffer_store),
12232 (gst_type_find_element_handle_event),
12233 (gst_type_find_element_chain),
12234 (gst_type_find_element_checkgetrange),
12235 (gst_type_find_element_getrange), (do_typefind),
12236 (gst_type_find_element_activate),
12237 (gst_type_find_element_change_state):
12238 * gst/elements/gsttypefindelement.h:
12239 * gst/gstpipeline.c: (pipeline_bus_handler):
12240 Added typefind helper.
12241 Small preroll fix in the base sink.
12242 Disable typefind code in basesrc.
12243 Crude port of typefindelement.
12247 2005-04-11 Wim Taymans <wim@fluendo.com>
12249 * check/gst/gstbus.c: (gstbus_suite):
12250 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12251 * check/gstcheck.h:
12252 Fix up the timeout so that the test does not fail.
12254 2005-04-06 Wim Taymans <wim@fluendo.com>
12257 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12258 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12259 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12260 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12261 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12262 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12263 (gst_basesrc_stop), (gst_basesrc_activate),
12264 (gst_basesrc_change_state), (basesrc_find_peek),
12265 (basesrc_find_suggest), (gst_basesrc_type_find):
12266 * gst/base/gstbasesrc.h:
12267 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12268 (gst_filesrc_class_init), (gst_filesrc_init),
12269 (gst_filesrc_finalize), (gst_filesrc_set_location),
12270 (gst_filesrc_set_property), (gst_filesrc_get_property),
12271 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12272 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12273 (gst_filesrc_create_read), (gst_filesrc_create),
12274 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12275 * gst/elements/gstfilesrc.h:
12276 * gst/gstelement.c: (gst_element_get_state_func),
12277 (gst_element_lost_state), (gst_element_pads_activate):
12278 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12279 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12280 (gst_pad_pull_range):
12282 More work on the generic source base class, implement seeking,
12284 Make filesrc extend the base source class.
12285 Added gst_pad_set_checkgetrange_function to GstPad.
12287 2005-04-06 Andy Wingo <wingo@pobox.com>
12289 * pkgconfig/gstreamer-base.pc.in:
12290 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12292 * pkgconfig/Makefile.am:
12293 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12295 2005-04-04 Wim Taymans <wim@fluendo.com>
12297 * gst/base/Makefile.am:
12299 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12300 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12301 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12302 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12303 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12304 (gst_basesrc_base_init), (gst_basesrc_class_init),
12305 (gst_basesrc_init), (gst_basesrc_get_formats),
12306 (gst_basesrc_get_query_types), (gst_basesrc_query),
12307 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12308 (gst_basesrc_set_property), (gst_basesrc_get_property),
12309 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12310 (gst_basesrc_loop), (gst_basesrc_activate),
12311 (gst_basesrc_change_state):
12312 * gst/base/gstbasesrc.h:
12313 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12314 (gst_fakesrc_class_init), (gst_fakesrc_init),
12315 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12316 (gst_fakesrc_get_property), (gst_fakesrc_create):
12317 * gst/elements/gstfakesrc.h:
12318 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12319 (gst_filesrc_open_file), (gst_filesrc_loop),
12320 (gst_filesrc_activate), (filesrc_find_peek),
12321 (gst_filesrc_type_find):
12322 Made base source class, make fakesrc extend it.
12323 Add comments to basesink class.
12324 Some filesrc cleanup.
12326 2005-03-31 David Schleef <ds@schleef.org>
12328 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12329 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12330 expected to link against libgstreamer.
12331 * gst/base/Makefile.am: link against libgstreamer
12332 * gst/elements/Makefile.am: same
12334 2005-03-31 Andy Wingo <wingo@pobox.com>
12336 * tests/instantiate/Makefile.am:
12337 * tests/instantiate/caps.c: Add test to test speed of caps copy
12340 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12341 GMemChunk to be fair.
12343 * gst/gsttrashstack.h: Remove warning about using the fallback
12344 trash stack implementation, it's still faster than malloc.
12346 2005-03-30 Andy Wingo <wingo@pobox.com>
12348 * tests/complexity.c: Add a copyright.
12350 2005-03-31 Wim Taymans <wim@fluendo.com>
12352 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12353 (gst_base_transform_class_init), (gst_base_transform_init),
12354 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12355 (gst_base_transform_get_property),
12356 (gst_base_transform_sink_activate),
12357 (gst_base_transform_src_activate),
12358 (gst_base_transform_change_state):
12359 * gst/base/gstbasetransform.h:
12360 * gst/elements/gstidentity.c: (gst_identity_class_init),
12361 (gst_identity_event), (gst_identity_check_perfect),
12362 (gst_identity_transform), (gst_identity_start),
12363 (gst_identity_stop):
12364 Added start/stop methods to transform base class so subclasses
12365 don't need to deal with state changes even.
12367 2005-03-31 Wim Taymans <wim@fluendo.com>
12369 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12370 (gst_event_new_discontinuous), (gst_event_discont_get_value):
12372 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12373 (gst_pad_pull_range):
12374 Added rate to the discont event to prepare for variable speed
12375 and reverse playback.
12377 2005-03-29 David Schleef <ds@schleef.org>
12380 * testsuite/trigger/Makefile.am:
12381 * testsuite/trigger/trigger.c: A little example program to show
12382 how trigger-based elements can work.
12384 2005-03-29 Wim Taymans <wim@fluendo.com>
12386 * gst/base/Makefile.am:
12388 * gst/base/gstbasesink.c: (gst_basesink_get_type),
12389 (gst_basesink_base_init), (gst_basesink_class_init),
12390 (gst_basesink_pad_getcaps), (gst_basesink_init),
12391 (gst_basesink_activate), (gst_basesink_change_state):
12392 * gst/base/gstbasesink.h:
12393 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12394 (gst_base_transform_base_init), (gst_base_transform_finalize),
12395 (gst_base_transform_class_init), (gst_base_transform_init),
12396 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12397 (gst_base_transform_event), (gst_base_transform_getrange),
12398 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12399 (gst_base_transform_set_property),
12400 (gst_base_transform_get_property),
12401 (gst_base_transform_sink_activate),
12402 (gst_base_transform_src_activate),
12403 (gst_base_transform_change_state):
12404 * gst/base/gstbasetransform.h:
12405 * gst/elements/gstidentity.c: (gst_identity_finalize),
12406 (gst_identity_class_init), (gst_identity_init),
12407 (gst_identity_event), (gst_identity_check_perfect),
12408 (gst_identity_transform), (gst_identity_set_property),
12409 (gst_identity_get_property), (gst_identity_change_state):
12410 * gst/elements/gstidentity.h:
12411 * gst/gstelement.c: (gst_element_get_state_func),
12412 (gst_element_lost_state), (gst_element_pads_activate):
12413 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12414 (gst_pad_check_pull_range), (gst_pad_pull_range):
12416 Simplify pad activation.
12417 Added function to check if pull_range can be performed.
12418 Error out when pulling inactive or flushing pads.
12419 Removed const from refcounted types as it does not make sense.
12420 Simplify pad templates in basesink
12421 Added base class for simple 1-to-1 transforms.
12422 Make identity subclass the base transform.
12424 2005-03-29 Andy Wingo <wingo@pobox.com>
12426 * docs/libs/gstreamer-libs-overrides.txt:
12427 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12428 really don't understand what's going on, but like whatever. I want
12431 * docs/gst/Makefile.am:
12432 * docs/libs/Makefile.am: Dist the overrides files.
12434 * check/Makefile.am (clean-local): Remove .libs directories.
12436 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12437 elements to EXTRA_DIST, so po/ files are happy.
12439 * po/POTFILES.in: Er, remove it here.
12441 * po/POTFILES: Remove gstspider.c.
12443 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12445 * docs/libs/gstreamer-libs-docs.sgml:
12446 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12449 * tests/complexity.c (main): Set the length of the preroll queue
12450 on the sinks to prevent a lockup.
12452 * libs/gst/dataprotocol/Makefile.am:
12453 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12454 the same as the one in check/gst-libs/gdp.c.
12456 * po/, docs/gst/: Commit automatic changes to docs and po files.
12458 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12459 the versioned libgstbase.
12461 * check/Makefile.am: Depend on an unversioned gst-register, seems
12462 to make autoconf happier.
12464 * gst/base/Makefile.am: Make libgstbase a versioned lib.
12466 2005-03-28 Wim Taymans <wim@fluendo.com>
12469 * docs/design/part-gstelement.txt:
12470 * docs/design/part-negotiation.txt:
12471 * docs/design/part-preroll.txt:
12472 * docs/design/part-scheduling.txt:
12473 * docs/design/part-states.txt:
12475 * gst/base/Makefile.am:
12477 * gst/base/gstbasesink.c: (gst_basesink_get_template),
12478 (gst_basesink_base_init), (gst_basesink_class_init),
12479 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12480 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12481 (gst_basesink_set_pad_functions),
12482 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12483 (gst_basesink_set_property), (gst_basesink_get_property),
12484 (gst_base_sink_get_template), (gst_base_sink_get_caps),
12485 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12486 (gst_basesink_preroll_queue_push),
12487 (gst_basesink_preroll_queue_empty),
12488 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12489 (gst_basesink_event), (gst_basesink_get_times),
12490 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12491 (gst_basesink_chain_unlocked), (gst_basesink_chain),
12492 (gst_basesink_loop), (gst_basesink_activate),
12493 (gst_basesink_change_state):
12494 * gst/base/gstbasesink.h:
12495 * gst/elements/Makefile.am:
12496 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12497 (gst_fakesink_class_init), (gst_fakesink_init),
12498 (gst_fakesink_set_property), (gst_fakesink_get_property),
12499 (gst_fakesink_get_times), (gst_fakesink_event),
12500 (gst_fakesink_preroll), (gst_fakesink_render),
12501 (gst_fakesink_change_state):
12502 * gst/elements/gstfakesink.h:
12503 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12504 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12505 * gst/gstelement.c: (gst_element_add_pad),
12506 (gst_element_get_state_func), (gst_element_abort_state),
12507 (gst_element_commit_state), (gst_element_lost_state),
12508 (gst_element_set_state), (gst_element_pads_activate):
12509 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12510 * gst/gstpipeline.c: (gst_pipeline_send_event),
12511 (gst_pipeline_change_state):
12512 Added state change code.
12513 Added/updated docs.
12514 Added sink base class, make fakesink extend the base class.
12515 Small cleanups in GstPipeline.
12517 2005-03-26 David Schleef <ds@schleef.org>
12519 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
12520 is broken and should be implemented in a different library.
12521 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12522 * gst/gst.h: remove gstcpu.h
12523 * gst/gstcpu.c: remove
12524 * gst/gstcpu.h: remove
12525 * gst/Makefile.am.future: Remove this file. It's ancient.
12527 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12529 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12530 (gst_bin_send_event):
12531 Add default event/set_manager handlers. The set_manager handler
12532 takes care that the manager is distributed over kids that were
12533 already in the bin before the manager was set. The event handler
12534 is a utility virtual function that sends the event over all sinks,
12535 so that gst_element_send_event (bin, event); has the expected
12537 * gst/gstpad.c: (gst_pad_event_default):
12538 Re-install default event handling for discontinuities, so that
12539 seeking works without requiring hacks in applications or extra
12541 * gst/gstpipeline.c: (gst_pipeline_class_init),
12542 (gst_pipeline_send_event):
12543 Half hack, half utility: set a pipeline to PAUSED for seek events,
12544 since that is the only way we can guarantee a/v sync. Means that
12545 you can do gst_element_seek (pipeline, method, pos); on a pipeline
12546 and it "just works".
12548 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12550 * gst/gstpipeline.c: (gst_pipeline_use_clock):
12551 Lock/unlock mismatch.
12553 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
12555 * docs/faq/gst-uninstalled:
12556 add gst-plugins-base
12557 * docs/gst/Makefile.am:
12558 don't error out until docs are fixed
12559 * docs/gst/gstreamer.types:
12562 2005-03-22 Wim Taymans <wim@fluendo.com>
12564 * check/Makefile.am:
12565 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12566 * gst/gststructure.c: (gst_structure_set_valist),
12567 (gst_structure_copy_conditional):
12568 Activated more tests.
12569 Added message test.
12570 Added G_TYPE_POINTER to GstStructure.
12573 2005-03-22 Wim Taymans <wim@fluendo.com>
12575 * docs/design/part-TODO.txt:
12576 * docs/design/part-events.txt:
12577 * docs/design/part-gstbin.txt:
12578 * docs/design/part-gstbus.txt:
12579 * docs/design/part-gstpipeline.txt:
12580 * docs/design/part-messages.txt:
12582 * gst/gstmessage.c:
12585 2005-03-21 Wim Taymans <wim@fluendo.com>
12587 * gst/gstbus.c: (gst_bus_post):
12588 Fix copy-and-paste error.
12590 2005-03-21 Wim Taymans <wim@fluendo.com>
12592 * check/Makefile.am:
12594 * gst/elements/Makefile.am:
12595 * gst/elements/gstelements.c:
12596 * gst/elements/gstfakesink.c: (gst_fakesink_init),
12597 (gst_fakesink_event), (gst_fakesink_chain):
12598 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12599 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12600 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12601 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12602 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12603 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12604 (gst_fakesrc_loop), (gst_fakesrc_activate),
12605 (gst_fakesrc_change_state):
12606 * gst/elements/gstfakesrc.h:
12607 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12608 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12609 (gst_filesrc_open_file), (gst_filesrc_loop),
12610 (gst_filesrc_activate), (gst_filesrc_change_state),
12611 (filesrc_find_peek), (filesrc_find_suggest),
12612 (gst_filesrc_type_find):
12613 * gst/elements/gstidentity.c: (gst_identity_finalize),
12614 (gst_identity_class_init), (gst_identity_init),
12615 (gst_identity_proxy_getcaps), (identity_queue_push),
12616 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12617 (gst_identity_getrange), (gst_identity_chain),
12618 (gst_identity_sink_loop), (gst_identity_src_loop),
12619 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12620 (gst_identity_set_property), (gst_identity_get_property),
12621 (gst_identity_change_state):
12622 * gst/elements/gstidentity.h:
12623 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12624 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12625 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12626 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12627 (gst_tee_sink_activate):
12628 * gst/elements/gsttee.h:
12629 * gst/gst.c: (gst_register_core_elements), (init_post):
12631 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12632 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12633 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12634 (gst_bin_change_state):
12636 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12637 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12638 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12639 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12640 (gst_bus_set_sync_handler), (gst_bus_create_watch),
12641 (bus_watch_callback), (bus_watch_destroy),
12642 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12643 (poll_timeout), (gst_bus_poll):
12647 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12648 (gst_element_post_message), (gst_element_message_full),
12649 (gst_element_get_state_func), (gst_element_get_state),
12650 (gst_element_abort_state), (gst_element_commit_state),
12651 (gst_element_lost_state), (gst_element_set_state),
12652 (gst_element_pads_activate), (gst_element_change_state),
12653 (gst_element_dispose), (gst_element_set_manager_func),
12654 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12655 (gst_element_set_manager), (gst_element_get_manager),
12656 (gst_element_set_bus), (gst_element_get_bus),
12657 (gst_element_set_scheduler), (gst_element_get_scheduler):
12658 * gst/gstelement.h:
12659 * gst/gstevent.c: (gst_event_new_segment_seek),
12660 (gst_event_new_flush):
12662 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12663 (_gst_message_free), (gst_message_get_type), (gst_message_new),
12664 (gst_message_new_eos), (gst_message_new_error),
12665 (gst_message_new_warning), (gst_message_new_tag),
12666 (gst_message_new_state_changed), (gst_message_new_application),
12667 (gst_message_get_structure), (gst_message_parse_tag),
12668 (gst_message_parse_state_changed), (gst_message_parse_error),
12669 (gst_message_parse_warning):
12670 * gst/gstmessage.h:
12671 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12672 (gst_real_pad_set_property), (gst_pad_set_active),
12673 (gst_pad_is_active), (gst_pad_set_blocked_async),
12674 (gst_pad_set_blocked), (gst_pad_is_blocked),
12675 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12676 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12677 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12678 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12679 (gst_pad_link_filtered), (gst_pad_relink_filtered),
12680 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12681 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12682 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12683 (gst_pad_set_caps), (gst_pad_configure_sink),
12684 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12685 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12686 (gst_real_pad_dispose), (gst_real_pad_finalize),
12687 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12688 (gst_pad_event_default_dispatch), (gst_pad_event_default),
12689 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12691 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12692 (pipeline_bus_handler), (gst_pipeline_change_state),
12693 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12694 * gst/gstpipeline.h:
12696 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12697 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12698 (gst_queue_link_src), (gst_queue_bufferalloc),
12699 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12700 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12701 (gst_queue_loop), (gst_queue_handle_src_event),
12702 (gst_queue_handle_src_query), (gst_queue_src_activate),
12703 (gst_queue_change_state):
12705 * gst/gstscheduler.c: (gst_scheduler_init),
12706 (gst_scheduler_dispose), (gst_scheduler_create_task),
12707 (gst_scheduler_factory_create):
12708 * gst/gstscheduler.h:
12709 * gst/gststructure.c: (gst_structure_get_type),
12710 (gst_structure_copy_conditional):
12711 * gst/gststructure.h:
12712 * gst/gsttaginterface.h:
12713 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12714 (gst_task_init), (gst_task_dispose), (gst_task_create),
12715 (gst_task_get_state), (gst_task_start), (gst_task_stop),
12721 * gst/schedulers/Makefile.am:
12722 * gst/schedulers/cothreads_compat.h:
12723 * gst/schedulers/entryscheduler.c:
12724 * gst/schedulers/faircothreads.c:
12725 * gst/schedulers/faircothreads.h:
12726 * gst/schedulers/fairscheduler.c:
12727 * gst/schedulers/gstbasicscheduler.c:
12728 * gst/schedulers/gstoptimalscheduler.c:
12729 * gst/schedulers/gthread-cothreads.h:
12730 * gst/schedulers/threadscheduler.c:
12731 (gst_thread_scheduler_task_get_type),
12732 (gst_thread_scheduler_task_class_init),
12733 (gst_thread_scheduler_task_init),
12734 (gst_thread_scheduler_task_start),
12735 (gst_thread_scheduler_task_stop),
12736 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12737 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12738 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12739 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12741 * libs/gst/Makefile.am:
12742 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12743 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12744 (gst_file_pad_parent_set):
12745 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12746 (gst_dp_event_from_packet):
12747 * tests/complexity.c: (main):
12748 * tests/mass_elements.c: (main):
12749 * testsuite/states/locked.c: (message_received), (main):
12750 * testsuite/states/parent.c: (main):
12751 * tools/gst-inspect.c: (print_element_flag_info),
12752 (print_implementation_info), (print_pad_info):
12753 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12755 * tools/gst-md5sum.c: (event_loop), (main):
12756 * tools/gst-typefind.c: (main):
12757 * tools/gst-xmlinspect.c: (print_element_info):
12759 Added GstBus for mainloop integration.
12760 Added GstMessage for sending notifications on the bus.
12761 Added GstTask as an abstraction for pipeline entry points.
12763 Removed Schedulers.
12764 Simplified GstQueue for multithreaded core.
12765 Made _link threadsafe, removed old capsnego.
12766 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12767 Added pad blocking functions.
12768 Reworked scheduling functions in GstPad to prepare for
12769 scheduling updates soon.
12770 Moved events out of data stream.
12771 Simplified GstEvent types.
12772 Added return values to push/pull.
12773 Removed clocking from GstElement.
12774 Added prototypes for state change function for next merge.
12775 Removed iterate from bins and state change management.
12776 Fixed some elements, disabled others for now.
12777 Fixed -inspect and -launch.
12778 Added check for GstBus.
12780 2005-03-10 Wim Taymans <wim@fluendo.com>
12782 * docs/design/part-MT-refcounting.txt:
12783 * docs/design/part-clocks.txt:
12784 * docs/design/part-gstelement.txt:
12785 * docs/design/part-gstobject.txt:
12786 * docs/design/part-standards.txt:
12787 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12788 (gst_bin_remove_func), (gst_bin_remove):
12792 * testsuite/clock/clock1.c: (main):
12793 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12795 * testsuite/dlopen/loadgst.c: (do_test):
12796 * testsuite/refcounting/bin.c: (add_remove_test1),
12797 (add_remove_test2), (main):
12798 * testsuite/refcounting/element.c: (main):
12799 * testsuite/refcounting/element_pad.c: (main):
12800 * testsuite/refcounting/pad.c: (main):
12801 * tools/gst-launch.c: (sigint_handler_sighandler):
12802 * tools/gst-typefind.c: (main):
12804 Added doc about clock.
12805 removed gst_bin_iterate_recurse_up(), marked methods
12807 Fix more testsuites.
12809 2005-03-09 Wim Taymans <wim@fluendo.com>
12811 * gst/gstpad.c: (gst_pad_get_direction),
12812 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12813 (gst_pad_collect_valist):
12814 * testsuite/bins/interface.c: (main):
12815 * testsuite/caps/audioscale.c: (test_caps):
12816 * testsuite/caps/caps.c: (test1), (test2), (test3):
12817 * testsuite/caps/deserialize.c: (main):
12818 * testsuite/caps/enumcaps.c: (main):
12819 * testsuite/caps/filtercaps.c: (main):
12820 * testsuite/caps/intersect2.c: (main):
12821 * testsuite/caps/random.c: (main):
12822 * testsuite/caps/renegotiate.c: (my_fixate), (main):
12823 * testsuite/caps/sets.c: (check_caps):
12824 * testsuite/caps/simplify.c: (check_caps), (main):
12825 * testsuite/caps/subtract.c: (check_caps):
12826 Fix _pad_get_direction wrt ghostpads.
12827 Fix caps testsuite.
12829 2005-03-09 Wim Taymans <wim@fluendo.com>
12831 * check/Makefile.am:
12832 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12833 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12834 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12835 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12836 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12837 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12838 (gst_bin_remove), (gst_bin_iterate_recurse_up),
12839 (bin_element_is_sink), (gst_bin_iterate_sinks),
12840 (gst_bin_iterate_all_by_interface):
12842 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12843 (gst_element_change_state), (gst_element_dispose),
12844 (gst_element_finalize), (gst_element_set_loop_function):
12845 * gst/gstelement.h:
12846 * gst/gstiterator.c: (find_custom_fold_func):
12847 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12848 (gst_pad_collectv), (gst_pad_collect_valist),
12849 (gst_pad_template_new):
12850 * gst/gstpipeline.c: (gst_pipeline_class_init),
12851 (gst_pipeline_dispose), (gst_pipeline_set_property),
12852 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12853 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12854 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12856 * gst/schedulers/entryscheduler.c:
12857 * gst/schedulers/gstbasicscheduler.c:
12858 (gst_basic_scheduler_cothreaded_chain),
12859 (gst_basic_scheduler_chain_add_element):
12860 * testsuite/bins/interface.c: (main):
12862 Added GstSystemClock test.
12863 Implemented clock distribution code in GstBin.
12864 Implemented iterate sinks method for future use.
12865 Rearranged gstelement.h
12866 Fix GstIterator comparison bug.
12867 Moved some code to GstPipeline, mostly clocking related.
12869 2005-03-09 Wim Taymans <wim@fluendo.com>
12872 * gst/gst_private.h:
12873 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12874 (gst_bin_remove_func), (gst_bin_remove),
12875 (gst_bin_get_by_name_recurse_up):
12876 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12877 (gst_clock_id_compare_func), (gst_clock_id_wait),
12878 (gst_clock_id_wait_async), (gst_clock_init),
12879 (gst_clock_adjust_unlocked), (gst_clock_get_time):
12880 * gst/gstelement.h:
12881 * gst/gstinfo.c: (_gst_debug_init):
12883 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12884 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12886 Bump version number, we're now 0.9.0
12887 Add future debugging category.
12888 Fix NULL _unref() in _get_by_name_recurse_up
12889 Rearrange gstpad.h.
12892 2005-03-08 Wim Taymans <wim@fluendo.com>
12894 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12895 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12896 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12897 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12898 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12899 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12900 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12901 * gst/elements/gstidentity.c: (gst_identity_class_init):
12902 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12903 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12904 * gst/elements/gstshaper.c: (gst_shaper_class_init):
12905 * gst/elements/gststatistics.c: (gst_statistics_class_init):
12906 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12908 * gst/gstelement.c: (gst_element_class_init),
12909 (gst_element_base_class_init), (gst_element_init),
12910 (gst_element_get_random_pad), (gst_element_wait_state_change),
12911 (gst_element_change_state), (gst_element_dispose),
12912 (gst_element_finalize), (gst_element_set_loop_function):
12913 * gst/gstelement.h:
12914 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12915 * gst/gstthread.c: (gst_thread_class_init),
12916 (gst_thread_release_children_locks), (gst_thread_change_state):
12917 * gst/schedulers/gstbasicscheduler.c:
12918 (gst_basic_scheduler_loopfunc_wrapper),
12919 (gst_basic_scheduler_chain_wrapper),
12920 (gst_basic_scheduler_src_wrapper),
12921 (gst_basic_scheduler_remove_element):
12922 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12923 Remove threadsafe properties. Fix elements because GObject
12924 complains when installing a property before declaring a
12925 set/get_property handler.
12926 Rearrange gstelement.h file, use STATE macros for state locks.
12927 Free mutexes in the finalize method instead of dispose.
12929 2005-03-08 Wim Taymans <wim@fluendo.com>
12931 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12932 * gst/gstthread.c: (gst_thread_release_children_locks):
12933 Added parentage check.
12934 Fix build og GstThread again.
12936 2005-03-08 Wim Taymans <wim@fluendo.com>
12938 * docs/design/part-MT-refcounting.txt:
12939 * docs/design/part-conventions.txt:
12940 * docs/design/part-gstobject.txt:
12941 * docs/design/part-relations.txt:
12942 * docs/design/part-standards.txt:
12943 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12944 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12945 (gst_bin_get_by_name), (gst_bin_get_by_interface),
12946 (gst_bin_iterate_all_by_interface):
12949 * gst/gstelement.c: (gst_element_class_init),
12950 (gst_element_change_state), (gst_element_set_loop_function):
12951 * gst/gstelement.h:
12952 * gst/gstiterator.c:
12953 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12954 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12955 (gst_object_dispatch_properties_changed), (gst_object_set_name),
12956 (gst_object_set_parent), (gst_object_unparent),
12957 (gst_object_check_uniqueness):
12959 Docs updates, clean up some headers.
12961 2005-03-07 Wim Taymans <wim@fluendo.com>
12963 * check/.cvsignore:
12964 * check/Makefile.am:
12965 * check/gst-libs/.cvsignore:
12966 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12967 * check/gst/.cvsignore:
12968 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12969 (START_TEST), (gstbus_suite), (main):
12970 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12971 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12972 (gst_data_suite), (main):
12973 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12974 (add_fold_func), (gstiterator_suite), (main):
12975 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12976 (thread_name_object), (thread_name_object_default),
12977 (gst_object_name_compare), (gst_object_suite), (main):
12978 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12979 (gst_pad_suite), (main):
12980 * check/gstcheck.c: (gst_check_log_message_func),
12981 (gst_check_log_critical_func), (gst_check_init):
12982 * check/gstcheck.h:
12983 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12984 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12987 2005-03-07 Wim Taymans <wim@fluendo.com>
12989 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12990 (gst_list_iterator_next), (gst_list_iterator_resync),
12991 (gst_list_iterator_free), (gst_iterator_new_list),
12992 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12993 (gst_iterator_free), (gst_iterator_push), (filter_next),
12994 (filter_resync), (filter_uninit), (filter_free),
12995 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12996 (gst_iterator_foreach), (find_custom_fold_func),
12997 (gst_iterator_find_custom):
12998 * gst/gstiterator.h:
12999 Added missing files.
13001 2005-03-07 Wim Taymans <wim@fluendo.com>
13005 * docs/design/part-MT-refcounting.txt:
13006 * docs/design/part-conventions.txt:
13007 * docs/design/part-gstobject.txt:
13008 * docs/design/part-relations.txt:
13009 * examples/mixer/mixer.c: (main):
13010 * examples/thread/thread.c: (eos), (main):
13012 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13013 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13014 (gst_spider_plug_from_srcpad):
13015 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13016 (gst_spider_identity_change_state),
13017 (gst_spider_identity_sink_loop_type_finding):
13018 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13019 * gst/elements/gstidentity.c: (gst_identity_init):
13020 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13021 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13022 * gst/elements/gsttypefindelement.c: (free_entry):
13025 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13026 (gst_bin_set_clock_func), (gst_bin_auto_clock),
13027 (gst_bin_set_index), (gst_bin_set_element_sched),
13028 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13029 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13030 (gst_bin_iterate_elements), (iterate_child_recurse),
13031 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13032 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13033 (compare_interface), (gst_bin_get_by_interface),
13034 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13036 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13037 (gst_buffer_default_free), (gst_buffer_default_copy),
13038 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13039 (gst_buffer_create_sub):
13041 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13042 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13043 (gst_caps_unref), (gst_static_caps_get),
13044 (gst_caps_remove_and_get_structure), (gst_caps_append),
13045 (gst_caps_append_structure), (gst_caps_remove_structure),
13046 (gst_caps_copy_nth), (gst_caps_set_simple),
13047 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13048 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13049 (gst_caps_structure_intersect_field), (gst_caps_intersect),
13050 (gst_caps_structure_subtract_field), (gst_caps_subtract),
13051 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13052 (gst_caps_structure_figure_out_union),
13053 (gst_caps_switch_structures), (gst_caps_do_simplify),
13054 (gst_caps_replace), (gst_caps_from_string),
13055 (gst_caps_copy_conditional):
13057 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13058 (_gst_clock_id_free), (gst_clock_id_unref),
13059 (gst_clock_id_compare_func), (gst_clock_id_wait),
13060 (gst_clock_id_wait_async), (gst_clock_class_init),
13061 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13062 (gst_clock_get_time), (gst_clock_set_time_adjust),
13063 (gst_clock_set_property), (gst_clock_get_property):
13066 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13067 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13069 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13070 (gst_element_requires_clock), (gst_element_provides_clock),
13071 (gst_element_set_clock), (gst_element_clock_wait),
13072 (gst_element_wait), (gst_element_set_time_delay),
13073 (gst_element_is_indexable), (gst_element_add_pad),
13074 (gst_element_add_ghost_pad), (gst_element_remove_pad),
13075 (pad_compare_name), (gst_element_get_static_pad),
13076 (gst_element_request_pad), (gst_element_get_request_pad),
13077 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13078 (gst_element_class_get_pad_template_list),
13079 (gst_element_class_get_pad_template), (gst_element_error_func),
13080 (gst_element_get_random_pad), (gst_element_get_event_masks),
13081 (gst_element_send_event), (gst_element_seek),
13082 (gst_element_get_query_types), (gst_element_query),
13083 (gst_element_get_formats), (gst_element_convert),
13084 (gst_element_is_locked_state), (gst_element_set_locked_state),
13085 (gst_element_sync_state_with_parent), (gst_element_change_state),
13086 (gst_element_finalize), (gst_element_yield),
13087 (gst_element_interrupt), (gst_element_set_scheduler),
13088 (gst_element_get_scheduler), (gst_element_set_loop_function):
13089 * gst/gstelement.h:
13091 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13092 (gst_format_get_by_nick), (gst_format_get_details),
13093 (gst_format_iterate_definitions):
13095 * gst/gstindex.c: (gst_index_gtype_resolver):
13098 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13099 (gst_mem_chunk_free):
13100 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13101 (gst_object_ref), (gst_object_unref), (gst_object_sink),
13102 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13103 (gst_object_dispatch_properties_changed),
13104 (gst_object_set_name_default), (gst_object_set_name),
13105 (gst_object_get_name), (gst_object_set_name_prefix),
13106 (gst_object_get_name_prefix), (gst_object_set_parent),
13107 (gst_object_get_parent), (gst_object_unparent),
13108 (gst_object_check_uniqueness), (gst_object_save_thyself),
13109 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13110 (gst_object_set_property), (gst_object_get_property),
13111 (gst_object_get_path_string):
13113 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13114 (gst_real_pad_init), (gst_real_pad_get_property),
13115 (gst_pad_custom_new), (gst_pad_get_direction),
13116 (gst_pad_set_active), (gst_pad_is_active),
13117 (gst_pad_set_event_function), (gst_pad_is_linked),
13118 (gst_pad_link_free), (gst_pad_link_intersect),
13119 (gst_pad_link_fixate), (gst_pad_set_caps),
13120 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13121 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13122 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13123 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13124 (gst_pad_get_caps), (gst_pad_peer_get_caps),
13125 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13126 (gst_pad_realize), (gst_pad_get_allowed_caps),
13127 (gst_real_pad_dispose), (gst_real_pad_finalize),
13128 (gst_pad_collectv), (gst_pad_collect_valist),
13129 (gst_pad_template_dispose), (gst_pad_template_new),
13130 (gst_pad_get_internal_links):
13132 * gst/gstpipeline.c: (gst_pipeline_dispose),
13133 (gst_pipeline_change_state):
13134 * gst/gstpipeline.h:
13136 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13137 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13138 * gst/gstpluginfeature.h:
13139 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13140 * gst/gstquery.c: (_gst_query_type_initialize),
13141 (gst_query_type_register), (gst_query_type_get_by_nick),
13142 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13144 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13145 * gst/gstscheduler.c: (gst_scheduler_add_element),
13146 (gst_scheduler_factory_create):
13147 * gst/gststructure.c: (gst_structure_set_parent_refcount),
13148 (gst_structure_free), (gst_structure_set_name),
13149 (gst_structure_id_set_value), (gst_structure_set_value),
13150 (gst_structure_set_valist), (gst_structure_remove_field),
13151 (gst_structure_remove_fields),
13152 (gst_structure_remove_fields_valist),
13153 (gst_structure_remove_all_fields), (gst_structure_foreach),
13154 (gst_structure_map_in_place),
13155 (gst_caps_structure_fixate_field_nearest_int),
13156 (gst_caps_structure_fixate_field_nearest_double):
13157 * gst/gststructure.h:
13158 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13159 (gst_system_clock_init), (gst_system_clock_dispose),
13160 (gst_system_clock_async_thread),
13161 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13162 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13163 * gst/gstsystemclock.h:
13164 * gst/gsttag.c: (gst_tag_list_add_value_internal),
13165 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13166 * gst/gsttaginterface.c:
13167 * gst/gstthread.c: (gst_thread_dispose),
13168 (gst_thread_release_children_locks), (gst_thread_change_state),
13169 (gst_thread_main_loop):
13170 * gst/gsttrashstack.h:
13171 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13173 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13174 (gst_element_request_pad), (gst_element_get_pad_from_template),
13175 (gst_element_request_compatible_pad),
13176 (gst_element_get_compatible_pad_filtered),
13177 (gst_element_get_compatible_pad), (gst_element_state_get_name),
13178 (gst_element_link_pads_filtered), (gst_element_link_filtered),
13179 (gst_element_link_many), (gst_element_link),
13180 (gst_element_link_pads), (gst_element_unlink_pads),
13181 (gst_element_unlink_many), (gst_element_unlink),
13182 (gst_pad_can_link_filtered), (gst_pad_can_link),
13183 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13184 (gst_object_default_error), (gst_bin_add_many),
13185 (gst_bin_remove_many), (gst_element_populate_std_props),
13186 (gst_element_class_install_std_props), (gst_buffer_merge),
13187 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13188 (link_fold_func), (gst_pad_proxy_setcaps):
13190 * gst/gstvalue.c: (gst_value_deserialize_string):
13191 * gst/parse/grammar.y:
13192 * gst/schedulers/gstbasicscheduler.c:
13193 (gst_basic_scheduler_cothreaded_chain),
13194 (gst_basic_scheduler_chain_recursive_add),
13195 (gst_basic_scheduler_pad_link):
13196 * gst/schedulers/gstoptimalscheduler.c:
13197 (get_group_schedule_function),
13198 (gst_opt_scheduler_state_transition),
13199 (gst_opt_scheduler_add_element), (element_get_reachables_func):
13200 * libs/gst/bytestream/bytestream.c:
13201 * libs/gst/dataprotocol/dataprotocol.c:
13202 (gst_dp_header_from_buffer):
13205 * tests/threadstate/threadstate2.c: (eos):
13206 * tools/gst-compprep.c: (main):
13207 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13208 (print_pad_info), (print_children_info):
13209 * tools/gst-launch.c: (idle_func), (main):
13210 * tools/gst-md5sum.c: (idle_func), (main):
13211 * tools/gst-xmlinspect.c: (print_element_info):
13212 First THREADED backport attempt, focusing on adding locks and
13213 making sure the API is threadsafe. Needs more work. More docs
13216 2005-02-24 Andy Wingo <wingo@pobox.com>
13218 * tests/bench-complexity.scm:
13219 * tests/complexity.gnuplot: New files, good for running complexity
13222 * tests/Makefile.am:
13223 * tests/complexity.c: New test, sets up N elements, at each level
13224 teeing into M streams per element. Eeeenteresting.
13226 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13227 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13228 running bench-mass_elements.scm.
13230 * tests/bench-mass_elements.scm: New script, runs mass_elements
13231 for various numbers of identities, outputting the results to a
13232 file. Requires guile 1.6. Just for testing.
13234 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
13236 * gst/schedulers/fairscheduler.c:
13237 compile with debug disabled
13239 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
13242 hunting season on 0.9 is now OPEN