1 2005-12-05 Wim Taymans <wim@fluendo.com>
3 * gst/gstcaps.c: (gst_caps_is_equal):
4 Comparing NULL against !NULL yields different caps, not a
7 2005-12-05 Wim Taymans <wim@fluendo.com>
10 Fix small typo in docs.
12 2005-12-05 Andy Wingo <wingo@pobox.com>
14 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
16 * gst/gst.c (init_post): remove hard-coded 0.9 location for
17 registries/plugins with a MAJORMINOR one.
18 (plugin_desc): Rename library from gstcoreleements to
19 staticelements. Fixes #323222.
21 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
23 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
24 Change debug category to 'collectpads' from 'collect_pads'
27 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
29 patch by: Sebastien Moutte
31 * libs/gst/controller/gstinterpolation.c:
32 use convert function for uint64/double
33 * win32/vs6/libgstcontroller.dsp:
36 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
38 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
39 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
41 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
42 add tests that seem to show that the guint64/gdouble conversions
45 2005-12-02 Wim Taymans <wim@fluendo.com>
47 * gst/gstregistry.c: (gst_registry_add_path):
49 * gst/gstregistryxml.c:
52 2005-12-02 Wim Taymans <wim@fluendo.com>
54 * gst/gstutils.c: (gst_util_uint64_scale_int64),
55 (gst_util_uint64_scale_int):
58 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
61 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
64 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
67 * win32/common/config.h:
68 * win32/vs6/gstreamer.dsw:
69 * win32/vs6/libgstcoreelements.dsp:
70 * win32/vs6/libgstelements.dsp:
71 renamed core elements plugin
73 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
75 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
77 do piece-wise major/minor comparison so 0.9 < 0.10
78 also allow .exe extensions for tools
80 2005-12-02 Michael Smith <msmith@fluendo.com>
83 Escape a % to make gtkdoc happier; bug 322958.
87 2005-12-01 <thomas (at) apestaart (dot) org>
90 releasing 0.9.7, "My Dog Has No Nose"
92 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
94 * common/gst-xmlinspect.py:
96 * docs/libs/tmpl/gstdataprotocol.sgml:
97 * docs/random/release:
116 * win32/common/config.h:
117 * win32/common/config.h.in:
118 * win32/vs6/gst_inspect.dsp:
119 * win32/vs6/gst_launch.dsp:
120 * win32/vs6/libgstbase.dsp:
121 * win32/vs6/libgstelements.dsp:
122 * win32/vs6/libgstreamer.dsp:
123 * win32/vs7/GStreamer.vcproj:
124 * win32/vs7/gst-inspect.vcproj:
125 * win32/vs7/gst-launch.vcproj:
126 * win32/vs7/libgstbase.vcproj:
127 bump GST_MAJORMINOR to 0.10
128 reset libtool version
130 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
134 Added Bulgarian translation by (Alexander Shopov)
136 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
138 * tests/check/gst/gstplugin.c:
141 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
143 * common/gst-xmlinspect.py:
144 * common/gtk-doc-plugins.mak:
147 * docs/gst/Makefile.am:
148 * docs/gst/gstreamer-docs.sgml:
149 * docs/gst/gstreamer-sections.txt:
150 * docs/gst/gstreamer.types:
151 * docs/gst/gstreamer.types.in:
152 * docs/plugins/Makefile.am:
153 * docs/plugins/gstreamer-plugins-docs.sgml:
154 * docs/plugins/gstreamer-plugins-sections.txt:
155 * docs/plugins/gstreamer-plugins.types:
156 * docs/plugins/inspect.stamp:
157 * docs/plugins/inspect/plugin-coreelements.xml:
158 * docs/plugins/inspect/plugin-coreindexers.xml:
159 * docs/plugins/scanobj-build.stamp:
161 * plugins/elements/Makefile.am:
162 * plugins/elements/gstelements.c:
163 * plugins/elements/gstfakesink.c:
164 * plugins/elements/gstfakesrc.c:
165 * plugins/elements/gstfilesink.c:
166 * plugins/elements/gstfilesrc.c:
167 * plugins/elements/gstqueue.c:
168 * plugins/indexers/Makefile.am:
169 * plugins/indexers/gstindexers.c:
170 document core plugins in a separate document just like all the
172 rename these plugins to something starting with core
174 2005-12-01 Andy Wingo <wingo@pobox.com>
176 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
177 padding here before, but it missed the commit.
179 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
181 * libs/gst/controller/gstinterpolation.c:
182 whitespace prices have crashed, we should feel free to use some now
183 use gst_guint64_to_gdouble
185 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
187 * libs/gst/controller/gstcontroller.c:
188 * libs/gst/controller/gsthelper.c:
189 * libs/gst/controller/gstinterpolation.c:
190 * libs/gst/controller/lib.c:
191 wrap config.h include
193 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
195 * docs/gst/gstreamer-sections.txt:
198 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
200 * plugins/elements/gstelements.c:
201 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
202 (gst_fd_sink__class_init), (gst_fd_sink__init),
203 (gst_fd_sink__chain), (gst_fd_sink__set_property),
204 (gst_fd_sink__get_property):
205 * plugins/elements/gstfdsink.h:
206 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
207 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
208 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
209 (gst_fd_src_unlock), (gst_fd_src_set_property),
210 (gst_fd_src_get_property), (gst_fd_src_create),
211 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
212 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
213 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
214 (gst_fd_src_uri_handler_init):
215 * plugins/elements/gstfdsrc.h:
216 * plugins/elements/gstqueue.c: (gst_queue_get_type):
219 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
221 * docs/gst/Makefile.am:
222 * docs/gst/gstreamer.types.in:
226 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
233 * tests/benchmarks/complexity.c:
234 * tests/benchmarks/mass-elements.c:
235 * tests/check/Makefile.am:
237 * tools/gst-inspect.c:
238 * tools/gst-xmlinspect.c:
239 various fixes to make
240 --disable-nls --disable-registry --disable-loadsave
241 --disable-parse --disable-gst-debug
242 work and get the core .so down to 360444 bytes after stripping
244 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
249 * docs/random/thomasvs/TODO:
254 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
256 * win32/GStreamer.vcproj:
259 * win32/Makefile.inspect:
260 * win32/Makefile.launch:
261 * win32/Makefile.register:
263 * win32/gst-inspect.vcproj:
264 * win32/gst-launch.vcproj:
265 * win32/gst-register.vcproj:
266 * win32/gstelements.vcproj:
267 * win32/gstgetbits.def:
268 * win32/gstgetbits.vcproj:
269 * win32/gstreamer-dbg.def:
270 * win32/gstreamer.def:
271 * win32/libgstbase.def:
272 * win32/libgstbase.vcproj:
273 * win32/link_oldruntime.c:
278 move even more stuff, win32/ is nice and clean now
280 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
282 * libs/gst/control/.cvsignore:
287 * win32/gstbytestream.def:
288 * win32/gstbytestream.vcproj:
290 * win32/gstenumtypes.c:
291 * win32/gstenumtypes.h:
292 * win32/gstoptimalscheduler.vcproj:
293 * win32/gstversion.h:
295 * win32/testsuite/bins.vcproj:
296 * win32/testsuite/bytestream.vcproj:
297 * win32/testsuite/caps.vcproj:
298 * win32/testsuite/cleanup.vcproj:
299 * win32/testsuite/clock.vcproj:
300 * win32/testsuite/debug.vcproj:
301 * win32/testsuite/dlopen.vcproj:
302 * win32/testsuite/dynparams.vcproj:
303 * win32/testsuite/elements.vcproj:
304 * win32/testsuite/ghostpads.vcproj:
305 * win32/testsuite/indexers.vcproj:
306 * win32/testsuite/negotiation.vcproj:
307 * win32/testsuite/parse.vcproj:
308 * win32/testsuite/plugin.vcproj:
309 * win32/testsuite/refcounting.vcproj:
310 * win32/testsuite/schedulers.vcproj:
311 * win32/testsuite/states.vcproj:
312 * win32/testsuite/tags.vcproj:
313 * win32/testsuite/threads.vcproj:
314 remove old win32 stuff that isn't maintained and should be
317 2005-11-30 Andy Wingo <wingo@pobox.com>
319 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
320 loading the gst.interfaces python module bork.
322 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
323 available since GLib 2.2. Fixes #318031.
325 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
330 * check/elements/.cvsignore:
331 * check/elements/fakesrc.c:
332 * check/elements/fdsrc.c:
333 * check/elements/identity.c:
334 * check/generic/.cvsignore:
335 * check/generic/states.c:
336 * check/gst-libs/.cvsignore:
337 * check/gst-libs/controller.c:
338 * check/gst-libs/gdp.c:
339 * check/gst/.cvsignore:
340 * check/gst/capslist.h:
342 * check/gst/gstbin.c:
343 * check/gst/gstbuffer.c:
344 * check/gst/gstbus.c:
345 * check/gst/gstcaps.c:
346 * check/gst/gstelement.c:
347 * check/gst/gstevent.c:
348 * check/gst/gstghostpad.c:
349 * check/gst/gstiterator.c:
350 * check/gst/gstmessage.c:
351 * check/gst/gstminiobject.c:
352 * check/gst/gstobject.c:
353 * check/gst/gstpad.c:
354 * check/gst/gstpipeline.c:
355 * check/gst/gstplugin.c:
356 * check/gst/gstsegment.c:
357 * check/gst/gststructure.c:
358 * check/gst/gstsystemclock.c:
359 * check/gst/gsttag.c:
360 * check/gst/gstutils.c:
361 * check/gst/gstvalue.c:
362 * check/net/.cvsignore:
363 * check/net/gstnetclientclock.c:
364 * check/net/gstnettimeprovider.c:
365 * check/pipelines/.cvsignore:
366 * check/pipelines/cleanup.c:
367 * check/pipelines/simple_launch_lines.c:
368 * check/pipelines/stress.c:
369 * check/states/.cvsignore:
370 * check/states/sinks.c:
372 * examples/Makefile.am:
373 * examples/appreader/.cvsignore:
374 * examples/appreader/Makefile.am:
375 * examples/appreader/appreader.c:
376 * examples/controller/.cvsignore:
377 * examples/controller/Makefile.am:
378 * examples/controller/audio-example.c:
379 * examples/cutter/.cvsignore:
380 * examples/cutter/Makefile.am:
381 * examples/cutter/cutter.c:
382 * examples/cutter/cutter.h:
383 * examples/events/Makefile.am:
384 * examples/events/seek.c:
385 * examples/helloworld/.cvsignore:
386 * examples/helloworld/Makefile.am:
387 * examples/helloworld/helloworld.c:
388 * examples/helloworld2/.cvsignore:
389 * examples/helloworld2/Makefile.am:
390 * examples/helloworld2/helloworld2.c:
391 * examples/launch/.cvsignore:
392 * examples/launch/Makefile.am:
393 * examples/launch/mp3parselaunch.c:
394 * examples/launch/mp3play:
395 * examples/manual/.cvsignore:
396 * examples/manual/Makefile.am:
397 * examples/manual/extract.pl:
398 * examples/metadata/Makefile.am:
399 * examples/metadata/read-metadata.c:
400 * examples/mixer/.cvsignore:
401 * examples/mixer/Makefile.am:
402 * examples/mixer/mixer.c:
403 * examples/mixer/mixer.h:
404 * examples/pingpong/.cvsignore:
405 * examples/pingpong/Makefile.am:
406 * examples/pingpong/pingpong.c:
407 * examples/plugins/.cvsignore:
408 * examples/plugins/Makefile.am:
409 * examples/plugins/example.c:
410 * examples/plugins/example.h:
411 * examples/pwg/.cvsignore:
412 * examples/pwg/Makefile.am:
413 * examples/pwg/extract.pl:
414 * examples/queue/.cvsignore:
415 * examples/queue/Makefile.am:
416 * examples/queue/queue.c:
417 * examples/queue2/.cvsignore:
418 * examples/queue2/Makefile.am:
419 * examples/queue2/queue2.c:
420 * examples/queue3/.cvsignore:
421 * examples/queue3/Makefile.am:
422 * examples/queue3/queue3.c:
423 * examples/queue4/.cvsignore:
424 * examples/queue4/Makefile.am:
425 * examples/queue4/queue4.c:
426 * examples/retag/.cvsignore:
427 * examples/retag/Makefile.am:
428 * examples/retag/retag.c:
429 * examples/retag/transcode.c:
430 * examples/thread/.cvsignore:
431 * examples/thread/Makefile.am:
432 * examples/thread/thread.c:
433 * examples/typefind/.cvsignore:
434 * examples/typefind/Makefile.am:
435 * examples/typefind/typefind.c:
436 * examples/xml/.cvsignore:
437 * examples/xml/Makefile.am:
438 * examples/xml/createxml.c:
439 * examples/xml/runxml.c:
441 * tests/check/Makefile.am:
442 * testsuite/.cvsignore:
443 * testsuite/Makefile.am:
445 * testsuite/caps/.cvsignore:
446 * testsuite/caps/Makefile.am:
447 * testsuite/caps/app_fixate.c:
448 * testsuite/caps/audioscale.c:
449 * testsuite/caps/caps.c:
450 * testsuite/caps/caps.h:
451 * testsuite/caps/caps_strings:
452 * testsuite/caps/compatibility.c:
453 * testsuite/caps/deserialize.c:
454 * testsuite/caps/enumcaps.c:
455 * testsuite/caps/eratosthenes.c:
456 * testsuite/caps/filtercaps.c:
457 * testsuite/caps/fixed.c:
458 * testsuite/caps/fraction-convert.c:
459 * testsuite/caps/fraction-multiply-and-zero.c:
460 * testsuite/caps/intersect2.c:
461 * testsuite/caps/intersection.c:
462 * testsuite/caps/normalisation.c:
463 * testsuite/caps/random.c:
464 * testsuite/caps/renegotiate.c:
465 * testsuite/caps/sets.c:
466 * testsuite/caps/simplify.c:
467 * testsuite/caps/string-conversions.c:
468 * testsuite/caps/structure.c:
469 * testsuite/caps/subtract.c:
470 * testsuite/caps/union.c:
471 * testsuite/debug/.cvsignore:
472 * testsuite/debug/Makefile.am:
473 * testsuite/debug/category.c:
474 * testsuite/debug/commandline.c:
475 * testsuite/debug/global.c:
476 * testsuite/debug/output.c:
477 * testsuite/debug/printf_extension.c:
478 * testsuite/dlopen/.cvsignore:
479 * testsuite/dlopen/Makefile.am:
480 * testsuite/dlopen/dlopen_gst.c:
481 * testsuite/dlopen/loadgst.c:
482 * testsuite/elements/.cvsignore:
483 * testsuite/elements/Makefile.am:
484 * testsuite/elements/gst-inspect-check.in:
485 * testsuite/elements/struct_i386.h:
486 * testsuite/elements/struct_size.c:
487 * testsuite/indexers/.cvsignore:
488 * testsuite/indexers/Makefile.am:
489 * testsuite/indexers/cache1.c:
490 * testsuite/indexers/indexdump.c:
491 * testsuite/parse/.cvsignore:
492 * testsuite/parse/Makefile.am:
493 * testsuite/parse/parse1.c:
494 * testsuite/parse/parse2.c:
495 * testsuite/plugin/.cvsignore:
496 * testsuite/plugin/Makefile.am:
497 * testsuite/plugin/README:
498 * testsuite/plugin/dynamic.c:
499 * testsuite/plugin/linked.c:
500 * testsuite/plugin/loading.c:
501 * testsuite/plugin/registry.c:
502 * testsuite/plugin/static.c:
503 * testsuite/plugin/static2.c:
504 * testsuite/plugin/testplugin.c:
505 * testsuite/plugin/testplugin2.c:
506 * testsuite/plugin/testplugin2_s.c:
507 * testsuite/plugin/testplugin_s.c:
508 * testsuite/refcounting/.cvsignore:
509 * testsuite/refcounting/Makefile.am:
510 * testsuite/refcounting/bin.c:
511 * testsuite/refcounting/element.c:
512 * testsuite/refcounting/element_pad.c:
513 * testsuite/refcounting/mainloop.c:
514 * testsuite/refcounting/mem.c:
515 * testsuite/refcounting/mem.h:
516 * testsuite/refcounting/object.c:
517 * testsuite/refcounting/pad.c:
518 * testsuite/refcounting/sched.c:
519 * testsuite/refcounting/thread.c:
520 * testsuite/states/.cvsignore:
521 * testsuite/states/Makefile.am:
522 * testsuite/states/bin.c:
523 * testsuite/states/locked.c:
524 * testsuite/states/parent.c:
525 * testsuite/threads/.cvsignore:
526 * testsuite/threads/159566.c:
527 * testsuite/threads/159852.c:
528 * testsuite/threads/Makefile.am:
529 * testsuite/threads/queue.c:
530 * testsuite/threads/signals.c:
531 * testsuite/threads/staticrec.c:
532 * testsuite/threads/thread.c:
533 * testsuite/threads/threadb.c:
534 * testsuite/threads/threadc.c:
535 * testsuite/threads/threadd.c:
536 * testsuite/threads/threade.c:
537 * testsuite/threads/threadf.c:
538 * testsuite/threads/threadg.c:
539 * testsuite/threads/threadh.c:
540 * testsuite/threads/threadi.c:
541 move all of these under tests
543 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
549 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
551 * docs/gst/gstreamer-sections.txt:
552 * tests/sched/.cvsignore:
553 * tests/sched/Makefile.am:
554 * tests/sched/cases/(fs-fs).xml:
555 * tests/sched/cases/(fs-i-fs).xml:
556 * tests/sched/cases/(fs-i-i-fs).xml:
557 * tests/sched/cases/(fs-i-q[i-fs]).xml:
558 * tests/sched/dynamic-pipeline.c:
559 * tests/sched/interrupt1.c:
560 * tests/sched/interrupt2.c:
561 * tests/sched/interrupt3.c:
562 * tests/sched/runtestcases:
563 * tests/sched/runxml.c:
564 * tests/sched/sched-stress.c:
565 * tests/sched/sort.c:
566 * tests/sched/testcases:
567 * tests/sched/testcases1.tc:
568 * tests/seeking/.cvsignore:
569 * tests/seeking/Makefile.am:
570 * tests/seeking/seeking1.c:
571 * tests/threadstate/.cvsignore:
572 * tests/threadstate/Makefile.am:
573 * tests/threadstate/test1.c:
574 * tests/threadstate/test2.c:
575 * tests/threadstate/threadstate1.c:
576 * tests/threadstate/threadstate2.c:
577 * tests/threadstate/threadstate3.c:
578 * tests/threadstate/threadstate4.c:
579 * tests/threadstate/threadstate5.c:
580 remove obsolete tests
582 * tests/bench-complexity.scm:
583 * tests/bench-mass_elements.scm:
584 * tests/complexity.c:
585 * tests/complexity.gnuplot:
586 * tests/instantiate/.cvsignore:
587 * tests/instantiate/Makefile.am:
588 * tests/instantiate/caps.c:
589 * tests/mass_elements.c:
590 * tests/network-clock-utils.scm:
591 * tests/network-clock.scm:
593 First pass at cleaning up tests/ dir before moving the rest
594 Combined with CVS surgery
596 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
599 queue has moved, update
601 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
603 * docs/gst/gstreamer-sections.txt:
604 remove double entries from the docs
606 * gst/gstinfo.c: (_gst_debug_init):
607 remove the THREAD debug category
611 * docs/gst/gstreamer.types:
612 * plugins/elements/gstqueue.c: (gst_queue_get_type),
613 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
614 completely move queue and fix up debugging categories
616 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
618 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
619 make initialization portable, using LL is not
621 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
623 * win32/common/gstconfig.h:
626 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
628 * win32/common/libgstreamer.def:
629 rename symbols; sort base section
631 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
633 * gst/gstclock.c: (do_linear_regression):
634 remove crack non-portable handrolled DEBUG macro
636 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
638 * docs/random/release:
640 * win32/common/gstenumtypes.c: (register_gst_object_flags),
641 (gst_object_flags_get_type), (register_gst_bin_flags),
642 (gst_bin_flags_get_type), (register_gst_buffer_flag),
643 (gst_buffer_flag_get_type), (register_gst_bus_flags),
644 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
645 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
646 (gst_caps_flags_get_type), (register_gst_clock_return),
647 (gst_clock_return_get_type), (register_gst_clock_entry_type),
648 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
649 (gst_clock_flags_get_type), (register_gst_state),
650 (gst_state_get_type), (register_gst_state_change_return),
651 (gst_state_change_return_get_type), (register_gst_state_change),
652 (gst_state_change_get_type), (register_gst_element_flags),
653 (gst_element_flags_get_type), (register_gst_core_error),
654 (gst_core_error_get_type), (register_gst_library_error),
655 (gst_library_error_get_type), (register_gst_resource_error),
656 (gst_resource_error_get_type), (register_gst_stream_error),
657 (gst_stream_error_get_type), (register_gst_event_type_flags),
658 (gst_event_type_flags_get_type), (register_gst_event_type),
659 (gst_event_type_get_type), (register_gst_seek_type),
660 (gst_seek_type_get_type), (register_gst_seek_flags),
661 (gst_seek_flags_get_type), (register_gst_format),
662 (gst_format_get_type), (register_gst_index_certainty),
663 (gst_index_certainty_get_type), (register_gst_index_entry_type),
664 (gst_index_entry_type_get_type),
665 (register_gst_index_lookup_method),
666 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
667 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
668 (gst_index_resolver_method_get_type), (register_gst_index_flags),
669 (gst_index_flags_get_type), (register_gst_debug_level),
670 (gst_debug_level_get_type), (register_gst_debug_color_flags),
671 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
672 (gst_iterator_result_get_type), (register_gst_iterator_item),
673 (gst_iterator_item_get_type), (register_gst_message_type),
674 (gst_message_type_get_type), (register_gst_mini_object_flags),
675 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
676 (gst_pad_link_return_get_type), (register_gst_flow_return),
677 (gst_flow_return_get_type), (register_gst_activate_mode),
678 (gst_activate_mode_get_type), (register_gst_pad_direction),
679 (gst_pad_direction_get_type), (register_gst_pad_flags),
680 (gst_pad_flags_get_type), (register_gst_pad_presence),
681 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
682 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
683 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
684 (gst_plugin_error_get_type), (register_gst_plugin_flags),
685 (gst_plugin_flags_get_type), (register_gst_rank),
686 (gst_rank_get_type), (register_gst_query_type),
687 (gst_query_type_get_type), (register_gst_tag_merge_mode),
688 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
689 (gst_tag_flag_get_type), (register_gst_task_state),
690 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
691 (gst_alloc_trace_flags_get_type),
692 (register_gst_type_find_probability),
693 (gst_type_find_probability_get_type), (register_gst_uri_type),
694 (gst_uri_type_get_type), (register_gst_parse_error),
695 (gst_parse_error_get_type):
696 * win32/common/gstenumtypes.h:
697 * win32/common/gstversion.h:
698 update visual studio generated files
700 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
702 * win32/vs6/libgstbase.dsp:
703 * win32/vs6/libgstelements.dsp:
704 update project files for new locations
706 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
716 * docs/random/LICENSE:
719 2005-11-30 Edward Hervey <edward@fluendo.com>
721 * gst/gsttypefind.c: (gst_type_find_register):
723 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
724 (gst_type_find_factory_dispose):
725 * gst/gsttypefindfactory.h:
726 Fix memory leak in GstTypeFindFactory.
728 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
731 * plugins/elements/Makefile.am:
732 * plugins/elements/gstelements.c:
733 * plugins/elements/gstqueue.c:
734 move queue from core to the elements plugin
736 2005-11-29 Andy Wingo <wingo@pobox.com>
738 * libs/gst/base/gstbasetransform.h:
739 * libs/gst/base/gstbasesrc.h:
740 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
742 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
743 of pointers by which to pad very extensible base classes (like the
744 ones in libs/gst/base).
746 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
748 * docs/gst/gstreamer-docs.sgml:
749 * docs/gst/gstreamer-sections.txt:
750 * docs/libs/gstreamer-libs-docs.sgml:
751 * docs/libs/gstreamer-libs-sections.txt:
752 moving documentation from core to lib
754 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
758 * docs/gst/Makefile.am:
760 * gst/base/.cvsignore:
761 * gst/base/Makefile.am:
763 * gst/base/gstadapter.c:
764 * gst/base/gstadapter.h:
765 * gst/base/gstbasesink.c:
766 * gst/base/gstbasesink.h:
767 * gst/base/gstbasesrc.c:
768 * gst/base/gstbasesrc.h:
769 * gst/base/gstbasetransform.c:
770 * gst/base/gstbasetransform.h:
771 * gst/base/gstcollectpads.c:
772 * gst/base/gstcollectpads.h:
773 * gst/base/gstpushsrc.c:
774 * gst/base/gstpushsrc.h:
775 * gst/base/gsttypefindhelper.c:
776 * gst/base/gsttypefindhelper.h:
777 * gst/check/Makefile.am:
778 * gst/check/gstcheck.c:
779 * gst/check/gstcheck.h:
780 * gst/net/Makefile.am:
782 * gst/net/gstnetclientclock.c:
783 * gst/net/gstnetclientclock.h:
784 * gst/net/gstnettimepacket.c:
785 * gst/net/gstnettimepacket.h:
786 * gst/net/gstnettimeprovider.c:
787 * gst/net/gstnettimeprovider.h:
788 * libs/gst/Makefile.am:
789 * libs/gst/base/Makefile.am:
790 * libs/gst/base/gstbasetransform.c:
791 * libs/gst/check/Makefile.am:
792 * plugins/elements/Makefile.am:
794 CVS surgery + support to move base, check, and net out of gst
797 2005-11-29 Andy Wingo <wingo@pobox.com>
799 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
801 * gst/gststructure.h (struct _GstStructure): Only one pointer of
804 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
806 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
808 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
810 * gst/gstobject.h: (struct _GstObject): Only one pointer of
811 padding; reduces object size by about 30%. We don't expect
812 anything else to go into gstobject.
814 * gst/gstminiobject.h (struct _GstMiniObject)
815 (struct _GstMiniObjectClass): Only one pointer of padding; the
816 payload is only a pointer and two ints anyway. For the class there
817 are only two methods as well.
819 * gst/gstelement.h (struct _GstElementClass): Removed
820 the state_changed signal callback, it is not used.
822 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
824 * docs/gst/gstreamer.types:
825 fix includes, though they are a little dinky
827 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
830 look in the right place for elements, a lot more chance of
833 remove indexers and elements subdirs
834 * plugins/Makefile.am:
835 make indexers conditional
837 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
841 * plugins/elements/Makefile.am:
842 * plugins/elements/gstcapsfilter.c:
843 * plugins/elements/gstfilesink.c:
844 * plugins/elements/gstfilesrc.c:
845 * plugins/elements/gstidentity.c:
846 * plugins/indexers/Makefile.am:
847 do CVS surgery and related build fixery to move elements
848 and indexers in a new gstreamer/plugins directory, out of the
851 2005-11-29 Andy Wingo <wingo@pobox.com>
854 * pkgconfig/gstreamer-net-uninstalled.pc.in:
855 * pkgconfig/gstreamer-net.pc.in:
856 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
859 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
862 * tools/gst-complete.1.in:
863 * tools/gst-complete.c:
864 * tools/gst-compprep.1.in:
865 * tools/gst-compprep.c:
866 removing -compprep and -complete
868 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
870 * gst/gstevent.c: (gst_event_new_new_segment),
871 (gst_event_parse_new_segment):
873 fix #320529 - clean up new_segment API and structure.
874 Let's hope everyone was using the methods, and not the structure.
876 2005-11-29 Edward Hervey <edward@fluendo.com>
878 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
879 (gst_base_sink_event), (gst_base_sink_do_sync),
880 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
881 Properly handle non GST_FORMAT_TIME segment
882 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
883 Properly handle non GST_FORMAT_TIME segment
885 This function is valid if the accumulator is 0 and the format
886 is different from the requested format.
888 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
890 * docs/gst/gstreamer-sections.txt:
891 Add gst_query_new_seeking and gst_query_parse_seeking to the
894 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
896 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
897 Treat a pad alloc with new caps the same as if we were not
898 negotiated, in order to allow a changing upstream output
899 to produce a new format of data.
901 2005-11-29 Edward Hervey <edward@fluendo.com>
903 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
904 (gst_base_transform_event), (gst_base_transform_eventfunc):
905 The event virtual method is now properly implemented, with a default
907 Sub classes should call the parent_class event method. They should
908 return FALSE if they had a problem handling the given event, or don't
909 want GstBaseTransform to send that even downstream
910 * gst/elements/gstidentity.c: (gst_identity_class_init),
911 (gst_identity_init), (gst_identity_event),
912 (gst_identity_transform_ip), (gst_identity_set_property),
913 (gst_identity_get_property):
914 * gst/elements/gstidentity.h:
915 Added the single-segment boolean property.
916 If set to TRUE, it will output a single segment of data, starting from
917 0, will eat up all incoming newsegment, and modify the timestamp of the
920 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
922 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
923 Don't ref NULL target pad (#322751). Improve docs.
925 2005-11-29 Michael Smith <msmith@fluendo.com>
927 * gst/gstregistryxml.c: (load_plugin):
928 Don't crash if we failed to load a feature from a plugin.
930 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
932 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
934 use more check API and less GLib API
936 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
939 don't run checks if we don't have check
941 remove the registry when running make torture
942 * docs/gst/gstreamer-sections.txt:
943 remove second multiply
944 * gst/gstqueue.c: (gst_queue_loop):
945 fix a compile warning when disabling debug
947 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
950 Hey! Let's print the pad name if the pointer != NULL instead
951 of when it == NULL :-)
953 2005-11-28 Wim Taymans <wim@fluendo.com>
955 * check/gst/gstutils.c: (GST_START_TEST):
956 Updated check, add some scaling accuracy checking code.
958 * gst/gstutils.c: (gst_util_div128_64),
959 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
960 (gst_util_uint64_scale_int):
961 Fix 6 times faster division code. Optimize for common
962 1/1 and less common X/1 cases.
964 2005-11-28 Wim Taymans <wim@fluendo.com>
966 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
969 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
970 (do_linear_regression), (gst_clock_add_observation):
972 Release lock when the clock cannot be slaved.
973 Catch the case where the regression returned an invalid denominator.
975 * gst/gstutils.c: (gst_util_div128_64_iterate),
976 (gst_util_div128_64), (gst_util_uint64_scale_int64),
977 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
978 Add protentially more performant non-iterative 128/64 divide function
979 that unfortunatly does not work yet.
980 Shortcut the trivial 0/X = 0 case.
981 Remove the warnings on overflow.
983 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
985 * gst/gstplugin.c: (gst_plugin_register_func):
986 everything causing a plugin not to load should be at least a WARNING
988 2005-11-28 Stefan Kost <ensonic@users.sf.net>
990 * docs/random/ensonic/dparams.txt:
991 some TODOs for the next dev cycle
992 * libs/gst/controller/gstcontroller.c:
993 (gst_controlled_property_set_interpolation_mode),
994 (gst_controlled_property_new):
995 * libs/gst/controller/gstcontroller.h:
996 use base type to assign acccessor functions
998 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1000 * check/Makefile.am:
1001 Oops, that should have been top_srcdir
1003 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1005 * check/Makefile.am:
1006 * check/elements/fdsrc.c: (GST_START_TEST):
1007 Use a cmdline define to specify the location of a file to use for
1008 testing, to avoid breaking distcheck.
1010 2005-11-28 Andy Wingo <wingo@pobox.com>
1012 * gst/gstpad.c (fixate_value): Use array functions for arrays.
1014 2005-11-28 Edward Hervey <edward@fluendo.com>
1016 * tools/gst-launch.c: (main):
1017 Clarify the output strings, makes it easier to translate.
1020 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1023 don't try and build net if we don't even have <sys/socket.h>
1025 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
1027 * check/Makefile.am:
1028 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1029 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1030 Add tests for fdsrc seekability
1032 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1033 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1034 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1035 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1036 * gst/elements/gstfdsrc.h:
1037 fdsrc should not be a 'live' source.
1038 Implement seeking on seekable fd's.
1040 * gst/gstquery.c: (gst_query_new_seeking),
1041 (gst_query_parse_seeking):
1043 Implement SEEKING query functions:
1044 *_new_seeking and *_parse_seeking
1046 2005-11-27 Stefan Kost <ensonic@users.sf.net>
1048 * gst/gstelement.c: (gst_element_dispose):
1051 * gst/gstiterator.c:
1052 * gst/gststructure.c:
1055 * libs/gst/controller/gstcontroller.c:
1056 (gst_controlled_property_set_interpolation_mode):
1057 * libs/gst/controller/gstcontroller.h:
1058 * libs/gst/controller/gstinterpolation.c:
1059 (interpolate_none_get_enum_value_array):
1060 support controlling enums
1062 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1065 Improve documentation for gst_value_union().
1068 Change return value for union, intersect and subtract functions
1069 from gint to gboolean.
1071 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1073 * gst/gstvalue.c: (gst_value_serialize_any_list),
1074 (gst_value_transform_any_list_string),
1075 (gst_value_deserialize_list), (gst_value_deserialize_array),
1076 (gst_value_set_int_range), (gst_value_deserialize_int_range),
1077 (gst_value_set_double_range), (gst_value_deserialize_double_range),
1078 (gst_value_set_fraction_range_full),
1079 (gst_value_deserialize_fraction_range),
1080 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1081 (gst_value_deserialize_boolean),
1082 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1083 (gst_value_serialize_float), (gst_value_deserialize_float),
1084 (gst_string_wrap), (gst_value_deserialize_string),
1085 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1086 (gst_value_union_int_range_int_range),
1087 (gst_value_intersect_int_range_int_range),
1088 (gst_value_intersect_double_range_double_range),
1089 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1090 (gst_value_subtract_int_range_int_range),
1091 (gst_value_subtract_double_double_range),
1092 (gst_value_subtract_double_range_double_range),
1093 (gst_value_deserialize_fraction):
1095 Use gint, gdouble and gchar in our API instead of int, double and
1096 char (and make usage in gstvalue.c more consistent).
1098 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1100 * check/Makefile.am:
1101 * libs/gst/controller/Makefile.am:
1102 * libs/gst/dataprotocol/Makefile.am:
1103 fix up Makefile.am and remove GST_ENABLE_NEW
1105 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1109 * gst/base/Makefile.am:
1110 * gst/check/Makefile.am:
1111 * gst/elements/Makefile.am:
1112 * gst/net/Makefile.am:
1113 update LDFLAGS use some more
1115 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1117 * common/m4/gst-doc.m4:
1120 2005-11-26 Edward Hervey <edward@fluendo.com>
1122 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1123 This shouldn't issue a g_warning since it returns NULL if it
1124 couldn't find the plugin, and all functions using this behave
1125 properly on a NULL return. Switching to a GST_WARNING.
1127 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
1129 * gst/gstbin.c: (gst_bin_handle_message_func):
1130 Don't leak clock messages.
1132 2005-11-25 Wim Taymans <wim@fluendo.com>
1134 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1135 (gst_util_uint64_scale_int):
1136 Optimisations, remove unneeded vars.
1138 2005-11-25 Wim Taymans <wim@fluendo.com>
1140 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1141 Added more checks for the high precision uint64 cases.
1143 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1144 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1145 Implement high precision (guint64 * guint64) / guint64.
1147 2005-11-24 Wim Taymans <wim@fluendo.com>
1149 * gst/base/gstbasesrc.c: (gst_base_src_query):
1150 Fix wrong percentage query.
1152 * gst/gstutils.c: (gst_util_uint64_scale),
1153 (gst_util_uint64_scale_int):
1154 Add some more common cases that can be handled
1155 efficiently to _scale.
1157 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1159 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1160 (gst_mini_object_suite):
1161 don't use check calls from threads; check probably isn't
1162 threadsafe and using a lock to make it threadsafe would
1163 defeat the purpose of this check
1164 * gst/check/gstcheck.c:
1165 * gst/check/gstcheck.h:
1166 use GST_DEBUG some more
1168 2005-11-24 Wim Taymans <wim@fluendo.com>
1170 * gst/gstutils.c: (gst_util_uint64_scale),
1171 (gst_util_uint64_scale_int):
1172 Chain trivial case to _scale_int.
1174 2005-11-24 Wim Taymans <wim@fluendo.com>
1176 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1177 Added test for scaling.
1182 * gst/gstutils.c: (gst_util_uint64_scale_int):
1183 Implemented high precision scaling code.
1185 2005-11-24 Stefan Kost <ensonic@users.sf.net>
1188 do not crash on pad==NULL
1190 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1192 Patch by: Stefan Kost
1194 * common/gtk-doc.mak:
1195 * docs/gst/Makefile.am:
1196 * docs/libs/Makefile.am:
1197 Fix distcheck issues for the libraries docs build
1200 2005-11-24 Michael Smith <msmith@fluendo.com>
1202 * docs/manual/basics-helloworld.xml:
1203 Fix bug #315027: memory leak in example code in docs.
1205 2005-11-24 Michael Smith <msmith@fluendo.com>
1207 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1208 Unlock the PREROLL_LOCK in a failure case.
1210 2005-11-24 Wim Taymans <wim@fluendo.com>
1212 * docs/gst/gstreamer-sections.txt:
1213 * gst/base/gstadapter.h:
1214 * gst/base/gstbasesink.h:
1215 * gst/base/gstbasesrc.h:
1216 * gst/base/gstbasetransform.h:
1217 * gst/base/gstpushsrc.h:
1218 * gst/elements/gstfakesink.h:
1219 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1220 * gst/elements/gstfakesrc.h:
1221 * gst/elements/gstfilesink.h:
1222 * gst/elements/gstfilesrc.h:
1225 * gst/gstbuffer.c: (_gst_buffer_copy):
1228 * gst/gstchildproxy.c:
1231 * gst/gstelementfactory.c:
1232 * gst/gstelementfactory.h:
1234 * gst/gstghostpad.h:
1236 * gst/gstinterface.h:
1237 * gst/gstminiobject.c:
1238 * gst/gstminiobject.h:
1241 * gst/gstpadtemplate.h:
1242 * gst/gstpipeline.h:
1243 * gst/gstpluginfeature.h:
1248 * gst/gsttagsetter.c:
1249 * gst/gsttagsetter.h:
1252 * gst/gsttypefind.h:
1255 * gst/net/gstnetclientclock.c:
1256 * gst/net/gstnetclientclock.h:
1257 * gst/net/gstnettimepacket.c:
1258 * gst/net/gstnettimeprovider.c:
1259 * gst/net/gstnettimeprovider.h:
1262 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1264 * configure.ac: back to HEAD
1266 === release 0.9.6 ===
1268 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1271 releasing 0.9.6, "Always On Time"
1273 2005-11-23 Wim Taymans <wim@fluendo.com>
1275 * docs/gst/gstreamer-sections.txt:
1276 * gst/glib-compat.c:
1277 * gst/gsttagsetter.c:
1279 * gst/net/gstnetclientclock.c:
1280 * gst/net/gstnettimepacket.h:
1283 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1285 * docs/faq/using.xml:
1286 * docs/libs/tmpl/gstcontrol.sgml:
1287 * docs/manual/advanced-dparams.xml:
1288 * docs/manual/appendix-checklist.xml:
1289 * docs/manual/basics-elements.xml:
1290 * docs/pwg/other-source.xml:
1291 * docs/random/moving-plugins:
1293 * tools/gst-launch.1.in:
1294 remove mentions of sinesrc
1296 2005-11-23 Michael Smith <msmith@fluendo.com>
1298 * docs/gst/gstreamer-sections.txt:
1299 Update for new API and API changes.
1301 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1303 Documentation typo fix.
1304 * gst/net/gstnettimepacket.c:
1305 Documentation fixes for arguments.
1307 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
1309 * gst/gststructure.c: (gst_structure_get_fraction),
1310 (gst_structure_parse_value),
1311 (gst_structure_fixate_field_nearest_fraction):
1312 * gst/gststructure.h:
1313 * gst/gstutils.c: (gst_util_uint64_scale_int):
1315 * scripts/update-funcnames:
1317 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1318 Make gst_structure_fixate_field_nearest_fraction take a numerator
1319 and denominator argument instead of a GValue
1320 add gst_structure_get_fraction helper function.
1322 2005-11-23 Wim Taymans <wim@fluendo.com>
1324 * docs/design/part-TODO.txt:
1327 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1328 * gst/net/gstnetclientclock.h:
1329 Use parent fields for timeout and window_size.
1331 2005-11-23 Andy Wingo <wingo@pobox.com>
1333 * check/net/gstnetclientclock.c (test_functioning): Adjust to
1334 rate_num/rate_denom change.
1336 * gst/net/gstnetclientclock.c
1337 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1338 OBJECT_LOCK. Don't call add_observation with the lock.
1340 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1342 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1344 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1345 deal with rate as a fraction whose numerator and denominator are
1346 GstClockTime values.
1347 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1348 master; the other fields are protected by the SLAVE_LOCK.
1349 (do_linear_regression): Note that this must be called with the
1351 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1352 OBJECT_LOCK. Call set_calibration instead of touching the
1354 (gst_clock_set_property, gst_clock_get_property): Protect
1355 master/slave parameters with the SLAVE_LOCK.
1357 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1358 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1359 note that all of the instance variables that add_observation and
1360 the set_master functions use are protected by that lock and not
1362 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1364 * gst/gstclock.c (gst_clock_add_observation): No longer requires
1365 the caller to take the object lock.
1367 2005-11-23 Wim Taymans <wim@fluendo.com>
1369 * gst/gsterror.c: (_gst_core_errors_init):
1371 Add error for clock stuff.
1373 * gst/gstpipeline.c: (gst_pipeline_change_state),
1374 (gst_pipeline_set_clock):
1375 Post clock error when clock cannot be used in a pipeline.
1377 2005-11-23 Stefan Kost <ensonic@users.sf.net>
1379 * docs/gst/gstreamer-sections.txt:
1380 make two symbols from gstinfo private for the docs
1381 * gst/base/gstcollectpads.h:
1383 fix doc typos, update docs
1385 2005-11-22 Wim Taymans <wim@fluendo.com>
1387 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1388 (gst_base_sink_wait), (gst_base_sink_do_sync),
1389 (gst_base_sink_handle_event):
1390 * gst/base/gstbasesink.h:
1391 No need to store the clock, the parent element class already
1394 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1395 Updates for clock_set returning a gboolean
1397 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1398 (gst_clock_id_wait_async), (gst_clock_class_init),
1399 (gst_clock_init), (gst_clock_finalize),
1400 (gst_clock_get_internal_time), (gst_clock_get_time),
1401 (gst_clock_slave_callback), (gst_clock_set_master),
1402 (gst_clock_get_master), (do_linear_regression),
1403 (gst_clock_add_observation), (gst_clock_set_property),
1404 (gst_clock_get_property):
1406 Implement master/slave. When setting a clock as a slave, a
1407 periodic timeout is scheduled to sample master and slave times.
1408 Then the slave clock is recalibrated to match offset and rate
1409 of the master clock.
1410 Update logging a bit.
1411 Add flag so that a clock can state that is cannot be slaved to
1414 * gst/gstelement.c: (gst_element_set_clock):
1416 The set clock returns a gboolean for when an element cannot
1417 deal with the selected clock in the pipeline.
1419 * gst/gstpipeline.c: (gst_pipeline_change_state),
1420 (gst_pipeline_set_clock):
1421 * gst/gstpipeline.h:
1422 Handle the case where the selected clock cannot be set on
1425 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1426 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1427 (gst_net_client_clock_set_property),
1428 (gst_net_client_clock_get_property),
1429 (gst_net_client_clock_observe_times):
1430 * gst/net/gstnetclientclock.h:
1431 Use regression code in GstClock parent, remove duplicated
1434 2005-11-22 Michael Smith <msmith@fluendo.com>
1436 * gst/gstutils.c: (gst_util_clock_time_scale):
1438 * docs/gst/gstreamer-sections.txt:
1439 Rename method to have extra underscore.
1441 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
1443 * gst/elements/Makefile.am:
1444 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1445 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1446 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1447 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1448 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1449 * gst/elements/gstfakesrc.h:
1450 * gst/gstqueue.c: (queue_leaky_get_type):
1451 correctly fix GEnumValues so that nick is the short lowercase
1453 * tools/gst-inspect.c: (print_element_properties_info):
1454 also show the nick, since it's useful to use from parse_launch
1458 2005-11-22 Michael Smith <msmith@fluendo.com>
1460 * gst/gstutils.c: (gst_util_clocktime_scale):
1462 * docs/gst/gstreamer-sections.txt:
1463 Add util method for scaling a clocktime by a fraction. Useful
1464 implementation is left as an exercise for the reader.
1466 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1468 * gst/gstvalue.c: (gst_value_collect_fraction_range):
1469 If needed, allocate storage in the destination value during
1472 2005-11-22 Edward Hervey <edward@fluendo.com>
1474 * docs/gst/gstreamer-sections.txt:
1479 * gst/gstutils.c: (gst_util_set_object_arg):
1480 * tools/gst-compprep.c: (main):
1481 * tools/gst-inspect.c: (print_element_properties_info):
1482 Removed GstURI, closes bug #321061
1484 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1486 * check/gst/gststructure.c: (GST_START_TEST):
1487 * gst/gststructure.c: (gst_structure_parse_value):
1488 Oops, broke automatic string type parsing.
1489 Add a test to catch it in future.
1491 2005-11-22 Andy Wingo <wingo@pobox.com>
1493 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
1494 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1495 Actually rename the function implementations. Grr.
1497 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1499 * check/gst/capslist.h:
1501 * check/gst/gststructure.c: (GST_START_TEST),
1502 (gst_structure_suite):
1503 Test automatic value type detection in gst_structure_from_string.
1504 * gst/gststructure.c: (gst_structure_parse_value):
1505 Add fraction as a type we try and guess automatically in
1506 caps/structure strings.
1508 2005-11-22 Andy Wingo <wingo@pobox.com>
1510 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1512 * gst/gsttagsetter.h:
1513 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1514 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1515 (gst_tag_setter_add_tag_valist)
1516 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1517 _add_values, _add_valist, and _add_valist_values. Since this is an
1518 interface the function suffixes should be more explicit so
1519 language binding don't end up with element.add_valist ->
1520 gst_tag_setter_add_valist, for example. Fixes #322069.
1522 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1524 * check/gst/gstcaps.c: (GST_START_TEST):
1525 Extend caps string tests to check that a caps to string
1526 conversion is reversible and produces the same caps.
1528 * gst/gststructure.c: (gst_structure_value_get_generic_type):
1529 Output "fraction" as the generic type fraction range, so caps
1530 serialisation and deserialisation works.
1531 * check/gst/capslist.h:
1532 * gst/gstvalue.c: (gst_value_deserialize_fraction):
1533 Support 'MIN' and 'MAX' for deserialising fractions.
1535 2005-11-22 Andy Wingo <wingo@pobox.com>
1537 * gst/gstevent.h (gst_event_new_new_segment)
1538 (gst_event_parse_new_segment, gst_event_new_buffer_size)
1539 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1540 Renamed from *_newsegment, *_buffersize, *_notarget.
1542 * scripts/update-funcnames: New script, performs the changes
1545 2005-11-22 Wim Taymans <wim@fluendo.com>
1547 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1548 Make sure the GstFlowReturn is returned.
1550 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1551 (gst_bus_add_signal_watch):
1553 add gst_bus_add_signal_watch_full.
1555 * gst/gstplugin.c: (gst_plugin_load_file):
1556 Small style cleanup.
1558 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1560 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1561 Block the fakesrc srcpad when we send an event, to avoid
1562 contention on the stream_lock causing random test failures.
1564 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1566 * check/gst/gstvalue.c: (GST_START_TEST):
1567 * gst/gstvalue.c: (gst_value_fraction_subtract):
1570 2005-11-22 Stefan Kost <ensonic@users.sf.net>
1573 include "gstchildproxy.h"
1574 * gst/gstchildproxy.h:
1575 * libs/gst/controller/gstcontroller.h:
1576 use G_GNUC_NULL_TERMINATED
1578 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1580 * check/gst/capslist.h:
1581 * check/gst/gstcaps.c: (GST_START_TEST):
1582 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1583 * gst/gststructure.c: (gst_structure_parse_range),
1584 (gst_structure_fixate_field_nearest_fraction):
1585 * gst/gststructure.h:
1586 * gst/gstvalue.c: (gst_value_init_fraction_range),
1587 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1588 (gst_value_collect_fraction_range),
1589 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1590 (gst_value_set_fraction_range_full),
1591 (gst_value_get_fraction_range_min),
1592 (gst_value_get_fraction_range_max),
1593 (gst_value_serialize_fraction_range),
1594 (gst_value_transform_fraction_range_string),
1595 (gst_value_compare_fraction_range),
1596 (gst_value_deserialize_fraction_range),
1597 (gst_value_intersect_fraction_fraction_range),
1598 (gst_value_intersect_fraction_range_fraction_range),
1599 (gst_value_subtract_fraction_fraction_range),
1600 (gst_value_subtract_fraction_range_fraction),
1601 (gst_value_subtract_fraction_range_fraction_range),
1602 (gst_value_collect_fraction), (gst_value_fraction_multiply),
1603 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1604 (gst_value_transform_string_fraction), (_gst_value_initialize):
1606 Implement fraction ranges and extend GstFraction to support
1607 arithmetic subtraction, as well as deserialization from integer
1608 strings such as "100"
1609 Add a testsuite as for int and double range set operations
1611 2005-11-21 Andy Wingo <wingo@pobox.com>
1615 * gst/gststructure.h: Add glib-compat.h.
1617 2005-11-21 Wim Taymans <wim@fluendo.com>
1619 * gst/gstbin.c: (gst_bin_change_state_func):
1622 2005-11-21 Wim Taymans <wim@fluendo.com>
1625 And add a nice define too.
1627 2005-11-21 Wim Taymans <wim@fluendo.com>
1629 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1630 (gst_segment_new), (gst_segment_free), (gst_segment_init),
1631 (gst_segment_set_duration), (gst_segment_set_last_stop),
1632 (gst_segment_set_seek), (gst_segment_set_newsegment),
1633 (gst_segment_to_stream_time), (gst_segment_to_running_time),
1636 Make binding friendly.
1638 2005-11-21 Andy Wingo <wingo@pobox.com>
1640 * gst/gsttagsetter.h:
1642 * gst/gststructure.h:
1644 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1647 * gst/gsterror.c (_gst_core_errors_init):
1648 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1651 * gst/Makefile.am (gst_headers): Add glib-compat.h.
1652 (noinst_HEADERS): noinst the -private.
1654 2005-11-21 Michael Smith <msmith@fluendo.com>
1657 * gst/gstregistry.h:
1658 Remove unimplemented declarations for which we can see no sensible
1661 2005-11-21 Andy Wingo <wingo@pobox.com>
1663 * gst/gst.h: Include glib-compat.h.
1665 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1667 * gst/glib-compat.c: Include the public and the private header.
1669 * gst/glib-compat-private.h: Copied here from glib-compat.h.
1673 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1675 * check/gst/gstevent.c (create_custom_events): Check that
1676 FLUSH_STOP is serialized.
1678 * check/elements/identity.c (event_func):
1679 * check/elements/fakesrc.c (event_func): No stream lock, the core
1682 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1683 stream lock taking, yay.
1685 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1686 ensure that core takes the stream lock.
1688 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1691 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1692 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1693 it already. For the flush start we do take it though so we get the
1694 right preroll state change messages.
1696 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1697 the stream lock here, the core does it for us.
1699 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1700 GST_STREAM_GET_LOCK.
1701 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
1702 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
1703 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1704 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1705 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
1706 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1708 * gst/gstpad.c: Update for stream lock name change.
1710 * gst/base/gstbasesink.c: Update for preroll lock name change.
1712 2005-11-21 Wim Taymans <wim@fluendo.com>
1714 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1715 (gst_clock_get_master):
1717 * gst/gstsystemclock.c: (gst_system_clock_init):
1718 Convert Clock flags to object flags.
1719 Added methods to manage master/slave clocks.
1721 2005-11-21 Wim Taymans <wim@fluendo.com>
1723 * check/gst/gstsegment.c: (GST_START_TEST):
1724 * docs/design/part-TODO.txt:
1725 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1726 (gst_base_sink_event), (gst_base_sink_do_sync),
1727 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1728 (gst_base_sink_query), (gst_base_sink_change_state):
1729 * gst/base/gstbasesink.h:
1730 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1731 (gst_base_src_default_newsegment),
1732 (gst_base_src_configure_segment), (gst_base_src_do_seek),
1733 (gst_base_src_get_range), (gst_base_src_loop),
1734 (gst_base_src_change_state):
1735 * gst/base/gstbasesrc.h:
1736 * gst/base/gstbasetransform.c:
1737 (gst_base_transform_prepare_output_buf),
1738 (gst_base_transform_event), (gst_base_transform_change_state):
1739 * gst/base/gstbasetransform.h:
1740 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1741 (gst_collect_pads_event):
1742 * gst/base/gstcollectpads.h:
1743 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1744 (gst_fake_src_create):
1745 * gst/elements/gstfakesrc.h:
1746 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1747 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1748 (gst_segment_set_last_stop), (gst_segment_set_seek),
1749 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1750 (gst_segment_to_running_time), (gst_segment_clip):
1752 More segment updates, replace code in plugins with segment
1755 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1757 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1758 Don't ignore sscanf results
1760 2005-11-21 Andy Wingo <wingo@pobox.com>
1762 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1765 * *.c: Ran scripts/update-macros. Oh yes.
1767 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1768 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1771 * scripts/update-macros: New script. Run it on your files to
1772 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1775 2005-11-21 Stefan Kost <ensonic@users.sf.net>
1777 * docs/gst/Makefile.am:
1778 * docs/gst/gstreamer-docs.sgml:
1779 * docs/gst/gstreamer-sections.txt:
1780 * docs/gst/gstreamer.types:
1782 more docs fixes, add new api to the docs
1784 2005-11-21 Andy Wingo <wingo@pobox.com>
1786 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1787 state_broadcast call.
1789 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1791 2005-11-21 Julien MOUTTE <julien@moutte.net>
1793 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1794 function calls for arrays.
1796 2005-11-21 Stefan Kost <ensonic@users.sf.net>
1798 * docs/random/ensonic/media-device-daemon.txt:
1799 wild idea, can this be done?
1800 * docs/gst/gstreamer-sections.txt:
1805 * gst/gstpluginfeature.c:
1809 doc fixes and additions
1811 2005-11-21 Andy Wingo <wingo@pobox.com>
1813 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
1814 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
1815 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
1816 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1817 private to the basesrc implementation.
1819 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1820 behalf of event function if necessary. It should no longer be
1821 necessary to take the stream lock in pad's event functions. Fixes
1824 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1825 * docs/gst/gstreamer-sections.txt:
1826 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1827 (gst_structure_fixate_field_nearest_double),
1828 (gst_structure_fixate_field_boolean):
1829 * gst/gststructure.h:
1830 * win32/common/libgstreamer.def:
1831 * win32/gstreamer.def:
1833 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1836 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1838 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1839 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1840 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1841 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1842 (gst_fdsrc_uri_handler_init):
1843 * gst/elements/gstfdsrc.h:
1844 Port fd:// URI handler from 0.8 to fdsrc
1846 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1848 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1849 (gst_value_serialize_fourcc):
1851 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1852 consistent with our other format defines (#320324).
1854 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1856 * gst/gstvalue.c: (gst_value_is_fixed):
1857 Revert previous commit. Value lists are by definition
1858 not fixed, as they are a list of possible values.
1860 2005-11-21 Andy Wingo <wingo@pobox.com>
1862 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1863 during the stable series if we need it. Fixes #319178.
1865 * gst/gstevent.c (gst_event_new_filler): Removed.
1867 * check/gst/gstevent.c: Update comment about filler events.
1869 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1871 * gst/gstvalue.c: (gst_value_is_fixed):
1872 Should handle both value arrays and value lists.
1874 2005-11-21 Andy Wingo <wingo@pobox.com>
1876 patch by: Alessandro Dessina <alessandro nnva org>
1878 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1879 functions to access arrays. Fixes #321962.
1881 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1883 * docs/gst/gstreamer.types:
1884 gst_collectpads_get_type => gst_collect_pads_get_type.
1886 * gst/base/gstbasetransform.c:
1887 Remove unused SIGNAL_HANDOFF enum.
1889 2005-11-21 Andy Wingo <wingo@pobox.com>
1891 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1892 the event type (upstream, downstream, serialized). Renamed
1893 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1894 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1895 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1897 * gst/gstevent.c: Update for new CUSTOM event names.
1899 * check/gst/gstevent.c: Update check for new CUSTOM event names.
1902 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1905 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1907 * docs/gst/gstreamer-sections.txt:
1908 * win32/common/libgstbase.def:
1909 * win32/libgstbase.def:
1910 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1911 (gst_collect_pads_class_init), (gst_collect_pads_init),
1912 (gst_collect_pads_finalize), (gst_collect_pads_new),
1913 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1914 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1915 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1916 (gst_collect_pads_start), (gst_collect_pads_stop),
1917 (gst_collect_pads_peek), (gst_collect_pads_pop),
1918 (gst_collect_pads_available), (gst_collect_pads_read),
1919 (gst_collect_pads_flush), (gst_collect_pads_event),
1920 (gst_collect_pads_chain):
1921 * gst/base/gstcollectpads.h:
1922 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1923 unimplemented functions as unimplemented. Add padding to
1924 GstCollectData. (#320766, #320423)
1926 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1929 Improve docs for DURATION message (usage of duration parameter)
1932 2005-11-20 Wim Taymans <wim@fluendo.com>
1934 * check/Makefile.am:
1935 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1939 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1940 (gst_segment_set_seek), (gst_segment_set_newsegment),
1941 (gst_segment_to_stream_time), (gst_segment_to_running_time),
1944 Added segment helper structure and methods. Not fully implemented
1946 Added segment check.
1948 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
1950 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1951 Add a deserialisation test for fractions
1952 * examples/metadata/read-metadata.c: (message_loop),
1953 (make_pipeline), (main):
1954 Fix up metadata reading sample.
1955 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1957 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1958 Don't try and fixate empty caps
1959 * gst/gst_private.h:
1960 Wrap in G_BEGIN_DECLS/G_END_DECLS
1961 * gst/gstvalue.c: (gst_value_collect_fraction),
1962 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1963 (gst_value_transform_string_fraction),
1964 (gst_value_compare_fraction):
1965 Add some extra guards to ensure that we don't end up
1966 with an invalid denominator of 0 in a gstfraction and
1967 that fractions always get reduced.
1969 2005-11-20 Wim Taymans <wim@fluendo.com>
1971 * docs/gst/gstreamer-sections.txt:
1982 2005-11-20 Wim Taymans <wim@fluendo.com>
1984 * docs/design/part-TODO.txt:
1986 Make a proper enum of the flag.
1988 2005-11-19 Wim Taymans <wim@fluendo.com>
1990 * docs/design/part-TODO.txt:
1991 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1992 (gst_format_to_quark), (gst_format_register):
1994 * gst/gstquery.c: (_gst_query_initialize),
1995 (gst_query_type_get_name), (gst_query_type_to_quark),
1996 (gst_query_type_register):
1998 Add type to quark and type to string conversions.
2000 2005-11-19 Andy Wingo <wingo@pobox.com>
2002 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2005 2005-11-19 Wim Taymans <wim@fluendo.com>
2007 * docs/design/part-TODO.txt:
2008 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2009 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2010 (gst_bin_handle_message_func):
2012 Make message handling overridable.
2014 2005-11-19 Andy Wingo <wingo@pobox.com>
2016 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2019 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2021 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2022 is a GstClockTime. Fixes #321710.
2024 * gst/gstclock.h (GstClock): Remove offset property. Add
2025 internal_calibration and external_calibration. Fix padding. Pad
2026 also by GstClockTime so we don't run into problems.
2028 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2029 (gst_clock_get_rate_offset): Remove.
2030 (gst_clock_set_time_adjust): Remove. Fixes #321712.
2033 * gst/gstutils.c (g_static_rec_cond_wait)
2034 (g_static_rec_cond_timed_wait): Removed, no longer needed.
2036 * gst/gstbin.c: Remove terrible continue_state prototype.
2038 * gst/gstelement.h (gst_element_continue_state): Make public.
2041 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2042 by continue_state. Fixes #319389.
2044 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2045 Really fixes #168438. However I don't see anywhere where the
2046 filter function is called... stupid GStreamer...
2048 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2049 don't have a dispose function, so it won't get called when the
2050 object is unreffed, but oh well!
2052 * gst/gstindex.c (gst_index_set_filter_full): New API function,
2053 allows a destroy function to be set so user_data can be freed.
2055 (gst_index_set_filter): Call gst_index_set_filter_full.
2057 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2059 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2060 string should produce an error, given the lack of a way to
2061 represent NULL strings. Fixes #165650.
2064 * gst/gstvalue.c (gst_value_array_append_value)
2065 (gst_value_array_prepend_value, gst_value_array_get_size)
2066 (gst_value_array_get_value): New API, copied from
2067 gst_value_list_*, only operates on arrays.
2068 (gst_value_list_append_value, gst_value_list_prepend_value)
2069 (gst_value_list_concat, gst_value_list_get_size)
2070 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2072 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2073 init_list, because it works on both.
2074 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2075 (gst_value_copy_list_or_array): Renamed from copy_list.
2076 (gst_value_free_list_or_array): Renamed from free_list.
2077 (gst_value_collect_list_or_array): Renamed from collect_list.
2078 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2079 (gst_value_list_or_array_peek_pointer): Renamed from
2081 (_gst_value_array_value_table, _gst_value_list_value_table):
2082 Update value table functions.
2083 (gst_value_compare_list_or_array): Renamed from compare_list.
2085 * gsttaglist.h: Whoops, foreach function returns void. Also fix
2089 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2090 GstTagList*. Fixes #143472.
2092 * gst/gststructure.h: Clarify what the foreach/map functions can
2093 or can't do to their arguments.
2095 2005-11-18 Wim Taymans <wim@fluendo.com>
2097 * gst/gstclock.c: (gst_clock_set_calibration),
2098 (gst_clock_get_calibration):
2100 Calibration can be set with internal time equal to current
2103 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
2109 2005-11-18 Andy Wingo <wingo@pobox.com>
2112 * pkgconfig/gstreamer-net.pc.in:
2113 * pkgconfig/gstreamer-net-uninstalled.pc.in:
2114 * pkgconfig/Makefile.am: Add net pkgconfig files.
2116 2005-11-18 Stefan Kost <ensonic@users.sf.net>
2119 * gst/gstghostpad.c:
2125 2005-11-18 Andy Wingo <wingo@pobox.com>
2127 * gst/net/gstnetclientclock.c: Turn off debugging.
2129 * check/net/gstnetclientclock.c (test_functioning): Assert that the
2130 times connverge somewhat. Can't make a real test.
2132 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2133 integer arithmetic. Return the minimum of the domain, which can be
2134 set as "internal" for gst_clock_set_calibration.
2135 (gst_net_client_clock_observe_times): Call _set_calibration.
2136 (gst_net_client_clock_new): Call _set_calibration instead of
2139 * check/net/gstnetclientclock.c (test_functioning): Use the right
2143 * gst/gstclock.c (gst_clock_get_calibration)
2144 (gst_clock_set_calibration): New functions, obsolete the ones I
2145 added yesterday. Doh. Precision issues mean we have to extrapolate
2146 from a point in the more recent past than 1970.
2147 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2149 (gst_clock_adjust_unlocked): Use the right calibration data.
2151 2005-11-18 Edward Hervey <edward@fluendo.com>
2153 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2154 Also reset the ->current_* values in READY->PAUSED
2156 2005-11-18 Andy Wingo <wingo@pobox.com>
2158 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2159 Whoops, check the right fd. Also add some debugging.
2160 (gst_net_client_clock_observe_times): Adjust for int64 offset.
2161 (do_linear_regression): Add a crapload of debugging. Subtract off
2162 the minimum values from the input series to discard unneeded bits.
2163 Use only int arithmetic. There is still double arithmetic when
2164 calculating the intercept that needs fixing. Return boolean to
2165 indicate success; FALSE would mean the domain or range is too
2166 great. Still needs fixes.
2168 2005-11-18 Wim Taymans <wim@fluendo.com>
2170 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2171 For the current position in stream time, we need to subtract
2174 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2175 Release lock before calling the callback function of async
2178 2005-11-18 Andy Wingo <wingo@pobox.com>
2180 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2181 Port goes all the way to MAXUINT16.
2183 * gst/net/gstnettimeprovider.c: Make the port range the same as
2184 for the kernel: 0 assigns, otherwise ports are less than
2187 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2190 * check/net/gstnetclientclock.c (test_functioning): Add the start
2193 2005-11-18 Wim Taymans <wim@fluendo.com>
2195 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2196 (gst_bin_remove_func), (bin_bus_handler):
2198 Removing a clock provider from a bin, triggers a clock lost message
2199 so that a new clock will be selected.
2200 Adding a clock to a bin triggers a clock provider message.
2201 Make sure we reselect a clock when we received a clock lost message.
2202 Keep a reference to the element that provided the clock.
2204 2005-11-18 Andy Wingo <wingo@pobox.com>
2206 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2207 the clock initially so it produces values around the base time.
2208 (gst_net_client_clock_class_init): Typo fix.
2209 (gst_net_client_clock_thread): Add note on when the socket gets
2212 2005-11-17 Wim Taymans <wim@fluendo.com>
2214 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2215 Free remote and local time arrays.
2217 2005-11-17 Wim Taymans <wim@fluendo.com>
2219 * gst/net/gstnetclientclock.c: (do_linear_regression),
2220 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2221 Fix compilation, uninitialized vars and a forgotten continue.
2223 2005-11-17 Andy Wingo <wingo@pobox.com>
2225 * check/Makefile.am (check_PROGRAMS):
2226 * check/net/gstnetclientclock.c: Add a most minimal test for the
2227 net client clock. More to come later.
2230 * gst/net/Makefile.am: Add netclientclock.
2232 * gst/net/gstnetclientclock.h:
2233 * gst/net/gstnetclientclock.c: New files, implement an untested
2234 GstClock that takes its time from a network time provider.
2235 Implements the algorithm in network-clock.scm.
2237 * tests/network-clock.scm (*window-size*): Rename from
2239 * tests/network-clock.scm (network-time):
2240 * tests/network-clock-utils.scm (q-push): Update callers.
2242 2005-11-17 Wim Taymans <wim@fluendo.com>
2244 * gst/gstbin.c: (gst_bin_provide_clock_func),
2245 (gst_bin_sort_iterator_new):
2246 And unref the child too..
2248 2005-11-17 Wim Taymans <wim@fluendo.com>
2250 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2251 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2252 Refactor the sort iterator so it can be used while holding the
2254 Make clock selection select a clock closest to the source.
2256 2005-11-17 Michael Smith <msmith@fluendo.com>
2258 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2259 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2261 Anonymous structs are a gcc (and some other compilers) extension, so
2262 don't use them. Since this is only for ABI-compatibility, and our
2263 API/ABI freeze is over in a few days, this whole thing will only
2264 last a few days, so don't bother trying to think up a meaningful
2265 name for the struct.
2267 2005-11-17 Andy Wingo <wingo@pobox.com>
2269 * gst/gstclock.h (GstClock): Add rate and offset properties,
2270 preserving ABI stability. Add rate/offset accessors. Will file bug
2271 for the freeze break.
2273 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2274 and offset, trying to keep precision and avoiding
2276 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2277 functions. Make gst_clock_set_time_adjust obsolete.
2278 (gst_clock_set_time_adjust): Note that this function is obsolete.
2281 * gst/base/gstbasetransform.h: Make the ABI-stability hack
2282 greppable by using GST_PADDING-1+1.
2284 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
2286 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2288 * gst/gstmessage.c: (gst_message_parse_clock_lost):
2289 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2291 * gst/gstpadtemplate.h:
2292 * gst/gstpluginfeature.h:
2293 Don't use c++ style comments in headers (#321638).
2295 2005-11-16 Andy Wingo <wingo@pobox.com>
2297 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2300 * check/net/gstnettimeprovider.c: Check to see that the time
2301 provider actually provides times. Works, yo!
2303 2005-11-16 Wim Taymans <wim@fluendo.com>
2305 * check/Makefile.am:
2308 * check/elements/fakesrc.c: (GST_START_TEST):
2309 Set element to NULL before disposing it.
2311 2005-11-16 Andy Wingo <wingo@pobox.com>
2313 * gst/net/Makefile.am:
2315 * gst/net/gstnettimeprovider.c:
2316 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2317 provider, include it from gstnet.h, and add it to the build.
2319 * gst/net/gstnettimepacket.h:
2320 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2321 sending and receiving.
2323 2005-11-16 Wim Taymans <wim@fluendo.com>
2325 * check/Makefile.am:
2326 Enable valgrind check.
2328 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2329 (gst_fake_src_alloc_buffer):
2332 2005-11-16 Wim Taymans <wim@fluendo.com>
2334 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2335 Call parent finalize too.
2337 2005-11-16 Wim Taymans <wim@fluendo.com>
2339 * check/Makefile.am:
2340 Enable valgrind check that should work fine now.
2342 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2343 * gst/gstqueue.c: (gst_queue_init):
2344 Fix memleaks in pad allocation.
2346 2005-11-16 Andy Wingo <wingo@pobox.com>
2348 * gst/net/Makefile.am:
2349 * gst/net/gstnet.h: New part of core to hold network elements and
2350 objects. Put in core because it exposes API that applications want
2351 to use. The library is named libgstnet-tempname right now because
2352 of the existing libgstnet in gst-plugins-base. Solution is
2353 probably to rename the one in plugins-base; will file a bug for
2356 * gst/net/gstnettimeprovider.c:
2357 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2358 get_time call over the network.
2361 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2363 * check/Makefile.am:
2364 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2365 get additions shortly.
2367 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2369 * gst/gstpad.c: (gst_pad_new_from_static_template):
2371 add gst_pad_new_from_static_template functions
2372 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2373 (gst_check_setup_sink_pad):
2374 * gst/elements/gsttee.c: (gst_tee_init):
2377 2005-11-16 Wim Taymans <wim@fluendo.com>
2379 * gst/gstpad.c: (gst_pad_pause_task):
2380 Removed warning, it's not really an error either.
2382 2005-11-16 Wim Taymans <wim@fluendo.com>
2384 * gst/base/gstbasetransform.c:
2385 (gst_base_transform_prepare_output_buf),
2386 (gst_base_transform_event):
2387 Check if the caps are NULL, this can happen if the element
2388 is shutting down and the pad caps are set to NULL.
2390 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2392 * gst/elements/gsttee.c: (gst_tee_init):
2393 fix pad template leak in tee
2395 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2397 * gst/glib-compat.c: (g_value_dup_gst_object):
2398 * gst/glib-compat.h:
2399 * gst/gstpad.c: (gst_pad_set_property):
2400 use gst_object_ref when setting the pad template; this will
2401 trigger the pad template leaks on GLib 2.6 and the slaves
2403 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2405 * gst/glib-compat.c: (gst_flags_get_first_value):
2406 * gst/glib-compat.h:
2407 * gst/gstregistryxml.c:
2408 remove functions copied from GLib 2.6
2410 2005-11-16 Michael Smith <msmith@fluendo.com>
2413 Don't link against VALGRIND_LIBS. That was always the wrong thing to
2414 do, but only breaks with newer valgrind versions. We're not a
2415 valgrind tool, we have no link-time dependencies on libcoregrind.
2417 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2419 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2424 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2426 * gst/base/gstbasesrc.c: (gst_base_src_init):
2427 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2428 * gst/gstqueue.c: (gst_queue_init):
2429 * gst/gstregistryxml.c: (load_feature):
2430 Revert all these unrefs, they don't even pass make check !
2432 2005-11-15 Johan Dahlin <johan@gnome.org>
2434 * gst/base/gstbasesrc.c: (gst_base_src_init):
2435 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2436 * gst/gstqueue.c: (gst_queue_init):
2437 Free pad templates, fixes a couple of leaks.
2439 2005-11-15 Daniel Fischer <dan at f3c dot com>
2441 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2443 * gst/gstpad.c: (gst_pad_get_property):
2444 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2445 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2448 2005-11-15 Wim Taymans <wim@fluendo.com>
2453 2005-11-15 Andy Wingo <wingo@pobox.com>
2455 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2457 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2458 using GST_CLOCK_TIME_NONE to disable base time management.
2459 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2460 time if it was NONE before.
2461 (gst_pipeline_change_state): Only munge the base time if
2462 stream_time != GST_CLOCK_TIME_NONE.
2464 * check/gst/gstpipeline.c (test_base_time): Punt around the
2465 problem of the probe not being called, because that's not the
2466 issue I'm looking at. Add a check that setting stream_time to NONE
2467 disables base time management.
2469 2005-11-15 Wim Taymans <wim@fluendo.com>
2471 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2472 segment_stop == -1 at startup.
2474 * gst/base/gstbasetransform.c: (gst_base_transform_event),
2475 (gst_base_transform_change_state):
2476 Init segment values at start.
2478 2005-11-15 Wim Taymans <wim@fluendo.com>
2480 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2481 0 segment values are 0 in any format.
2483 * gst/base/gstbasetransform.c: (gst_base_transform_event):
2484 * gst/base/gstbasetransform.h:
2485 Parse newsegment correctly in basetransform
2487 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2488 Sync to clock using updated segment values.
2490 2005-11-15 Andy Wingo <wingo@pobox.com>
2492 * check/gst/gstpipeline.c (test_base_time): Add check that the
2493 base time and stream time are reset correctly.
2495 2005-11-15 Wim Taymans <wim@fluendo.com>
2497 * docs/design/part-TODO.txt:
2498 Some more TODO items.
2500 2005-11-15 Andy Wingo <wingo@pobox.com>
2502 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2503 error if the user selected "no clock" as the clocking method.
2505 * check/gst/gstpipeline.c (test_base_time): New test for buffer
2506 timestamps with live capture.
2508 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2509 is 0 but we are a live source, timestamp the buffers using the
2512 2005-11-14 Stefan Kost <ensonic@users.sf.net>
2514 * docs/gst/gstreamer-sections.txt:
2516 * gst/gstghostpad.c:
2521 2005-11-14 Wim Taymans <wim@fluendo.com>
2524 add suppressions from Wim's Debian machine
2526 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
2529 add suppressions from Andy's AMD64 Ubuntu machine
2531 2005-11-14 Andy Wingo <wingo@pobox.com>
2533 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2534 STATE_LOCK not necessary. Fixes #311489.
2536 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2539 * gst/gstindex.c (gst_index_add_object): Note in the docs that
2540 this function is not implemented.
2542 2005-11-14 Julien MOUTTE <julien@moutte.net>
2544 * gst/base/gstbasetransform.c:
2545 (gst_base_transform_prepare_output_buf):
2546 Ref the source pad caps while we need them.
2549 2005-11-11 Wim Taymans <wim@fluendo.com>
2551 * docs/gst/gstreamer-sections.txt:
2552 Added some docs for GstCollectData.
2554 * gst/base/gstadapter.c:
2555 Some small code example fix.
2557 * gst/base/gstcollectpads.c:
2558 * gst/base/gstcollectpads.h:
2561 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2563 * configure.ac: back to HEAD
2565 === release 0.9.5 ===
2567 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2570 releasing 0.9.5, "Bike Lunch Day"
2572 2005-11-11 Wim Taymans <wim@fluendo.com>
2574 * gst/gstbuffer.c: (_gst_buffer_copy):
2577 * gst/gstcaps.c: (gst_caps_is_equal):
2579 Make _is_equal fast in the trivial cases.
2581 * gst/gstminiobject.c:
2582 * gst/gstminiobject.h:
2583 More docs. Spifify .h file.
2588 2005-11-11 Wim Taymans <wim@fluendo.com>
2590 * gst/base/gstbasetransform.c:
2591 (gst_base_transform_prepare_output_buf),
2592 (gst_base_transform_handle_buffer):
2594 If we're processing a buffer and need to allocate an output
2595 buffer, we cannot accept a format change. If we did get a
2596 format change, we have to alloc a buffer ourselves of the
2599 2005-11-11 Wim Taymans <wim@fluendo.com>
2601 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2602 While checking the flag for reentrancy in the gstcaps function
2603 is nice to detect recursive invocations, it also makes it
2604 impossible to call getcaps from multiple threads, which must be
2605 possible. So, checking for recursive calls has to go.
2607 2005-11-11 Michael Smith <msmith@fluendo.com>
2609 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2610 Don't sync on buffers that fall partially outside our current
2611 segment. Prevents an assertion failure/abort playing some files.
2613 2005-11-10 Andy Wingo <wingo@pobox.com>
2615 * check/gst/gstbin.c (test_message_state_changed_children): Style
2618 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2619 gst_bus_poll with the signal watch. Ensures that poll and a signal
2620 watch see the same messages.
2622 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2623 a poll and a watch at the same time get the same messages.
2625 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
2627 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2628 * gst/gstcaps.c: (gst_caps_intersect):
2629 Don't call gst_caps_do_simplify - it doesn't respect order of caps
2630 and it's not needed.
2632 2005-11-10 Wim Taymans <wim@fluendo.com>
2634 * docs/design/part-TODO.txt:
2637 2005-11-10 Wim Taymans <wim@fluendo.com>
2639 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2640 * gst/base/gstbasesrc.c: (gst_base_src_wait),
2641 (gst_base_src_do_sync), (gst_base_src_get_range):
2642 Implement clock sync in base class.
2644 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
2646 patch by: Tim-Philipp Müller <tim at centricular dot net>
2648 * gst/gststructure.c: (gst_structure_parse_field),
2649 (gst_structure_from_string):
2650 Forward-port a 0.8 patch to handle escaped spaces in structure string,
2651 so that gst_parse_launch() can deal with spaces in filtered link
2652 caps (fixes #164479)
2653 * check/gst/capslist.h:
2654 * check/gst/gststructure.c: (GST_START_TEST):
2655 add unit tests for this change
2657 2005-11-10 Wim Taymans <wim@fluendo.com>
2659 * docs/gst/gstreamer-sections.txt:
2662 Fix docs, move some STATE macros to private.
2664 2005-11-10 Wim Taymans <wim@fluendo.com>
2666 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2667 Added check for bug #317341
2671 Some more spiffifying.
2673 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2674 Call peer linkfunction if we are a source pad. Totally fixes
2678 Update docs, source pads should call the peer linkfunction
2679 so they can atomically perform the pad link.
2681 2005-11-09 Wim Taymans <wim@fluendo.com>
2685 Uber-spiffy-spiffify some more.
2687 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
2689 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2690 * gst/elements/gstfilesink.c: (gst_file_sink_init):
2691 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2692 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2693 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2694 * gst/gstpad.c: (gst_pad_init):
2695 Use GST_DEBUG_FUNCPTR() more extensively.
2697 2005-11-09 Wim Taymans <wim@fluendo.com>
2699 * gst/gstobject.c: (gst_object_class_init):
2701 Documentation fixes.
2703 2005-11-09 Edward Hervey <edward@fluendo.com>
2705 * gst/gsttypefindfactory.c:
2708 2005-11-09 Edward Hervey <edward@fluendo.com>
2710 * gst/base/gsttypefindhelper.c:
2711 * gst/gsttypefind.c:
2712 * gst/gsttypefind.h:
2715 2005-11-09 Wim Taymans <wim@fluendo.com>
2717 * gst/gstiterator.c:
2724 2005-11-09 Wim Taymans <wim@fluendo.com>
2730 2005-11-09 Wim Taymans <wim@fluendo.com>
2732 * docs/gst/gstreamer-sections.txt:
2733 Moved the message async delivery private lock and cond
2734 to the private section.
2740 2005-11-09 Edward Hervey <edward@fluendo.com>
2742 * docs/gst/gstreamer-sections.txt:
2745 Document GstURIHandler
2747 2005-11-09 Wim Taymans <wim@fluendo.com>
2749 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2750 (gst_iterator_find_custom):
2751 * gst/gstiterator.h:
2754 2005-11-09 Wim Taymans <wim@fluendo.com>
2757 Document another field.
2759 * gst/gststructure.c:
2760 * gst/gststructure.h:
2763 2005-11-09 Wim Taymans <wim@fluendo.com>
2768 2005-11-09 Wim Taymans <wim@fluendo.com>
2770 * docs/gst/gstreamer-sections.txt:
2771 Added some new macros.
2778 2005-11-09 Wim Taymans <wim@fluendo.com>
2780 * docs/design/part-TODO.txt:
2781 Some more items for the TODO
2787 2005-11-09 Andy Wingo <wingo@pobox.com>
2789 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2790 to work on something else now tho...
2792 * gst/base/gstadapter.c: More adapter docs.
2794 * gst/elements/gstfilesink.c (gst_file_sink_start)
2795 (gst_file_sink_stop): New functions, replace the state change
2797 (gst_file_sink_class_init): Hook up the start and stop functions.
2798 (gst_file_sink_base_init): Don't set the state change handler any
2799 more. It was a bit ugly too, being set from here...
2800 (gst_file_sink_get_property, gst_file_sink_set_property):
2802 (gst_file_sink_set_location): More robust check that doesn't call
2805 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
2807 * gst/base/gstbasetransform.c: (gst_base_transform_event):
2808 Hold STREAM_LOCK while pushing newsegment or tag events as well.
2810 2005-11-08 Wim Taymans <wim@fluendo.com>
2812 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2813 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2814 (gst_base_sink_chain), (gst_base_sink_change_state):
2815 * gst/base/gstbasesink.h:
2816 * gst/base/gstbasesrc.h:
2819 Avoid excessive typechecking in macros.
2821 * gst/gstminiobject.c: (gst_mini_object_get_type),
2822 (gst_mini_object_init), (gst_mini_object_new),
2823 (gst_mini_object_free):
2824 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2825 (gst_object_finalize):
2826 Remove cruft code, optimize alloc_trace.
2828 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
2830 * docs/faq/gst-uninstalled:
2831 fix up PS1 for systems that try to reset it
2833 2005-11-07 Wim Taymans <wim@fluendo.com>
2835 * gst/base/gstbasesrc.c: (gst_base_src_init),
2836 (gst_base_src_get_range):
2837 Set the segment_end to -1 initially. Fixed typefind.
2839 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
2841 * gst/base/gstadapter.c:
2842 Debug category should be 'adapter', not 'GstAdapter'.
2844 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2845 (gst_collectpads_class_init), (gst_collectpads_init),
2846 (gst_collectpads_peek), (gst_collectpads_pop),
2847 (gst_collectpads_event), (gst_collectpads_chain):
2848 Add debug category and some debugging output. Use boilerplate
2849 macros. Remove some extraneous words from docs.
2851 2005-11-05 Andy Wingo <wingo@pobox.com>
2853 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2856 2005-11-04 Stefan Kost <ensonic@users.sf.net>
2858 * docs/gst/gstreamer-sections.txt:
2861 * gst/gstminiobject.h:
2866 2005-11-04 Wim Taymans <wim@fluendo.com>
2868 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2869 Small update to stop at the configured segment_end
2872 2005-11-04 Stefan Kost <ensonic@users.sf.net>
2874 * gst/gstregistry.c:
2875 * gst/gstregistry.h:
2878 2005-11-04 Edward Hervey <edward@fluendo.com>
2880 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2881 Check if we are doing a segment seek and have arrived at the
2882 end of that segment.
2884 2005-11-04 Wim Taymans <wim@fluendo.com>
2886 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2887 Don't leak a mutex unlock in case of an error.
2892 2005-11-04 Wim Taymans <wim@fluendo.com>
2894 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2896 Get the context to wake up only once.
2898 2005-11-03 Wim Taymans <wim@fluendo.com>
2900 * check/states/sinks.c: (GST_START_TEST):
2901 Uncomment fixed check.
2903 * docs/design/part-TODO.txt:
2906 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2907 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2908 (gst_base_sink_get_position):
2909 If we are going to PLAYING, post the right pending state
2910 when we post the intermediate paused message.
2912 * gst/gstelement.c: (gst_element_continue_state),
2913 (gst_element_set_state_func), (gst_element_change_state):
2914 Don't post state changes that were between the same state
2917 2005-11-03 Stefan Kost <ensonic@users.sf.net>
2919 * docs/gst/gstreamer-sections.txt:
2922 * gst/gstminiobject.h:
2925 more docs and doc style fixes
2927 2005-11-03 Stefan Kost <ensonic@users.sf.net>
2929 * docs/gst/gstreamer-sections.txt:
2931 * gst/gstminiobject.c:
2934 2005-11-03 Andy Wingo <wingo@pobox.com>
2936 * check/states/sinks.c (test_livesrc_sink): Add checks that the
2937 state-changed messages actually have the right order and the right
2940 2005-11-03 Wim Taymans <wim@fluendo.com>
2942 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2943 Added some more checks. Specifically the case where NO_PREROLL
2944 elements are in the pipeline.
2946 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2947 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2948 (gst_base_sink_get_position):
2949 Post READY->PAUSED state change messages too.
2950 Fix bug where VOID was posted as pending state...
2952 * gst/gstbin.c: (gst_bin_recalc_state):
2953 use _element_continue_state() to continue the state change.
2955 * gst/gstelement.c: (gst_element_continue_state),
2956 (gst_element_commit_state), (gst_element_set_state_func),
2957 (gst_element_change_state), (gst_element_change_state_func):
2958 Lots of state change cleanups, assign the STATE_RETURN in
2959 a new continue_state() function that also propagates the
2960 last return value from a state change to the app.
2961 Update some debug statements with proper category.
2963 2005-11-03 Wim Taymans <wim@fluendo.com>
2965 * docs/design/part-events.txt:
2966 * docs/design/part-gstpipeline.txt:
2967 * docs/design/part-messages.txt:
2968 * docs/design/part-overview.txt:
2969 * docs/design/part-seeking.txt:
2970 * docs/design/part-states.txt:
2971 * docs/design/part-trickmodes.txt:
2972 * docs/manual/advanced-position.xml:
2976 People think !! is ugly, this looks better.
2978 * gst/gstpad.c: (gst_pad_set_blocked_async):
2979 Remove !! since it's fixed elsewhere now.
2981 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
2983 * gst/gstminiobject.h:
2985 Add !! to _FLAG_IS_SET macros to make the result boolean.
2987 2005-11-03 Edward Hervey <edward@fluendo.com>
2989 * gst/gstpad.c: (gst_pad_set_blocked_async):
2990 comparing a flag and a gboolean rarely returns coherent results...
2991 Added two characters (!!) to make that work correctly.
2993 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
2995 * gst/gstbus.c: (gst_bus_class_init):
2998 * gst/gstqueue.c: (gst_queue_loop):
2999 Don't assume a miniobject that isn't a buffer is an
3000 event (it could be that there is a refcounting
3001 problem somewhere and the pointer is stale and
3002 refers to an already destroyed miniobject).
3004 2005-11-03 Julien MOUTTE <julien@moutte.net>
3006 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3008 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3010 * docs/manual/advanced-position.xml:
3011 Update seek example and explanations to current 0.9 API.
3013 * gst/elements/gsttypefindelement.c:
3014 (gst_type_find_element_activate):
3015 Remove FIXME comment now that the found caps
3018 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
3020 * gst/gstregistryxml.c: (load_feature):
3021 Add another GST_STR_NULL instance
3023 2005-11-02 Edward Hervey <edward@fluendo.com>
3025 * gst/gstpad.c: (handle_pad_block):
3026 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3028 2005-11-02 Wim Taymans <wim@fluendo.com>
3033 * gst/gstelement.c: (gst_element_commit_state):
3034 Remove unused value.
3036 * gst/gstiterator.c:
3037 Mention that the returned element is reffed in the docs.
3039 2005-11-02 Wim Taymans <wim@fluendo.com>
3041 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3042 (gst_pad_push), (gst_pad_push_event):
3043 Unlock blocked pads when they are flushed.
3045 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3048 * docs/gst/gstreamer-sections.txt:
3051 * gst/gstregistry.c: (gst_registry_scan_path_level):
3052 fix for a nasty little missed situation where an installed plug-in
3053 which was in the cache did not get overridden by an uninstalled one
3054 which was earlier in the plugin path because the newly created plugin
3055 for the uninstalled one (not in the registry) didn't get its
3056 ->registered set to TRUE
3058 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3060 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3061 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3062 (gst_collectpads_is_active), (gst_collectpads_collect),
3063 (gst_collectpads_collect_range), (gst_collectpads_start),
3064 (gst_collectpads_stop), (gst_collectpads_peek),
3065 (gst_collectpads_pop), (gst_collectpads_available),
3066 (gst_collectpads_read), (gst_collectpads_flush):
3067 Guard public API with assertions.
3070 Fix docs for gst_pad_set_link_function().
3072 2005-11-02 Johan Dahlin <johan@gnome.org>
3074 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
3075 Unref found_caps after we used it.
3077 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3079 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3080 Don't try to ref NULL.
3082 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3084 * win32/common/config.h.in:
3085 provide a GST_FUNCTION that just gives a string for now
3087 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3089 * win32/common/gstenumtypes.c: (register_gst_object_flags),
3090 (gst_object_flags_get_type), (register_gst_bin_flags),
3091 (gst_bin_flags_get_type), (register_gst_buffer_flag),
3092 (gst_buffer_flag_get_type), (register_gst_bus_flags),
3093 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3094 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3095 (gst_clock_return_get_type), (register_gst_clock_entry_type),
3096 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3097 (gst_clock_flags_get_type), (register_gst_state),
3098 (gst_state_get_type), (register_gst_state_change_return),
3099 (gst_state_change_return_get_type), (register_gst_state_change),
3100 (gst_state_change_get_type), (register_gst_element_flags),
3101 (gst_element_flags_get_type), (register_gst_core_error),
3102 (gst_core_error_get_type), (register_gst_library_error),
3103 (gst_library_error_get_type), (register_gst_resource_error),
3104 (gst_resource_error_get_type), (register_gst_stream_error),
3105 (gst_stream_error_get_type), (register_gst_event_type),
3106 (gst_event_type_get_type), (register_gst_seek_type),
3107 (gst_seek_type_get_type), (register_gst_seek_flags),
3108 (gst_seek_flags_get_type), (register_gst_format),
3109 (gst_format_get_type), (register_gst_index_certainty),
3110 (gst_index_certainty_get_type), (register_gst_index_entry_type),
3111 (gst_index_entry_type_get_type),
3112 (register_gst_index_lookup_method),
3113 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3114 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3115 (gst_index_resolver_method_get_type), (register_gst_index_flags),
3116 (gst_index_flags_get_type), (register_gst_debug_level),
3117 (gst_debug_level_get_type), (register_gst_debug_color_flags),
3118 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3119 (gst_iterator_result_get_type), (register_gst_iterator_item),
3120 (gst_iterator_item_get_type), (register_gst_message_type),
3121 (gst_message_type_get_type), (register_gst_mini_object_flags),
3122 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3123 (gst_pad_link_return_get_type), (register_gst_flow_return),
3124 (gst_flow_return_get_type), (register_gst_activate_mode),
3125 (gst_activate_mode_get_type), (register_gst_pad_direction),
3126 (gst_pad_direction_get_type), (register_gst_pad_flags),
3127 (gst_pad_flags_get_type), (register_gst_pad_presence),
3128 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3129 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3130 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3131 (gst_plugin_error_get_type), (register_gst_plugin_flags),
3132 (gst_plugin_flags_get_type), (register_gst_rank),
3133 (gst_rank_get_type), (register_gst_query_type),
3134 (gst_query_type_get_type), (register_gst_tag_merge_mode),
3135 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3136 (gst_tag_flag_get_type), (register_gst_task_state),
3137 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3138 (gst_alloc_trace_flags_get_type),
3139 (register_gst_type_find_probability),
3140 (gst_type_find_probability_get_type), (register_gst_uri_type),
3141 (gst_uri_type_get_type), (register_gst_parse_error),
3142 (gst_parse_error_get_type):
3143 * win32/common/gstversion.h:
3146 2005-11-01 Luca Ognibene <luogni@tin.it>
3149 fix docs. popt is dead, long live GOption.
3151 2005-10-31 Wim Taymans <wim@fluendo.com>
3156 2005-10-31 Andy Wingo <wingo@pobox.com>
3160 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3162 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3163 need to serialize property notifications on GLib 2.8. GLib 2.6 has
3164 the possibility of deadlocks here if code calling notify() or
3165 set() has a lock that can be taken in another notify handler (ABBA
3166 with class lock and e.g. python GIL state lock).
3168 2005-10-28 Julien MOUTTE <julien@moutte.net>
3170 * gst/gstbus.c: Doc updates.
3172 2005-10-28 Wim Taymans <wim@fluendo.com>
3174 * docs/design/part-TODO.txt:
3175 * gst/gstiterator.c:
3176 * gst/gstsystemclock.c:
3177 * gst/gstsystemclock.h:
3180 2005-10-28 Edward Hervey <edward@fluendo.com>
3182 * docs/gst/gstreamer-docs.sgml:
3183 * docs/gst/gstreamer-sections.txt:
3184 the GstURIType documentation page is private, it only defines GstURIType
3185 which should be defined in the GstURIHandler page
3187 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
3189 * gst/gstbin.c: (gst_bin_class_init):
3192 Documentation updates.
3194 2005-10-28 Wim Taymans <wim@fluendo.com>
3196 * docs/gst/gstreamer-sections.txt:
3199 Documented the clocks.
3201 2005-10-28 Stefan Kost <ensonic@users.sf.net>
3203 * docs/gst/gstreamer-sections.txt:
3204 move some macros to private sections
3205 * gst/gstminiobject.c:
3206 * gst/gstminiobject.h:
3207 add descriptions provided by ds and some more
3209 mark macro as to be removed
3211 2005-10-28 Wim Taymans <wim@fluendo.com>
3213 * docs/design/part-TODO.txt:
3214 Add an item to TODO.
3216 * gst/gstiterator.c: (gst_iterator_fold),
3217 (gst_iterator_find_custom):
3218 * gst/gstiterator.h:
3221 2005-10-28 Wim Taymans <wim@fluendo.com>
3223 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3224 (gst_base_transform_init):
3227 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3228 An EOS event marks the queue as completely filled.
3230 2005-10-27 Wim Taymans <wim@fluendo.com>
3232 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3233 (gst_base_sink_do_sync), (gst_base_sink_get_position):
3234 Some more debugging.
3236 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3237 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3238 (gst_base_transform_event), (gst_base_transform_getrange),
3239 (gst_base_transform_chain):
3240 * gst/base/gstbasetransform.h:
3242 Protect transform and concurrent buffer alloc with a new lock.
3243 Try not to break ABI/API.
3245 2005-10-27 Wim Taymans <wim@fluendo.com>
3247 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3248 (gst_base_src_init), (gst_base_src_query),
3249 (gst_base_src_default_newsegment),
3250 (gst_base_src_configure_segment), (gst_base_src_do_seek),
3251 (gst_base_src_send_event), (gst_base_src_event_handler),
3252 (gst_base_src_pad_get_range), (gst_base_src_loop),
3253 (gst_base_src_unlock), (gst_base_src_default_negotiate),
3254 (gst_base_src_start), (gst_base_src_deactivate),
3255 (gst_base_src_activate_push), (gst_base_src_change_state):
3256 Move some stuff around and cleanup things.
3258 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
3260 * gst/base/gstbasesrc.c: (gst_base_src_query):
3261 Add missing break statements.
3263 2005-10-27 Wim Taymans <wim@fluendo.com>
3265 * check/gst/gstbin.c: (GST_START_TEST):
3266 An extra refcount is taken in basesrc.
3268 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3269 (gst_base_src_get_range), (gst_base_src_pad_get_range),
3270 (gst_base_src_loop):
3271 Small cleanups, check for flushing after being unlocked from the
3272 LIVE_LOCK. take refcounts correctly (not yet everywhere).
3273 Don't send out EOS when going to READY.
3275 2005-10-27 Wim Taymans <wim@fluendo.com>
3277 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3278 (gst_base_sink_get_position):
3281 * gst/gstbin.c: (message_check), (bin_replace_message),
3282 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3283 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3284 (bin_query_duration_init), (bin_query_duration_fold),
3285 (bin_query_duration_done), (bin_query_generic_fold),
3287 * tools/gst-launch.c: (main):
3290 2005-10-26 Stefan Kost <ensonic@users.sf.net>
3292 * examples/controller/audio-example.c: (main):
3293 * examples/queue/queue.c: (event_loop):
3294 * gst/base/gstbasetransform.h:
3295 * gst/gstelement.c: (gst_element_send_event):
3297 * gst/gstpad.c: (gst_pad_send_event):
3300 changing log priority in error situations
3302 2005-10-25 Wim Taymans <wim@fluendo.com>
3304 * gst/gstbin.c: (message_check), (bin_replace_message),
3305 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3306 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3307 (bin_query_duration_init), (bin_query_duration_fold),
3308 (bin_query_duration_done), (bin_query_generic_fold),
3310 Some doc and debug updates.
3311 Cache previously requested query DURATION for speed. invalidate
3312 cached duration if element posts a DURATION message.
3314 2005-10-25 Wim Taymans <wim@fluendo.com>
3316 * docs/design/part-TODO.txt:
3319 * gst/gstbin.c: (message_check), (bin_replace_message),
3320 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3321 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3322 (bin_query_duration_init), (bin_query_duration_fold),
3323 (bin_query_duration_done), (bin_query_generic_fold),
3325 Handle SEGMENT_START/DONE messages correctly.
3326 More evolved query algorithm that handles duration queries
3329 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3330 (gst_element_get_state_func), (gst_element_abort_state),
3331 (gst_element_commit_state), (gst_element_lost_state):
3332 Some more debugging.
3337 2005-10-25 Wim Taymans <wim@fluendo.com>
3339 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3340 Don't use invalid stream_time.
3342 * gst/gstevent.c: (gst_event_new_newsegment):
3343 stream_time in newsegment cannot be undefined.
3345 2005-10-24 Wim Taymans <wim@fluendo.com>
3350 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3352 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3354 2005-10-24 Stefan Kost <ensonic@users.sf.net>
3356 * docs/libs/tmpl/gstdparam.sgml:
3357 * docs/libs/tmpl/gstdplinint.sgml:
3358 * docs/libs/tmpl/gstdpman.sgml:
3359 * docs/libs/tmpl/gstdpsmooth.sgml:
3360 * docs/libs/tmpl/gstunitconvert.sgml:
3363 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
3368 === release 0.9.4 ===
3370 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3373 releasing 0.9.4, "Tyrannosaurus Rex"
3375 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
3377 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3378 (gst_file_sink_get_current_offset):
3379 Use fseeko() and ftello() if available. When falling back on
3380 lseek() to get the current offset, fflush() first to make sure
3381 everything is up-to-date and we get the right offset.
3383 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3385 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3386 * gst/base/gstbasesrc.c: (gst_base_src_loop):
3387 * gst/gsterror.c: (_gst_stream_errors_init):
3389 * gst/gstqueue.c: (gst_queue_loop):
3391 remove prematurely added error category and clean up the instances
3393 2005-10-21 Wim Taymans <wim@fluendo.com>
3395 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3396 (gst_base_sink_get_position), (gst_base_sink_query),
3397 (gst_base_sink_change_state):
3398 Simply set the right flag when going to playing, that's all
3399 we need to do instead of calling a function inside the object
3400 lock (that could take the lock as well and deadlock)
3402 2005-10-21 Wim Taymans <wim@fluendo.com>
3404 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3405 (gst_base_src_loop):
3406 Don't warn, the peer element knows what to do best when
3407 the seek failed, it might try something else.
3409 2005-10-21 Wim Taymans <wim@fluendo.com>
3411 * gst/base/gstbasesrc.c: (gst_base_src_init),
3412 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3415 2005-10-21 Wim Taymans <wim@fluendo.com>
3417 * docs/design/part-segments.txt:
3420 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3421 Correctly set caps, even on the subbufer.
3423 2005-10-21 Wim Taymans <wim@fluendo.com>
3425 * docs/gst/gstreamer-docs.sgml:
3426 * docs/gst/gstreamer-sections.txt:
3433 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3437 And 2% more doc coverage.
3439 2005-10-21 Andy Wingo <wingo@pobox.com>
3441 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3444 2005-10-20 Wim Taymans <wim@fluendo.com>
3446 * gst/gsterror.c: (gst_error_get_message):
3449 * gst/gststructure.c:
3454 2005-10-20 Wim Taymans <wim@fluendo.com>
3459 Another 1% more coverage.
3461 2005-10-20 Wim Taymans <wim@fluendo.com>
3463 * docs/gst/gstreamer-sections.txt:
3464 * gst/gstelement.c: (gst_element_get_state_func),
3465 (gst_element_abort_state), (gst_element_commit_state),
3466 (gst_element_lost_state):
3468 * gst/gstquery.c: (gst_query_set_position),
3469 (gst_query_parse_position), (gst_query_set_duration),
3470 (gst_query_parse_duration), (gst_query_new_convert):
3472 Yay! 1% more docs coverage.
3474 2005-10-20 Wim Taymans <wim@fluendo.com>
3477 * gst/gstquery.c: (gst_query_set_position),
3478 (gst_query_parse_position), (gst_query_set_duration),
3479 (gst_query_parse_duration), (gst_query_new_convert):
3481 * gst/gstutils.c: (gst_element_query_convert):
3483 Docs and consistency fixes.
3485 2005-10-20 Wim Taymans <wim@fluendo.com>
3491 2005-10-20 Wim Taymans <wim@fluendo.com>
3493 * gst/gstbin.c: (message_check), (bin_replace_message),
3494 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3495 (update_degree), (gst_bin_sort_iterator_next),
3496 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3497 Reworked the message handling a bit, cache the messages instead of
3498 only the senders. alows us to do more in the future.
3500 2005-10-20 Wim Taymans <wim@fluendo.com>
3502 * docs/design/part-TODO.txt:
3505 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3506 (gst_base_sink_query):
3507 Don't use clock time to report position when in EOS.
3509 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
3511 * tools/gst-inspect.c: (print_interfaces),
3512 (print_element_properties_info), (print_element_info):
3513 Fix interface output with gst-inspect -a; don't print
3514 newlines after double/float properties.
3516 2005-10-20 Wim Taymans <wim@fluendo.com>
3518 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3519 (gst_base_sink_query):
3520 Speed up current position calculation.
3522 * gst/base/gstbasesrc.c: (gst_base_src_query),
3523 (gst_base_src_default_newsegment):
3524 Correctly set stream position in newsegment.
3526 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3527 (update_degree), (gst_bin_sort_iterator_next),
3528 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3529 * gst/gstmessage.c: (gst_message_new_custom):
3530 Clean up debugging info
3532 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3533 (gst_queue_loop), (gst_queue_handle_src_query):
3536 2005-10-19 Wim Taymans <wim@fluendo.com>
3538 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3539 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3540 Fix query handling again.
3542 2005-10-19 Wim Taymans <wim@fluendo.com>
3544 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3545 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3546 * gst/base/gstbasesrc.c: (gst_base_src_query):
3547 * gst/elements/gstfilesink.c: (gst_file_sink_query):
3548 * gst/elements/gsttypefindelement.c:
3549 (gst_type_find_handle_src_query), (find_element_get_length),
3550 (gst_type_find_element_activate):
3553 * gst/gstquery.c: (gst_query_new_position),
3554 (gst_query_set_position), (gst_query_parse_position),
3555 (gst_query_new_duration), (gst_query_set_duration),
3556 (gst_query_parse_duration), (gst_query_set_segment),
3557 (gst_query_parse_segment):
3559 Bundling query position/duration is not a good idea since duration
3560 does not change much and we don't want to recalculate it for every
3561 position query, so they are separated again..
3562 Base value in segment query is not needed.
3564 * gst/gstqueue.c: (gst_queue_handle_src_query):
3565 * gst/gstutils.c: (gst_element_query_position),
3566 (gst_element_query_duration), (gst_pad_query_position),
3567 (gst_pad_query_duration):
3569 Updates for query API change.
3570 Added some docs here and there.
3572 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
3574 * check/gst/gstbin.c: (GST_START_TEST):
3575 * check/gst/gstghostpad.c: (GST_START_TEST):
3576 * check/pipelines/cleanup.c: (GST_START_TEST):
3577 wait on thread to die so we can check refcount correctly
3579 2005-10-18 Wim Taymans <wim@fluendo.com>
3581 * check/pipelines/stress.c: (GST_START_TEST):
3582 Make check a little more time consuming.
3584 2005-10-18 Wim Taymans <wim@fluendo.com>
3586 * check/Makefile.am:
3587 * check/pipelines/stress.c: (GST_START_TEST),
3588 (simple_launch_lines_suite), (main):
3589 Small state change torture test.
3591 * docs/design/part-states.txt:
3592 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3593 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3594 (gst_base_sink_change_state):
3595 Never take state lock from streaming thread, clean up ugly
3596 hacks. Unfortunatly core does not yet support nice ways to
3599 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3601 Start state recalc if a STATE_DIRTY message is posted, but only
3602 on the toplevel bin.
3604 * gst/gstelement.c: (gst_element_sync_state_with_parent),
3605 (gst_element_get_state_func), (gst_element_abort_state),
3606 (gst_element_commit_state), (gst_element_lost_state),
3607 (gst_element_set_state_func), (gst_element_change_state):
3609 State variables are now protected with the LOCK, the state
3610 lock is only used to serialize _set_state().
3612 2005-10-18 Wim Taymans <wim@fluendo.com>
3614 * check/gst/gstbin.c: (GST_START_TEST):
3615 * check/gst/gstmessage.c: (GST_START_TEST):
3616 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3617 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3619 * gst/gstelement.c: (gst_element_abort_state),
3620 (gst_element_commit_state), (gst_element_lost_state):
3621 * gst/gstmessage.c: (gst_message_new_state_changed),
3622 (gst_message_new_state_dirty), (gst_message_new_segment_start),
3623 (gst_message_new_segment_done), (gst_message_new_duration),
3624 (gst_message_parse_state_changed),
3625 (gst_message_parse_segment_start),
3626 (gst_message_parse_segment_done), (gst_message_parse_duration):
3628 * tools/gst-launch.c: (event_loop):
3629 Seriously, this is better than a previous commit as we only need
3630 to notify the fact that an element changed state in a streaming
3631 thread, marking the state of the parents dirty, hence the
3632 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3635 2005-10-18 Wim Taymans <wim@fluendo.com>
3637 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3638 (gst_bin_recalc_func):
3639 * gst/gstelement.c: (gst_element_set_clock),
3640 (gst_element_abort_state), (gst_element_lost_state):
3641 Cleanups, prepare for state change fixes.
3643 2005-10-18 Wim Taymans <wim@fluendo.com>
3646 * gst/gstelement.c: (gst_element_class_init),
3647 (gst_element_set_state), (gst_element_set_state_func):
3649 Pending ABI changes.
3650 GThreadPool in GstBinClass to monitor async state changes.
3651 state_cookie in GstElement to detect concurrent gst/set state.
3652 set_state is now virtual too in case a very complicated element
3653 has to be constructed.
3655 2005-10-18 Wim Taymans <wim@fluendo.com>
3657 * check/gst/gstbin.c: (GST_START_TEST):
3658 * check/gst/gstmessage.c: (GST_START_TEST):
3659 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3660 * gst/gstbin.c: (bin_bus_handler):
3661 * gst/gstelement.c: (gst_element_commit_state),
3662 (gst_element_lost_state):
3663 * gst/gstmessage.c: (gst_message_new_state_changed),
3664 (gst_message_new_segment_start), (gst_message_new_segment_done),
3665 (gst_message_new_duration), (gst_message_parse_state_changed),
3666 (gst_message_parse_segment_start),
3667 (gst_message_parse_segment_done), (gst_message_parse_duration):
3669 * tools/gst-launch.c: (event_loop):
3670 Make messages future proof.
3671 state-change gets a flag if it was a message comming from the
3673 segment-start/stop can also be specified in other formats.
3674 A message to notify an app that a pipeline changed playback
3676 Also fix a GstMessage leak in -launch
3678 2005-10-18 Andy Wingo <wingo@pobox.com>
3680 * gst/gstelement.c (gst_element_dispose): More helpful message.
3682 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
3684 reviewed by: <delete if not using a buddy>
3686 * common/gtk-doc.mak:
3688 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
3690 * gst/gstregistry.c: (gst_registry_scan_path_level):
3691 unref a plug-in we get that was already initialized
3693 2005-10-18 Stefan Kost <ensonic@users.sf.net>
3695 * docs/gst/gstreamer-sections.txt:
3696 * docs/libs/gstreamer-libs-sections.txt:
3701 2005-10-17 Andy Wingo <wingo@pobox.com>
3703 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3706 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3708 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3710 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3711 (gst_element_get_state_func): Better debug message.
3712 (gst_element_commit_state): s/INFO/DEBUG/.
3713 (gst_element_lost_state, gst_element_change_state):
3715 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3716 (gst_message_new_custom): s/INFO/LOG/.
3718 2005-10-17 Michael Smith <msmith@fluendo.com>
3720 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3721 Check if end time is valid using end time, not start time.
3723 2005-10-17 Stefan Kost <ensonic@users.sf.net>
3725 * check/gst-libs/controller.c: (GST_START_TEST),
3726 (gst_controller_suite):
3727 * libs/gst/controller/gstcontroller.c:
3728 (gst_controlled_property_set_interpolation_mode):
3729 * libs/gst/controller/gstcontroller.h:
3730 * libs/gst/controller/gstinterpolation.c:
3731 * testsuite/controller/.cvsignore:
3732 * testsuite/controller/Makefile.am:
3733 * testsuite/controller/interpolator.c:
3734 merge controller testsuites
3736 remove mem-chunk from docs
3738 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
3740 * gst/gstmemchunk.c:
3741 * gst/gstmemchunk.h:
3742 * gst/gsttrashstack.c:
3743 * gst/gsttrashstack.h:
3744 out. get out. you're fired. to the Attic !
3746 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
3748 * gst/gstcaps.c: (gst_caps_intersect):
3749 fix signedness issues in a (hopefully) correct way
3750 * gst/gstelement.c: (gst_element_pads_activate):
3752 * gst/gstobject.c: (gst_object_set_parent):
3755 2005-10-17 Julien MOUTTE <julien@moutte.net>
3757 * gst/gstvalue.h: Fix prototypes.
3759 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3761 * docs/gst/gstreamer-sections.txt:
3762 * gst/gst.c: (gst_version_string):
3764 * gst/gstversion.h.in:
3765 * win32/common/libgstreamer.def:
3766 add gst_version_string ()
3768 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3772 * gst/gst.c: (init_post):
3773 * win32/common/config.h.in:
3775 * gst/gstcaps.c: (gst_caps_intersect):
3776 use gint64, the range could be bigger than a guint
3778 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3781 document potential problem in 2038
3783 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3785 * gst/gstcaps.c: (gst_caps_intersect):
3786 Fix guint j diving under 0
3788 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3791 * win32/common/config.h:
3792 * win32/common/config.h.in:
3793 check for process.h, declares getpid() on Windows
3795 include process.h if we have it
3796 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3797 * gst/gstmemchunk.h:
3798 fix signedness issues
3799 * win32/common/libgstreamer.def:
3802 2005-10-16 Julien MOUTTE <julien@moutte.net>
3804 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3805 fix. Because of unsigned ints, caps intersection was going nuts and
3806 trying to access structures with G_MAXUINT index. That fixes
3807 videotestsrc ! ffmpegcolorspace ! fakesink
3808 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3811 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3814 use the gettext macro
3815 * gst/elements/gstelements.c:
3817 * gst/indexers/gstindexers.c:
3818 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3819 * win32/common/config.h:
3821 * win32/common/config.h.in:
3822 add the template to generate config.h
3823 * win32/common/gstenumtypes.c:
3824 * win32/common/gstversion.h:
3827 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3829 * gst/gst.c: (gst_version):
3830 * gst/gstversion.h.in:
3833 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
3836 Oops, add missing closing bracket.
3838 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3841 use common m4's for argument checking
3843 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
3845 * docs/gst/gstreamer-sections.txt:
3847 Add GST_EVENT_TYPE_NAME() macro.
3849 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3852 * gst/gstpluginfeature.c:
3854 privatize more symbols
3856 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3859 add srcdir, builddir includes to GST_ALL_CFLAGS, since
3860 everything that uses GStreamer API should have the includes
3862 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3864 * docs/gst/gstreamer-sections.txt:
3865 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3867 give each value a _get_type, removes the DATA exports
3869 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3873 remove _gst_registry_auto_load, not used anymore
3874 * gst/gstbin.c: (gst_bin_get_type):
3876 * gst/gstelement.c: (gst_element_get_type):
3878 * gst/gstobject.c: (gst_object_get_type):
3880 * gst/gstpad.c: (gst_pad_get_type):
3882 make _get_type functions similar, fixes data export from library
3884 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3887 correctly make conditionals
3888 * gst/elements/Makefile.am:
3889 * gst/elements/gstelements.c:
3890 fix typo causing fdsrc not to build
3892 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3894 * testsuite/Makefile.am:
3895 * testsuite/bytestream/.cvsignore:
3896 * testsuite/bytestream/Makefile.am:
3897 * testsuite/bytestream/filepadsink.c:
3898 * testsuite/bytestream/gstbstest.c:
3899 * testsuite/bytestream/test1.c:
3900 * testsuite/bytestream/testfile1:
3901 * testsuite/caps/normalisation.c:
3902 * testsuite/caps/random.c: (main):
3903 * testsuite/cleanup/.cvsignore:
3904 * testsuite/cleanup/Makefile.am:
3905 * testsuite/cleanup/cleanup1.c:
3906 * testsuite/cleanup/cleanup2.c:
3907 * testsuite/cleanup/cleanup3.c:
3908 * testsuite/cleanup/cleanup4.c:
3909 * testsuite/cleanup/cleanup5.c:
3910 * testsuite/controller/interpolator.c:
3911 * testsuite/debug/printf_extension.c: (main):
3912 * testsuite/elements/tee.c:
3913 * testsuite/negotiation/.cvsignore:
3914 * testsuite/negotiation/Makefile.am:
3915 * testsuite/negotiation/pad_link.c:
3916 * testsuite/pad/Makefile.am:
3917 * testsuite/pad/chainnopull.c:
3918 * testsuite/pad/getnopush.c:
3919 * testsuite/pad/link.c:
3920 * testsuite/refcounting/sched.c: (create_pipeline):
3921 * testsuite/registry/Makefile.am:
3922 * testsuite/registry/gst-print-formats.c:
3923 * testsuite/schedulers/.cvsignore:
3924 * testsuite/schedulers/142183-2.c:
3925 * testsuite/schedulers/142183.c:
3926 * testsuite/schedulers/143777-2.c:
3927 * testsuite/schedulers/143777.c:
3928 * testsuite/schedulers/147713.c:
3929 * testsuite/schedulers/147819.c:
3930 * testsuite/schedulers/147894-2.c:
3931 * testsuite/schedulers/147894.c:
3932 * testsuite/schedulers/Makefile.am:
3933 * testsuite/schedulers/group_link.c:
3934 * testsuite/schedulers/queue_link.c:
3935 * testsuite/schedulers/relink.c:
3936 * testsuite/schedulers/unlink.c:
3937 * testsuite/schedulers/unref.c:
3938 * testsuite/schedulers/useless_iteration.c:
3939 * testsuite/states/bin.c:
3940 clean out/remove some stuff from the testsuite directories
3942 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3945 check for some headers
3946 * gst/elements/Makefile.am:
3947 * gst/elements/gstelements.c:
3948 don't compile fdsrc without sys/socket.h
3949 * gst/indexers/Makefile.am:
3950 * gst/indexers/gstindexers.c: (plugin_init):
3951 don't compile fileindex without mmap
3953 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3960 * check/Makefile.am:
3961 * docs/gst/Makefile.am:
3962 * examples/helloworld/Makefile.am:
3964 * gst/base/Makefile.am:
3965 * gst/check/Makefile.am:
3966 * gst/elements/Makefile.am:
3967 * gst/indexers/Makefile.am:
3968 * gst/parse/Makefile.am:
3969 * libs/gst/controller/Makefile.am:
3970 * libs/gst/dataprotocol/Makefile.am:
3971 * examples/helloworld/helloworld.c: (event_loop):
3972 compile fixes, though it's not being compiled currently
3974 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
3976 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3977 Add some simple tests for the new taglist date API.
3979 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
3981 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3982 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3983 Beautify 'last-message' output: print 'none' for buffer timestamps
3984 and durations if none is set; improve alignment with next messages.
3986 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
3988 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3989 * gst/gstpluginfeature.h:
3990 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3991 * gst/gstregistry.h:
3992 * docs/gst/gstreamer-sections.txt:
3993 Add new API to check plugin feature version requirements.
3995 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3996 Some basic tests for the above.
3998 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4000 * gst/gststructure.c: (gst_structure_to_string):
4001 guard against NULL printf - happens when for example
4002 a message structure with GstClock gets serialized
4004 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4006 * gst/base/gstcollectpads.c: (gst_collectpads_event):
4007 Fix presumable copy'n'pasto.
4009 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4011 * gst/elements/gstfakesrc.h:
4012 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4013 * gst/elements/gsttypefindelement.c:
4015 * gst/elements/gstfilesink.c: (gst_file_sink_render):
4016 I wonder if this could actually write +2GB files before
4018 2005-10-13 Andy Wingo <wingo@pobox.com>
4020 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4021 Fix Timmeke Waymans bug.
4022 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4023 string of the proper length to gst_caps_from_string. There's a
4024 potential for, before this fix, that this could cause someone
4025 connecting over the network to cause a segfault if the payload is
4028 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4030 * docs/design/draft-push-pull.txt:
4031 * docs/design/part-overview.txt:
4032 * docs/random/TODO-pre-0.9:
4033 * docs/random/old/ChangeLog.gstreamer:
4034 * gst/base/gstpushsrc.c:
4038 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4040 * gst/glib-compat.c: (gst_flags_get_first_value):
4041 * gst/glib-compat.h:
4042 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4043 (gst_value_compare_double), (gst_value_serialize_flags):
4044 GLib 2.6 g_flags_get_first_value has a bug that triggers an
4047 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4049 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4050 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4052 * tools/gst-launch.c: (event_loop):
4053 print out clock nicely
4055 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4057 * docs/gst/gstreamer-sections.txt:
4059 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4060 (gst_tag_list_get_date_index):
4061 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4062 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4064 2005-10-13 Julien MOUTTE <julien@moutte.net>
4066 * gst/base/gstcollectpads.c: (gst_collectpads_event),
4067 (gst_collectpads_chain):
4068 * gst/base/gstcollectpads.h: Handle newsegment and store informations
4071 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4073 * docs/gst/gstreamer-sections.txt:
4076 * tools/gst-inspect.c: (main):
4077 * tools/gst-launch.c: (main):
4078 * tools/gst-run.c: (main):
4079 * tools/gst-xmlinspect.c: (main):
4080 fix GOption context leaks
4083 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4087 * win32/common/config.h:
4089 * win32/vs6/grammar.dsp:
4090 * win32/vs6/libgstelements.dsp:
4091 * win32/vs6/libgstreamer.dsp:
4094 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4096 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4097 * gst/base/gstbasesrc.c: (gst_base_src_query):
4098 fix more guint64<->gdouble conversions
4100 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4103 add win32-update target
4104 * win32/common/gstconfig.h:
4105 * win32/common/gstenumtypes.c:
4106 * win32/common/gstenumtypes.h:
4107 * win32/common/gstversion.h:
4108 add files that visual studio can't generate
4110 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4113 add a win32-update target
4116 2005-10-12 Wim Taymans <wim@fluendo.com>
4118 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4119 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4120 * gst/gstelement.c: (gst_element_commit_state),
4121 (gst_element_set_state):
4122 Protect flags with proper lock.
4123 unref provided cached clock in dispose.
4125 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4128 * gst/gstminiobject.h:
4130 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4131 removed unused flags from miniobject
4134 2005-10-12 Wim Taymans <wim@fluendo.com>
4136 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4137 (gst_file_sink_event), (gst_file_sink_render):
4138 Flush before seeking.
4140 2005-10-12 Andy Wingo <wingo@pobox.com>
4142 * gst/gst.c (gst_init_check): Ignore unknown options, as has
4143 always been the case.
4145 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4147 * check/gst/gstbin.c: (GST_START_TEST):
4148 * docs/gst/gstreamer-sections.txt:
4149 * gst/base/gstbasesink.c: (gst_base_sink_init):
4150 * gst/base/gstbasesrc.c: (gst_base_src_init),
4151 (gst_base_src_get_range), (gst_base_src_check_get_range),
4152 (gst_base_src_start), (gst_base_src_stop):
4153 * gst/base/gstbasesrc.h:
4154 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4155 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4156 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4160 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4162 * gst/gstelement.c: (gst_element_is_locked_state),
4163 (gst_element_set_locked_state), (gst_element_commit_state),
4164 (gst_element_set_state):
4166 * gst/gstindex.c: (gst_index_init):
4168 * gst/gstminiobject.h:
4169 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4170 (gst_object_set_parent):
4172 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4173 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4175 * gst/gstpadtemplate.h:
4176 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4177 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4178 * gst/gstpipeline.h:
4179 * gst/indexers/gstfileindex.c: (gst_file_index_load),
4180 (gst_file_index_commit):
4181 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4182 * testsuite/pad/link.c: (gst_test_src_init),
4183 (gst_test_filter_init), (gst_test_sink_init):
4184 * testsuite/states/locked.c: (main):
4185 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4186 moved bitshift from macro to enum definition
4188 2005-10-12 Wim Taymans <wim@fluendo.com>
4190 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4191 * gst/elements/gstfilesink.c: (gst_file_sink_event),
4192 (gst_file_sink_render):
4193 Some more debugging info.
4195 2005-10-12 Wim Taymans <wim@fluendo.com>
4197 * docs/design/part-states.txt:
4198 * tools/gst-launch.c: (main):
4200 Revert non-intentional change.
4202 2005-10-12 Wim Taymans <wim@fluendo.com>
4204 * check/gst/gstbin.c: (GST_START_TEST):
4205 * check/gst/gstelement.c: (GST_START_TEST):
4206 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4207 * check/gst/gstghostpad.c: (GST_START_TEST):
4208 * check/gst/gstpipeline.c: (GST_START_TEST):
4209 * check/pipelines/simple_launch_lines.c: (run_pipeline):
4210 * check/states/sinks.c: (GST_START_TEST):
4211 * gst/elements/gsttypefindelement.c: (stop_typefinding):
4212 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4213 (gst_bin_remove_func), (gst_bin_get_state_func),
4214 (gst_bin_recalc_state), (gst_bin_change_state_func),
4216 * gst/gstelement.c: (gst_element_get_state_func),
4217 (gst_element_get_state), (gst_element_abort_state),
4218 (gst_element_commit_state), (gst_element_set_state),
4219 (gst_element_change_state), (gst_element_change_state_func):
4221 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4222 (gst_pipeline_provide_clock_func):
4223 * gst/gstutils.c: (gst_element_link_pads_filtered):
4224 * tools/gst-launch.c: (main):
4225 * tools/gst-typefind.c: (main):
4226 Use GstClockTime in _get_state() instead of GTimeVal.
4227 Remove old code in gstutils.c
4229 2005-10-12 Andy Wingo <wingo@pobox.com>
4231 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4234 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4235 there is no task. Shouldn't affect any code, as nothing in our
4236 plugins checks this return value.
4237 (gst_pad_stop_task): Also take the stream lock if the pad has no
4240 2005-10-12 Wim Taymans <wim@fluendo.com>
4242 * gst/gstpad.c: (pre_activate), (post_activate),
4243 (gst_pad_activate_pull), (gst_pad_activate_push):
4244 Cleanup activation code. Reset old state if
4247 2005-10-12 Wim Taymans <wim@fluendo.com>
4249 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4250 (gst_base_sink_change_state):
4251 No need to prerol after receiving EOS.
4253 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4254 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4255 * gst/elements/gstidentity.c: (gst_identity_event):
4256 Print events more verbosely.
4258 2005-10-12 Wim Taymans <wim@fluendo.com>
4260 * check/Makefile.am:
4261 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4262 * check/states/sinks2.c:
4263 Moved sinks2 testcode in sinks check.
4265 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4266 (gst_bin_remove_func), (gst_bin_recalc_state),
4267 (gst_bin_change_state_func), (bin_bus_handler):
4268 Fix potential race condition when _get_state() iterated over an
4269 ASYNC element right before it posted a state completion.
4272 Do proper cast here.
4274 * gst/gstevent.c: (gst_event_new_newsegment),
4275 (gst_event_parse_newsegment):
4276 A playback rate of 0.0 is not allowed.
4278 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4280 * win32/common/config.h:
4281 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4282 (_trewinddir), (_ttelldir), (_tseekdir):
4283 * win32/common/dirent.h:
4284 * win32/common/gtchar.h:
4285 * win32/common/libgstbase.def:
4286 * win32/common/libgstreamer.def:
4287 * win32/vs6/grammar.dsp:
4288 * win32/vs6/gst_inspect.dsp:
4289 * win32/vs6/gst_launch.dsp:
4290 * win32/vs6/gstreamer.dsw:
4291 * win32/vs6/libgstbase.dsp:
4292 * win32/vs6/libgstelements.dsp:
4293 * win32/vs6/libgstreamer.dsp:
4294 Visual Studio 6 project files, and a new common directory.
4297 2005-10-11 Wim Taymans <wim@fluendo.com>
4299 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4300 (gst_base_sink_do_sync), (gst_base_sink_query),
4301 (gst_base_sink_change_state):
4302 * gst/base/gstbasesink.h:
4303 Correctly parse newsegment info.
4305 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4307 * gst/gst.c: (init_post):
4308 split plugin paths correctly
4310 2005-10-11 Wim Taymans <wim@fluendo.com>
4312 * check/gst/gstevent.c: (GST_START_TEST):
4313 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4314 (gst_base_sink_change_state):
4315 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4316 * gst/base/gstbasetransform.c: (gst_base_transform_event):
4317 * gst/elements/gstfilesink.c: (gst_file_sink_event):
4318 * gst/gstevent.c: (gst_event_new_newsegment),
4319 (gst_event_parse_newsegment):
4321 Added extra flag to newsegment for future API freeze.
4322 Updated check and base elements.
4324 2005-10-11 Julien MOUTTE <julien@moutte.net>
4326 * gst/base/gstcollectpads.c: (gst_collectpads_init),
4327 (gst_collectpads_add_pad), (gst_collectpads_pop),
4328 (gst_collectpads_event), (gst_collectpads_chain):
4329 * gst/base/gstcollectpads.h: Handle EOS correctly.
4331 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4333 * tools/gst-launch.c: (main):
4334 more null protecting
4336 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4338 * gst/gst-i18n-lib.h:
4339 check for ENABLE_NLS, not GETTEXT_PACKAGE
4340 * gst/gstregistry.c: (gst_registry_add_plugin),
4341 (gst_registry_scan_path_level),
4342 (_gst_registry_remove_cache_plugins):
4343 protect possibly NULL strings
4344 * gst/parse/types.h:
4345 config.h already included before
4346 * tools/gst-inspect.c: (main):
4347 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4348 check for ENABLE_NLS, not GETTEXT_PACKAGE
4349 * tools/gst-launch.c: (main):
4350 check for ENABLE_NLS, not GETTEXT_PACKAGE
4352 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4355 if we don't have glib, fail before testing 2.8
4356 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4357 fix a leak, should fix plugins-base testsuite
4359 2005-10-11 Andy Wingo <wingo@pobox.com>
4361 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4362 take the mode we're going to as an arg. Go head and set the mode
4363 and flushing flags now, so that if the activate function starts a
4364 thread all the flags will be in the right state.
4365 (post_activate): Renamed also. Just handle making sure streaming
4366 finishes for the deactivation case, and setting the deactivated
4368 (gst_pad_set_active): Complain loudly if deactivation fails.
4369 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4370 (gst_pad_activate_push): Adapt to pre/post_activate changes,
4371 remove the terrible hack.
4373 2005-10-11 Wim Taymans <wim@fluendo.com>
4375 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4376 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4377 (gst_bin_recalc_state), (gst_bin_change_state_func),
4378 (gst_bin_dispose), (bin_bus_handler):
4380 Prepare to make current EOS message queue more generic.
4383 * gst/gstevent.c: (gst_event_new_newsegment),
4384 (gst_event_parse_newsegment):
4386 Rename base to stream_time.
4391 2005-10-11 Wim Taymans <wim@fluendo.com>
4393 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4394 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4395 (gst_bin_change_state_func), (bin_bus_handler):
4397 Work on proper clock selection.
4399 2005-10-11 Edward Hervey <edward@fluendo.com>
4401 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
4402 * libs/gst/controller/gstcontroller.h:
4403 Added GList* version of _remove_properties() in order to be able to wrap
4406 2005-10-11 Wim Taymans <wim@fluendo.com>
4408 * docs/design/part-states.txt:
4411 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4412 (gst_bin_change_state_func), (bin_bus_handler):
4413 Doc updates. Don't distribute the same clock over and over again.
4419 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4420 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4421 (gst_pad_send_event):
4423 Make probe emission threadsafe again.
4424 Register quarks and move _get_name() from utils.
4427 * gst/gstpipeline.c: (gst_pipeline_class_init),
4428 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4429 Only redistribute the clock of it changed.
4431 * gst/gstsystemclock.h:
4436 Moved the _flow_get_name() to GstPad.
4438 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4440 * check/gst-libs/gdp.c: (GST_START_TEST):
4441 * check/gst/gstcaps.c: (GST_START_TEST):
4442 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4443 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4444 (gst_dp_packet_from_caps):
4445 fix more valgrind warnings before turning up the heat
4447 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4449 * gst/parse/grammar.y:
4450 some cleanup before the hacking
4452 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4454 * gst/base/gstbasesrc.c: (gst_base_src_query):
4456 * gst/gstutils.c: (gst_guint64_to_gdouble),
4457 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4459 externalize, basesrc uses it
4460 obviously the implementation needs testing
4462 2005-10-10 Wim Taymans <wim@fluendo.com>
4464 * tests/sched/Makefile.am:
4465 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4466 (make_pipeline3), (make_pipeline4), (print_elem), (main):
4468 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4470 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4471 apparently converting from guint64 to double is not implemented
4474 2005-10-10 Wim Taymans <wim@fluendo.com>
4476 * check/Makefile.am:
4477 * check/generic/states.c: (GST_START_TEST):
4478 * check/gst/gstbin.c: (GST_START_TEST):
4479 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4480 * check/states/sinks.c: (GST_START_TEST):
4481 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4483 Check fixes, use API as stated in design docs, remove hacks.
4485 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4486 (gst_base_sink_change_state):
4487 Catch stopping our task while we're shutting down.
4489 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4490 (gst_bin_remove_func), (gst_bin_get_state_func),
4491 (gst_bin_recalc_state), (gst_bin_change_state_func),
4494 * gst/gstelement.c: (gst_element_init),
4495 (gst_element_get_state_func), (gst_element_abort_state),
4496 (gst_element_commit_state), (gst_element_lost_state),
4497 (gst_element_set_state), (gst_element_change_state),
4498 (gst_element_change_state_func):
4500 New state change algorithm (see #318116)
4502 * gst/gstpipeline.c: (gst_pipeline_class_init),
4503 (gst_pipeline_init), (gst_pipeline_set_property),
4504 (gst_pipeline_get_property), (do_pipeline_seek),
4505 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4506 * gst/gstpipeline.h:
4507 Remove crude state change hacks.
4512 * tools/gst-launch.c: (main):
4513 Fixes for state change. Needs some more work to fully use the
4516 2005-10-10 Andy Wingo <wingo@pobox.com>
4518 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4520 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4521 this flag, but it's not even in GLib 2.6. Odd. Hack around the
4524 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4526 * gst/gstiterator.c: (gst_iterator_new):
4527 Fix my previous commit: GTypes passed to gst_iterator_new()
4528 can be fundamental types.
4530 2005-10-10 Wim Taymans <wim@fluendo.com>
4532 * gst/gstelement.c: (gst_element_iterate_pad_list),
4533 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4534 (gst_element_iterate_sink_pads):
4535 Use src/sink pads lists for the respective iterators instead
4538 2005-10-10 Andy Wingo <wingo@pobox.com>
4540 Merged in popt removal + GOption addition patch from Ronald, bug
4543 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4544 GstElement macros around, remove popt-related symbols, add goption
4547 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4549 * docs/gst/Makefile.am:
4550 * docs/libs/Makefile.am: No POPT_CFLAGS.
4552 * examples/manual/Makefile.am:
4553 * docs/manual/basics-init.xml: Doc updates with an example.
4555 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4556 (gst_init), (parse_one_option), (parse_goption_arg):
4557 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4558 bit of hand merging and debugging to get the GOption stuff working
4561 * tests/Makefile.am:
4562 * tools/Makefile.am:
4563 * tools/gst-inspect.c: (main):
4564 * tools/gst-launch.c: (main):
4565 * tools/gst-run.c: (main):
4566 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4568 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4570 * gst/gstiterator.c: (gst_iterator_new):
4571 Add assertions to make sure passed GType is likely to really
4572 be a GType (as the compiler won't catch it if the size and
4573 GType arguments get mixed up, see #318447).
4575 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
4577 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4579 * gst/gstbin.c: (gst_bin_iterate_sorted):
4580 Pass GType and size arguments to gst_iterator_new() in the right
4581 order (maybe we should make _new() take the GType as first argument
4582 just like _new_list()?) (#318447).
4585 2005-10-10 Wim Taymans <wim@fluendo.com>
4587 * gst/gstelement.c: (gst_element_finalize):
4588 And free the GStaticRecMutex too
4590 2005-10-10 Andy Wingo <wingo@pobox.com>
4592 * gst/gstelement.c (gst_element_init, gst_element_finalize):
4593 Allocate and free the mutex properly.
4595 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4597 (GstElement): The state_lock is now recursive. Rebuild your
4598 plugins, suckers. Old macros adapted.
4600 * docs/gst/gstreamer-sections.txt: Doc updates.
4603 * gst/gstutils.c (g_static_rec_cond_timed_wait)
4604 (g_static_rec_cond_wait): Ported from state changes patch, while
4605 we wait on bug #317802 to be solved in a well-distributed GLib.
4607 * gst/gstelement.c (gst_element_change_state_func): Renamed from
4608 gst_element_change_state, variable name changes.
4609 (gst_element_change_state): Split out of gst_element_set_state in
4610 preparation for the state change merge. Doesn't pay attention to
4611 the 'transition' argument.
4612 (gst_element_set_state): Updates, hopefully purely cosmetic.
4613 (gst_element_sync_state_with_parent): MT-safety. Ported from the
4615 (gst_element_get_state_func): Renamed from get_state, cosmetic
4618 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4620 * gst/elements/gstelements.c:
4621 * win32/GStreamer.vcproj:
4623 * win32/dirent.c: (_tseekdir):
4624 * win32/gst-inspect.vcproj:
4625 * win32/gst-launch.vcproj:
4626 * win32/gstconfig.h:
4627 * win32/gstelements.vcproj:
4628 * win32/gstenumtypes.c: (gst_object_flags_get_type):
4629 * win32/gstreamer.def:
4631 updates for the win32 build (patch from Sebastien Moutte)
4633 2005-10-10 Andy Wingo <wingo@pobox.com>
4635 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4636 gst_bin_get_state, cleaned up (but no logic changes).
4637 (bin_element_is_sink): Comment updates.
4638 (sink_iterator_filter): Remove needless cast.
4639 (gst_bin_iterate_sinks): Doc update.
4640 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4641 cleaned up (but no logic changes).
4643 * check/states/sinks.c (test_src_sink): Cleanups from the state
4645 (test_livesrc_sink): Sync on the state.
4647 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4648 the state change patch.
4650 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4653 * check/gst/gstbin.c: Merge in some style fixes and additional
4654 checks from Wim's state change patch.
4656 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4658 * gst/base/gsttypefindhelper.c: (helper_find_peek),
4659 (gst_type_find_helper):
4660 Check whether we have the requested data already in our list of
4661 cached buffers before pulling a new buffer; also make the buffer
4662 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4664 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4669 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4670 don't use long long, it's not portable. Replacing with
4671 gint64 seems to work; let's hope no skeletons fall out of the closet.
4673 2005-10-10 Andy Wingo <wingo@pobox.com>
4675 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4677 2005-10-09 Stefan Kost <ensonic@users.sf.net>
4679 * docs/gst/gstreamer-sections.txt:
4684 * gst/gstmessage.c: (gst_message_parse_state_changed):
4687 more docs, fix compilation
4689 2005-10-09 Philippe Khalaf <burger@speedy.org>
4691 Fixed a few forgotten variables on previous commit
4693 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
4695 * gst/base/gsttypefindhelper.c: (helper_find_peek):
4696 Fix evil typefind crasher: getrange() might return a short
4697 buffer at the end of a file, but gst_type_find_peek() must
4698 either return the full data as requested or NULL, but
4699 never a short buffer.
4701 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
4703 * gst/gstmessage.c: (gst_message_new_state_changed),
4704 (gst_message_parse_state_changed):
4706 don't use "new", it's a C++ keyword
4708 2005-10-08 Wim Taymans <wim@fluendo.com>
4710 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4711 * gst/gstelement.c: (gst_element_post_message):
4712 * gst/gstpipeline.c: (gst_pipeline_change_state):
4713 Small docs and debug updates.
4715 2005-10-08 Stefan Kost <ensonic@users.sf.net>
4717 * docs/gst/gstreamer-sections.txt:
4718 * gst/gstelementfactory.c:
4723 2005-10-08 Wim Taymans <wim@fluendo.com>
4725 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4726 (gst_bin_dispose), (bin_bus_handler):
4727 Fix typos, add comments.
4728 Clear EOS list when going to PAUSED from any direction and do it
4729 in a threadsafe way.
4730 Get base time in a threadsafe way too.
4731 Fix confusing debug in the change_state function.
4732 Various other small cleanups.
4734 * gst/gstelement.c: (gst_element_post_message):
4735 Fix very verbose bus posting code.
4737 * gst/gstpipeline.c: (gst_pipeline_class_init),
4738 (gst_pipeline_set_property), (gst_pipeline_get_property),
4739 (gst_pipeline_change_state):
4740 Small ARG_ -> PROP_ cleanup
4742 2005-10-08 Wim Taymans <wim@fluendo.com>
4744 * gst/gstbin.c: (is_eos), (bin_bus_handler):
4745 Do a less CPU demanding EOS check because we can.
4747 2005-10-08 Wim Taymans <wim@fluendo.com>
4749 * libs/gst/dataprotocol/dataprotocol.c:
4750 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4751 (gst_dp_packet_from_event):
4752 * libs/gst/dataprotocol/dataprotocol.h:
4753 * libs/gst/dataprotocol/dp-private.h:
4754 It's about time we bump the version number.
4755 Since event types don't fit in the guint8 anymore describing
4756 the payload type, make payload type 16 bits wide.
4758 2005-10-08 Wim Taymans <wim@fluendo.com>
4760 * docs/design/part-TODO.txt:
4761 * docs/design/part-clocks.txt:
4762 * docs/design/part-events.txt:
4763 * docs/design/part-gstbin.txt:
4764 * docs/design/part-gstelement.txt:
4765 * docs/design/part-gstpipeline.txt:
4766 * docs/design/part-live-source.txt:
4767 * docs/design/part-messages.txt:
4768 * docs/design/part-overview.txt:
4769 * docs/design/part-states.txt:
4772 2005-10-08 Wim Taymans <wim@fluendo.com>
4776 Fix event quark registration.
4777 Add some space between events so we can insert them in the
4780 2005-10-08 Wim Taymans <wim@fluendo.com>
4782 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4783 (gst_base_sink_handle_buffer):
4790 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4791 (gst_queue_set_property), (gst_queue_get_property):
4793 Remove old unused properties.
4795 2005-10-08 Stefan Kost <ensonic@users.sf.net>
4796 * docs/gst/gstreamer-sections.txt:
4799 * gst/gstminiobject.c:
4800 * gst/gstminiobject.h:
4804 lots of new docs and doc fixes
4806 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4808 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4810 * gst/gstregistry.c: (gst_registry_lookup_locked),
4811 (gst_registry_scan_path_level):
4812 * gst/gstregistryxml.c: (load_plugin):
4813 Only ever load one plugin for a given plugin basename.
4814 This ensures correct overriding of GST_PLUGIN_PATH over
4815 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4816 system installed plugins.
4818 2005-10-08 Wim Taymans <wim@fluendo.com>
4820 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4821 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4822 Prepare for doing QOS.
4824 2005-10-08 Wim Taymans <wim@fluendo.com>
4826 * check/gst/gstbin.c: (GST_START_TEST):
4827 * check/pipelines/cleanup.c: (GST_START_TEST):
4828 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4829 Allow new clock message too.
4831 2005-10-08 Wim Taymans <wim@fluendo.com>
4833 * gst/gstmessage.c: (gst_message_new_error),
4834 (gst_message_new_warning), (gst_message_new_tag),
4835 (gst_message_new_state_changed), (gst_message_new_clock_provide),
4836 (gst_message_new_clock_lost), (gst_message_new_new_clock),
4837 (gst_message_new_segment_start), (gst_message_new_segment_done),
4838 (gst_message_parse_state_changed),
4839 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4840 (gst_message_parse_new_clock):
4842 Also carry the clock in question.
4844 2005-10-08 Wim Taymans <wim@fluendo.com>
4846 * gst/gstmessage.c: (gst_message_new_custom),
4847 (gst_message_new_eos), (gst_message_new_error),
4848 (gst_message_new_warning), (gst_message_new_tag),
4849 (gst_message_new_state_changed), (gst_message_new_clock_provide),
4850 (gst_message_new_new_clock), (gst_message_new_segment_start),
4851 (gst_message_new_segment_done), (gst_message_parse_state_changed),
4852 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4855 Added clock related messages.
4857 * gst/gstpipeline.c: (gst_pipeline_change_state):
4858 Post message when the clock changed.
4860 * tools/gst-launch.c: (event_loop):
4863 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
4865 * tools/gst-inspect.c: (print_element_properties_info):
4866 Can't pass NULL strings to g_print() on windows.
4868 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4871 * docs/gst/Makefile.am:
4872 * docs/gst/gstreamer-docs.sgml:
4873 * docs/gst/running.xml:
4874 * docs/version.entities.in:
4875 add a chapter on running GStreamer.
4876 document GST_DEBUG and GST_PLUGIN* env vars
4878 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4883 remove PLUGINS_BUILDDIR stuff
4884 * gst/gst.c: (init_post):
4885 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4887 remove, it was condescending and not needed
4889 2005-10-08 Wim Taymans <wim@fluendo.com>
4891 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4892 (gst_base_sink_handle_object), (gst_base_sink_event),
4893 (gst_base_sink_wait), (gst_base_sink_handle_event),
4894 (gst_base_sink_change_state):
4895 * gst/base/gstbasesink.h:
4896 Repost EOS message while going to PLAYING if still EOS.
4897 Make sure that when receiving a FLUSH_START we don't attempt
4898 to sync on the clock anymore.
4900 2005-10-08 Wim Taymans <wim@fluendo.com>
4902 * tools/gst-launch.c: (event_loop):
4903 Better message printout.
4905 2005-10-08 Wim Taymans <wim@fluendo.com>
4907 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4908 (gst_bin_child_proxy_get_children_count):
4909 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4910 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4911 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4912 (gst_child_proxy_set_valist):
4913 * gst/parse/grammar.y:
4914 Make ChildProxy threadsafe and fix mem leaks.
4916 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4918 * gst/gst.c: (init_post):
4919 debug the GST_PLUGIN_ env vars
4921 2005-10-08 Wim Taymans <wim@fluendo.com>
4923 * check/gst/gstbin.c: (GST_START_TEST):
4924 * check/gst/gstmessage.c: (GST_START_TEST):
4925 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4926 * gst/gstelement.c: (gst_element_commit_state),
4927 (gst_element_lost_state):
4928 * gst/gstmessage.c: (gst_message_new_state_changed),
4929 (gst_message_parse_state_changed):
4931 * tools/gst-launch.c: (event_loop):
4932 Added extra field to STATE_CHANGE message with the pending
4933 state, which will be different from the new state soon.
4935 2005-10-08 Wim Taymans <wim@fluendo.com>
4937 * gst/gstbus.c: (gst_bus_pop):
4939 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4940 Small cleanups and doc updates.
4942 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4944 * gst/gst.c: (init_pre):
4945 * gst/gstbin.c: (gst_bin_add_func):
4946 log distributing clocks and base time
4947 * gst/gstregistry.c: (gst_registry_add_plugin),
4948 (gst_registry_scan_path_level), (gst_registry_scan_path):
4949 clean up the debugging output a little
4950 * gst/gstutils.c: (gst_element_state_get_name):
4951 warn about a memleak (I've actually seen this be used, though
4952 it was probably a bug)
4954 2005-10-07 Wim Taymans <wim@fluendo.com>
4956 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4957 (gst_base_src_init), (gst_base_src_default_newsegment),
4958 (gst_base_src_newsegment), (gst_base_src_do_seek),
4959 (gst_base_src_loop), (gst_base_src_start):
4960 * gst/base/gstbasesrc.h:
4961 Make the newsegment event customizable by subclasses.
4963 2005-10-07 Wim Taymans <wim@fluendo.com>
4965 * gst/gstevent.c: (gst_event_new_buffersize),
4966 (gst_event_parse_buffersize):
4968 New event for future idea.
4970 2005-10-07 Andy Wingo <wingo@pobox.com>
4972 * gst/gstelement.c (gst_element_post_message): Doc update.
4974 * docs/gst/gstreamer-sections.txt: Update.
4976 * gst/gstmessage.c (gst_message_new_application): Made into a
4977 function like honest API calls.
4978 (gst_message_new_element): New message type.
4980 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4982 * check/elements/fakesrc.c (test_no_preroll): New check, checks
4983 that setting a live fakesrc to PAUSED returns NO_PREROLL both
4986 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4987 NO_PREROLL from gst_element_change_state to fall through.
4989 2005-10-07 Wim Taymans <wim@fluendo.com>
4991 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4992 (gst_ghost_pad_do_activate_push):
4993 Activating a ghostpad with no internal pad in push mode
4996 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
4999 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5000 Fixes compilation on Windows.
5002 2005-10-07 Michael Smith <msmith@fluendo.com>
5004 * tools/gst-inspect.c:
5005 Print out feature and plugin count at the end when printing out
5008 2005-10-04 Michael Smith <msmith@fluendo.com>
5010 * gst/gsterror.c: (_gst_stream_errors_init):
5011 Add another error string used in a few existing plugins.
5014 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5015 * tools/gst-inspect.c: (print_element_info):
5016 When a feature disappears from a plugin (and the feature exists in
5017 the cached registry file), things went horribly wrong. This isn't a
5018 complete fix, we should actually be removing the 'missing' features
5019 from the features list when we load the actual plugin. That's not
5022 2005-10-04 Johan Dahlin <johan@gnome.org>
5024 * check/gst/gstiterator.c: (GST_START_TEST):
5025 * gst/gstbin.c: (gst_bin_iterate_elements),
5026 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5027 * gst/gstelement.c: (gst_element_iterate_pads):
5028 * gst/gstformat.c: (gst_format_iterate_definitions):
5029 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5030 (gst_iterator_new_list), (gst_iterator_filter):
5031 * gst/gstiterator.h:
5032 * gst/gstquery.c: (gst_query_type_iterate_definitions):
5033 Add a GType to GstIterator, update callsites and tests.
5035 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5037 * gst/gstpad.c: (gst_pad_event_default_dispatch):
5038 give events a chance to be handled by event probes when the pad
5041 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5043 * gst/gstevent.c: (gst_event_type_get_name),
5044 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5046 add string representations for event types
5048 2005-10-06 Wim Taymans <wim@fluendo.com>
5050 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5051 Don't use NULL pointers.
5053 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5055 * gst/gst_private.h:
5059 * gst/gstpluginfeature.c:
5060 widen the debug category in output to fit the biggest one we have
5061 add a bus category and use it
5062 play with the colors
5063 fix up some categories
5065 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5067 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5068 add push activation of sink ghost pads.
5069 Andye, please verify
5071 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5073 * gst/gstutils.c: (gst_element_link_pads):
5074 fix a bug in the case where neither element has a pad
5075 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5076 add a test for that case
5078 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5080 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5081 emit have-data before checking for peers. This allows
5082 for probe handlers to connect elements. This helps autopluggers.
5083 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5085 add six checks, linked/unlinked with no/true/false probe
5087 2005-10-04 Wim Taymans <wim@fluendo.com>
5089 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5090 (gst_fake_sink_event), (gst_fake_sink_preroll),
5091 (gst_fake_sink_render), (gst_fake_sink_change_state):
5092 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5093 (gst_fake_src_get_property), (gst_fake_src_create),
5094 (gst_fake_src_stop):
5095 * gst/elements/gstidentity.c: (gst_identity_stop):
5096 Protect last_message with lock.
5098 2005-10-04 Edward Hervey <edward@fluendo.com>
5101 Added precision in the comments for GST_FORMAT_DEFAULT
5103 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
5105 * tools/gst-launch.c: (main):
5106 Don't try to run erroneous pipelines.
5108 2005-10-04 Julien MOUTTE <julien@moutte.net>
5110 * gst/gstbus.c: We don't need this header.
5112 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5117 === release 0.9.3 ===
5119 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5123 Releasing 0.9.3, "Unregistered"
5125 2005-10-03 Andy Wingo <wingo@pobox.com>
5127 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5128 whereby calling a pad's activatepush() function can start a thread
5129 that starts to push or pull before the pad gets the FLUSHING flag
5130 unset. Hack around it by holding the stream lock until the flag is
5131 set. Need to replace this with a proper solution. Together with
5132 the ghost pad fixes, this fixes mp3 playing/tagreading.
5134 * docs/design/part-gstghostpad.txt: Add a note about activation of
5135 proxy pads outside of ghost pads.
5137 * gst/gstghostpad.c: Implement the ghost pad activation design.
5139 2005-10-02 Andy Wingo <wingo@pobox.com>
5141 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5142 It is volatile, after all.
5144 * docs/design/part-gstghostpad.txt: Flesh out activation with
5147 * gst/base/gstbasesrc.c (gst_base_src_init): Use
5150 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
5153 Fix (unused) AM_CONDITIONAL tests.
5155 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
5157 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5159 * gst/gstutils.c: (gst_pad_query_convert):
5160 Add assertion that makes sure src_val is >=0, just like
5161 gst_query_new_convert() has. (#315895)
5163 2005-09-30 Edward Hervey <edward@fluendo.com>
5165 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5166 Let's not iterate pads we're not interested in, it avoids getting
5167 sky-high refcounts on sinkpad.
5169 2005-09-30 Wim Taymans <wim@fluendo.com>
5171 * gst/gstelement.c: (gst_element_set_state),
5172 (gst_element_change_state):
5173 Small tweak, element in ASYNC remains ASYNC.
5175 2005-09-30 Wim Taymans <wim@fluendo.com>
5177 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5178 Only error is an error.
5180 * gst/gstbin.c: (gst_bin_change_state):
5183 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5184 Also call pad_block in pad alloc.
5186 * gst/gstutils.c: (gst_flow_get_name):
5189 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5191 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5192 (gst_base_src_get_range):
5193 Fix documentation typos. Add some more debug info.
5195 2005-09-29 David Schleef <ds@schleef.org>
5197 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5198 more end-user friendly.
5199 * tools/gst-inspect.c: (main): Check if command-line argument is
5200 a file and attempt to load that file as a plugin.
5202 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5204 * check/gst/gstbin.c:
5205 * check/states/sinks.c:
5206 fix tests for the new warning
5207 * check/gst/gstpipeline.c:
5208 add a test for pipeline and bus interaction
5210 elements should be NULL if they get disposed; add a warning if not
5212 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5215 for 2.6 refcounting, make debug log more correct by printing
5216 the actual refcounts at the time of swap (Wim)
5218 2005-09-29 Andy Wingo <wingo@pobox.com>
5220 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5221 removes signal watches previously added via
5222 gst_bus_add_signal_watch.
5223 (gst_bus_add_signal_watch): Don't return the source id, just store
5224 it on the bus if there wasn't an id already.
5226 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5227 add_signal_watch and remove_signal_watch.
5229 2005-09-29 Edward Hervey <edward@fluendo.com>
5231 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5232 Better if we actually iterate the list :)
5234 2005-09-29 Wim Taymans <wim@fluendo.com>
5236 * check/gst/gstbin.c: (GST_START_TEST):
5237 Change for new bus API.
5239 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5240 (send_messages), (GST_START_TEST), (gstbus_suite):
5241 Change for new bus signal API.
5243 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5244 (gst_bus_source_prepare), (gst_bus_source_check),
5245 (gst_bus_create_watch), (gst_bus_add_watch_full),
5246 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5247 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5249 Remove support for multiple GSources operating on different
5250 message types as it is too complex and unneeded when using
5252 Added support for receiving signals from the bus.
5254 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5256 * docs/libs/tmpl/gstdataprotocol.sgml:
5257 * docs/manual/advanced-dataaccess.xml:
5258 * gst/elements/gstcapsfilter.c:
5260 rename filter-caps to caps property
5262 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5264 * gst/gstvalue.c: (gst_value_deserialize_fraction):
5265 More robust fraction string parsing.
5267 * docs/pwg/appendix-porting.xml:
5268 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5270 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5272 * gst/gstcaps.c: (gst_caps_do_simplify):
5273 Thou shalt not free a structure and then continue using it
5274 in the next loop iteration.
5276 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5278 Add test case for caps simplification.
5280 2005-09-29 Wim Taymans <wim@fluendo.com>
5282 * check/gst/gstbin.c: (GST_START_TEST):
5285 2005-09-29 Wim Taymans <wim@fluendo.com>
5287 * check/gst/gstbin.c: (GST_START_TEST):
5290 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5291 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5292 (find_element), (gst_bin_sort_iterator_next),
5293 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5294 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5295 (gst_bin_change_state), (gst_bin_dispose):
5296 A bin does not have a bus, it gets the bus from the parent.
5298 * gst/gstelement.c: (gst_element_requires_clock),
5299 (gst_element_provides_clock), (gst_element_is_indexable),
5300 (gst_element_is_locked_state), (gst_element_change_state),
5301 (gst_element_set_bus_func):
5304 * gst/gstpipeline.c: (gst_pipeline_class_init),
5305 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5306 The pipeline provides a bus.
5308 2005-09-28 Johan Dahlin <johan@gnome.org>
5310 * gst/gstmessage.c (gst_message_parse_state_changed): Use
5311 gst_structure_get_enum instead of gst_structure_get_int
5313 * gst/gststructure.c (gst_structure_get_enum): Impl.
5315 * gst/gststructure.h (gst_structure_get_enum): Add
5317 * docs/gst/gstreamer-sections.txt: Ditto
5319 * gst/gstmessage.c (gst_message_new_state_changed): Use
5320 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5321 which does introspection.
5322 Reviewed by Christian Schaller
5324 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5326 * gst/gstinfo.c: (gst_debug_log_default):
5327 don't do dummy g_strdup()s
5328 * libs/gst/controller/gstcontroller.c:
5329 (on_object_controlled_property_changed),
5330 (gst_controlled_property_new), (gst_controller_new_valist),
5331 (gst_controller_new_list),
5332 (gst_controller_remove_properties_valist), (gst_controller_set),
5333 (gst_controller_get), (gst_controller_sync_values),
5334 (gst_controller_get_value_array), (_gst_controller_class_init),
5335 (gst_controller_get_type):
5336 * libs/gst/controller/gstcontroller.h:
5337 * libs/gst/controller/gstinterpolation.c:
5338 (gst_controlled_property_find_timed_value_node):
5339 convert // to /**/ comments
5341 2005-09-28 Wim Taymans <wim@fluendo.com>
5343 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5344 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5345 (gst_bus_sync_signal_handler):
5347 Added async-message and sync-message signals to the bus.
5348 Added helper BusFunc to emit signals for all posted messages.
5350 * gst/gstmessage.c: (gst_message_type_get_name),
5351 (gst_message_type_to_quark), (gst_message_get_type):
5353 Register quarks for message names.
5355 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5357 * docs/libs/gstreamer-libs-sections.txt:
5358 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5359 (gst_controller_new_list):
5360 * libs/gst/controller/gstcontroller.h:
5361 added another constructor for language bindings
5363 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
5365 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5369 * gst/gstinfo.c: (_gst_debug_init):
5370 slightly more readable color for refcount debugging
5372 2005-09-28 Wim Taymans <wim@fluendo.com>
5374 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5375 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5376 (find_element), (gst_bin_sort_iterator_next),
5377 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5378 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5379 (gst_bin_change_state), (gst_bin_dispose):
5380 Small doc fixes. get_clock -> provide_clock.
5382 * gst/gstelement.c: (gst_element_class_init),
5383 (gst_element_provides_clock), (gst_element_provide_clock),
5384 (gst_element_get_clock), (gst_element_commit_state),
5385 (gst_element_lost_state):
5387 Make get/set_clock() symetric. Add provide_clock vmethod since
5388 that is actually what this function does.
5390 * gst/gstpipeline.c: (gst_pipeline_class_init),
5391 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5392 (gst_pipeline_get_clock):
5393 get_clock -> provide_clock.
5395 2005-09-28 Andy Wingo <wingo@pobox.com>
5397 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5398 lieu of real docs...
5400 * gst/elements/gstfdsrc.c: Cleaned up a bit.
5402 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
5404 * gst/elements/gstcapsfilter.c:
5405 * gst/elements/gstfakesink.c:
5406 * gst/elements/gstfakesrc.c:
5407 * gst/elements/gstfdsink.c:
5408 * gst/elements/gstfdsrc.c:
5409 * gst/elements/gstfilesink.c:
5410 * gst/elements/gstfilesrc.c:
5411 * gst/elements/gstidentity.c:
5412 * gst/elements/gsttee.c:
5413 * gst/elements/gsttypefindelement.c:
5414 Make element details static.
5416 2005-09-28 Wim Taymans <wim@fluendo.com>
5418 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5419 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5420 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5421 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5422 (gst_bin_change_state), (gst_bin_dispose):
5423 Some documentation updates.
5424 Clean up dispose handlers.
5426 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5427 * gst/gstpad.c: (gst_pad_dispose):
5428 Clean up dispose handler.
5430 * gst/gstpipeline.c: (gst_pipeline_change_state):
5431 Removed spurious UNLOCK.
5433 2005-09-27 Stefan Kost <ensonic@users.sf.net>
5435 * docs/gst/gstreamer-sections.txt:
5436 * gst/base/gstbasesrc.h:
5441 * gst/gstpipeline.c:
5442 * gst/gstpipeline.h:
5445 added two new functions to the docs
5446 documents all undocumented GstXXXFlags
5447 completed some incomplete docs
5449 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
5451 * gst/gstbin.c: (gst_bin_dispose):
5452 * gst/gstelement.c: (gst_element_dispose):
5453 remove now useless and leaky resurrection code in dispose
5454 * gst/base/gstbasesrc.c: (gst_base_src_init):
5455 * gst/gstelementfactory.c: (gst_element_factory_create):
5456 * gst/gstobject.c: (gst_object_set_parent):
5459 2005-09-27 Wim Taymans <wim@fluendo.com>
5461 * docs/design/part-TODO.txt:
5464 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5465 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5466 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5467 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5468 (gst_bin_change_state):
5470 Remove element variable, we keep element info in the iterator now.
5472 2005-09-27 Andy Wingo <wingo@pobox.com>
5474 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5477 2005-09-27 Wim Taymans <wim@fluendo.com>
5479 * check/gst/gstbin.c: (GST_START_TEST):
5480 Enable check that works now.
5482 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5483 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5484 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5485 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5486 (gst_bin_change_state):
5488 Redid the state change algorithm using a topological sort algo.
5489 Handles all cases correctly.
5490 Exposed iterator for state change order.
5493 Temp storage for state changes. Need to get rid of this soon.
5495 2005-09-27 Wim Taymans <wim@fluendo.com>
5497 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5498 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5499 (link_fold_func), (gst_pad_proxy_setcaps):
5500 Leak fixes, the fold functions need to unref the passed object and
5501 _get_parent_*() returns ref to parent.
5503 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5505 * check/gst/gstbuffer.c: (test_make_writable):
5506 Plug leak in test case and fix 'make check-valgrind'
5508 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5510 * gst/gstbuffer.c: (gst_subbuffer_init):
5511 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5512 works correctly in all circumstances (we could have just copied
5513 the parent buffer's readonly flag, but conceptually it seems
5514 cleaner to mark all subbuffers as read-only). (based on patch
5515 by Alessandro Decina, #314710).
5517 * check/gst/gstbuffer.c: (create_read_only_buffer),
5518 (test_make_writable), (test_subbuffer_make_writable),
5520 Add some tests for gst_buffer_make_writable().
5522 2005-09-27 Wim Taymans <wim@fluendo.com>
5524 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5525 use gst_object_has_ancestor().
5527 * gst/gstobject.c: (gst_object_has_ancestor):
5529 gst_object_has_ancestor() copied from gstbin.c as it is a
5532 * tests/instantiate/create.c: (create_all_elements):
5533 * tests/lat.c: (handoff_src), (handoff_sink):
5534 * tests/sched/runxml.c: (main):
5535 * tests/seeking/seeking1.c: (main):
5536 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5538 Fix compilation of some tests.
5540 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5543 Remove comment. GST_TYPE_G_ERROR is here to stay,
5544 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5547 2005-09-26 Wim Taymans <wim@fluendo.com>
5549 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5550 Added check that shows error in state change order.
5552 2005-09-26 Wim Taymans <wim@fluendo.com>
5554 * gst/gstbin.c: (gst_bin_change_state):
5555 Make state change function use 3 queues again, we were
5556 adding elements in the wrong order.
5558 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5561 * gst/gstpad.c: (gst_pad_dispose):
5562 Added some debug info first.
5564 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
5566 * docs/design/draft-push-pull.txt:
5567 * docs/design/part-events.txt:
5568 * docs/design/part-overview.txt:
5569 * docs/design/part-scheduling.txt:
5570 Replace all _pull_region() with _pull_range()
5572 2005-09-26 Andy Wingo <wingo@pobox.com>
5574 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5576 * check/gst-libs/controller.c: Update for controller api change.
5579 * tests/Makefile.am:
5580 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5581 over by GLib bug 118439.
5583 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5584 routines to a function.
5586 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5588 * libs/gst/controller/gsthelper.c:
5589 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5590 (gst_object_sync_values): Renamed from sink_values. Ugh.
5592 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5594 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5595 Renamed from controller_key, as it is exported.
5597 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5599 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
5604 * gst/gstpadtemplate.h:
5607 * gst/gstqueryutils.c:
5608 * gst/gstqueryutils.h:
5609 remove queryutils headers after moving the two used functions
5610 to gstquery. also fixes build problem for gstsiddec
5612 2005-09-26 Michael Smith <msmith@fluendo.com>
5614 * tools/gst-launch.1.in:
5615 Correct documentation in manpage of debug syntax
5617 2005-09-26 Wim Taymans <wim@fluendo.com>
5619 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5620 (gst_base_src_is_seekable), (gst_base_src_change_state):
5621 Some more debugging info.
5623 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5625 * docs/gst/gstreamer-sections.txt:
5626 * gst/base/gstbasetransform.h:
5630 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5632 * docs/gst/.cvsignore:
5633 * docs/gst/tmpl/.cvsignore:
5634 * docs/gst/tmpl/gstpipeline.sgml:
5635 * docs/gst/tmpl/gstplugin.sgml:
5636 * gst/gstpipeline.c:
5639 inlined the last two docs files
5640 removed the tmpl directory from cvs (no more conflicts here!)
5642 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5644 * docs/gst/gstreamer-sections.txt:
5645 * docs/gst/tmpl/.cvsignore:
5646 * docs/gst/tmpl/gstpad.sgml:
5647 * docs/gst/tmpl/gstpadtemplate.sgml:
5649 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5650 (gst_pad_finalize), (gst_pad_set_pad_template):
5652 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5653 (gst_pad_template_class_init), (gst_pad_template_init),
5654 (gst_pad_template_dispose), (name_is_valid),
5655 (gst_static_pad_template_get), (gst_pad_template_new),
5656 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5657 (gst_pad_template_pad_created):
5658 * gst/gstpadtemplate.h:
5659 inlined two more docs
5660 factored gstpadtemplate out of gstpad
5662 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
5664 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5665 (test_children_state_change_order_semi_sink):
5666 Fix test case: we can't rely on a fixed state change order when
5667 going from READY => PAUSED because the sink might commit its
5668 new state first when the first buffer created by the source
5669 reaches the sink before the source has finished its change state.
5670 (Test case still fails at times, see #316856, comment 5 onwards)
5672 2005-09-24 Wim Taymans <wim@fluendo.com>
5674 * docs/design/part-events.txt:
5675 * docs/design/part-gstbus.txt:
5676 * docs/design/part-gstpipeline.txt:
5677 * docs/design/part-messages.txt:
5678 * docs/design/part-overview.txt:
5679 * docs/design/part-segments.txt:
5686 * gst/gstiterator.c:
5687 Various documentation updates.
5689 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
5692 Well, that's embarassing. Luckily we weren't using
5693 GST_CLOCK_DIFF anywhere.
5695 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5697 * common/gtk-doc.mak:
5698 don't fail on building XML, FC4 slave shows a bunch of doc
5699 missing bits that I don't get
5701 * gst/gstpipeline.c:
5702 * gst/gststructure.c:
5705 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
5707 * docs/design/part-gstbin.txt:
5708 * docs/design/part-gstbus.txt:
5710 Add blurb about how the bus goes into flushing mode and
5711 drops all messages when its bin goes from READY into NULL
5714 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5716 * docs/gst/gstreamer-sections.txt:
5717 * gst/gststructure.c: (gst_structure_get_clock_time):
5718 * gst/gststructure.h:
5719 add a method to get a GstClockTime out of a structure
5721 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
5723 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5724 (test_children_state_change_order_semi_sink), (gst_bin_suite):
5725 Added test to check state change order in bins (can still be made
5726 to fail here under heavy disk load; bails out with 'Push on pad
5727 fakesink:sink0, but it was not activated in push mode').
5729 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5730 Fix state change order when there is only a semi sink (#316856)
5732 * gst/gstbus.c: (gst_bus_class_init):
5733 Use _class_peek_parent(), not _class_ref(); fix docs to say
5734 'default main context' instead of 'mainloop' where that is
5737 * gst/gstelement.c: (gst_element_commit_state),
5738 (gst_element_set_state):
5739 Fix typos in debug messages
5741 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5744 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5745 * gst/gstpluginfeature.c:
5748 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5749 change an assert into an error until it gets fixed properly
5751 2005-09-23 Stefan Kost <ensonic@users.sf.net>
5753 * docs/gst/gstreamer-sections.txt:
5754 * docs/gst/tmpl/.cvsignore:
5755 * docs/gst/tmpl/gstelement.sgml:
5756 * docs/gst/tmpl/gstinfo.sgml:
5757 * docs/gst/tmpl/gstobject.sgml:
5762 * gst/gstobject.c: (gst_object_class_init):
5764 inlined 3 more biiiig doc files and added some missing docs on the fly
5766 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5768 * check/gst/.cvsignore:
5769 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5770 * gst/gstregistryxml.c: (load_plugin),
5771 (gst_registry_xml_save_plugin):
5772 put back source in registry. add checks for find_plugin.
5773 * testsuite/states/bin.c: (assert_state), (empty_bin),
5774 (test_adding_one_element), (main):
5775 * testsuite/states/locked.c: (main):
5776 some compile/run fixes
5778 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
5780 * check/gst/gstvalue.c: (GST_START_TEST):
5781 fix leaks in the test itself
5783 2005-09-22 Wim Taymans <wim@fluendo.com>
5785 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5786 (gst_base_sink_send_event), (gst_base_sink_peer_query),
5787 (gst_base_sink_query):
5788 Prepare for more accurate position reporting and query
5791 * gst/gstelement.c: (gst_element_send_event),
5792 (gst_element_set_state):
5795 2005-09-22 Wim Taymans <wim@fluendo.com>
5797 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5798 (gst_query_parse_segment):
5801 Add segment query for future use.
5803 2005-09-22 Wim Taymans <wim@fluendo.com>
5805 * gst/gstbin.c: (gst_bin_add_func):
5806 Some more debug info.
5808 * gst/gstelement.c: (gst_element_send_event):
5812 Don't know how flags got broken.
5817 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
5819 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5820 Add simplistic test suite for GST_TYPE_DATE serialisation and
5823 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
5825 * docs/gst/gstreamer-sections.txt:
5826 * gst/gststructure.c: (gst_structure_set_valist),
5827 (gst_structure_get_date):
5828 * gst/gststructure.h:
5829 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5830 (gst_date_copy), (gst_value_compare_date),
5831 (gst_value_serialize_date), (gst_value_deserialize_date),
5832 (gst_value_transform_date_string),
5833 (gst_value_transform_string_date), (_gst_value_initialize):
5835 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5836 bunch of utility functions along with a hack that checks that
5837 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5838 is required. Part of the grand scheme in #170777.
5840 2005-09-22 Andy Wingo <wingo@pobox.com>
5842 * gst/gstconfig.h.in: Psych out gtk-doc.
5844 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5846 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5848 * tools/gst-inspect.c (print_element_list): Plug some
5849 inconsequential leaks.
5851 * gst/gstregistry.c (gst_registry_get_default): Doc.
5853 * check/gst/gstplugin.c:
5854 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5855 * gst/gstelementfactory.c (gst_element_factory_create):
5856 * gst/gstindexfactory.c (gst_index_factory_create): Update for
5859 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5860 (gst_plugin_feature_load): Doc, don't eat refs.
5862 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5863 (gst_plugin_list_free): Doc.
5864 (gst_plugin_load_file): Doc updates.
5866 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5867 accessors returning refcounted objects, return a ref.
5869 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5870 accessor for caps. IDEMPOTENCE. Oh yes.
5872 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
5874 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5876 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5877 (_gst_debug_register_funcptr):
5878 Add mutex to serialise access to the hash table with
5879 the function pointer => function name string mapping;
5880 make that hash table static scope (#316809).
5882 * gst/registries/.cvsignore:
5883 Remove left-over file.
5885 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
5887 * docs/pwg/appendix-porting.xml:
5888 And something about newsegment events and caps-on-buffers to
5889 the porting guide (feel free to improve).
5891 2005-09-21 Andy Wingo <wingo@pobox.com>
5893 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5894 data and event probes on the same pad.
5895 (test_buffer_probe_once): Test that removing probes from within
5896 the probe functions works.
5898 2005-09-21 Andy Wingo <wingo@pobox.com>
5900 * check/gst/gstutils.c: New file.
5901 (test_buffer_probe_n_times): A simple buffer probe test. More to
5904 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5905 have-data::buffer, not have-data.
5906 (gst_pad_add_event_probe): Likewise for have-data::event.
5907 (gst_pad_add_data_probe): More docs. The part about 'resolving the
5908 peer' isn't quite right yet though.
5909 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
5910 (gst_pad_remove_data_probe): Change to take the guint handler_id
5911 as their arg, not the function+data, which is more glib-like.
5913 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5914 the signal emission to indicate if the data is a buffer or an
5916 (gst_pad_get_type): Initialize buffer and event quarks.
5917 (gst_pad_class_init): have-data is now a detailed signal, yes it
5920 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
5922 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5923 * gst/gstutils.c: (gst_util_set_value_from_string),
5924 (gst_util_set_object_arg):
5925 Don't put functional code in g_return_if_fail() or
5926 g_return_val_if_fail() statements, otherwise things will
5927 break when G_DISABLE_CHECKS is defined during compilation.
5929 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5931 * docs/gst/tmpl/.cvsignore:
5932 * docs/gst/tmpl/gstvalue.sgml:
5935 inlied another one and added some obvious docs
5937 2005-09-21 Wim Taymans <wim@fluendo.com>
5939 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5940 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5941 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5942 (gst_fdsrc_get_property), (gst_fdsrc_create):
5943 * gst/elements/gstfdsrc.h:
5944 Properly implement fdsrc. Removed signal and timeout,
5945 better implemented somewhere else.
5947 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5949 * docs/gst/tmpl/.cvsignore:
5950 * docs/gst/tmpl/gstimplementsinterface.sgml:
5951 * gst/gstinterface.c:
5954 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5956 * docs/gst/gstreamer-sections.txt:
5957 * docs/gst/tmpl/.cvsignore:
5958 * docs/gst/tmpl/gstenumtypes.sgml:
5959 remove obsolete doc file
5961 2005-09-21 David Schleef <ds@schleef.org>
5963 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5964 little beer, fix a little leak.
5966 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5968 * docs/gst/gstreamer-docs.sgml:
5969 * docs/gst/gstreamer-sections.txt:
5970 * docs/gst/tmpl/.cvsignore:
5975 * gst/gstindex.c: (gst_index_class_init):
5977 * gst/gstindexfactory.c: (gst_index_factory_get_type),
5978 (gst_index_factory_class_init), (gst_index_factory_init),
5979 (gst_index_factory_finalize), (gst_index_factory_new),
5980 (gst_index_factory_destroy), (gst_index_factory_find),
5981 (gst_index_factory_create), (gst_index_factory_make):
5982 * gst/gstindexfactory.h:
5983 * gst/gstpluginfeature.c:
5984 * gst/gstpluginfeature.h:
5985 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5986 more docs inlined, splitted gstindex.{c,h}
5988 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
5990 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5993 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
5995 * gst/elements/gstfilesink.c: (gst_file_sink_init):
5996 Set sync to FALSE by default.
5998 2005-09-20 Wim Taymans <wim@fluendo.com>
6000 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6001 (gst_base_sink_init):
6002 Make sync property settable from subclass.
6004 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6005 (gst_fake_sink_change_state):
6006 Set sync to FALSE by default.
6008 2005-09-20 Wim Taymans <wim@fluendo.com>
6010 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6011 * tools/gst-launch.c: (main):
6012 The timeout handler should have lower priority than the source
6013 so we don't timeout before popping a message with 0 timeout.
6014 Dump error messages after failed state change.
6016 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6018 * tools/gst-inspect.c: (print_element_properties_info):
6021 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6023 * check/gst/gstevent.c:
6024 * gst/elements/gstfakesink.c:
6025 * gst/elements/gstfakesink.h:
6026 remove the sync property from fakesink.
6027 has the side effect of setting sync TRUE
6028 for fakesink, which is a change. Anyone who knows how
6029 to fix this nicely in a GObject-y way, feel free.
6031 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6033 * docs/gst/gstreamer-docs.sgml:
6034 remove probe refsection
6036 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6038 * check/Makefile.am:
6039 disable valgrinding the controller test again
6040 * docs/gst/gstreamer-sections.txt:
6041 update for api-changes
6043 2005-09-20 Wim Taymans <wim@fluendo.com>
6045 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6046 (gst_base_sink_set_property), (gst_base_sink_get_property),
6047 (gst_base_sink_do_sync):
6048 * gst/base/gstbasesink.h:
6049 Added sync property to basesink to disable clock sync.
6051 2005-09-20 Andy Wingo <wingo@pobox.com>
6053 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6054 eating the caller's refcount.
6056 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
6057 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6060 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6061 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6062 of GLib 2.8 public, so we can know which refcount to check in
6065 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6066 (gst_object_init): Only set the gst refcount if we're going ahead
6067 with the refcount hack.
6069 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6071 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6072 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6073 more leaks plumbed, added more debug-logging
6077 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6080 remove include of gstmemchunk.h
6082 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6084 * gst/gstclock.c: (_gst_clock_id_free):
6085 Commit from the Political Party For More Atomic CVS Commits,
6086 so that people don't waste too much of their day fishing
6087 out obvious leaks out of massive commits.
6088 Oh, and fix a pretty damn obvious leak in the memchunk
6091 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6093 * check/Makefile.am:
6094 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6095 plug mem-leak, re-add to valgrindable tests
6097 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6100 unbreak the build for those who have chronic arthritis
6101 and typing "make check" is just too taxing on the hands
6103 2005-09-20 Andy Wingo <wingo@pobox.com>
6105 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6106 really want it out, you should fix plugins at the same time.
6108 2005-09-19 Stefan Kost <ensonic@users.sf.net>
6111 * docs/gst/gstreamer-sections.txt:
6113 added missing symbols to api docs
6114 disable ref-count hack if we have glib >= 2.8
6116 2005-09-19 David Schleef <ds@schleef.org>
6118 * docs/gst/Makefile.am: Ignore a few more internal headers
6119 * docs/gst/gstreamer-docs.sgml: Remove old sections
6120 * docs/gst/gstreamer-sections.txt: Remove old sections
6121 * docs/gst/tmpl/gstobject.sgml: update
6122 * docs/gst/tmpl/gstplugin.sgml: update
6123 * docs/gst/tmpl/gstpluginfeature.sgml: update
6124 * docs/random/ds/0.9-suggested-changes: update.
6125 * gst/Makefile.am: remove memchunk and trashstack, since they're
6127 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6128 * gst/gst.h: don't include some headers
6129 * gst/gstchildproxy.c: add gstmarshal.h
6130 * gst/gstclock.c: Don't use memchunks
6131 * gst/gstminiobject.c: Add some docs
6132 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6133 * gst/gstobject.h: same
6134 * gst/gstplugin.c: include gstmacros.h
6135 * gst/gstplugin.h: don't include gstmacros.h, since it's private
6136 * gst/gstquery.c: don't use memchunks
6137 * gst/gstregistry.c: rename gst_registry_deinit()
6138 * gst/gstregistry.h: same
6140 2005-09-19 David Schleef <ds@schleef.org>
6142 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6143 * docs/libs/gstreamer-libs-sections.txt:
6144 * docs/libs/tmpl/gstgetbits.sgml:
6145 * docs/libs/tmpl/gstputbits.sgml:
6147 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
6149 * win32/gstenumtypes.c:
6150 * win32/gstenumtypes.h:
6153 2005-09-19 Wim Taymans <wim@fluendo.com>
6155 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6156 Automatically PAUSE and RESUME a pipeline when a flushing seek
6159 2005-09-19 Andy Wingo <wingo@pobox.com>
6161 * gst/gstregistry.h: Spacing fixen.
6163 2005-09-19 Wim Taymans <wim@fluendo.com>
6165 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6166 Handle state change failure more correctly.
6168 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6170 * check/Makefile.am:
6171 * check/pipelines/cleanup.c: (run_pipeline):
6172 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6174 enable cleanup again after fixing the leak
6176 some more info on docs
6178 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6180 * check/Makefile.am:
6181 re-enable tests now that leaks are plugged
6183 * check/gst/gstbin.c:
6184 * check/gst/gstpipeline.c:
6185 add some more tests while fixing leaks
6187 make sure binaries are uptodate when valgrinding/gdbing
6189 * gst/gstelementfactory.c:
6190 remove a ref too many, and add a FIXME for when we get
6191 round to disposing of classes
6193 fix the refcounting when loading a plugin from a file and
6194 the code pretends that the pointer is the same even though
6195 of course it can change
6196 * gst/gstpluginfeature.c:
6197 unref plugins marked cached (a bit confusing as a name)
6198 as the docs state should be done
6199 various doc additions to explain refcounting
6200 * gst/gstregistry.c:
6201 * gst/gstregistryxml.c:
6204 2005-09-19 Wim Taymans <wim@fluendo.com>
6206 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6207 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6208 (send_messages), (GST_START_TEST), (gstbus_suite):
6209 * check/gst/gstpipeline.c: (GST_START_TEST):
6210 * check/pipelines/cleanup.c: (run_pipeline):
6211 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6213 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6214 (gst_bus_source_check), (gst_bus_source_dispatch),
6215 (gst_bus_create_watch), (gst_bus_add_watch_full),
6216 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6218 * tools/gst-launch.c: (event_loop):
6219 * tools/gst-md5sum.c: (event_loop):
6220 GstBusHandler -> GstBusFunc, return value has the same meaning as
6221 any other GSource (FALSE == remove source).
6222 _add_watch() and _add_watch_full() now take a MessageType mask to
6223 only handle specific types of messages.
6224 _poll() returns the GstMessage instead of the message type to avoid
6226 _have_pending() takes a MessageType mask now too.
6227 Added testsuite for multiple bus watches.
6228 Fix testsuites and applications for new bus API.
6230 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6232 * check/Makefile.am:
6233 mark a bunch of the tests as to fix until we fix them
6235 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6238 use GST_PLUGIN settings for valgrind tests as well, so we're
6239 valgrinding the correct thing
6240 * gst/gst.c: (init_post):
6243 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6245 * gst/gst.c: (init_post), (gst_deinit):
6246 * gst/gstelementfactory.c: (gst_element_factory_class_init),
6247 (gst_element_factory_finalize), (gst_element_factory_cleanup):
6248 * gst/gstindex.c: (gst_index_factory_class_init),
6249 (gst_index_factory_finalize):
6250 * gst/gstobject.c: (gst_object_dispose):
6251 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6252 (gst_plugin_load_file), (gst_plugin_desc_free):
6253 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6254 (gst_plugin_feature_finalize):
6255 * gst/gstregistry.c: (gst_registry_class_init),
6256 (gst_registry_init), (gst_registry_finalize),
6257 (gst_registry_get_default), (gst_registry_deinit):
6258 * gst/gstregistry.h:
6259 * gst/gstregistryxml.c: (load_feature), (load_plugin):
6260 various cleanups and memleak plugging. make valgrind is happy now.
6262 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6265 add a check-valgrind target
6267 2005-09-18 David Schleef <ds@schleef.org>
6269 * tools/gst-inspect.c: Revert the GOption code.
6271 2005-09-17 David Schleef <ds@schleef.org>
6273 * check/Makefile.am: Fix environment variables.
6274 * check/gst/gstplugin.c: Fix for API changes.
6275 * tools/gst-inspect.c: Fix for API changes.
6276 * tools/gst-xmlinspect.c: Fix for API changes.
6277 * gst/gstelementfactory.c:
6280 * gst/gstpluginfeature.c:
6281 * gst/gstpluginfeature.h:
6282 * gst/gstregistry.c:
6283 * gst/gstregistry.h:
6284 * gst/gstregistryxml.c:
6285 * gst/gsttypefind.c:
6286 * gst/gsttypefindfactory.c:
6287 * gst/indexers/gstfileindex.c:
6288 * gst/indexers/gstmemindex.c:
6289 * gst/schedulers/Makefile.am:
6290 Change registry to keep track of both plugins and features,
6291 removing the feature tracking from plugins themselves.
6293 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
6295 * check/Makefile.am:
6296 * tools/gst-register.1.in:
6299 2005-09-15 David Schleef <ds@schleef.org>
6301 * check/gst/gstplugin.c:
6302 * gst/gstelementfactory.c:
6304 * gst/gstpluginfeature.c:
6305 * gst/gstregistry.c:
6306 Getting tired of debugging. Disabled all the unreffing of
6307 plugins and features, which fixes the segfaults, but of
6308 course leaks like crazy. At least playbin works.
6310 2005-09-15 David Schleef <ds@schleef.org>
6312 * check/gst/gstplugin.c: (register_check_elements),
6313 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6315 * gst/elements/gsttypefindelement.c: Fix refcounting.
6316 * gst/gsttypefind.c:
6317 * gst/gsttypefindfactory.c:
6318 * gst/gsttypefindfactory.h:
6320 2005-09-15 David Schleef <ds@schleef.org>
6322 * gst/gstindex.c: get refcounting correct.
6323 * gst/gstregistry.c: Handle the case where a feature/plugin is
6326 2005-09-15 David Schleef <ds@schleef.org>
6328 * check/Makefile.am:
6329 * check/gst/gstplugin.c: Add test
6330 * gst/gstplugin.c: Fix problems noticed by testsuite
6332 * gst/gstregistry.c:
6333 * gst/gstregistry.h:
6335 2005-09-15 David Schleef <ds@schleef.org>
6337 * gst/gstplugin.c: Implement semi-decent recounting and locking
6338 in plugins and plugin features.
6340 * gst/gstpluginfeature.c:
6341 * gst/gstpluginfeature.h:
6342 * gst/gstregistry.c:
6344 2005-09-15 Michael Smith <msmith@fluendo.com>
6346 * gst/gstregistry.c: (gst_registry_get_feature_list):
6347 Implement this. Makes oggdemux work; decodebin still broken.
6349 2005-09-14 David Schleef <ds@schleef.org>
6351 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6353 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6354 * gst/check/Makefile.am:
6355 * libs/gst/controller/Makefile.am:
6356 * libs/gst/dataprotocol/Makefile.am:
6358 2005-09-14 David Schleef <ds@schleef.org>
6360 * configure.ac: Remove getbits library. Nothing uses it, and
6361 it should be in something like liboil if someone did want
6363 * libs/gst/Makefile.am:
6364 * libs/gst/getbits/Makefile.am:
6365 * libs/gst/getbits/gbtest.c:
6366 * libs/gst/getbits/getbits.c:
6367 * libs/gst/getbits/getbits.h:
6368 * libs/gst/getbits/gstgetbits_generic.c:
6369 * libs/gst/getbits/gstgetbits_i386.s:
6370 * libs/gst/getbits/gstgetbits_inl.h:
6372 2005-09-14 David Schleef <ds@schleef.org>
6374 * gst/Makefile.am: Dist glib-compat.h
6376 2005-09-14 David Schleef <ds@schleef.org>
6378 * configure.ac: Remove gst/registries, since it's no longer used.
6379 * gst/registries/Makefile.am:
6380 * gst/registries/gstlibxmlregistry.c:
6381 * gst/registries/gstlibxmlregistry.h:
6382 * gst/registries/gstxmlregistry.c:
6383 * gst/registries/gstxmlregistry.h:
6384 * gst/registries/registrytest.c:
6386 2005-09-14 David Schleef <ds@schleef.org>
6388 * gst/glib-compat.h:
6389 * gst/gstregistryxml.c:
6390 Convergence is near. Seriously.
6392 2005-09-14 David Schleef <ds@schleef.org>
6394 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6395 * gst/glib-compat.h:
6396 Attempt #4 to appease the buildbots.
6398 2005-09-14 David Schleef <ds@schleef.org>
6400 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6403 2005-09-14 David Schleef <ds@schleef.org>
6405 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6408 2005-09-14 David Schleef <ds@schleef.org>
6410 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6413 2005-09-14 David Schleef <ds@schleef.org>
6415 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6416 * gst/glib-compat.h: Add some functions that are in newer versions
6417 of glib than we care to require.
6418 * gst/gstregistryxml.c: Use them.
6420 2005-09-14 David Schleef <ds@schleef.org>
6422 * po/POTFILES.in: remove gst-register.c
6424 2005-09-14 David Schleef <ds@schleef.org>
6426 * docs/gst/gstreamer-docs.sgml:
6427 * docs/gst/gstreamer-sections.txt:
6428 * docs/gst/gstreamer.types:
6429 * docs/gst/tmpl/gstelement.sgml:
6430 * docs/gst/tmpl/gstplugin.sgml:
6431 * docs/gst/tmpl/gstpluginfeature.sgml:
6432 Documentation updates for registry changes.
6434 2005-09-14 David Schleef <ds@schleef.org>
6436 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6437 because we don't require glib-2.8.
6439 2005-09-14 David Schleef <ds@schleef.org>
6441 * gst/gstregistryxml.c: Added. Essentially moved out of the
6442 registries directory.
6444 2005-09-14 David Schleef <ds@schleef.org>
6446 * check/Makefile.am:
6447 * check/generic/states.c:
6451 * gst/gst_private.h:
6452 * gst/gstelementfactory.c:
6457 * gst/gstpluginfeature.c:
6458 * gst/gstpluginfeature.h:
6459 * gst/gstregistry.c:
6460 * gst/gstregistry.h:
6461 * gst/gstregistrypool.c: remove
6462 * gst/gstregistrypool.h: remove
6463 * gst/gsttypefind.c:
6464 * gst/gsttypefindfactory.c:
6466 * tools/Makefile.am:
6467 * tools/gst-compprep.c:
6468 * tools/gst-inspect.c:
6469 * tools/gst-register.c: remove
6470 * tools/gst-xmlinspect.c:
6471 Registry rewrite. Changes registry from being a file created
6472 by a tool into a simple cache file created automatically by
6473 libgstreamer. Removed gst-register (because it's no longer
6474 needed). Remove registry pools, because we only have one
6475 registry implementation (XML). Fix up other subsystems as
6478 2005-09-13 Michael Smith <msmith@fluendo.com>
6480 * gst/gstconfig.h.in:
6481 Don't Use windows linking attributes for MinGW. Fixes #316157
6483 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
6485 * gst/gstutils.c: (set_state_async_thread_func),
6486 (gst_element_set_state_async):
6487 Apparently people think it's better if this function doesn't
6488 try to set the state to whatever state was asked for on the first
6489 call to this function for any object. Seriously.
6491 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6493 * check/gst/gstpipeline.c: (GST_START_TEST):
6494 * docs/gst/gstreamer-sections.txt:
6495 * gst/gstutils.c: (set_state_async_thread_func),
6496 (gst_element_set_state_async):
6498 add a "gst_element_set_state_async" method that
6499 sets the state and starts a thread to make sure the state
6500 change completes as best as it can
6502 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6504 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6505 codify design+behaviour in testsuite after discussion
6507 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6509 * docs/gst/tmpl/gstelement.sgml:
6510 * docs/manual/appendix-quotes.xml:
6512 * gst/gstelement.c: (gst_element_set_state):
6515 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
6517 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6518 (gst_base_transform_prepare_output_buf),
6519 (gst_base_transform_handle_buffer):
6520 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6521 (gst_capsfilter_prepare_buf):
6522 Remove the requirement for sub-classes to call the parent
6523 implementation of prepare_output_buffer with a wrapper function.
6526 * gst/gsttagsetter.h:
6529 2005-09-11 Stefan Kost <ensonic@users.sf.net>
6531 * docs/gst/gstreamer-sections.txt:
6534 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6536 * docs/gst/gstreamer-sections.txt:
6537 * docs/gst/tmpl/gstelement.sgml:
6538 * docs/gst/tmpl/gstplugin.sgml:
6539 * gst/gstminiobject.c:
6541 docs now stop throwing warnings
6543 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6545 * docs/gst/gstreamer-sections.txt:
6546 * docs/gst/gstreamer.types:
6547 * docs/gst/tmpl/gstpad.sgml:
6548 * docs/gst/tmpl/gsttypes.sgml:
6549 * gst/base/gstadapter.h:
6550 * gst/base/gstbasesink.h:
6551 * gst/base/gstbasesrc.h:
6561 * gst/gststructure.c:
6562 * gst/registries/gstlibxmlregistry.h:
6563 various documentation fixes
6565 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6567 * docs/gst/gstreamer-sections.txt:
6568 * docs/gst/tmpl/gstvalue.sgml:
6569 rearrange gstvalue section
6570 * gst/gstutils.c: (gst_element_state_get_name):
6572 * gst/gstvalue.c: (_gst_value_initialize):
6576 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
6578 * check/gst-libs/controller.c:
6580 * gst/base/gstbasetransform.c:
6581 (gst_base_transform_default_prepare_buf),
6582 (gst_base_transform_handle_buffer):
6583 * gst/base/gstbasetransform.h:
6584 Some more basetransform changes and fixes to enable sub-classes
6585 that modify buffer metadata only.
6586 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6587 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6588 (gst_capsfilter_prepare_buf):
6589 If the output pad has fixed allowed caps and input buffers
6590 don't have any, set the fixed caps on outgoing buffers.
6592 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
6593 * check/elements/identity.c: (GST_START_TEST):
6594 Make the error a little clearer when the test fails because
6595 identity made a copy of the buffer.
6596 * docs/gst/gstreamer-sections.txt:
6597 New symbols in gstbasetransform.h
6598 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6599 (gst_base_transform_init), (gst_base_transform_transform_size),
6600 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6601 (gst_base_transform_default_prepare_buf),
6602 (gst_base_transform_get_unit_size),
6603 (gst_base_transform_buffer_alloc),
6604 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6605 (gst_base_transform_change_state),
6606 (gst_base_transform_set_passthrough),
6607 (gst_base_transform_set_in_place),
6608 (gst_base_transform_is_in_place):
6609 * gst/base/gstbasetransform.h:
6610 Change BaseTransform to separate in_place operate from same_caps
6611 output. in_place implies that the element can perform the transform
6612 on incoming buffers in-place, even if the caps on the output are
6614 Sub-class elements can now implement special buffer allocation
6615 methods for outgoing buffers if they wish to.
6616 Big documentation addition.
6617 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6618 * gst/elements/gstelements.c:
6619 Changes for basetransform modifications.
6620 * gst/elements/Makefile.am:
6621 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6622 Compile fix. Extra debug output.
6624 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6626 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6628 add tests for valid pad naming
6629 * gst/check/gstcheck.c: (gst_check_log_message_func),
6630 (gst_check_log_critical_func):
6632 remove printing of code, it is fragile when the code contains
6633 % and the line number is enough info
6634 * gst/check/gstcheck.h:
6635 * gst/gstpad.c: (gst_pad_template_new):
6638 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6641 say what CHECK flags we use
6642 * docs/libs/gstreamer-libs.types:
6643 * libs/gst/controller/Makefile.am:
6644 * libs/gst/controller/gst-controller.c:
6645 * libs/gst/controller/gst-controller.h:
6646 * libs/gst/controller/gst-helper.c:
6647 * libs/gst/controller/gst-interpolation.c:
6648 * libs/gst/controller/gstcontroller.c:
6649 * libs/gst/controller/gsthelper.c:
6650 * libs/gst/controller/gstinterpolation.c:
6651 * tools/gst-inspect.c: (print_plugin_info):
6652 we don't use dashes in header names
6654 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6656 * check/Makefile.am:
6657 * check/gst/.cvsignore:
6658 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6659 (gst_pipeline_suite), (main):
6660 adding a test for pipelines and state changes
6661 * gst/gstutils.c: (get_state_func):
6663 * gstreamer.spec.in:
6666 2005-09-08 Michael Smith <msmith@fluendo.com>
6668 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6669 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6670 (gst_file_src_is_seekable), (gst_file_src_get_size),
6671 (gst_file_src_start):
6672 * gst/elements/gstfilesrc.h:
6673 Various fixes for unseekable, unmmapable, and non-normal files, so
6674 that fallback to read() rather than mmap() works.
6675 * gst/gstevent.c: (gst_event_new_newsegment):
6676 Allow newsegment events with segment_start == segment_end, as will
6677 correctly happen if you use filesrc on a zero-size file, for
6680 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
6682 * gst/gstplugin.c: (gst_plugin_load_file):
6683 Call g_module_close when we don't load the module
6685 * gst/registries/gstlibxmlregistry.c:
6686 (gst_xml_registry_get_property):
6687 Port leak fix from 0.8
6689 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6691 * docs/gst/gstreamer-docs.sgml:
6692 * docs/gst/tmpl/.cvsignore:
6693 * docs/gst/tmpl/gsttrace.sgml:
6694 * docs/gst/tmpl/gsttrashstack.sgml:
6703 * gst/gsttaginterface.c:
6704 * gst/gsttaginterface.h:
6707 * gst/gsttagsetter.c:
6708 * gst/gsttagsetter.h:
6711 * gst/gsttrashstack.c:
6712 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6713 inlined docs for gsttrace, gsttrashstack
6715 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6718 * gst/elements/gstbufferstore.h:
6719 * gst/elements/gsttypefindelement.c:
6720 * gst/elements/gsttypefindelement.h:
6722 * gst/gsttypefind.c:
6723 * gst/gsttypefind.h:
6724 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6725 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6726 (gst_type_find_factory_dispose),
6727 (gst_type_find_factory_unload_thyself),
6728 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6729 (gst_type_find_factory_get_caps),
6730 (gst_type_find_factory_get_extensions),
6731 (gst_type_find_factory_call_function):
6732 * gst/gsttypefindfactory.h:
6733 * gst/registries/gstlibxmlregistry.c:
6734 * gst/registries/gstxmlregistry.c:
6735 splitted gsttypefind into gsttypefind, gsttypefindfactory
6737 2005-09-07 Andy Wingo <wingo@pobox.com>
6739 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6740 condition whereby the pad's task function is entered before the
6741 pad_mode variable was set.
6743 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
6745 * gst/gstpad.c: (gst_pad_alloc_buffer):
6746 Catch misbehaving pad_alloc functions that don't
6747 set up caps and do it for them.
6749 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6751 * check/pipelines/simple_launch_lines.c: (run_pipeline):
6753 * docs/gst/tmpl/.cvsignore:
6754 * docs/gst/tmpl/gstmemchunk.sgml:
6755 * docs/gst/tmpl/gstparse.sgml:
6756 * docs/gst/tmpl/gsttaglist.sgml:
6757 * docs/gst/tmpl/gsttagsetter.sgml:
6758 * docs/gst/tmpl/gsttypefind.sgml:
6759 * docs/gst/tmpl/gsttypefindfactory.sgml:
6760 * gst/gstmemchunk.c:
6763 * gst/gsttaginterface.c:
6764 * gst/gsttypefind.c:
6765 * gst/gsttypefind.h:
6768 === release 0.9.2 ===
6770 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
6775 releasing 0.9.2, "South"
6777 2005-09-05 Andy Wingo <wingo@pobox.com>
6779 * gst/registries/gstxmlregistry.h:
6780 * gst/registries/gstxmlregistry.c: Um... resurrect...
6782 * gst/registries/gstxmlregistry.h:
6783 * gst/registries/gstxmlregistry.c: and update to newer API.
6784 Incidentally they should be a bit faster now that they don't have
6787 2005-09-05 Andy Wingo <wingo@pobox.com>
6789 * gst/registries/gstxmlregistry.h:
6790 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6791 replaced by the libxml registry a while back
6793 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
6795 * docs/gst/tmpl/gstplugin.sgml:
6796 * gst/elements/gstelements.c:
6798 * gst/gstplugin.c: (gst_plugin_register_func),
6799 (gst_plugin_desc_copy), (gst_plugin_desc_free),
6800 (gst_plugin_get_source):
6802 * gst/registries/gstlibxmlregistry.c: (load_plugin),
6803 (gst_xml_registry_save_plugin):
6804 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6805 (gst_xml_registry_save_plugin):
6806 * tools/gst-inspect.c: (print_plugin_info):
6807 add a "source" plugin description field, to represent the source
6808 module this plugin is a part of. By default GST_PLUGIN_DEFINE
6809 will set it to PACKAGE, which is automake's idea of the name of
6812 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
6818 * docs/faq/Makefile.am:
6819 * docs/gst/tmpl/gstelement.sgml:
6820 * docs/gst/tmpl/gsttypes.sgml:
6821 * docs/htmlinstall.mak:
6822 * docs/manual/Makefile.am:
6823 * docs/pwg/Makefile.am:
6824 reorganize doc build a little
6825 split out docbook and gtk-doc stuff
6826 have two separate --enable's and enable them through autogen
6827 but disable by default in configure (to be similar to other
6829 * gstreamer.spec.in:
6830 clean up docs install
6850 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
6852 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6855 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6856 (gst_fake_sink_change_state):
6857 Make state change function thread-safe.
6859 * gst/gstpad.c: (gst_pad_alloc_buffer):
6860 Set offset on generic buffer allocated by fallback.
6862 2005-09-03 Stefan Kost <ensonic@users.sf.net>
6864 * docs/gst/gstreamer-sections.txt:
6865 * docs/gst/tmpl/gstelement.sgml:
6867 * libs/gst/controller/gst-controller.c:
6868 (gst_controlled_property_set_interpolation_mode),
6869 (gst_controlled_property_new),
6870 (gst_controller_find_controlled_property):
6871 run the wingo-magic script against the docs
6873 2005-09-02 Stefan Kost <ensonic@users.sf.net>
6875 * docs/gst/gstreamer-docs.sgml:
6876 * docs/gst/gstreamer-sections.txt:
6877 * docs/gst/tmpl/.cvsignore:
6878 * docs/gst/tmpl/gstelementdetails.sgml:
6879 * docs/gst/tmpl/gstelementfactory.sgml:
6882 * gst/gstelementfactory.c:
6883 * gst/gstelementfactory.h:
6884 merged elementdetails docs into elementfactory docs
6887 2005-09-02 Andy Wingo <wingo@pobox.com>
6889 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6890 consider this enum an enum and not a flags.
6892 2005-09-02 Stefan Kost <ensonic@users.sf.net>
6894 * docs/gst/gstreamer-docs.sgml:
6895 * docs/gst/tmpl/.cvsignore:
6896 * docs/gst/tmpl/gstghostpad.sgml:
6897 * docs/gst/tmpl/gstiterator.sgml:
6898 * docs/gst/tmpl/gstmacros.sgml:
6899 * docs/gst/tmpl/gstrealpad.sgml:
6900 * docs/gst/tmpl/gstregistry.sgml:
6901 * docs/gst/tmpl/gstregistrypool.sgml:
6902 * docs/gst/tmpl/gststructure.sgml:
6903 * docs/gst/tmpl/gstsystemclock.sgml:
6904 * docs/gst/tmpl/gsttrace.sgml:
6905 * gst/gstghostpad.c:
6907 * gst/gstmemchunk.c:
6908 * gst/gstmemchunk.h:
6910 * gst/gstregistry.c:
6911 * gst/gstregistrypool.c:
6912 * gst/gststructure.c:
6913 * gst/gstsystemclock.c:
6916 2005-09-02 Andy Wingo <wingo@pobox.com>
6918 * gst/gstelement.h (GstState): Renamed from GstElementState,
6919 changed to be a normal enum instead of flags.
6920 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6921 munged to be GST_STATE_CHANGE_*.
6922 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6923 work with the new state representation.
6924 (GstStateChange): New enumeration of possible state transitions.
6925 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6926 (GstElementClass::change_state): Pass the GstStateChange along as
6927 an argument. Helps language bindings, so they don't have to use
6928 tricky lock-needing macros like GST_STATE_CHANGE ().
6930 * scripts/update-states (file): New script. Run it on a file to
6931 update it for state naming and API changes. Updates files in
6934 * All files updated for the new API.
6936 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
6938 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6939 * gst/gstutils.c: (gst_util_set_value_from_string),
6940 (gst_util_set_object_arg):
6941 fix a bunch of unchecked return values
6942 * tools/gst-complete.c: (main):
6943 * gstreamer.spec.in:
6946 2005-09-01 Wim Taymans <wim@fluendo.com>
6948 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6949 (gst_base_sink_event), (gst_base_sink_do_sync),
6950 (gst_base_sink_handle_event):
6951 * gst/base/gstbasesink.h:
6952 Handle newsegments more correctly.
6957 * gst/gstevent.c: (gst_event_new_newsegment):
6958 A newsegment cannot have a start_time of -1
6960 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
6962 * win32/gstenumtypes.c:
6963 * win32/gstenumtypes.h:
6966 2005-08-31 Stefan Kost <ensonic@users.sf.net>
6968 * libs/gst/controller/gst-controller.c:
6969 (gst_controlled_property_set_interpolation_mode),
6970 (gst_controlled_property_new):
6973 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
6975 * docs/faq/gst-uninstalled:
6980 * gst/gstutils.c: (gst_element_link_filtered):
6982 add gst_element_link_filtered
6984 2005-08-31 Stefan Kost <ensonic@users.sf.net>
6986 * docs/gst/gstreamer-docs.sgml:
6987 * docs/gst/gstreamer-sections.txt:
6988 * docs/gst/tmpl/.cvsignore:
6989 * docs/gst/tmpl/gsterror.sgml:
6990 * docs/gst/tmpl/gstfilter.sgml:
6991 * docs/gst/tmpl/gsturihandler.sgml:
6992 * docs/gst/tmpl/gsturitype.sgml:
6993 * docs/gst/tmpl/gstutils.sgml:
6994 * docs/gst/tmpl/gstxml.sgml:
7002 inlined more docs, fixed double id-ref
7004 2005-08-31 Wim Taymans <wim@fluendo.com>
7006 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7007 (gst_base_transform_handle_buffer):
7008 Passthrough elements don't need the caps as they don't care.
7010 2005-08-31 Wim Taymans <wim@fluendo.com>
7012 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7013 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7014 Don't leak refcounts on buffers.
7016 2005-08-31 Wim Taymans <wim@fluendo.com>
7018 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7019 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7020 (gst_base_transform_chain), (gst_base_transform_change_state):
7021 * gst/base/gstbasetransform.h:
7022 Handle the case where we are not negotiated more gracefully.
7024 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
7026 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7027 (gst_file_src_map_region):
7028 Set READONLY flag on mmap'ed buffers, otherwise
7029 gst_buffer_make_writable() won't work properly (#314708).
7031 2005-08-31 Wim Taymans <wim@fluendo.com>
7033 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7034 passthrough elements can even do inplace on non writable
7035 buffers (as they don't touch them).
7037 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7039 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7040 (gst_test_mono_source_set_property),
7041 (gst_test_mono_source_class_init), (GST_START_TEST),
7042 (gst_controller_suite):
7043 more tests (hehe I have the most)
7045 describe popping messages whenusing mulltiple sources
7046 * libs/gst/controller/gst-controller.c:
7047 (gst_controlled_property_set_interpolation_mode),
7048 (gst_controlled_property_new):
7049 * libs/gst/controller/gst-controller.h:
7050 * libs/gst/controller/gst-interpolation.c:
7051 implement boolean properties
7053 2005-08-31 Wim Taymans <wim@fluendo.com>
7055 * gst/gstminiobject.c: (gst_mini_object_ref):
7056 Cannot assert that the refcount has to be positive
7057 since a disposed object can be resurrected.
7059 2005-08-31 Wim Taymans <wim@fluendo.com>
7061 * gst/gstpad.c: (gst_pad_init):
7062 Revert change, need to first fix badly behaving
7065 2005-08-30 Wim Taymans <wim@fluendo.com>
7067 * check/elements/fakesrc.c: (setup_fakesrc):
7068 * check/elements/identity.c: (setup_identity):
7069 Activate pads before using them.
7071 2005-08-30 Wim Taymans <wim@fluendo.com>
7073 * gst/base/gstadapter.c: (gst_adapter_flush):
7074 Flushing out 0 bytes is ok for this function.
7076 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7077 no newsegment gives a warning and sets the start/stop to
7080 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7081 (gst_base_transform_set_passthrough):
7084 * gst/gstminiobject.c: (gst_mini_object_ref):
7085 Check refcount here too.
7087 * gst/gstpad.c: (gst_pad_init):
7088 Pads are initially flushing and refusing data.
7090 * gst/gstutils.c: (gst_element_link_pads_filtered):
7091 When adding a capsfilter element make sure it has the
7092 same state as the parent bin.
7094 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7096 * docs/gst/tmpl/.cvsignore:
7097 * docs/gst/tmpl/gstformat.sgml:
7098 * docs/gst/tmpl/gstversion.sgml:
7102 * gst/gstversion.h.in:
7103 more docs and two more inlined
7105 2005-08-30 Wim Taymans <wim@fluendo.com>
7107 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7108 Don't sync to clock.
7110 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7112 * docs/gst/gstreamer-sections.txt:
7113 ultral33t func10ns deserve to appear in the docs actually
7114 * docs/gst/tmpl/.cvsignore:
7115 * docs/gst/tmpl/gstcompat.sgml:
7116 * docs/gst/tmpl/gstconfig.sgml:
7117 * gst/check/gstcheck.c:
7119 * gst/gstconfig.h.in:
7122 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7124 * docs/gst/tmpl/.cvsignore:
7125 * docs/gst/tmpl/gstquery.sgml:
7126 * docs/gst/tmpl/gstutils.sgml:
7129 inlined and extended docs
7131 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7133 * check/gst-libs/controller.c: (GST_START_TEST),
7134 (gst_controller_suite):
7136 * docs/gst/tmpl/gstutils.sgml:
7137 * docs/libs/gstreamer-libs-sections.txt:
7138 * docs/libs/tmpl/gstdataprotocol.sgml:
7140 * examples/controller/audio-example.c: (main):
7141 controller example works now
7144 * tools/gst-inspect.c: (print_element_properties_info):
7145 show param spec flags
7147 2005-08-29 Andy Wingo <wingo@pobox.com>
7149 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7151 2005-08-28 Andy Wingo <wingo@pobox.com>
7153 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7154 as having two arguments instead of just one. Allows superclasses
7155 to access information on subclasses -- see the terrible for() loop
7156 in gtype.c:g_type_create_instance for the reason why. All callers
7159 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7161 * docs/design/part-messages.txt:
7163 * docs/gst/tmpl/.cvsignore:
7164 * docs/gst/tmpl/gstcaps.sgml:
7165 * docs/gst/tmpl/gstclock.sgml:
7172 added descriptions for bus and message
7173 inline caps and clock docs
7175 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7181 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7183 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7186 2005-08-26 Andy Wingo <wingo@pobox.com>
7188 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7189 element_set_state's return val.
7190 (test_2_elements): Add test that's been disabled for months.
7192 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7193 can-activate-pull properties.
7195 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7196 can-activate-pull properties. Implement is_seekable so fakesrc can
7197 operate in pull mode.
7199 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7201 (gst_base_sink_activate, gst_base_sink_activate_pull)
7202 (gst_base_sink_activate_push): Make activation mode choosing work.
7204 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7205 is right. Make pull mode work. Post an eos before pausing in pull
7207 (gst_base_sink_change_state): Pay attention to the core's
7208 change_state() return val.
7210 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7211 has-getrange properties. Cleanups.
7213 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7214 has_getrange and replace with can_activate_pull and
7217 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7218 locking comments. Remove has_loop, has_chain and replace with
7219 can_activate_pull and can_activate_push.
7221 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
7224 * examples/Makefile.am:
7225 * examples/metadata/Makefile.am:
7226 * examples/metadata/read-metadata.c: (message_loop),
7227 (have_pad_handler), (make_pipeline), (print_tag), (main):
7228 Add metadata reading example that loops over a list of filenames,
7229 dumping any tags found.
7231 * gst/gstbus.c: (gst_bus_dispose):
7232 * gst/gstelement.c: (gst_element_dispose):
7233 Release a few potentially-held references in dispose.
7235 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7237 * docs/gst/tmpl/gstminiobject.sgml:
7238 do *not* add tmpl/*.sgml files to CVS!
7240 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7242 * libs/gst/bytestream/.cvsignore:
7243 * libs/gst/bytestream/Makefile.am:
7244 * libs/gst/bytestream/adapter.c:
7245 * libs/gst/bytestream/adapter.h:
7246 * libs/gst/bytestream/bytestream.c:
7247 * libs/gst/bytestream/bytestream.h:
7248 * libs/gst/bytestream/filepad.c:
7249 * libs/gst/bytestream/filepad.h:
7250 removing obsolete files
7252 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7254 * docs/gst/gstreamer-docs.sgml:
7255 * docs/libs/gstreamer-libs-docs.sgml:
7256 disabed additional index entries again, as this makes docs-gen just
7257 slow and they aren't useful yet
7258 * docs/libs/gstreamer-libs-sections.txt:
7259 little -section.txt cleanup for libs
7261 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
7263 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7264 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7265 fix up some debugging
7266 (gst_base_transform_get_unit_size),
7267 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7268 (gst_base_transform_handle_buffer):
7269 * gst/base/gstbasetransform.h:
7270 handle and store timed NEWSEGMENT events so that subclasses that
7271 calculate time by counting samples have a segment_start time they
7272 need to add to their timestamps - see audioresample
7274 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7277 removed ';' from the end of macro defs
7278 * docs/gst/gstreamer-docs.sgml:
7279 * docs/gst/gstreamer-sections.txt:
7280 * docs/gst/tmpl/.cvsignore:
7282 * gst/gstelement.c: (gst_element_class_init),
7283 (gst_element_set_state), (activate_pads),
7284 (gst_element_save_thyself):
7285 * gst/gstevent.c: (gst_event_new_newsegment):
7287 * gst/gstiterator.c:
7288 * gst/gstiterator.h:
7291 * gst/gstutils.c: (gst_pad_query_convert):
7293 fixed parameter name mismatches between source, header and docs
7294 added some more docs, resolved the last batch of unused elements in
7295 docs (now someone needs to doc them)
7297 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7299 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7300 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7301 don't walk through the plugins backwards. Where is all this
7302 reversed logic coming from ?
7304 2005-08-25 Wim Taymans <wim@fluendo.com>
7306 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7307 (gst_base_transform_transform_size),
7308 (gst_base_transform_configure_caps),
7309 (gst_base_transform_get_unit_size),
7310 (gst_base_transform_buffer_alloc),
7311 (gst_base_transform_change_state):
7312 * gst/base/gstbasetransform.h:
7313 Cache caps unit_size.
7314 Make sure we cannot negotiate up and downstream at the
7317 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7319 * gst/gst.c: (init_pre), (init_post):
7320 register the installed plugin path after the env var
7321 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7322 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7323 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7324 directories, so the tests can prefer uninstalled over installed
7326 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7328 * gst/base/gstbasetransform.h:
7333 2005-08-25 Wim Taymans <wim@fluendo.com>
7335 * gst/gstbin.c: (bin_bus_handler):
7336 Be a bit more conservative about the posted message.
7338 * gst/gstbus.c: (gst_bus_post):
7339 Some cleanups, warn wrong return values.
7341 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
7343 * check/gst/gstbin.c: (GST_START_TEST):
7344 * gst/gstbin.c: (bin_bus_handler):
7345 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7346 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7347 (gst_message_new_warning), (gst_message_new_tag),
7348 (gst_message_new_state_changed), (gst_message_new_segment_start),
7349 (gst_message_new_segment_done), (gst_message_new_custom):
7351 * tools/gst-launch.c: (event_loop):
7352 * tools/gst-md5sum.c: (event_loop):
7353 Revert unpopular change for GST_MESSAGE_SRC to GObject.
7355 2005-08-25 Wim Taymans <wim@fluendo.com>
7357 * check/generic/states.c: (GST_START_TEST):
7358 Cleanup can be done at the end.
7360 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7361 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7362 (gst_task_get_state), (gst_task_start), (gst_task_pause):
7363 Oh boy.. Thanks for finding this, Thomas.
7365 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7367 * docs/gst/gstreamer.types:
7370 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7372 * docs/gst/gstreamer-docs.sgml:
7373 * docs/gst/gstreamer-sections.txt:
7374 * docs/gst/tmpl/.cvsignore:
7376 * gst/gstiterator.c:
7378 * gst/registries/gstxmlregistry.h:
7379 added missing classes and symbols (123 more to go)
7380 removed removed symbols from section file
7381 fixed many doc-comments
7383 2005-08-24 Wim Taymans <wim@fluendo.com>
7385 * check/generic/states.c: (GST_START_TEST):
7386 Make sure all tasks are stopped.
7388 * check/gst/gstbin.c: (GST_START_TEST):
7389 Unref after usage for proper valgrinding.
7391 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7392 Really wait for the task to stop before destroying the
7395 * gst/gstqueue.c: (gst_queue_sink_activate_push),
7396 (gst_queue_src_activate_push):
7397 Small cleanups. Don't stop the task when we did not start
7400 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7401 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7402 (gst_task_get_state), (gst_task_start), (gst_task_pause),
7405 Protect the stream lock with the object lock.
7406 Disallow setting the stream lock when running.
7407 Add cleanup_all to wait for the threadpool to finish.
7408 Remove code to autoallocate a mutex if none was provided.
7409 Add _join() to wait for a task to stop.
7410 Protect the thread pool with a global lock.
7412 2005-08-24 Wim Taymans <wim@fluendo.com>
7414 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7415 (gst_base_sink_get_times), (gst_base_sink_do_sync),
7416 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7417 * gst/base/gstbasesink.h:
7418 Handle newsegment events correctly.
7419 Drop buffers out of the segment range.
7421 2005-08-22 Andy Wingo <wingo@pobox.com>
7423 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7424 macro, implements an interface and gstimplementsinterface for a
7427 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7429 * check/Makefile.am:
7430 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7431 add a test that does a bunch of state changes on elements
7432 needs some fixing for valgrind
7433 * check/states/sinks.c: (gst_object_suite):
7436 add prototype for gst_caps_is_equal_fixed
7438 * gst/gstregistrypool.c:
7441 2005-08-24 Andy Wingo <wingo@pobox.com>
7443 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7444 convert a negative value. Doesn't make much sense. Mostly this is
7445 here to force callers to ensure -1 maps to -1.
7447 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7449 * docs/pwg/advanced-types.xml:
7450 Well done to Michael for catching my deliberate introduction
7451 of this spelling mistake.
7452 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7454 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7455 unlink pads before removing the element from the bin.
7457 2005-08-24 Andy Wingo <wingo@pobox.com>
7459 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7460 the same thing as GST_DEBUG=*:4.
7461 (parse_debug_level, parse_debug_category): New helper parsers.
7463 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7465 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7466 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7467 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7468 (gst_base_transform_buffer_alloc),
7469 (gst_base_transform_handle_buffer):
7470 use gboolean return values and pointers to size so we can use the
7471 full GST_BUFFER_SIZE range (guint) for buffer sizes
7472 use GstPadDirection for transform_caps
7473 * gst/base/gstbasetransform.h:
7474 rename get_size to get_unit_size since that's what it is
7475 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7476 use GstPadDirection for transform_caps
7477 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7479 cleanup and debugging
7481 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7483 * gst/gstelement.c: (gst_element_class_init),
7484 (gst_element_set_state), (activate_pads),
7485 (gst_element_save_thyself):
7486 * tools/gst-compprep.c: (main):
7487 * tools/gst-inspect.c: (print_element_properties_info):
7488 * tools/gst-xmlinspect.c: (print_element_properties):
7489 Fixed long standing mem-leak
7491 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7493 * check/gst/gstbin.c: (GST_START_TEST):
7494 * gst/gstbin.c: (bin_bus_handler):
7495 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7496 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7497 (gst_message_new_warning), (gst_message_new_tag),
7498 (gst_message_new_state_changed), (gst_message_new_segment_start),
7499 (gst_message_new_segment_done), (gst_message_new_custom):
7501 * tools/gst-launch.c: (event_loop):
7502 * tools/gst-md5sum.c: (event_loop):
7503 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7504 that applications can sensibly post custom messages with references
7505 to their own objects.
7507 2005-08-24 Andy Wingo <wingo@pobox.com>
7509 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7512 2005-08-24 Wim Taymans <wim@fluendo.com>
7514 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7515 (gst_base_transform_transform_caps),
7516 (gst_base_transform_transform_size),
7517 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7518 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7519 (gst_base_transform_handle_buffer):
7520 * gst/base/gstbasetransform.h:
7521 Many fixes and new features added by Thomas. Can now also do
7522 transforms with variable sizes and a custom fixate_caps function.
7524 2005-08-24 Wim Taymans <wim@fluendo.com>
7526 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7530 Cast to ClockTime before formatting to time.
7535 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7537 * check/gst-libs/controller.c: (GST_START_TEST),
7538 (gst_controller_suite):
7539 * docs/gst/tmpl/gstcaps.sgml:
7540 * docs/gst/tmpl/gstghostpad.sgml:
7541 * docs/gst/tmpl/gstquery.sgml:
7542 * docs/gst/tmpl/gstutils.sgml:
7543 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7544 (gst_object_sink_values), (gst_object_get_value_arrays),
7545 (gst_object_get_value_array):
7546 gracefully handle helper method calls to objects that are not beeing
7547 controlled, added test case for that
7549 2005-08-23 Wim Taymans <wim@fluendo.com>
7551 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7552 (gst_event_new_newsegment), (gst_event_parse_newsegment),
7553 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7554 (gst_event_parse_qos), (gst_event_new_seek),
7555 (gst_event_parse_seek):
7557 Some more debugging output and doc cleanups.
7559 * gst/gstqueue.c: (gst_queue_handle_sink_event):
7560 Fix possible deadlock.
7562 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7564 * docs/gst/gstreamer-docs.sgml:
7565 * docs/gst/gstreamer-sections.txt:
7566 * docs/gst/gstreamer.types:
7567 * docs/gst/tmpl/.cvsignore:
7572 added 100 symbols from gstreamer-unused.txt to the right sections
7573 fixed more broken comments
7574 added GstBus to docs
7576 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7578 * docs/gst/gstreamer-sections.txt:
7579 * docs/gst/tmpl/.cvsignore:
7580 * docs/gst/tmpl/gstbin.sgml:
7581 * docs/gst/tmpl/gstbuffer.sgml:
7582 * gst/base/gstbasesrc.c:
7583 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7586 * tools/gst-launch.1.in:
7587 inlined more doc comments, added missing comments and fixed comments
7590 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
7592 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7596 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7598 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7599 * gst/gststructure.h:
7600 add a fixate function for booleans; add a FIXME that these func
7601 names should probably be gst_structure_fixate_*
7603 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7605 * docs/gst/gstreamer-docs.sgml:
7606 * docs/gst/gstreamer-sections.txt:
7608 * gst/gstbin.c: (gst_bin_get_type),
7609 (gst_bin_child_proxy_get_child_by_index),
7610 (gst_bin_child_proxy_get_children_count),
7611 (gst_bin_child_proxy_init):
7612 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7613 (gst_child_proxy_get_child_by_index),
7614 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7615 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7616 (gst_child_proxy_get), (gst_child_proxy_set_property),
7617 (gst_child_proxy_set_valist), (gst_child_proxy_set),
7618 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7619 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7620 * gst/gstchildproxy.h:
7621 * gst/parse/grammar.y:
7622 * tools/gst-inspect.c: (print_interfaces),
7623 (print_element_properties_info), (print_element_info):
7624 ported gstchildproxy over from 0.8
7625 ported gst-inspect fixes and enhancements over from 0.8
7627 2005-08-22 Wim Taymans <wim@fluendo.com>
7629 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7630 (gst_base_transform_handle_buffer):
7631 Also call the transform function if we have ANY caps.
7633 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7636 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
7638 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7639 Don't pretend to handle seek events if the source is not seekable
7641 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
7643 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7644 Remove extra parameter to debug output
7646 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7647 (gst_base_src_do_seek), (gst_base_src_activate_push):
7648 Fix seek event handling.
7650 * gst/gstpipeline.c: (gst_pipeline_change_state):
7651 * gst/gstqueue.c: (gst_queue_handle_sink_event),
7652 (gst_queue_src_activate_push):
7653 Don't start the src pad task on FLUSH_STOP if the pad
7657 2005-08-22 Wim Taymans <wim@fluendo.com>
7659 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7660 Added check for gst_static_caps_get() refcounting.
7662 2005-08-22 Wim Taymans <wim@fluendo.com>
7664 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7665 Make _static_caps_get() refcounting sane.
7667 * gst/gstelement.c: (gst_element_set_state):
7668 Add g_return_val_if_fail() to protect against segfaults.
7670 2005-08-22 Stefan Kost <ensonic@users.sf.net>
7672 * docs/gst/tmpl/gstevent.sgml:
7675 inlined remaining docs, added missing doc comments
7677 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
7679 * check/gst/gstbin.c: (GST_START_TEST):
7680 since we don't know when preroll is done, use refcount range
7682 * gst/check/gstcheck.h:
7683 add macro for checking refcount range
7685 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
7687 * check/Makefile.am:
7688 clean up environment for when registry gets built versus
7689 when actual tests are run; valgrind seems to not report
7690 leaks if GST_PLUGIN_PATH is set to some specific values
7691 * check/gst/gstbin.c: (GST_START_TEST):
7692 add more refcounting checks; maybe this exposes a
7695 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7696 * gst/check/gstcheck.h:
7697 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7698 (gst_bin_change_state):
7699 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7700 add/fix debugging/whitespace
7702 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
7704 * check/gst/gstevent.c: (event_probe), (test_event),
7706 Er, don't call gst_bin_watch_for_state_change you idiot.
7708 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
7710 * check/Makefile.am:
7711 Use CHECK_CFLAGS and CHECK_LIBS
7712 * check/gst/gstevent.c: (event_probe), (test_event),
7715 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7716 (gst_base_src_start), (gst_base_src_stop),
7717 (gst_base_src_activate_push), (gst_base_src_activate_pull),
7718 (gst_base_src_change_state):
7719 Sprinkle gst_base_src_stop liberally around error paths to fix
7720 problems reusing a source after failed state changes.
7721 * gst/base/gsttypefindhelper.c: (helper_find_peek),
7722 (helper_find_suggest), (gst_type_find_helper):
7723 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7725 * docs/gst/tmpl/gstevent.sgml:
7726 Migrate part of the docs from the SGML file. Wait for ensonic to
7727 tell me how I did it wrong ;)
7728 * tools/gst-typefind.c: (main):
7729 Extra robustness to state changes between files.
7731 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
7733 * check/Makefile.am:
7734 don't valgrind the controller test - it's leaking - Stefan, HELP
7735 * gst/check/gstcheck.c: (gst_check_message_error),
7736 (gst_check_chain_func), (gst_check_setup_element),
7737 (gst_check_teardown_element), (gst_check_setup_src_pad),
7738 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7739 (gst_check_teardown_sink_pad):
7740 * gst/check/gstcheck.h:
7741 add a bunch of methods to set up elements, and src and sink pads
7742 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7743 * check/elements/identity.c: (setup_identity), (cleanup_identity),
7748 whitespace/doc fixes
7750 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7753 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7754 be handled by the application and not always printed as well
7756 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7758 * check/Makefile.am:
7760 * gst/check/gstcheck.c: (gst_check_message_error):
7761 * gst/check/gstcheck.h:
7762 add a fail_unless_equals_int
7763 add fail_unless for error messages
7765 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7767 * check/Makefile.am:
7769 * common/Makefile.am:
7772 factor out some of the common stuff so we can use it
7774 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7776 * check/Makefile.am:
7777 * check/gst/gstiterator.c: (GST_START_TEST):
7778 * check/gst/gstsystemclock.c: (GST_START_TEST),
7779 (gst_systemclock_suite):
7780 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7784 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7786 * check/elements/.cvsignore:
7787 * check/elements/gstfakesrc.c:
7788 rename to name of element
7789 * check/elements/identity.c: (chain_func), (event_func),
7790 (setup_identity), (cleanup_identity), (GST_START_TEST),
7791 (identity_suite), (main):
7792 add a test for identity
7793 * check/Makefile.am:
7794 * pkgconfig/Makefile.am:
7795 * pkgconfig/gstreamer-check.pc.in:
7796 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7800 move the check stuff to a library that gets installed
7801 * check/gst-libs/controller.c: (GST_START_TEST):
7802 * check/gst-libs/gdp.c:
7803 * check/gst/gst.c: (GST_START_TEST):
7804 * check/gst/gstbin.c:
7805 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7806 * check/gst/gstbus.c:
7807 * check/gst/gstcaps.c: (GST_START_TEST):
7808 * check/gst/gstelement.c:
7809 * check/gst/gstghostpad.c:
7810 * check/gst/gstiterator.c:
7811 * check/gst/gstmessage.c:
7812 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7813 * check/gst/gstobject.c:
7814 * check/gst/gstpad.c: (GST_START_TEST):
7815 * check/gst/gststructure.c: (GST_START_TEST):
7816 * check/gst/gstsystemclock.c: (GST_START_TEST),
7817 (gst_systemclock_suite):
7818 * check/gst/gsttag.c: (gst_tag_suite):
7819 * check/gst/gstvalue.c:
7820 * check/pipelines/cleanup.c:
7821 * check/pipelines/simple_launch_lines.c:
7822 * check/states/sinks.c:
7823 change include statement
7825 * docs/gst/gstreamer-sections.txt:
7826 * docs/gst/tmpl/gstpad.sgml:
7827 document more pad stuff
7828 * gst/gstminiobject.c: (gst_mini_object_ref),
7829 (gst_mini_object_unref):
7832 2005-08-19 Stefan Kost <ensonic@users.sf.net>
7834 * docs/gst/tmpl/gst.sgml:
7836 eliminate another tmpl file, fix spelling in the long-description
7838 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7840 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7841 (test_event), (timediff), (gstevents_suite):
7842 Should fix build on 64-bit arch's
7844 2005-08-18 Andy Wingo <wingo@pobox.com>
7846 Make sure that when a pipeline goes to PLAYING, that data has
7847 actually hit the sink.
7849 * check/states/sinks.c (test_sink): A sink that doesn't get any
7850 data shouldn't return SUCCESS for going to either PLAYING or
7851 PAUSED. Test also the return values on the way back down.
7853 * gst/gstelement.c (gst_element_set_state): When changing the
7854 state of an element currently changing state asynchronously, go to
7855 lost-state after commiting the pending state. Makes future calls
7856 to get_state continue to return ASYNC.
7858 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7859 ASYNC when going to PLAYING if we still don't have preroll, as can
7860 happen with live sources.
7862 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7864 * docs/pwg/advanced-types.xml:
7865 Hack long paragraph into 2 chunks as a workaround for buggy
7866 jadetex version in sid and breezy that loops infinitely and
7869 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7871 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7872 (test_event), (timediff), (gstevents_suite):
7873 Provide more error margin in clock measurements to allow for
7874 g_get_current_time inaccuracies.
7876 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7878 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7879 (test_event), (timediff), (gstevents_suite):
7880 Fix error message output so I might be able to tell why the
7881 test works here but fails on the build farm.
7883 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7885 * check/Makefile.am:
7886 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7887 (test_event), (timediff), (gstevents_suite), (main):
7890 * docs/design/part-seeking.txt:
7893 * docs/gst/tmpl/gstevent.sgml:
7894 * docs/gst/tmpl/gstfakesrc.sgml:
7897 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7898 Treat a buffer-without-newsegment the same as a receiving
7899 a newsegment not in time format, and disable syncing to the clock
7902 * gst/gstbus.c: (gst_bus_set_sync_handler):
7903 Assert if anyone tries to replace the existing sync_handler for bus,
7904 as only the owner should be setting it.
7907 Have a fixed set of custom event enums with events identified by
7908 their structure name (as in 0.8), rather than a free-for-all
7909 allowing collisions between enum values from different plugins.
7911 * gst/gstpad.c: (gst_pad_class_init):
7914 * gst/gstqueue.c: (gst_queue_handle_sink_event):
7915 Handle out-of-band downstream events from the sending thread.
7917 2005-08-17 Andy Wingo <wingo@pobox.com>
7919 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7920 play-timeout==0 to mean no timeout at all. In that case, don't
7921 bother with a get_state or a warning, just return directly, even
7924 * gst/base/gstbasetransform.c: Debug changes.
7927 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7928 ensure bins post state change messages. A bit of a hack but I can't
7929 think of a way to avoid it.
7931 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7933 2005-08-16 Andy Wingo <wingo@pobox.com>
7935 * gst/base/gstadapter.h:
7936 * gst/base/gstadapter.c (gst_adapter_take): New function, like
7937 peek() but you own the data. Not terribly efficient atm.
7939 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7941 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7942 (gst_element_found_tags):
7944 Add two utility functions for tag handling.
7946 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7948 * docs/manual/advanced-dataaccess.xml:
7949 * docs/manual/basics-helloworld.xml:
7950 Fix docs to use _bin_add() before _link(), which fixes the examples
7951 with recent core versions (reported by Madhan Raj M
7952 <raj_madan@rediffmail.com>, #313199).
7954 2005-08-16 Wim Taymans <wim@fluendo.com>
7956 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7957 Added subtract checks.
7959 * docs/design/part-events.txt:
7960 Some more docs about newsegment
7962 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7965 * gst/gstcaps.c: (gst_caps_to_string):
7966 Add comments, cleanups.
7968 * gst/gstelement.c: (gst_element_save_thyself):
7971 * gst/gstvalue.c: (gst_value_collect_int_range),
7972 (gst_string_unwrap), (gst_value_union_int_int_range),
7973 (gst_value_union_int_range_int_range),
7974 (gst_value_intersect_int_int_range),
7975 (gst_value_intersect_int_range_int_range),
7976 (gst_value_intersect_double_double_range),
7977 (gst_value_intersect_double_range_double_range),
7978 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7979 (gst_value_subtract_int_range_int),
7980 (gst_value_subtract_double_range_double),
7981 (gst_value_subtract_double_range_double_range),
7982 (gst_value_subtract_from_list), (gst_value_subtract_list),
7983 (gst_value_can_compare), (gst_value_compare_fraction):
7984 Cleanups, add comments, remove unneeded asserts.
7986 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
7988 * tools/gst-launch.c: (event_loop):
7989 don't convert NULL structures to strings
7991 2005-08-15 Stefan Kost <ensonic@users.sf.net>
7993 * docs/gst/gstreamer-sections.txt:
7994 made some defines private
7995 * docs/gst/tmpl/gstconfig.sgml:
7996 * docs/gst/tmpl/gstqueue.sgml:
7997 * docs/gst/tmpl/gsttaglist.sgml:
7998 * docs/gst/tmpl/gsttypes.sgml:
7999 * docs/gst/tmpl/gstutils.sgml:
8000 * docs/pwg/appendix-porting.xml:
8001 * gst/base/gstbasesink.h:
8002 * gst/base/gstbasesrc.c:
8003 * gst/base/gstbasesrc.h:
8004 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8005 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8006 * gst/gstelement.c: (gst_element_class_init):
8007 * gst/gstpad.c: (gst_pad_class_init):
8008 * gst/gstqueue.c: (gst_queue_class_init):
8009 * gst/gstxml.c: (gst_xml_class_init):
8010 documented all undocumented signal inline
8011 * libs/gst/controller/gst-controller.h:
8014 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8016 * docs/pwg/appendix-porting.xml:
8017 Document _set_link_function -> _set_setcaps_function.
8019 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8021 * check/Makefile.am:
8022 add a .check target for running the check
8023 * check/gst-libs/controller.c: (GST_START_TEST):
8025 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8026 complete checks for gstbuffer; would be nice if I could get the
8027 gcov stuff to work so I can see if I actually completed gstbuffer.c
8029 add ASSERT_BUFFER_REFCOUNT
8031 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
8033 * docs/gst/gstreamer-sections.txt:
8034 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8036 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8037 spew out a warning if a tag that is already registered
8038 is re-registered, unless it is re-registered with a
8039 different type (#308438).
8041 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
8043 * docs/pwg/appendix-porting.xml:
8044 * docs/pwg/building-state.xml:
8045 Add some paragraphs about state changes in 0.9 to the PWG
8046 and the porting guide, in particular about the new meaning
8047 of GST_STATE_PAUSED and how to write state change functions
8048 with concurrent access by multiple threads in mind.
8050 2005-08-11 Stefan Kost <ensonic@users.sf.net>
8052 * docs/gst/gstreamer-docs.sgml:
8053 * docs/libs/gstreamer-libs-docs.sgml:
8054 added deprecation and since indexes
8055 * libs/gst/controller/gst-controller.c:
8056 * libs/gst/controller/gst-helper.c:
8060 2005-08-11 Wim Taymans <wim@fluendo.com>
8062 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8063 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8064 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8065 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8066 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8067 (gst_ghost_pad_set_target):
8068 Actually implement (re)setting the target on a ghostpad
8069 as described in the docs.
8071 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8073 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8074 Check whether GST_DEBUG_NO_COLOR environment variable is
8075 set and disable coloured debug output if that is the case.
8077 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8079 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8080 (gst_type_find_helper):
8081 The memory returned by gst_type_find_peek() needs to
8082 stay valid until the end of a typefind function, and
8083 typefind functions may keep results from different
8084 offsets around, so we can't just unref the buffer from
8085 the previous _peek(), but have to save all buffers
8086 returned by _peek() until typefinding is done and only
8089 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
8091 * docs/gst/gstreamer-sections.txt:
8093 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8095 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8097 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8098 Fix a pretty good memleak.
8100 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8102 * gst/gstiterator.h:
8103 Fix wrong include and 'make distcheck'.
8105 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8107 * gst/gstbin.c: (bin_bus_handler):
8108 Use gst_element_post_message() instead.
8110 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8112 * gst/base/gstadapter.h:
8113 * gst/base/gstbasesink.h:
8114 * gst/base/gstbasesrc.h:
8115 * gst/base/gstbasetransform.h:
8116 * gst/base/gstcollectpads.h:
8117 * gst/base/gstpushsrc.h:
8118 * gst/gstiterator.h:
8119 Add padding to our base elements' class and instance structs and
8120 to GstIterator (you will need to rebuild all plugins and apps!)
8122 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8124 * gst/gstbin.c: (bin_bus_handler):
8125 Make default message forwarding from child->bus to bin->bus
8126 threadsafe and make it not emit warnings if the parent has no bus.
8128 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8130 * gst/gstelement.c: (activate_pads):
8131 On paused->ready, set pad->caps to NULL, as is the documented
8132 behaviour in this state change. Fixes playback of series of
8133 media files when visualization is enabled in Totem.
8135 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8137 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8138 Allow NULL as filter-caps (which means "any").
8140 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8142 * docs/libs/gstreamer-libs-sections.txt:
8143 * libs/gst/controller/gst-controller.c:
8144 * libs/gst/controller/gst-controller.h:
8145 * libs/gst/controller/gst-helper.c:
8146 adding more entries to the docs and fix small doc-bugs
8148 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8150 * docs/gst/gstreamer-docs.sgml:
8151 * docs/gst/gstreamer-sections.txt:
8152 * docs/gst/gstreamer.types:
8153 * docs/gst/tmpl/gstbasesink.sgml:
8154 * docs/gst/tmpl/gstbasesrc.sgml:
8155 * docs/gst/tmpl/gstbasetransform.sgml:
8156 * docs/gst/tmpl/gstfakesrc.sgml:
8157 * gst/base/gstcollectpads.c:
8158 * gst/base/gstcollectpads.h:
8159 * libs/gst/controller/gst-controller.c:
8160 * libs/gst/controller/gst-controller.h:
8161 * libs/gst/controller/gst-helper.c:
8162 * libs/gst/controller/gst-interpolation.c:
8163 * libs/gst/controller/lib.c:
8164 added long/short desc for controller docs
8165 added collectpads base class docs
8166 added correct includes to base-class docs
8168 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8170 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8171 (gst_test_mono_source_set_property),
8172 (gst_test_mono_source_class_init), (GST_START_TEST),
8173 (gst_controller_suite):
8174 * docs/gst/gstreamer-docs.sgml:
8175 * docs/gst/gstreamer-sections.txt:
8176 * docs/gst/gstreamer.types:
8177 * docs/libs/gstreamer-libs-docs.sgml:
8178 * docs/libs/gstreamer-libs-sections.txt:
8179 * gst/base/gstadapter.c:
8180 * libs/gst/controller/gst-controller.c:
8181 (gst_controlled_property_new), (gst_controlled_property_free),
8182 (gst_controller_new_valist),
8183 (gst_controller_remove_properties_valist),
8184 (gst_controller_sink_values), (_gst_controller_finalize):
8185 * libs/gst/controller/gst-controller.h:
8186 * libs/gst/controller/gst-helper.c:
8187 (gst_object_control_properties), (gst_object_uncontrol_properties),
8188 (gst_object_get_controller), (gst_object_set_controller),
8189 (gst_object_sink_values), (gst_object_get_value_arrays),
8190 (gst_object_get_value_array):
8191 more tests (and fixes) for the controller
8192 more docs for the controller
8193 integrated companies docs for the adapter
8195 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
8197 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8198 (GST_START_TEST), (fakesrc_suite):
8199 add tests for sizetype
8201 2005-08-04 Andy Wingo <wingo@pobox.com>
8203 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8204 fixes buffer_alloc proxying among other things.
8206 * gst/base/gstbasetransform.c:
8207 * gst/base/gstbasetransform.h:
8208 Revert patch to gstbasetransform from 7-28 removing
8211 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8212 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8213 Semantics changed, should return not the size of the output buffer
8214 but the byte size of a buffer with a given caps.
8216 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8218 (gst_base_transform_configure_caps): Don't set out_size here: (in,
8219 out) are not the pad caps until setcaps finishes.
8220 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8221 not-in-place case as well. Deal with changing from in-place to
8222 not-in-place within calling pad_alloc_buffer. Still a bit
8223 concerned about the overhead here...
8225 2005-08-03 Andy Wingo <wingo@pobox.com>
8227 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8228 fixating is an error.
8230 2005-08-04 Edward Hervey <edward@fluendo.com>
8232 * gst/base/gstadapter.h:
8233 Added gst_adapter_get_type() to the header
8235 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8237 * check/Makefile.am:
8238 * check/gst-libs/controller.c:
8239 * libs/gst/controller/gst-controller.c:
8240 (gst_controller_new_valist):
8241 added check test suite for the controller
8242 * gst/base/gstpushsrc.c:
8245 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8247 * docs/gst/Makefile.am:
8248 * docs/gst/gstreamer-docs.sgml:
8249 * docs/gst/gstreamer-sections.txt:
8250 * docs/gst/gstreamer.types:
8251 * docs/gst/tmpl/gstfakesrc.sgml:
8253 * gst/base/gstbasesink.c:
8254 * gst/base/gstbasesink.h:
8255 * gst/base/gstbasesrc.c:
8256 * gst/base/gstbasesrc.h:
8257 * gst/base/gstbasetransform.c:
8258 * gst/base/gstpushsrc.c:
8259 * gst/base/gstpushsrc.h:
8260 add short/long description docs to base classes
8261 add pushsrc to the docs
8262 remove consolidated doc fragments
8264 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8267 * docs/libs/Makefile.am:
8268 * docs/libs/gstreamer-libs-docs.sgml:
8269 * docs/libs/gstreamer-libs-sections.txt:
8270 * docs/libs/gstreamer-libs.types:
8271 * examples/Makefile.am:
8272 * examples/controller/.cvsignore:
8273 * examples/controller/Makefile.am:
8274 * examples/controller/audio-example.c: (main):
8275 * libs/gst/Makefile.am:
8276 * libs/gst/controller/.cvsignore:
8277 * libs/gst/controller/Makefile.am:
8278 * libs/gst/controller/gst-controller.c:
8279 (on_object_controlled_property_changed), (gst_timed_value_compare),
8280 (gst_timed_value_find),
8281 (gst_controlled_property_set_interpolation_mode),
8282 (gst_controlled_property_new), (gst_controlled_property_free),
8283 (gst_controller_find_controlled_property),
8284 (gst_controller_new_valist), (gst_controller_new),
8285 (gst_controller_remove_properties_valist),
8286 (gst_controller_remove_properties), (gst_controller_set),
8287 (gst_controller_set_from_list), (gst_controller_unset),
8288 (gst_controller_get), (gst_controller_get_all),
8289 (gst_controller_sink_values), (gst_controller_get_value_arrays),
8290 (gst_controller_get_value_array),
8291 (gst_controller_set_interpolation_mode),
8292 (_gst_controller_finalize), (_gst_controller_init),
8293 (_gst_controller_class_init), (gst_controller_get_type):
8294 * libs/gst/controller/gst-controller.h:
8295 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8296 (g_object_uncontrol_properties), (g_object_get_controller),
8297 (g_object_set_controller), (g_object_sink_values),
8298 (g_object_get_value_arrays), (g_object_get_value_array):
8299 * libs/gst/controller/gst-interpolation.c:
8300 (gst_controlled_property_find_timed_value_node),
8301 (interpolate_none_get), (interpolate_trigger_get),
8302 (interpolate_trigger_get_value_array):
8303 * libs/gst/controller/lib.c: (gst_controller_init):
8304 * pkgconfig/Makefile.am:
8305 * pkgconfig/gstreamer-control-uninstalled.pc.in:
8306 * pkgconfig/gstreamer-control.pc.in:
8307 * testsuite/Makefile.am:
8308 * testsuite/controller/.cvsignore:
8309 * testsuite/controller/Makefile.am:
8310 * testsuite/controller/interpolator.c: (main):
8311 added controller code
8312 removed dparam pc files
8314 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8315 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8316 (gst_collectpads_stop):
8317 Broadcast the condition when shutting down, to make sure we wake all
8318 threads up. Shut down pads on finalize, for safety.
8320 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8321 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8322 (gst_base_transform_handle_buffer),
8323 (gst_base_transform_change_state):
8324 Handle PAUSED->READY->PAUSED transition after negotiation
8326 * gst/gstmessage.c: (gst_message_init):
8327 Extra piece of debug for new messages.
8329 2005-08-01 Stefan Kost <ensonic@users.sf.net>
8332 * docs/gst/tmpl/gstbasesrc.sgml:
8333 * docs/gst/tmpl/gstelement.sgml:
8334 * docs/gst/tmpl/gstevent.sgml:
8335 * docs/gst/tmpl/gstfakesrc.sgml:
8336 * docs/gst/tmpl/gstformat.sgml:
8337 * docs/gst/tmpl/gstghostpad.sgml:
8338 * docs/gst/tmpl/gstpad.sgml:
8339 * docs/gst/tmpl/gstquery.sgml:
8340 * docs/gst/tmpl/gststructure.sgml:
8341 * docs/gst/tmpl/gsttaglist.sgml:
8342 * docs/gst/tmpl/gstvalue.sgml:
8343 * docs/libs/gstreamer-libs-docs.sgml:
8344 * docs/libs/gstreamer-libs-sections.txt:
8345 * docs/libs/gstreamer-libs.types:
8346 * libs/gst/Makefile.am:
8347 * libs/gst/control/.cvsignore:
8348 * libs/gst/control/Makefile.am:
8349 * libs/gst/control/control.c:
8350 * libs/gst/control/control.h:
8351 * libs/gst/control/dparam.c:
8352 * libs/gst/control/dparam.h:
8353 * libs/gst/control/dparam_smooth.c:
8354 * libs/gst/control/dparam_smooth.h:
8355 * libs/gst/control/dparamcommon.h:
8356 * libs/gst/control/dparammanager.c:
8357 * libs/gst/control/dparammanager.h:
8358 * libs/gst/control/dplinearinterp.c:
8359 * libs/gst/control/dplinearinterp.h:
8360 * libs/gst/control/unitconvert.c:
8361 * libs/gst/control/unitconvert.h:
8362 * testsuite/Makefile.am:
8363 * testsuite/dynparams/.cvsignore:
8364 * testsuite/dynparams/Makefile.am:
8365 * testsuite/dynparams/dparamstest.c:
8366 * tools/Makefile.am:
8367 * tools/gst-inspect.c: (print_element_info), (main):
8368 * tools/gst-xmlinspect.c: (print_element_info), (main):
8369 deactivate and remove dparams (libgstcontrol)
8371 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8373 * gst/elements/gsttypefindelement.c:
8374 (gst_type_find_element_have_type), (gst_type_find_element_init),
8375 (stop_typefinding), (gst_type_find_element_handle_event),
8376 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8377 * gst/elements/gsttypefindelement.h:
8378 Set caps on all outgoing buffers, not just the first one.
8380 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8382 * gst/elements/gsttypefindelement.c:
8383 (gst_type_find_element_have_type),
8384 (gst_type_find_element_check_set_buffer_caps),
8385 (gst_type_find_element_init), (stop_typefinding),
8386 (gst_type_find_element_handle_event),
8387 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8388 * gst/elements/gsttypefindelement.h:
8389 Set caps on first outgoing buffer when we've found the type.
8391 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8393 * docs/gst/gstreamer-docs.sgml:
8394 * docs/gst/gstreamer-sections.txt:
8395 * docs/gst/tmpl/gstscheduler.sgml:
8396 * docs/gst/tmpl/gstschedulerfactory.sgml:
8397 Remove some old cruft from docs.
8399 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
8402 Fix inline docs for GstPadLinkReturn.
8404 * gst/gststructure.c: (gst_structure_has_name):
8405 * gst/gststructure.h:
8406 * docs/gst/gstreamer-sections.txt:
8407 New API: gst_structure_has_name().
8409 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
8412 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8413 and _LARGEFILE_SOURCE in config.h as required. Do not
8414 export those flags in our .pc files any longer (#142209).
8416 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8418 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8419 (gst_file_sink_do_seek), (gst_file_sink_event),
8420 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8421 Redo seek/tell calls with large file support in mind; add some
8422 debugging messages; add log message that tells us when large
8423 file support is unavailable or not enabled for some reason.
8425 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8426 Add log message that tells us when large file support
8427 is unavailable or not enabled for some reason.
8429 2005-07-29 Wim Taymans <wim@fluendo.com>
8431 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8432 Added test for removing an element with ghostpad from a bin.
8433 Fixed test as current implementation does the right thing.
8435 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8436 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8437 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8438 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8439 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8440 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8441 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8442 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8443 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8444 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8445 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8446 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8447 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8448 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8449 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8450 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8451 * gst/gstghostpad.h:
8452 Clean up ghostpads, remove properties for internal stuff.
8455 Prepare for switching targets, not all use cases work yet.
8457 2005-07-29 Wim Taymans <wim@fluendo.com>
8459 * docs/design/part-gstghostpad.txt:
8462 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8463 (gst_bin_remove_func):
8464 Unlinking pads while holding the bin LOCK is not a good
8467 * gst/gstpad.c: (gst_pad_class_init),
8468 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8469 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8470 No prob setting template after creating the pad.
8472 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
8474 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8475 (gst_bus_peek), (gst_bus_source_dispatch),
8476 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8477 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8478 gst_bus_poll may be called from other threads. Handle
8479 this nicely by not making poll_data disappear off the
8480 stack once gst_bus_poll returns.
8481 gst_bus_peek now increments the refcount on the returned
8484 2005-07-29 Wim Taymans <wim@fluendo.com>
8486 * docs/design/part-gstghostpad.txt:
8487 Overview of current GhostPad datastructures and use
8488 cases for changing the target.
8490 2005-07-28 Wim Taymans <wim@fluendo.com>
8492 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8493 Added checks for hierarchy consistency whan adding linked
8496 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8497 Added check to test element scheduling without bin/pipeline.
8499 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8500 First add elements to bin, then link.
8502 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8503 (gst_bin_remove_func):
8504 Unlink pads from elements added/removed from bin to maintain
8505 hierarchy consistency.
8507 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8509 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8510 (gst_base_transform_handle_buffer):
8511 * gst/base/gstbasetransform.h:
8512 Remove broken delay_configure (fixes renegotiation of software
8513 scaling pipelines); remove some leftover printf()s.
8515 2005-07-28 Wim Taymans <wim@fluendo.com>
8517 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8518 Added some more tests for wrong hierarchy
8520 * docs/design/part-overview.txt:
8523 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8526 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8527 (gst_element_dispose):
8530 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8531 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8532 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8533 (gst_pad_set_caps), (gst_pad_send_event):
8534 Check for correct hierarchy when linking pads. Moving to
8535 strict requirement for ghostpads when linking elements in
8539 Clean ups. Added WRONG_HIERARCHY return value.
8541 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8543 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8544 Better debug if no transform is possible.
8546 2005-07-27 Wim Taymans <wim@fluendo.com>
8548 * docs/random/wtay/network-transp:
8551 2005-07-27 Wim Taymans <wim@fluendo.com>
8553 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8554 (gst_dp_event_from_packet):
8555 Fix serialization of seek events.
8557 2005-07-27 Wim Taymans <wim@fluendo.com>
8559 * check/gst-libs/gdp.c: (GST_START_TEST):
8560 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8561 Fix compilation and fix event serialization.
8563 2005-07-27 Wim Taymans <wim@fluendo.com>
8566 * docs/design/part-TODO.txt:
8567 * docs/design/part-events.txt:
8570 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8571 (gst_base_sink_event), (gst_base_sink_do_sync),
8572 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8573 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8574 (gst_base_src_do_seek), (gst_base_src_event_handler),
8575 (gst_base_src_loop):
8576 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8577 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8578 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8579 (gst_base_transform_event), (gst_base_transform_handle_buffer),
8580 (gst_base_transform_set_passthrough),
8581 (gst_base_transform_is_passthrough):
8582 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8583 * gst/elements/gstfilesink.c: (gst_file_sink_event):
8589 * gst/gstelement.c: (gst_element_seek):
8591 Update gst_element_seek.
8593 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8594 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8595 (gst_event_new_flush_start), (gst_event_new_flush_stop),
8596 (gst_event_new_eos), (gst_event_new_newsegment),
8597 (gst_event_parse_newsegment), (gst_event_new_tag),
8598 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8599 (gst_event_parse_qos), (gst_event_new_seek),
8600 (gst_event_parse_seek), (gst_event_new_navigation):
8602 Make GstEvent use GstStructure. Add parsing code, make sure the
8603 API is sufficiently generic.
8604 Mark possible directions of events and serialization.
8606 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8607 (_gst_message_copy), (gst_message_new_segment_start),
8608 (gst_message_new_segment_done), (gst_message_new_custom),
8609 (gst_message_parse_segment_start),
8610 (gst_message_parse_segment_done):
8613 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8614 (gst_pad_set_caps), (gst_pad_send_event):
8615 Update for new events.
8616 Catch events sent in wrong directions.
8618 * gst/gstqueue.c: (gst_queue_link_src),
8619 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8620 (gst_queue_handle_src_query):
8625 Remove event code from this file.
8627 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8628 (gst_dp_event_from_packet):
8631 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8633 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8634 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8635 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8636 Make debugging actually useful.
8638 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8640 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8641 (gst_pad_fixate_caps):
8642 Implement default fixation once again, so that gst_pad_fixate()
8643 actually does anything at all. This probably needs to be some
8644 sort of a last resort, and use profile-based fixation first, but
8645 since that doesn't exist yet, this is the best we have. Fixes
8646 visualization in Totem.
8648 2005-07-22 Wim Taymans <wim@fluendo.com>
8650 * docs/design/part-events.txt:
8653 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8654 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8655 (gst_base_sink_activate_pull):
8658 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8659 (gst_fake_src_create):
8660 Fix handoff marshall.
8662 * gst/elements/gstidentity.c: (gst_identity_class_init),
8663 (gst_identity_transform_ip):
8664 We're a real inplace element.
8666 * gst/gstbus.c: (gst_bus_post):
8667 Added some comments.
8669 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8670 * tests/muxing/case1.c: (main):
8671 * tests/sched/dynamic-pipeline.c: (main):
8672 * tests/sched/interrupt1.c: (main):
8673 * tests/sched/interrupt2.c: (main):
8674 * tests/sched/interrupt3.c: (main):
8675 * tests/sched/runxml.c: (main):
8676 * tests/sched/sched-stress.c: (main):
8677 * tests/seeking/seeking1.c: (event_received), (main):
8678 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8680 * tests/threadstate/threadstate3.c: (main):
8681 * tests/threadstate/threadstate4.c: (main):
8682 * tests/threadstate/threadstate5.c: (main):
8685 2005-07-21 Wim Taymans <wim@fluendo.com>
8687 * docs/design/part-seeking.txt:
8688 Some small additions.
8690 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8691 (gst_base_sink_get_times), (gst_base_sink_do_sync),
8692 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8693 * gst/base/gstbasesink.h:
8694 discont values are gint64, handle the math correctly.
8696 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8697 Make the basesrc report error if the source pad is not linked.
8699 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8700 (gst_queue_loop), (gst_queue_handle_src_query),
8701 (gst_queue_src_activate_push):
8702 Make queue collect data even if the srcpad is not linked.
8703 Start pushing out data as soon as it is linked.
8705 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8707 Added gst_flow_get_name() to ease error reporting.
8709 2005-07-20 Wim Taymans <wim@fluendo.com>
8711 * gst/gstmessage.c: (gst_message_new_segment_start),
8712 (gst_message_new_segment_done), (gst_message_parse_segment_start),
8713 (gst_message_parse_segment_done):
8715 Added a bunch of messages for advanced seeking.
8717 * gst/parse/grammar.y:
8718 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8719 (gst_dpman_state_changed):
8720 Fix some new-pad -> pad-added signals
8722 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8724 * docs/manual/appendix-porting.xml:
8725 * docs/pwg/appendix-porting.xml:
8726 Document new-pad/state-change signal renames and the FixedList
8729 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8731 * docs/manual/advanced-autoplugging.xml:
8732 * docs/manual/basics-helloworld.xml:
8733 * docs/manual/basics-pads.xml:
8734 * docs/random/ds/0.9-suggested-changes:
8735 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8740 * gst/gststructure.c: (gst_structure_value_get_generic_type),
8741 (gst_structure_parse_array), (gst_structure_parse_value):
8742 * gst/gstvalue.c: (gst_type_is_fixed),
8743 (gst_value_list_prepend_value), (gst_value_list_append_value),
8744 (gst_value_list_get_size), (gst_value_list_get_value),
8745 (gst_value_transform_array_string), (gst_value_serialize_array),
8746 (gst_value_deserialize_array), (gst_value_intersect_array),
8747 (gst_value_is_fixed), (_gst_value_initialize):
8749 GstElement::new-pad -> pad-added, GstElement::state-change ->
8750 state-changed, GstValueFixedList -> GstValueArray, add format and
8751 flags as their own arguments in gst_element_seek() (should improve
8752 "bindeability"), remove function generators since they don't work
8753 under a whole bunch of compilers (they were deprecated already
8756 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8758 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8759 (_gst_debug_register_funcptr):
8761 Fix illegal cast on some platforms (#309253).
8763 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8765 * gst/gstmessage.c: (gst_message_new_custom):
8767 Add _new_custom, make _new_application a macro to _new_custom.
8769 2005-07-20 Wim Taymans <wim@fluendo.com>
8771 * gst/base/gstbasesrc.c: (gst_base_src_init),
8772 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8773 * gst/base/gstbasesrc.h:
8774 Add a gboolean to decide when to push out a discont.
8776 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8777 (gst_queue_loop), (gst_queue_handle_src_query),
8778 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8779 (gst_queue_set_property), (gst_queue_get_property):
8782 * tests/threadstate/threadstate1.c: (main):
8783 Make a thread test compile and run... very silly..
8786 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8788 * docs/manual/appendix-porting.xml:
8789 Mention removal of libgstgconf-0.9.la and existence of gconf
8792 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8794 * docs/pwg/advanced-clock.xml:
8795 * docs/pwg/appendix-porting.xml:
8796 * docs/pwg/intro-preface.xml:
8797 * docs/pwg/other-base.xml:
8798 * docs/pwg/other-manager.xml:
8799 * docs/pwg/other-nton.xml:
8800 * docs/pwg/other-ntoone.xml:
8801 * docs/pwg/other-oneton.xml:
8803 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8804 demuxer), remove n-to-n (was never written), fix some code examples
8805 and links and update the porting section to include all this.
8807 2005-07-19 Wim Taymans <wim@fluendo.com>
8809 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8810 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8811 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8812 (gst_queue_src_activate_push), (gst_queue_change_state),
8813 (gst_queue_get_property):
8815 Propagate GstFlowReturn more intelligently upstream and output
8816 an ERROR/EOS when streaming stopped due to fatal error.
8818 2005-07-19 Wim Taymans <wim@fluendo.com>
8820 * tools/gst-launch.c: (check_intr), (event_loop), (main):
8821 Don't block forever for the state change to complete, the
8822 pipeline already did with a sensible timeout.
8824 2005-07-19 Wim Taymans <wim@fluendo.com>
8826 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8827 Make sure we never call the create function is we
8830 2005-07-19 Andy Wingo <wingo@pobox.com>
8832 * gst/parse/parse.l: Attempt to solve bug #172815.
8834 2005-07-19 Wim Taymans <wim@fluendo.com>
8836 * docs/design/part-clocks.txt:
8837 * docs/design/part-events.txt:
8838 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8840 Only update the seeking values when we are not
8843 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
8845 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8846 Oops, ignore the result of gst_pad_push_event here.
8848 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
8850 * gst/base/gstbasesrc.c: (gst_base_src_loop),
8851 (gst_base_src_activate_push):
8852 Send discont event from the loop function, as pads
8853 aren't activated yet in the activate_push handler.
8855 * gst/gstbin.c: (bin_bus_handler):
8856 Don't leak element name.
8858 2005-07-18 Andy Wingo <wingo@pobox.com>
8860 * configure.ac: Use AS_LIBTOOL_TAGS.
8862 2005-07-18 Wim Taymans <wim@fluendo.com>
8864 * docs/gst/gstreamer.types:
8865 Remove deleted types.
8867 2005-07-18 Wim Taymans <wim@fluendo.com>
8869 * check/elements/gstfakesrc.c: (GST_START_TEST):
8872 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8873 (init_popt_callback):
8875 * gst/gst_private.h:
8876 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8877 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8880 * gst/gstconfig.h.in:
8881 * gst/gstelement.c: (gst_element_class_init),
8882 (gst_element_set_base_time), (gst_element_get_base_time),
8883 (iterator_fold_with_resync), (gst_element_change_state),
8884 (gst_element_dispose), (gst_element_get_bus):
8886 * gst/gstelementfactory.h:
8887 * gst/gsterror.c: (_gst_core_errors_init):
8890 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8892 * gst/gstinfo.c: (_gst_debug_init):
8893 * gst/gstmessage.c: (_gst_message_copy):
8895 * gst/gstminiobject.h:
8898 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8899 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8902 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8903 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8904 (gst_pipeline_get_last_stream_time):
8905 * gst/gstpipeline.h:
8906 * gst/gstpluginfeature.h:
8908 * gst/gstscheduler.c:
8909 * gst/gstscheduler.h:
8910 * gst/gststructure.h:
8911 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8912 (gst_task_finalize), (gst_task_func), (gst_task_create),
8913 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8914 (gst_task_stop), (gst_task_pause):
8916 * gst/gsttypefind.h:
8918 * gst/registries/gstlibxmlregistry.c: (load_feature),
8919 (gst_xml_registry_load), (gst_xml_registry_save_feature):
8920 * gst/registries/gstxmlregistry.c:
8921 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8922 * gst/schedulers/threadscheduler.c:
8923 * libs/gst/control/dparammanager.h:
8924 * tools/gst-inspect.c: (print_element_list),
8925 (print_plugin_features), (print_element_features):
8926 * tools/gst-xmlinspect.c: (print_element_list),
8927 (print_plugin_info), (main):
8928 Removed plugable schedulers.
8929 Removed Scheduler/Manager from elements.
8930 Removed gsttypes.h, rearranged includes.
8931 Removed dependency pad<->element, element<>pipeline, and
8932 various others, fix includes.
8933 implement gst_pad_get_parent() with gst_object_get_parent()
8934 Make GstTask sefcontained.
8935 Fix _get_state() on GstBin, it did not return ASYNC with a 0
8937 Fix endless loop in iterator_fold_with_resync.
8940 2005-07-18 Wim Taymans <wim@fluendo.com>
8946 2005-07-18 Wim Taymans <wim@fluendo.com>
8951 2005-07-18 Wim Taymans <wim@fluendo.com>
8957 2005-07-18 Wim Taymans <wim@fluendo.com>
8959 * docs/design/part-dynamic.txt:
8960 * docs/design/part-events.txt:
8961 * docs/design/part-seeking.txt:
8962 Some more docs in the works.
8964 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8965 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8966 (gst_base_transform_setcaps), (gst_base_transform_get_size),
8967 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8968 (gst_base_transform_handle_buffer),
8969 (gst_base_transform_sink_activate_push),
8970 (gst_base_transform_src_activate_pull),
8971 (gst_base_transform_set_passthrough),
8972 (gst_base_transform_is_passthrough):
8975 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8978 * gst/gstevent.c: (gst_event_finalize):
8981 * gst/gstutils.c: (gst_element_unlink),
8982 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8983 (gst_pad_proxy_setcaps):
8985 Add _get_parent_element() to get a pads parent as an element.
8987 2005-07-18 Wim Taymans <wim@fluendo.com>
8989 * check/gst/gstbin.c: (GST_START_TEST):
8992 2005-07-18 Wim Taymans <wim@fluendo.com>
8994 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8995 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8996 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8997 (gst_base_sink_event), (gst_base_sink_do_sync),
8998 (gst_base_sink_chain), (gst_base_sink_loop),
8999 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9000 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9002 Fix logic for returning ASYNC when not prerolled.
9004 2005-07-18 Wim Taymans <wim@fluendo.com>
9006 * gst/gstqueue.c: (gst_queue_handle_sink_event):
9007 Fix nasty refcount bug.
9009 2005-07-16 Philippe Khalaf <burger@speedy.org>
9011 * gst/elements/gstfdsrc.c:
9012 * gst/elements/gstfdsrc.h:
9013 * gst/elements/gstelements.c:
9014 * gst/elements/Makefile.am:
9015 Ported fdsrc to 0.9.
9017 2005-07-16 Wim Taymans <wim@fluendo.com>
9019 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9020 (gst_base_sink_do_sync):
9023 2005-07-16 Wim Taymans <wim@fluendo.com>
9025 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9026 (gst_base_sink_event), (gst_base_sink_get_times),
9027 (gst_base_sink_do_sync), (gst_base_sink_change_state):
9028 * gst/base/gstbasesink.h:
9029 Store and use discont values when syncing buffers as described
9032 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9033 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9034 (gst_base_src_activate_push):
9035 Push discont event when starting.
9037 * gst/elements/gstidentity.c: (gst_identity_transform):
9040 * gst/gstbin.c: (gst_bin_change_state):
9041 Small cleanups in base_time distribution.
9043 * gst/gstelement.c: (gst_element_set_base_time),
9044 (gst_element_get_base_time), (gst_element_change_state):
9046 Added methods for the base_time of the element.
9049 * gst/gstpipeline.c: (gst_pipeline_send_event),
9050 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9051 (gst_pipeline_get_last_stream_time):
9052 * gst/gstpipeline.h:
9054 Handle seeking as described in design doc, remove stream_time
9056 Cleanups clock and stream_time selection code. Added accessors
9057 for the stream_time.
9060 2005-07-16 Andy Wingo <wingo@pobox.com>
9062 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9065 2005-07-16 Wim Taymans <wim@fluendo.com>
9067 * check/gst/gstbin.c: (GST_START_TEST):
9068 Make elements silent as the deep_notify refs the
9069 parent, which might make the test fail.
9071 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9072 Don't hold the lock for too long.
9074 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
9076 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9077 Don't unref the caps we passed to gst_caps_make_writable() after
9078 passing them. gst_caps_make_writable() will do that for us.
9080 2005-07-15 Andy Wingo <wingo@pobox.com>
9082 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9085 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9086 own marshalling function for the handoff signal. Properly type the
9087 buffer as a buffer. Fixes some warnings. Should do a more general
9089 (gst_identity_class_init): Plug into the right marshaller.
9091 2005-07-15 Wim Taymans <wim@fluendo.com>
9093 * docs/design/part-TODO.txt:
9094 * docs/design/part-clocks.txt:
9095 * docs/design/part-element-sink.txt:
9096 * docs/design/part-events.txt:
9097 * docs/design/part-gstpipeline.txt:
9098 Updated docs, mostly DISCONT related.
9100 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
9102 * docs/pwg/building-pads.xml:
9103 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9105 2005-07-15 Andy Wingo <wingo@pobox.com>
9107 * tools/gst-typefind.c: Update, add copyright block.
9109 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9110 Normalize and truncate caps before fixation.
9113 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9114 discards all but the first structure from its argument.
9116 2005-07-15 Wim Taymans <wim@fluendo.com>
9118 * gst/base/gstbasetransform.c: (gst_base_transform_init),
9119 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9120 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9121 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9122 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9123 (gst_base_transform_chain), (gst_base_transform_change_state),
9124 (gst_base_transform_set_passthrough),
9125 (gst_base_transform_is_passthrough):
9126 * gst/base/gstbasetransform.h:
9127 Make passthrough work using the bufferpools.
9128 Changed API a bit, subclasses have to write into a buffer
9129 provided by the base class.
9130 More debug info in nego functions.
9132 * gst/elements/gstidentity.c: (gst_identity_init),
9133 (gst_identity_transform):
9134 Port to new base class.
9136 2005-07-15 Wim Taymans <wim@fluendo.com>
9138 * gst/gstmessage.c: (gst_message_new_state_changed):
9139 * tools/gst-launch.c: (event_loop), (main):
9140 Totally dump messages in -launch with the -m option.
9141 Fix message name for State messages,
9143 2005-07-14 Wim Taymans <wim@fluendo.com>
9145 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9146 Post error messages on errors.
9148 2005-07-14 Wim Taymans <wim@fluendo.com>
9150 * gst/gstcaps.c: (gst_caps_do_simplify):
9154 Define error for stream stopped.
9156 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9157 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9158 Do proper return values.
9160 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9161 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9162 (gst_pad_get_range):
9163 Better return values.
9166 Reorganise return values, add macro to check for fatal errors.
9168 * gst/gstqueue.c: (gst_queue_chain):
9169 Return proper GstFlowReturn values,
9171 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
9173 * docs/gst/gstreamer-sections.txt:
9174 * docs/gst/gstreamer.types:
9175 * docs/gst/tmpl/gst.sgml:
9176 * docs/gst/tmpl/gstbasesink.sgml:
9177 * docs/gst/tmpl/gstbasesrc.sgml:
9178 * docs/gst/tmpl/gstbasetransform.sgml:
9179 * docs/gst/tmpl/gstbin.sgml:
9180 * docs/gst/tmpl/gstbuffer.sgml:
9181 * docs/gst/tmpl/gstcaps.sgml:
9182 * docs/gst/tmpl/gstclock.sgml:
9183 * docs/gst/tmpl/gstcompat.sgml:
9184 * docs/gst/tmpl/gstconfig.sgml:
9185 * docs/gst/tmpl/gstelement.sgml:
9186 * docs/gst/tmpl/gstelementdetails.sgml:
9187 * docs/gst/tmpl/gstelementfactory.sgml:
9188 * docs/gst/tmpl/gstenumtypes.sgml:
9189 * docs/gst/tmpl/gsterror.sgml:
9190 * docs/gst/tmpl/gstevent.sgml:
9191 * docs/gst/tmpl/gstfakesink.sgml:
9192 * docs/gst/tmpl/gstfakesrc.sgml:
9193 * docs/gst/tmpl/gstfilesink.sgml:
9194 * docs/gst/tmpl/gstfilesrc.sgml:
9195 * docs/gst/tmpl/gstfilter.sgml:
9196 * docs/gst/tmpl/gstformat.sgml:
9197 * docs/gst/tmpl/gstghostpad.sgml:
9198 * docs/gst/tmpl/gstimplementsinterface.sgml:
9199 * docs/gst/tmpl/gstindex.sgml:
9200 * docs/gst/tmpl/gstindexfactory.sgml:
9201 * docs/gst/tmpl/gstinfo.sgml:
9202 * docs/gst/tmpl/gstiterator.sgml:
9203 * docs/gst/tmpl/gstmacros.sgml:
9204 * docs/gst/tmpl/gstmemchunk.sgml:
9205 * docs/gst/tmpl/gstminiobject.sgml:
9206 * docs/gst/tmpl/gstobject.sgml:
9207 * docs/gst/tmpl/gstpad.sgml:
9208 * docs/gst/tmpl/gstpadtemplate.sgml:
9209 * docs/gst/tmpl/gstparse.sgml:
9210 * docs/gst/tmpl/gstpipeline.sgml:
9211 * docs/gst/tmpl/gstplugin.sgml:
9212 * docs/gst/tmpl/gstpluginfeature.sgml:
9213 * docs/gst/tmpl/gstquery.sgml:
9214 * docs/gst/tmpl/gstqueue.sgml:
9215 * docs/gst/tmpl/gstregistry.sgml:
9216 * docs/gst/tmpl/gstregistrypool.sgml:
9217 * docs/gst/tmpl/gstscheduler.sgml:
9218 * docs/gst/tmpl/gstschedulerfactory.sgml:
9219 * docs/gst/tmpl/gststructure.sgml:
9220 * docs/gst/tmpl/gstsystemclock.sgml:
9221 * docs/gst/tmpl/gsttaglist.sgml:
9222 * docs/gst/tmpl/gsttagsetter.sgml:
9223 * docs/gst/tmpl/gsttrace.sgml:
9224 * docs/gst/tmpl/gsttrashstack.sgml:
9225 * docs/gst/tmpl/gsttypefind.sgml:
9226 * docs/gst/tmpl/gsttypefindfactory.sgml:
9227 * docs/gst/tmpl/gsttypes.sgml:
9228 * docs/gst/tmpl/gsturihandler.sgml:
9229 * docs/gst/tmpl/gsturitype.sgml:
9230 * docs/gst/tmpl/gstutils.sgml:
9231 * docs/gst/tmpl/gstvalue.sgml:
9232 * docs/gst/tmpl/gstversion.sgml:
9233 * docs/gst/tmpl/gstxml.sgml:
9234 * docs/libs/tmpl/gstcontrol.sgml:
9235 * docs/libs/tmpl/gstdataprotocol.sgml:
9236 * docs/libs/tmpl/gstdparam.sgml:
9237 * docs/libs/tmpl/gstdplinint.sgml:
9238 * docs/libs/tmpl/gstdpman.sgml:
9239 * docs/libs/tmpl/gstdpsmooth.sgml:
9240 * docs/libs/tmpl/gstgetbits.sgml:
9241 * docs/libs/tmpl/gstunitconvert.sgml:
9242 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9243 (gst_push_src_base_init), (gst_push_src_class_init),
9244 (gst_push_src_init), (gst_push_src_create):
9245 * gst/base/gstpushsrc.h:
9246 * gst/elements/gstelements.c:
9247 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9248 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9249 (gst_fake_sink_init), (gst_fake_sink_set_property),
9250 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9251 (gst_fake_sink_event), (gst_fake_sink_preroll),
9252 (gst_fake_sink_render), (gst_fake_sink_change_state):
9253 * gst/elements/gstfakesink.h:
9254 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9255 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9256 (gst_fake_src_base_init), (gst_fake_src_class_init),
9257 (gst_fake_src_init), (gst_fake_src_event_handler),
9258 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9259 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9260 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9261 (gst_fake_src_create_buffer), (gst_fake_src_create),
9262 (gst_fake_src_start), (gst_fake_src_stop):
9263 * gst/elements/gstfakesrc.h:
9264 * gst/elements/gstfilesink.c: (_do_init),
9265 (gst_file_sink_base_init), (gst_file_sink_class_init),
9266 (gst_file_sink_init), (gst_file_sink_dispose),
9267 (gst_file_sink_set_location), (gst_file_sink_set_property),
9268 (gst_file_sink_get_property), (gst_file_sink_open_file),
9269 (gst_file_sink_close_file), (gst_file_sink_query),
9270 (gst_file_sink_event), (gst_file_sink_render),
9271 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9272 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9273 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9274 * gst/elements/gstfilesink.h:
9275 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9276 (gst_file_src_class_init), (gst_file_src_init),
9277 (gst_file_src_finalize), (gst_file_src_set_location),
9278 (gst_file_src_set_property), (gst_file_src_get_property),
9279 (gst_file_src_map_region), (gst_file_src_map_small_region),
9280 (gst_file_src_create_mmap), (gst_file_src_create_read),
9281 (gst_file_src_create), (gst_file_src_is_seekable),
9282 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9283 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9284 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9285 (gst_file_src_uri_handler_init):
9286 * gst/elements/gstfilesrc.h:
9287 more autistic cleanliness in functions/names/defines
9289 2005-07-13 Andy Wingo <wingo@pobox.com>
9291 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9292 source couldn't negotiate.
9294 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9298 * gst/gstutils.c (gst_element_link_pads_filtered): New old
9299 function. I am channeling Hades. Put your boots on suckers!!!
9301 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
9303 * testsuite/caps/Makefile.am:
9304 * testsuite/caps/value_compare.c:
9305 * testsuite/caps/value_intersect.c:
9306 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9307 move two testsuite apps over to the check dir
9309 2005-07-12 Wim Taymans <wim@fluendo.com>
9311 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9312 Added more debug info in the negotiate process.
9315 Prepare for segment playback.
9317 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9323 * tools/gst-launch.c: (main):
9324 NULL pipeline on errors.
9326 2005-07-12 Andy Wingo <wingo@pobox.com>
9328 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9329 not it comes from a malloc region. Make sure our copy gets freed.
9331 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9333 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9334 * check/gst/gstmessage.c: (GST_START_TEST):
9335 * check/gst/gststructure.c: (GST_START_TEST),
9336 (gst_structure_suite), (main):
9338 * gst/gstelement.c: (gst_element_message_full):
9339 clean up GError and debug string now that they get copied
9340 * gst/gstmessage.c: (gst_message_new_error),
9341 (gst_message_new_warning), (gst_message_parse_error),
9342 (gst_message_parse_warning):
9343 use GST_TYPE_G_ERROR for structure_new, and take copies of
9344 arguments, so that we don't mess up refcounting
9346 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9348 * check/Makefile.am:
9349 add per-test valgrind targets
9350 * check/gst-libs/gdp.c: (GST_START_TEST),
9351 (gst_data_protocol_suite), (main):
9354 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9356 * check/Makefile.am:
9357 instate more valgrindable tests
9358 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9359 (GST_START_TEST), (fakesrc_suite):
9360 * check/gst/gstpad.c: (GST_START_TEST):
9361 * check/gst/gststructure.c: (GST_START_TEST):
9363 * docs/gst/tmpl/gstminiobject.sgml:
9364 * gst/gstpad.c: (gst_pad_finalize):
9365 fix the static mutex leak
9367 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9369 * check/Makefile.am:
9370 add two more tests for valgrinding
9371 * check/gst/gstvalue.c: (GST_START_TEST):
9372 test refcount of deserialized buffer, found a leak
9373 * docs/gst/gstreamer-docs.sgml:
9374 * docs/gst/gstreamer-sections.txt:
9375 * docs/gst/gstreamer.types:
9376 * docs/gst/tmpl/gstminiobject.sgml:
9377 add miniobject to docs
9378 * gst/gstminiobject.c:
9380 * gst/gstvalue.c: (gst_value_deserialize_buffer),
9381 (gst_string_unwrap):
9382 fix a hard-to-find invalid write for one of the tests
9383 fix a leak for deserialized buffers
9385 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9387 * docs/pwg/advanced-events.xml:
9388 * docs/pwg/advanced-request.xml:
9389 * docs/pwg/advanced-scheduling.xml:
9390 * docs/pwg/appendix-porting.xml:
9391 * docs/pwg/building-boiler.xml:
9392 * docs/pwg/intro-preface.xml:
9393 * docs/pwg/other-ntoone.xml:
9394 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9395 of example code and explanation for pad activation, loop() and
9396 getrange() functions and a bit more. Remove old comments pointing
9398 * examples/pwg/Makefile.am:
9399 Add loop/getrange examples.
9401 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9404 check for valgrind binary + some fixes
9406 valgrind suppressions for the tests
9407 * check/Makefile.am:
9408 add a valgrind: target that valgrinds the unit tests
9409 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9410 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9411 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9412 * check/gst/gstghostpad.c:
9414 * check/gst/gstdata.c:
9416 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9417 (thread_unref), (gst_mini_object_suite), (main):
9419 * gst/gst.c: (gst_deinit):
9421 add a method to clean up.
9422 * gst/gstsystemclock.c: (gst_system_clock_dispose),
9423 (gst_system_clock_obtain):
9424 allow for disposing the system clock.
9425 * tools/gst-launch.c: (main):
9428 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9430 * docs/gst/tmpl/gstbasesrc.sgml:
9431 * docs/gst/tmpl/gstfakesrc.sgml:
9432 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9433 (gst_base_src_init), (gst_base_src_set_property),
9434 (gst_base_src_get_property), (gst_base_src_get_range),
9435 (gst_base_src_start):
9436 * gst/base/gstbasesrc.h:
9437 add num-buffers property
9438 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9439 (gst_fakesrc_init), (gst_fakesrc_set_property),
9440 (gst_fakesrc_get_property), (gst_fakesrc_create),
9441 (gst_fakesrc_start):
9442 remove num-buffers property
9444 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9446 * docs/gst/gstreamer-sections.txt:
9447 * docs/gst/tmpl/gstbasesink.sgml:
9448 * docs/gst/tmpl/gstbasesrc.sgml:
9449 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9450 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9451 (gst_base_sink_finalize), (gst_base_sink_set_clock),
9452 (gst_base_sink_set_property), (gst_base_sink_get_property),
9453 (gst_base_sink_handle_object), (gst_base_sink_event),
9454 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9455 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9456 (gst_base_sink_loop), (gst_base_sink_deactivate),
9457 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9458 (gst_base_sink_change_state):
9459 * gst/base/gstbasesink.h:
9460 * gst/base/gstbasesrc.h:
9461 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9462 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9463 (gst_filesink_init):
9464 more macro splitting
9466 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9468 * gst/gstelement.c: (gst_element_get_bus):
9470 * tools/gst-launch.c: (check_intr), (event_loop):
9473 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9475 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9478 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9480 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9481 (gst_base_src_finalize):
9482 add finalize method and clean up properly
9483 * gst/gstpipeline.c: (gst_pipeline_dispose):
9486 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9488 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9490 add more things to check
9491 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9495 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9497 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9498 (GST_START_TEST), (fakesrc_suite):
9499 * check/gst-libs/gdp.c: (GST_START_TEST):
9500 * check/gst/gst.c: (GST_START_TEST):
9501 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9502 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9503 * check/gst/gstbus.c: (GST_START_TEST):
9504 * check/gst/gstcaps.c: (GST_START_TEST):
9505 * check/gst/gstdata.c: (GST_START_TEST):
9506 * check/gst/gstelement.c: (GST_START_TEST):
9507 * check/gst/gstghostpad.c: (GST_START_TEST):
9508 * check/gst/gstiterator.c: (GST_START_TEST):
9509 * check/gst/gstmessage.c: (GST_START_TEST):
9510 * check/gst/gstobject.c: (GST_START_TEST):
9511 * check/gst/gstpad.c: (GST_START_TEST):
9512 * check/gst/gststructure.c: (GST_START_TEST):
9513 * check/gst/gstsystemclock.c: (GST_START_TEST),
9514 (gst_systemclock_suite):
9515 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9516 * check/gst/gstvalue.c: (GST_START_TEST):
9517 * check/pipelines/cleanup.c: (GST_START_TEST):
9518 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9519 * check/states/sinks.c: (GST_START_TEST):
9520 * check/gstcheck.c: (gst_check_init):
9522 add debugging category
9523 use GST_START_TEST now, so we add a debug line
9525 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9527 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9528 add test for state change message on a bin
9529 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9531 * gst/gstbin.c: (gst_bin_init):
9532 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9533 * gst/gstelement.c: (gst_element_post_message),
9534 (gst_element_set_state):
9535 * gst/gstelementfactory.c: (gst_element_factory_create):
9536 * gst/gstmessage.c: (gst_message_new):
9537 * gst/gstscheduler.c:
9538 various debugging additions and cleanups
9540 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9542 * check/Makefile.am:
9543 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9545 adding tests for elements
9546 * gst/gstelement.c: (gst_element_dispose):
9548 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9550 * gst/registries/gstlibxmlregistry.c: (load_feature):
9551 plug more leaks. A simple gst_init() now is leakfree, yay.
9553 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9555 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9556 (gst_xml_registry_load):
9557 plug another memleak
9559 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9562 use GST_SET_ERROR_CFLAGS
9564 change to ERROR_CFLAGS
9566 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9569 make GST_ERROR_CFLAGS overridable and re-enable Werror
9571 add a note about error CFLAGS
9572 * docs/gst/tmpl/gstfakesrc.sgml:
9573 * gst/elements/gstfakesrc.c:
9574 comment out some unused code
9575 * gst/gst.c: (split_and_iterate):
9576 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9580 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9582 * common/Makefile.am:
9583 * common/gtk-doc.mak:
9584 * docs/gst/Makefile.am:
9585 factor out gtk-doc.mak
9587 2005-07-07 Wim Taymans <wim@fluendo.com>
9589 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9590 (gst_thread_scheduler_dispose):
9591 Unlock the STREAM_LOCK completely.
9593 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9595 * check/Makefile.am:
9596 * check/elements/.cvsignore:
9597 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9598 (START_TEST), (fakesrc_suite), (main):
9599 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9600 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9601 (gst_fakesrc_create), (gst_fakesrc_start):
9602 * gst/elements/gstfakesrc.h:
9603 adding a first element test
9605 2005-07-07 Andy Wingo <wingo@pobox.com>
9607 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9610 2005-07-07 Wim Taymans <wim@fluendo.com>
9616 2005-07-07 Wim Taymans <wim@fluendo.com>
9618 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9619 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9620 Allow subclasses to implement their own negotiation.
9622 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9624 * docs/design/part-gstbin.txt:
9625 * docs/design/part-gstpipeline.txt:
9626 Update design notes to reflect the movement of
9627 responsibility for bus handling from GstPipeline to
9630 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9633 Remove unnecessary queue2/3/4 examples.
9635 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9637 * examples/Makefile.am:
9638 * examples/helloworld/helloworld.c: (event_loop), (main):
9639 * examples/queue/queue.c: (event_loop), (main):
9640 * examples/queue2/queue2.c: (main):
9641 Update a couple of the examples to work again.
9643 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9644 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9645 Spelling corrections and extra debug.
9647 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9648 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9649 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9651 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9652 (gst_pipeline_change_state):
9653 * gst/gstpipeline.h:
9654 Move the bus handler for children to the GstBin, and create a
9655 separate bus for receiving messages from children to the one the
9656 bus sends 'upwards' on.
9658 2005-07-06 Wim Taymans <wim@fluendo.com>
9661 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9662 (gst_base_sink_handle_object), (gst_base_sink_loop),
9663 (gst_base_sink_change_state):
9664 * gst/base/gstbasesink.h:
9665 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9666 (gst_base_src_init), (gst_base_src_setcaps),
9667 (gst_base_src_getcaps), (gst_base_src_loop),
9668 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9669 (gst_base_src_start), (gst_base_src_change_state):
9670 * gst/base/gstbasesrc.h:
9671 Make basesrc negotiate.
9672 Handle the case where preroll fails in basesink.
9675 2005-07-06 Wim Taymans <wim@fluendo.com>
9677 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9678 Implement the fixate function.
9679 Clean up acceptcaps.
9681 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9683 * docs/pwg/building-filterfactory.xml:
9685 Remove never-written filter-factory chapter; I'll add the various
9686 base classes to part 4 ("other element types") later on.
9688 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9690 * docs/pwg/advanced-negotiation.xml:
9691 * docs/pwg/building-boiler.xml:
9692 * docs/pwg/building-pads.xml:
9694 * examples/pwg/Makefile.am:
9695 Add a chapter on caps negotiation, simplify the original code
9696 samples a bit w.r.t. caps negotiation, add link to the advanced
9697 section. Add a bunch of examples showing different use cases of
9698 different types of caps negotiation. Upstream renegotiation isn't
9699 fully documented yet since nobody knows how that works.
9701 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
9703 * check/gst/gstpad.c:
9705 * gst/gstpad.c: (gst_pad_get_internal_links_default):
9706 if pad has no parent, return NULL as list of internal links
9708 2005-07-05 Andy Wingo <wingo@pobox.com>
9710 * gst/elements/gstfilesrc.c:
9711 * gst/elements/gstfakesrc.c:
9712 * gst/base/gstpushsrc.c:
9713 * gst/base/gstbasesrc.h:
9714 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9716 2005-07-05 Stefan Kost <ensonic@users.sf.net>
9719 better report generation target (lcov needs a patch)
9721 2005-07-05 Andy Wingo <wingo@pobox.com>
9723 * gst/elements, testsuite: Null if we got it...
9725 2005-07-05 Wim Taymans <wim@fluendo.com>
9728 * libs/gst/dataprotocol/Makefile.am:
9729 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9730 * libs/gst/dataprotocol/dataprotocol.h:
9731 * pkgconfig/Makefile.am:
9732 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9733 * pkgconfig/gstreamer-dataprotocol.pc.in:
9734 Ported dataprotol to 0.9.
9735 Added pkgconfig files.
9737 2005-07-05 Andy Wingo <wingo@pobox.com>
9739 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9740 Default to returning TRUE for the case when tranform_caps returns
9741 a fixed caps, like for identity or volume.
9743 * check/gst/gstbus.c (pound_bus_with_messages):
9744 * check/gst/gstmessage.c (START_TEST):
9745 * check/pipelines/simple_launch_lines.c (got_handoff): Application
9748 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9749 logic weaks here: always run transform_caps, trying passthrough
9750 operation only if the original caps intersects with the transform.
9752 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9753 source and sink caps.
9755 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9756 Intersect the peer caps with the pad template before going into
9758 (gst_base_transform_transform_caps): More debugging.
9760 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9763 2005-07-04 Edward Hervey <edward@fluendo.com>
9767 (gst_pad_add_*_probe): now returns the signal id for better wrapping
9770 2005-07-04 Andy Wingo <wingo@pobox.com>
9772 * check/gst/gstpad.c: Only set explicit caps on pads.
9774 2005-07-01 Andy Wingo <wingo@pobox.com>
9776 * tests/network-clock.scm: Commentary update.
9778 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9779 Didn't really make sense, not implementable with basetransform,
9781 (gst_identity_transform): Unref inbuf via make_writable. Feeble
9782 attempt at implementing the sync property, needs an unlock method.
9784 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9785 New func, by default returns the same caps (the identity
9787 (gst_base_transform_getcaps): Uses transform_caps to return
9789 (gst_base_transform_setcaps): Complicated logic to get caps on
9790 both pads, even if they are different, and to call set_caps once
9791 for every time both pads get their caps set.
9792 (gst_base_transform_handle_buffer): Give the ref to the transform
9793 function. Allows in-place modification of the buffer.
9795 * gst/base/gstbasetransform.h (transform_caps): New class method.
9796 Given caps on one side, what can I do on the other.
9797 (set_caps): Take two caps, one for each side of the element.
9800 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9801 caps in place. This is safe because we can check the mutability of
9802 the caps, and a good idea because fixate functions are just called
9803 as a matter of last resort. (Not actually implemented.)
9804 (gst_pad_set_caps): If the caps we're setting is actually the same
9805 as the existing pad caps, just update the pointer without calling
9806 setcaps. Assert that caps is either NULL or fixed, as per the
9809 * gst/gstghostpad.c: Update for fixate changes.
9811 2005-07-02 Andy Wingo <wingo@pobox.com>
9814 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9815 two refcounts makes it immutable, which is enough. Doc more.
9817 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
9819 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9820 Put the mini_object into GValue as a mini_object,
9821 not a gpointer, since that's how we declared
9824 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9826 * examples/pwg/Makefile.am:
9829 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9831 * docs/pwg/building-testapp.xml:
9833 * examples/pwg/Makefile.am:
9836 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9839 * examples/Makefile.am:
9840 * examples/pwg/Makefile.am:
9841 * examples/pwg/extract.pl:
9842 Enable building the PWG examples.
9843 * docs/pwg/advanced-interfaces.xml:
9844 Add URI interface stub.
9845 * docs/pwg/advanced-types.xml:
9846 * docs/pwg/other-autoplugger.xml:
9847 * docs/pwg/appendix-porting.xml:
9849 Add porting guide (mostly stubs), remove autoplugging (see ADM).
9850 * docs/pwg/building-boiler.xml:
9851 * docs/pwg/building-chainfn.xml:
9852 * docs/pwg/building-pads.xml:
9853 * docs/pwg/building-props.xml:
9854 * docs/pwg/building-state.xml:
9855 * docs/pwg/building-testapp.xml:
9856 Update the building-*.xml parts for 0.9 changes. All examples
9857 code blocks compile in examples/pwg/*.
9859 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9861 * docs/manual/advanced-autoplugging.xml:
9862 * docs/manual/appendix-checklist.xml:
9863 * docs/manual/appendix-integration.xml:
9864 * docs/manual/highlevel-components.xml:
9865 Fix playbin/decodebin examples, update docs a bit, mention bus
9866 instead of signals in various places, mention kmplayer and
9867 kaffeine since they have a working GStreamer backend in the KDE
9870 2005-06-30 Wim Taymans <wim@fluendo.com>
9873 * docs/design/draft-ghostpads.txt:
9874 * docs/design/draft-push-pull.txt:
9875 * docs/design/draft-query.txt:
9876 * docs/design/part-TODO.txt:
9877 * docs/design/part-query.txt:
9878 Added CHANGES-0.9 doc, updated status of other docs.
9883 2005-06-30 Wim Taymans <wim@fluendo.com>
9885 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9886 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9887 (gst_base_sink_change_state):
9888 * gst/base/gstbasesink.h:
9889 Some tweaks, only EOS and a buffer complete a preroll.
9891 2005-06-30 Andy Wingo <wingo@pobox.com>
9893 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9894 activate_push down to the internal pad as well.
9896 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
9898 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9900 * gst/gsttaginterface.c:
9901 Some documentation fixes (#307394 and #307397).
9903 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
9905 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9907 * gst/gstvalue.c: (gst_value_intersect_list):
9908 Fix memleak (#309125).
9910 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9912 * docs/manual/advanced-dataaccess.xml:
9913 Fix fakesrc example to compile; doesn't work, bug somewhere...?
9914 * docs/manual/basics-pads.xml:
9915 Add reference for filtered caps to above chapter.
9917 2005-06-30 Wim Taymans <wim@fluendo.com>
9919 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9920 (gst_bin_change_state):
9922 Lame attempt at making the state change function a bit
9925 2005-06-30 Wim Taymans <wim@fluendo.com>
9927 * docs/design/part-clocks.txt:
9928 * docs/design/part-element-sink.txt:
9929 * docs/design/part-events.txt:
9930 * docs/design/part-preroll.txt:
9931 * docs/design/part-states.txt:
9932 Some more tweeks and additions to the docs.
9934 2005-06-30 Wim Taymans <wim@fluendo.com>
9936 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9937 (default_have_data), (gst_pad_class_init), (gst_pad_init),
9938 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9939 (gst_pad_check_pull_range), (gst_pad_get_range),
9940 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9942 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9943 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9944 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9945 (gst_pad_remove_buffer_probe):
9946 Removed atomic operations, use existing LOCK.
9947 Move exception handling out of main code path.
9949 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9951 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9952 (silly_return_true_function), (gst_pad_class_init),
9953 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9954 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9955 (gst_pad_send_event):
9956 Fix accumulator, add default value by using _emitv() instead
9957 of _emit() for signal emission.
9959 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9961 * docs/manual/advanced-dataaccess.xml:
9962 * examples/manual/Makefile.am:
9964 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9967 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
9969 * gst/elements/gstfilesink.c: (gst_filesink_render):
9970 Simplify code so that we don't have to handle short
9971 writes and return GST_FLOW_ERROR if an error occured.
9973 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9975 * docs/gst/gstreamer-docs.sgml:
9978 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9980 * docs/gst/gstreamer-sections.txt:
9981 * docs/gst/tmpl/gstpad.sgml:
9982 * docs/gst/tmpl/gstprobe.sgml:
9984 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9985 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9986 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9987 (gst_pad_push_event), (gst_pad_send_event):
9989 * gst/gstutils.c: (gst_pad_add_data_probe),
9990 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9991 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9992 (gst_pad_remove_buffer_probe):
9994 Remove old probes, add new g-signal-based probes and some utility
9997 2005-06-29 Edward Hervey <edward@fluendo.com>
9999 * gst/gstelementfactory.c:
10002 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10003 the definition to the header file.
10005 2005-06-29 Andy Wingo <wingo@pobox.com>
10007 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10008 plugins from the source directory.
10010 2005-06-29 Wim Taymans <wim@fluendo.com>
10012 * docs/gst/tmpl/gstbuffer.sgml:
10013 * docs/gst/tmpl/gstclock.sgml:
10014 Some fixings for blantently wrong text.
10016 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10018 * check/Makefile.am:
10019 * gst/gst.c: (add_path_func), (init_pre):
10020 * gst/gstregistry.c: (gst_registry_add_path):
10021 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10022 only scan the GST_PLUGIN_PATH locations, and not add
10025 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10027 * docs/gst/gstreamer-sections.txt:
10028 * docs/gst/tmpl/gstbasesrc.sgml:
10029 * gst/gstelement.c:
10030 * gst/gstelement.h:
10035 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10037 * docs/manual/advanced-autoplugging.xml:
10038 Fix autoplugging example.
10040 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10042 * docs/manual/advanced-autoplugging.xml:
10043 * docs/manual/mime-world.fig:
10044 Try to get autoplugging working, fix type detection. Fix text
10045 in hello-world image.
10047 2005-06-29 Wim Taymans <wim@fluendo.com>
10049 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10050 (gst_base_sink_change_state):
10054 map SIGNAL and BROADCAST to the right function.
10057 Remove redundant braces.
10059 * gst/gstpad.c: (gst_pad_set_caps):
10060 Don't call setcaps function when reseting caps to NULL.
10062 * gst/gstsystemclock.c: (gst_system_clock_dispose),
10063 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10064 (gst_system_clock_id_unschedule):
10065 Use BROADCAST as this is what we do.
10067 2005-06-29 Wim Taymans <wim@fluendo.com>
10069 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10070 We are actually prerolling before commiting the state
10073 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10075 * docs/manual/advanced-clocks.xml:
10076 * docs/manual/advanced-interfaces.xml:
10077 * docs/manual/advanced-metadata.xml:
10078 * docs/manual/advanced-position.xml:
10079 * docs/manual/advanced-schedulers.xml:
10080 * docs/manual/advanced-threads.xml:
10081 * docs/manual/appendix-porting.xml:
10082 * docs/manual/basics-bins.xml:
10083 * docs/manual/basics-bus.xml:
10084 * docs/manual/basics-elements.xml:
10085 * docs/manual/basics-helloworld.xml:
10086 * docs/manual/basics-pads.xml:
10087 * docs/manual/highlevel-components.xml:
10088 * docs/manual/manual.xml:
10089 * docs/manual/thread.fig:
10090 Update (until threads/scheduling) Application Development Manual;
10091 remove GstThread, add GstBus, add simple porting checklist, add
10092 documentation for tag writing, clocks, make all examples until this
10093 part compile and run.
10094 * examples/manual/Makefile.am:
10095 Update from changes to Application Development Manual; add bus
10096 example, remove thread example.
10098 2005-06-28 Wim Taymans <wim@fluendo.com>
10100 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10101 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10102 (gst_bus_source_dispatch):
10103 Add debugging messages.
10104 Make internal methods static.
10105 Handle the case where the bus is flushed in the handler.
10107 * gst/gstelement.c: (gst_element_get_bus):
10108 Fix refcount in _get_bus();
10110 * gst/gstpipeline.c: (gst_pipeline_change_state),
10111 (gst_pipeline_get_clock_func):
10112 Clock refcounting fixes.
10113 Handle the case where preroll timed out more gracefully.
10115 * gst/gstsystemclock.c: (gst_system_clock_dispose):
10116 Clean up the internal thread in dispose. This is needed
10117 for subclasses that actually get disposed.
10119 * gst/schedulers/threadscheduler.c:
10120 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10121 (gst_thread_scheduler_dispose):
10122 Free thread pool in dispose.
10124 2005-06-28 Andy Wingo <wingo@pobox.com>
10126 * tests/network-clock-utils.scm (debug, print-event): New utils.
10128 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10129 (*packet-loss*): Unified loss probability.
10130 (network-time): Report out-of-band events.
10132 * tests/plot-data: Add support for out-of-band events. Hack it
10133 into this script instead of passing it down the pipe; should fix
10136 2005-06-28 Wim Taymans <wim@fluendo.com>
10138 * docs/gst/gstreamer.types:
10139 * docs/gst/tmpl/gstbasesrc.sgml:
10140 * docs/gst/tmpl/gstpad.sgml:
10143 2005-06-28 Wim Taymans <wim@fluendo.com>
10145 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10146 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10147 (gst_proxy_pad_do_fixatecaps):
10148 Correctly proxy the check_pull_range function.
10150 2005-06-28 Andy Wingo <wingo@pobox.com>
10152 * tests/network-clock.scm: Removed need for slib.
10154 2005-06-28 Wim Taymans <wim@fluendo.com>
10156 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10157 (gst_basesink_preroll_queue_flush):
10158 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10159 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10160 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10161 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10162 (gst_proxy_pad_set_property):
10165 * gst/gstqueue.c: (gst_queue_init):
10166 The deprecated pad loop function is removed now.
10168 2005-06-28 Andy Wingo <wingo@pobox.com>
10170 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10171 New parameters, simulate network packet loss.
10173 * tests/network-clock-utils.scm: Initialize the RNG.
10175 2005-06-28 Wim Taymans <wim@fluendo.com>
10177 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10178 (gst_basesink_event), (gst_basesink_deactivate):
10179 Flushing the preroll queue always needs to unlock the waiters.
10181 2005-06-28 Edward Hervey <edward@fluendo.com>
10183 * gst/gstpipeline.c: (gst_pipeline_send_event):
10184 Wheen a seek was successful on a pipeline, set the stream_time to the
10185 seek offset in order to have a synchronized stream_time.
10187 2005-06-28 Wim Taymans <wim@fluendo.com>
10189 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10190 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10191 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10192 (gst_proxy_pad_do_fixatecaps):
10193 Call wrapper function instead of just calling the function
10194 pointers. This takes care of any locking and whatmore.
10196 2005-06-28 Wim Taymans <wim@fluendo.com>
10198 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10199 (gst_pad_pull_range):
10201 CONNECTED -> LINKED.
10203 2005-06-28 Andy Wingo <wingo@pobox.com>
10205 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10206 source-munging commit!!!
10208 * gst/gstobject.c (gst_object_unref, gst_object_ref)
10209 (gst_object_sink): Take gpointer arguments, not GstObject --
10210 avoids casts. Like GLib.
10212 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10215 2005-06-27 Andy Wingo <wingo@pobox.com>
10217 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10220 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10221 returns a sorted copy of the trace list.
10222 (gst_alloc_trace_print_live): New API, only prints traces with
10223 live objects. Sort the list.
10224 (gst_alloc_trace_print_all): Sort the list.
10225 (gst_alloc_trace_print): Align columns.
10227 * gst/elements/gstttypefindelement.c:
10228 * gst/elements/gsttee.c:
10229 * gst/base/gstbasesrc.c:
10230 * gst/base/gstbasesink.c:
10231 * gst/base/gstbasetransform.c:
10232 * gst/gstqueue.c: Adapt for pad activation changes.
10234 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10236 (gst_pipeline_dispose): Drop ref on sched.
10238 * gst/gstpad.c (gst_pad_init): Set the default activate func.
10239 (gst_pad_activate_default): Push mode by default.
10240 (pre_activate_switch, post_activate_switch): New stubs, things to
10241 do before and after switching activation modes on pads.
10242 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10243 the pad's activate function to choose which mode to activate.
10244 Shortcut on deactivation and call the right function directly.
10245 (gst_pad_activate_pull): New API, (de)activates a pad in pull
10247 (gst_pad_activate_push): New API, same for push mode.
10248 (gst_pad_set_activate_function)
10249 (gst_pad_set_activatepull_function)
10250 (gst_pad_set_activatepush_function): Setters for new API.
10252 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10253 Trace all miniobjects.
10254 (gst_mini_object_make_writable): Unref the arg if we copy, like
10255 gst_caps_make_writable.
10257 * gst/gstmessage.c (_gst_message_initialize): No trace init.
10259 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
10260 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10261 Adapt for new pad API.
10263 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10265 * gst/gstelement.h:
10266 * gst/gstelement.c (gst_element_iterate_src_pads)
10267 (gst_element_iterate_sink_pads): New API functions.
10269 * gst/gstelement.c (iterator_fold_with_resync): New utility,
10270 should fold into gstiterator.c in some form.
10271 (gst_element_pads_activate): Simplified via use of fold and
10272 delegation of decisions to gstpad->activate.
10274 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10277 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10278 class once in init, like gstmessage. Didn't run into this issue
10279 but it seems correct. Don't initialize a trace, gstminiobject does
10282 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10283 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10285 (assert_live_count): New util function, uses alloc traces to check
10288 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10289 To be modified when unlink drops the internal pad.
10291 2005-06-27 Wim Taymans <wim@fluendo.com>
10293 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10294 (gst_bin_change_state):
10295 Cleanup the get_state() function a little, make sure it
10296 iterates the same set of elements.
10297 Added stub iterate_state_order().
10299 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
10301 * docs/gst/gstreamer-docs.sgml:
10302 * docs/gst/gstreamer-sections.txt:
10303 * docs/gst/gstreamer.types:
10304 * docs/gst/tmpl/gstbasesink.sgml:
10305 * docs/gst/tmpl/gstbasesrc.sgml:
10306 * docs/gst/tmpl/gstbasetransform.sgml:
10307 * docs/gst/tmpl/gstelement.sgml:
10308 * docs/gst/tmpl/gstiterator.sgml:
10309 * gst/base/gstbasesrc.c:
10310 * gst/base/gstbasesrc.h:
10311 * gst/base/gstbasetransform.h:
10312 * gst/gstelement.c:
10313 * gst/gstiterator.h:
10314 adding basetransform and iterator docs
10316 2005-06-27 Andy Wingo <wingo@pobox.com>
10318 * docs/design/part-activation.txt: Notes on how activation should
10319 work -- not quite implemented yet.
10321 2005-06-25 Wim Taymans <wim@fluendo.com>
10323 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10324 At least get the chain function correct, needs more
10327 2005-06-25 Wim Taymans <wim@fluendo.com>
10329 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10330 (gst_basesink_handle_object), (gst_basesink_event),
10331 (gst_basesink_do_sync), (gst_basesink_handle_event),
10332 (gst_basesink_change_state):
10334 Right, two problems here: ghostpads don't take locks and
10335 glib _rec_mutex_lock_full() with depth==0 still locks.
10336 Catch illegal locking and g_warn them.
10338 2005-06-25 Wim Taymans <wim@fluendo.com>
10340 * check/states/sinks.c: (START_TEST), (gst_object_suite):
10341 Have to check for completion now...
10343 2005-06-25 Wim Taymans <wim@fluendo.com>
10345 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10346 (gst_basesink_handle_object), (gst_basesink_event),
10347 (gst_basesink_do_sync), (gst_basesink_handle_event),
10348 (gst_basesink_change_state):
10350 Unlock STREAM_LOCK whatever the recursion was.
10352 2005-06-25 Wim Taymans <wim@fluendo.com>
10354 * gst/base/gstbasesink.c: (gst_basesink_set_property),
10355 (gst_basesink_preroll_queue_empty),
10356 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10357 (gst_basesink_event), (gst_basesink_do_sync),
10358 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10359 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10360 (gst_basesink_change_state):
10361 Reworked the base sink, handle event and buffer serialisation
10362 correctly and removed possible deadlock.
10363 Handle EOS correctly.
10365 2005-06-25 Wim Taymans <wim@fluendo.com>
10367 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10368 (gst_pipeline_change_state):
10369 * tools/gst-launch.c: (check_intr), (event_loop), (main):
10370 Allow elements to post EOS in the state change function.
10371 Fix up -launch, make it exit the poll loop when the
10372 pipeline actually changed state.
10373 Fix up warning parsing in -launch.
10375 2005-06-25 Wim Taymans <wim@fluendo.com>
10377 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10378 (gst_tee_sink_activate):
10379 Core takes STREAM_LOCK for us now.
10381 2005-06-25 Wim Taymans <wim@fluendo.com>
10383 * gst/gstelement.c: (gst_element_get_state_func),
10384 (gst_element_set_state):
10385 * gst/gstelement.h:
10386 * gst/gstmessage.c: (gst_message_parse_error),
10387 (gst_message_parse_warning):
10388 Keep track of current target state while performing a state
10389 change so that subclasses can do something interesting.
10390 Fix parsing of warning/error messages when GError is NULL.
10392 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
10394 * docs/gst/Makefile.am:
10395 * docs/gst/gstreamer-docs.sgml:
10396 * docs/gst/gstreamer-sections.txt:
10397 * docs/gst/gstreamer.types:
10398 * docs/gst/tmpl/gstbasesink.sgml:
10399 * docs/gst/tmpl/gstbasesrc.sgml:
10400 * docs/gst/tmpl/gstbin.sgml:
10401 * docs/gst/tmpl/gstcompat.sgml:
10402 * docs/gst/tmpl/gstfakesink.sgml:
10403 * docs/gst/tmpl/gstfakesrc.sgml:
10404 * docs/gst/tmpl/gstfilesink.sgml:
10405 * docs/gst/tmpl/gstfilesrc.sgml:
10406 * docs/gst/tmpl/gstindex.sgml:
10407 * docs/manual/appendix-quotes.xml:
10408 * gst/base/gstbasesrc.h:
10409 * gst/elements/gstfakesrc.h:
10410 * gst/gstmessage.h:
10411 start pulling in base classes and elements in our docs
10413 2005-06-24 Stefan Kost <ensonic@users.sf.net>
10415 * docs/gst/Makefile.am:
10416 * docs/libs/Makefile.am:
10417 fixed make distcheck with gtk-doc 1.3
10419 2005-06-23 Wim Taymans <wim@fluendo.com>
10421 * gst/gstelement.c: (gst_element_get_state_func),
10422 (gst_element_set_state), (gst_element_change_state):
10423 When the state did not change, also report NO_PREROLL
10426 2005-06-23 Wim Taymans <wim@fluendo.com>
10428 * gst/gstpad.c: (gst_pad_event_default):
10429 * gst/gstqueue.c: (gst_queue_loop):
10430 No unsafe task pausing please.
10432 2005-06-23 Wim Taymans <wim@fluendo.com>
10434 * gst/schedulers/threadscheduler.c:
10435 (gst_thread_scheduler_task_start),
10436 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10437 Ref the task before pushing it on the threadpool. This
10438 makes sure that we have a ref when the threadfunction is
10441 2005-06-23 Andy Wingo <wingo@pobox.com>
10443 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10444 offset is greater than the file's size.
10446 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
10447 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10448 * gst/gstobject.c (gst_object_class_init): Make the class lock
10449 recursive. Wim won't let me drop deep_notify. Decodebin works
10450 again, whoopdy doo.
10452 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10453 internal pad, and hacks accordingly. Doesn't do it on the target
10454 pad because we change its caps. Probably catches all cases of
10456 (gst_ghost_pad_set_property): Connect to notify::caps as
10459 * tests/network-clock.scm (plot-simulation): Pipe data to the
10460 elite python skript.
10462 * tests/network-clock-utils.scm (define-parameter): New macro,
10463 defines a parameter that can be set via the command line.
10464 (set-parameter!, parse-parameter-arguments): Command line args
10467 * tests/plot-data: Simple matplotlib-based plotter, takes input on
10470 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
10472 * gst/elements/gsttypefindelement.c:
10473 (gst_type_find_element_handle_event):
10474 Don't restart typefinding on a discont.
10475 * gst/gstelement.c: (gst_element_set_state):
10476 Debug spelling fix.
10477 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10478 Allow changing mode of an active pad.
10479 Debug output fixes.
10480 * gst/registries/gstlibxmlregistry.c: (load_feature):
10481 Don't cast a static pad template to a normal pad template.
10483 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
10485 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10486 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10487 remove gst_strtoll completely, since it didn't actually do
10488 anything more than what g_ascii_strtoull already does.
10489 check for range errors when deserializing
10490 do a cast for the unsigned cases; but further fixing needs
10491 a decision on what the interpretation of "(int)" and
10492 deserialization should be for values that fall outside the
10493 type's boundaries (ie, refuse, or interpret as casting)
10495 2005-06-23 Wim Taymans <wim@fluendo.com>
10497 * check/Makefile.am:
10498 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10499 * docs/design/part-live-source.txt:
10500 * docs/design/part-states.txt:
10501 * gst/base/gstbasesrc.c: (gst_basesrc_init),
10502 (gst_basesrc_set_live), (gst_basesrc_is_live),
10503 (gst_basesrc_get_range), (gst_basesrc_activate),
10504 (gst_basesrc_change_state):
10505 * gst/base/gstbasesrc.h:
10506 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10507 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10508 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10509 * gst/gstelement.c: (gst_element_get_state_func),
10510 (gst_element_set_state):
10511 * gst/gstelement.h:
10513 * tools/gst-launch.c: (event_loop), (main):
10514 Added support for live sources and other elements that
10516 Updated design docs, added live-source design doc.
10517 Implemented live source functionality in basesrc
10518 Fix error condition in _bin_get_state()
10519 Implement live source handling in -launch.
10520 Added check for live sources.
10521 Fixed case in GstBin where elements were changed state
10525 2005-06-23 Andy Wingo <wingo@pobox.com>
10527 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10528 borken refcounting.
10530 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10531 gst_caps_replace takes care of this for us.
10533 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10534 gst_pad_set_caps on the target, not just its setcaps() function.
10536 * tests/network-clock.scm:
10537 * tests/network-clock-utils.scm: A network clock simulator.
10538 Something of an algorithmic testbed before doing something in C.
10540 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10542 * check/Makefile.am:
10543 * check/gst/capslist.h:
10544 copy over from 0.8, and add two with bitmasks specified with
10546 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10547 add test to parse everything from capslist.h
10548 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10550 add test for structure deserialization
10551 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10552 add tests for deserialization of strings to int types
10553 * gst/gststructure.c: (gst_structure_nth_field_name):
10554 * gst/gststructure.h:
10555 add a way to get the name of a field referenced by index
10556 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10557 instead of checking if the resulting long long lies between
10558 min and max, we check if the long long would fit into
10559 a number of bytes for the final type.
10560 This fixes cases where a string represents 2^32 - 1, which
10561 when cast to int would be the (valid) -1, but is bigger than
10564 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10566 * gst/parse/grammar.y:
10567 add a log line for type deserialization
10569 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10571 * check/gst/gstvalue.c: (START_TEST):
10572 * gst/gstvalue.c: (gst_value_deserialize):
10573 return long long, not int, so gint64 deserialization actually
10574 works. Is there any flag that makes the compiler check this ?
10577 2005-06-22 Wim Taymans <wim@fluendo.com>
10580 Added convenience macros for setting buffers in GValue.
10582 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10584 * check/gst/.cvsignore:
10585 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10586 add a test deserializing int64, and comment part out because
10589 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10591 * check/Makefile.am:
10592 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10593 * testsuite/Makefile.am:
10594 * testsuite/caps/Makefile.am:
10595 * testsuite/caps/value_serialize.c:
10596 * testsuite/test_gst_init.c:
10597 move a value_serialize test over
10599 2005-06-20 Wim Taymans <wim@fluendo.com>
10604 * gst/gstvalue.c: (gst_value_compare_buffer),
10605 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10606 (gst_value_compare_flags), (gst_value_serialize_flags),
10607 (gst_value_deserialize_flags), (_gst_value_initialize):
10608 Fix serialisation of buffers, they are not boxed types anymore
10610 2005-06-20 Wim Taymans <wim@fluendo.com>
10612 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10613 Testcase to show error in buffer-on-caps serialisation.
10615 2005-06-20 Andy Wingo <wingo@pobox.com>
10617 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10618 will be adding to later.
10620 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10621 if its socks fill with rocks.
10622 (gst_system_clock_obtain): Set the name on object construction.
10623 Avoid double-checked locking.
10625 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
10627 * gst/gsturi.c: (gst_element_make_from_uri):
10628 Fix potential endless loop.
10630 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10632 * check/Makefile.am:
10634 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10636 move over from testsuite dir and clean up
10639 * testsuite/Makefile.am:
10640 * testsuite/tags/.cvsignore:
10641 * testsuite/tags/Makefile.am:
10642 * testsuite/tags/merge.c:
10643 remove testsuite/tags
10645 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10647 * docs/gst/gstreamer-sections.txt:
10648 * docs/gst/tmpl/gstenumtypes.sgml:
10649 * win32/gstenumtypes.c:
10650 clean up documentation build a little
10652 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10654 * check/gstcheck.h:
10655 add macros for checking refcounts on objects and caps
10656 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10657 add some more unit tests
10658 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10659 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10660 fix leaked refcounts (I hope :)) so unittest works
10664 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10666 * configure.ac: back to HEAD
10668 === release 0.9.1 ===
10670 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
10676 2005-06-17 Andy Wingo <wingo@pobox.com>
10678 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10679 assert; it's always possible that the pad gets deactivated in
10680 between the checks in gstpad.c and the implementation. Rely on
10681 finish_preroll() to return a FLUSHING or similar instead of on the
10684 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10685 clock and post an EOS message if we come out of finish_preroll in
10688 2005-06-16 David Schleef <ds@schleef.org>
10690 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10691 (gst_capsfilter_set_property): Allow NULL as possible value
10692 for filter_caps property, indicating GST_CAPS_ANY.
10694 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10696 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10698 * gst/schedulers/Makefile.am:
10700 * gstreamer.spec.in:
10703 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10705 * gstreamer.spec.in:
10708 2005-06-08 Andy Wingo <wingo@pobox.com>
10710 * gst/gstutils.c: RPAD fixes all around.
10711 (gst_element_link_pads): Refcounting fixes.
10713 * tools/gst-inspect.c:
10714 * tools/gst-xmlinspect.c:
10716 * gst/base/gsttypefindhelper.c:
10717 * gst/base/gstbasesink.c:
10718 * gst/gstqueue.c: RPAD fixes.
10720 * gst/gstghostpad.h:
10721 * gst/gstghostpad.c: New ghost pad implementation as full proxy
10722 pads. The tricky thing is they provide both source and sink
10723 interfaces, since they proxy the internal pad for the external
10724 pad, and vice versa. Implement with lower-level ProxyPad objects,
10725 with the interior proxy pad as a child of the exterior ghost pad.
10726 Should write a doc on this.
10728 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10729 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10732 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10733 pads are real pads. No ghost pads in this file. Not documenting
10734 the myriad s/RPAD/PAD/ and REALIZE fixes.
10735 (gst_pad_class_init): Add properties for "direction" and
10736 "template". Both are construct-only, so they can't change during
10737 the life of the pad. Fixes properly deriving from GstPad.
10738 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10739 derived objects, just set properties when creating the objects via
10741 (gst_pad_get_parent): Implement as a function, return NULL if the
10742 parent is not an element.
10743 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10744 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10746 * gst/gstobject.c (gst_object_class_init): Make name a construct
10747 property. Don't set it in the object init.
10749 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10750 with UNKNOWN direction.
10751 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10752 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10753 (gst_element_remove_pad): Remove ghost-pad special cases.
10754 (gst_element_pads_activate): Remove rpad cruft.
10756 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10757 catch the pad's-parent-not-an-element case.
10759 * gst/gst.h: Include gstghostpad.h.
10761 * gst/gst.c (init_post): No more real, ghost pads.
10763 * gst/Makefile.am: Add gstghostpad.[ch].
10765 * check/Makefile.am:
10766 * check/gst/gstbin.c:
10767 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10768 into a bin creates ghost pads, and that the refcounts are right.
10769 Partly moved from gstbin.c.
10771 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10773 * check/gst-libs/.cvsignore:
10774 * check/gst/.cvsignore:
10775 * check/pipelines/.cvsignore:
10777 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10778 (START_TEST), (cleanup_suite), (main):
10779 add some tests related to cleanup after running pipelines
10781 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10783 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10784 add a testsuite for GstBuffer
10786 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10788 * gst/gstminiobject.h:
10789 add defines for accessing the refcount
10791 2005-06-03 Stefan Kost <ensonic@users.sf.net>
10793 * Makefile.am: added support for html unit test coverage reports
10795 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
10797 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10798 Free existing caps if the capsfilter changes. Add a FIXME about
10799 setting those caps on the pads.
10801 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10802 Before adding a ghost pad to a parent bin, check that there isn't
10803 already one for the element on the bin. Prevents infinite recursion
10804 when using decodebin in parse pipelines. Andy says he'll rewrite the
10805 way this works anyway, so ignore the hack.
10807 2005-06-02 Andy Wingo <wingo@pobox.com>
10809 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10810 file size, pass it on to the type find helper.
10812 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10813 segment_start and segment_end properly according to the seek
10814 method. Segment_end is still a bit flaky because offset can be
10815 negative for CUR and END cases, but it takes -1 as an "unset"
10818 2005-06-02 Wim Taymans <wim@fluendo.com>
10820 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10821 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10822 (gst_basesink_activate):
10823 * gst/base/gstbasesink.h:
10824 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10825 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10826 (gst_pad_query), (gst_pad_start_task):
10828 * gst/gstqueue.c: (gst_queue_bufferalloc),
10829 (gst_queue_handle_sink_event), (gst_queue_chain):
10830 Bufferalloc: return GstFlowReturn to more accuratly report
10831 why allocation failed.
10833 2005-06-02 Wim Taymans <wim@fluendo.com>
10835 * gst/gstpipeline.c: (gst_pipeline_send_event):
10836 Take snapshot of state without blocking.
10838 2005-06-02 Wim Taymans <wim@fluendo.com>
10840 * docs/design/part-TODO.txt:
10841 * docs/design/part-caps.txt:
10842 * docs/design/part-clocks.txt:
10843 * docs/design/part-negotiation.txt:
10844 * docs/design/part-preroll.txt:
10847 2005-05-30 Wim Taymans <wim@fluendo.com>
10849 * gst/elements/gstidentity.c: (gst_identity_event),
10850 (gst_identity_transform), (gst_identity_get_property):
10851 Protect last_message property as it is accessed from
10854 2005-05-30 Wim Taymans <wim@fluendo.com>
10856 * gst/gstelement.c: (gst_element_init),
10857 (gst_element_pads_activate), (gst_element_change_state):
10858 Slicker pad activation code.
10860 2005-05-30 Wim Taymans <wim@fluendo.com>
10863 * gst/gstelement.h:
10864 * gst/gstelementfactory.h:
10866 Move elementfactory methods to separate .h file.
10868 2005-05-30 Wim Taymans <wim@fluendo.com>
10870 * docs/design/part-overview.txt:
10871 * gst/gstsystemclock.h:
10872 Small typo fixes, doc updates.
10874 2005-05-30 Wim Taymans <wim@fluendo.com>
10876 * gst/gst.c: (gst_init_get_popt_table), (init_post),
10877 (init_popt_callback):
10878 Remove cpu-opt flag.
10880 2005-05-30 Wim Taymans <wim@fluendo.com>
10882 * gst/gstbuffer.c: (gst_subbuffer_finalize),
10883 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10885 Avoid typechecking in places where not needed.
10886 Added accessor for malloc_data.
10888 2005-05-30 Wim Taymans <wim@fluendo.com>
10890 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10891 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10892 (gst_pad_configure_sink), (gst_pad_configure_src),
10893 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10894 (gst_pad_start_task):
10895 Propagate errors from _set_caps() in configure_src/sink
10896 functions instead of returning TRUE.
10897 FLUSH events can travel up and downstream
10900 2005-05-30 Wim Taymans <wim@fluendo.com>
10902 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10903 (gst_basesink_activate):
10904 Handle EOS in preroll.
10906 2005-05-30 Wim Taymans <wim@fluendo.com>
10908 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10909 (gst_queue_loop), (gst_queue_handle_src_event):
10910 Remove old pieces of code
10911 Flushing the queue in an upstream event is a very bad idea.
10913 2005-05-26 Andy Wingo <wingo@pobox.com>
10915 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10916 gst_value_set_mini_object so as to add a ref on the object (which
10917 will be removed when the value is unset).
10919 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10920 arg type in ::handoff.
10922 * gst/gstelement.c (gst_element_change_state): Also deactivate
10923 pads in READY->NULL, just in case the element didn't make it to
10924 PAUSED. Wingo tested, Wim approved.
10926 2005-05-26 Wim Taymans <wim@fluendo.com>
10928 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10929 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10930 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10931 A flushing pad cannot be used to alloc_buffer from.
10933 2005-05-26 Wim Taymans <wim@fluendo.com>
10935 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10936 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10937 (gst_bus_source_dispatch), (gst_bus_source_finalize),
10938 (gst_bus_create_watch), (gst_bus_add_watch_full):
10940 Implement a real GSource and use g_main_context_wakeup() to
10941 signal new messages instead of the socketpair.
10943 2005-05-25 Wim Taymans <wim@fluendo.com>
10945 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10946 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10947 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10948 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10949 (gst_pad_send_event), (gst_pad_start_task):
10950 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10951 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10952 (gst_queue_sink_activate), (gst_queue_src_activate),
10953 (gst_queue_change_state):
10955 Fix state changes for non sinks. We now change sinks, then elements
10956 with unconnected srcpads, then the rest.
10957 More efficient queue unlocking in flush and state changes.
10958 Set the pad activate mode even if it does not have an activate
10961 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10963 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10964 Don't go in pull mode for non-seekable sources.
10965 * gst/elements/gsttypefindelement.h:
10966 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10967 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10968 (free_entry), (stop_typefinding),
10969 (gst_type_find_element_handle_event), (find_peek),
10970 (gst_type_find_element_chain), (do_pull_typefind),
10971 (gst_type_find_element_change_state):
10972 Allow typefinding (w/o seeking) in push-mode, simplified version
10973 of what was in 0.8.
10974 * gst/gstutils.c: (gst_buffer_join):
10976 gst_buffer_join() from 0.8.
10978 2005-05-25 Wim Taymans <wim@fluendo.com>
10980 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10981 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10982 (gst_pad_send_event), (gst_pad_start_task):
10983 Disable attempt at mode switching until it is figured out.
10985 2005-05-25 Wim Taymans <wim@fluendo.com>
10987 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10988 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10989 (gst_basesink_finish_preroll), (gst_basesink_chain),
10990 (gst_basesink_loop), (gst_basesink_activate),
10991 (gst_basesink_change_state):
10992 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10993 (gst_basesrc_get_range), (gst_basesrc_loop),
10994 (gst_basesrc_activate):
10995 * gst/elements/gsttee.c: (gst_tee_sink_activate):
10996 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10997 (gst_real_pad_init), (gst_real_pad_set_property),
10998 (gst_real_pad_get_property), (gst_pad_set_active),
10999 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11000 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11001 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11002 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11003 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11004 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11005 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11006 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11007 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11008 (gst_pad_stop_task):
11010 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11011 (gst_queue_loop), (gst_queue_src_activate):
11012 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11013 (gst_task_get_state):
11015 * gst/schedulers/threadscheduler.c:
11016 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11017 Implement gst_pad_pause/start/stop_task(), take STREAM lock
11019 Remove ACTIVE pad flag, use FLUSHING everywhere
11020 Added _pad_chain(), _pad_get_range() to call chain/getrange
11022 Add locks around IS_FLUSHING when reading.
11023 Take STREAM lock in chain(), get_range() functions so plugins
11024 don't need to take it anymore.
11028 2005-05-25 Wim Taymans <wim@fluendo.com>
11030 * tools/gst-launch.c: (event_loop):
11031 Unref message after using its contents instead of
11034 2005-05-24 Wim Taymans <wim@fluendo.com>
11036 * docs/design/draft-ghostpads.txt:
11037 * docs/design/draft-push-pull.txt:
11038 * docs/design/draft-query.txt:
11039 * docs/design/part-overview.txt:
11040 Docs updates, added general overview doc.
11042 2005-05-21 David Schleef <ds@schleef.org>
11044 * docs/gst/tmpl/old/GstBin.sgml:
11045 * docs/gst/tmpl/old/GstBuffer.sgml:
11046 * docs/gst/tmpl/old/GstCaps.sgml:
11047 * docs/gst/tmpl/old/GstClock.sgml:
11048 * docs/gst/tmpl/old/GstCompat.sgml:
11049 * docs/gst/tmpl/old/GstData.sgml:
11050 * docs/gst/tmpl/old/GstElement.sgml:
11051 * docs/gst/tmpl/old/GstEvent.sgml:
11052 * docs/gst/tmpl/old/GstIndex.sgml:
11053 * docs/gst/tmpl/old/GstStructure.sgml:
11054 * docs/gst/tmpl/old/GstTag.sgml:
11055 * docs/gst/tmpl/old/cothreads.sgml:
11056 * docs/gst/tmpl/old/cothreads_compat.sgml:
11057 * docs/gst/tmpl/old/gettext.sgml:
11058 * docs/gst/tmpl/old/gobject2gtk.sgml:
11059 * docs/gst/tmpl/old/grammar.tab.sgml:
11060 * docs/gst/tmpl/old/gst-i18n-app.sgml:
11061 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11062 * docs/gst/tmpl/old/gst_private.sgml:
11063 * docs/gst/tmpl/old/gstaggregator.sgml:
11064 * docs/gst/tmpl/old/gstarch.sgml:
11065 * docs/gst/tmpl/old/gstatomic_impl.sgml:
11066 * docs/gst/tmpl/old/gstbufferstore.sgml:
11067 * docs/gst/tmpl/old/gstdata_private.sgml:
11068 * docs/gst/tmpl/old/gstdisksink.sgml:
11069 * docs/gst/tmpl/old/gstdisksrc.sgml:
11070 * docs/gst/tmpl/old/gstelementfactory.sgml:
11071 * docs/gst/tmpl/old/gstextratypes.sgml:
11072 * docs/gst/tmpl/old/gstfakesink.sgml:
11073 * docs/gst/tmpl/old/gstfakesrc.sgml:
11074 * docs/gst/tmpl/old/gstfdsink.sgml:
11075 * docs/gst/tmpl/old/gstfdsrc.sgml:
11076 * docs/gst/tmpl/old/gstfilesink.sgml:
11077 * docs/gst/tmpl/old/gstfilesrc.sgml:
11078 * docs/gst/tmpl/old/gsthttpsrc.sgml:
11079 * docs/gst/tmpl/old/gstidentity.sgml:
11080 * docs/gst/tmpl/old/gstindexfactory.sgml:
11081 * docs/gst/tmpl/old/gstmarshal.sgml:
11082 * docs/gst/tmpl/old/gstmd5sink.sgml:
11083 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11084 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11085 * docs/gst/tmpl/old/gstpadtemplate.sgml:
11086 * docs/gst/tmpl/old/gstpipefilter.sgml:
11087 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11088 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11089 * docs/gst/tmpl/old/gstshaper.sgml:
11090 * docs/gst/tmpl/old/gstspider.sgml:
11091 * docs/gst/tmpl/old/gstspideridentity.sgml:
11092 * docs/gst/tmpl/old/gststatistics.sgml:
11093 * docs/gst/tmpl/old/gsttee.sgml:
11094 * docs/gst/tmpl/old/gsttimecache.sgml:
11095 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11096 * docs/gst/tmpl/old/gstxmlregistry.sgml:
11097 * docs/gst/tmpl/old/gthread-cothreads.sgml:
11098 * docs/gst/tmpl/old/types.sgml:
11099 I didn't intend to add these or check them in.
11101 2005-05-19 David Schleef <ds@schleef.org>
11103 * configure.ac: Use -no-common everywhere. In a sane world, it
11104 would be the default in libtool, because without it, you can't
11105 build DLLs on Windows.
11106 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11107 * docs/gst/gstreamer-sections.txt:
11108 * docs/gst/tmpl/gstcpu.sgml:
11109 * docs/gst/tmpl/gstdata.sgml:
11110 * docs/gst/tmpl/gstthread.sgml:
11112 2005-05-19 David Schleef <ds@schleef.org>
11114 * gst/gstminiobject.c: (gst_value_set_mini_object),
11115 (gst_value_take_mini_object), (gst_value_get_mini_object):
11116 * gst/gstminiobject.h: Add GValue set/get functions.
11118 2005-05-19 Wim Taymans <wim@fluendo.com>
11120 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11121 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11122 (gst_subbuffer_init), (gst_buffer_is_span_fast):
11124 * gst/gstbus.c: (gst_bus_post):
11125 * gst/gstelement.c: (gst_element_get_random_pad):
11126 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11127 Make subbufer unref the parent in finalize.
11128 some more debugging info.
11131 2005-05-19 Wim Taymans <wim@fluendo.com>
11133 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11134 (gst_basesink_init), (gst_basesink_finalize),
11135 (gst_basesink_activate), (gst_basesink_change_state):
11136 Don't free preroll queue too early.
11138 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11142 Hi, I'm outdated. Please shoot me.
11144 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11146 * gst/gstpipeline.c: (gst_pipeline_send_event):
11147 Do not access variables after they have been deleted.
11149 2005-05-19 Wim Taymans <wim@fluendo.com>
11151 * tools/gst-inspect.c: (print_plugin_features):
11152 A plugin feature does unfortunatly not use the
11155 2005-05-18 Wim Taymans <wim@fluendo.com>
11157 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11158 Port _span() functions to new subbuffers.
11160 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11162 * gst/gstbin.c: (gst_bin_add_func):
11163 Fix clock settery in bins when adding kids after the clock has
11166 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11168 * gst/elements/gstidentity.c: (gst_identity_class_init):
11169 Workaround until signals support GstMiniObject.
11171 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
11174 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11176 2005-05-18 Wim Taymans <wim@fluendo.com>
11178 * gst/base/Makefile.am:
11179 * gst/base/gstadapter.c: (gst_adapter_base_init),
11180 (gst_adapter_class_init), (gst_adapter_init),
11181 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11182 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11183 (gst_adapter_flush), (gst_adapter_available),
11184 (gst_adapter_available_fast):
11185 * gst/base/gstadapter.h:
11186 Ported and added adapter to the base classes.
11188 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11191 * gst/gstmessage.c:
11192 Make sure the class is reffed/unreffed once before threads can be
11193 used. Fixes #304551.
11195 2005-05-17 Wim Taymans <wim@fluendo.com>
11197 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11198 (gst_basesink_chain_unlocked), (gst_basesink_activate):
11199 * gst/gstminiobject.c: (gst_mini_object_get_type),
11200 (gst_mini_object_free):
11201 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11202 (gst_pad_push), (gst_pad_push_event):
11203 * gst/gstqueue.c: (gst_queue_change_state):
11204 Don't queue buffers in basesink when we are flushing.
11205 Unref buffer when flushing in basesink.
11206 Flush queue when going to READY
11207 Unref buffer when _push() returns an error.
11208 Don't free MiniObject instance when refcount is incremented
11209 in _finalize() so that we can recover objects.
11211 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
11213 * docs/manual/advanced-schedulers.xml:
11214 * docs/manual/appendix-checklist.xml:
11215 * docs/pwg/advanced-clock.xml:
11216 * docs/pwg/advanced-interfaces.xml:
11217 * docs/pwg/advanced-request.xml:
11218 * docs/pwg/advanced-types.xml:
11219 * docs/pwg/intro-preface.xml:
11220 * examples/plugins/example.c: (gst_example_get_type),
11221 (gst_example_class_init), (gst_example_chain),
11222 (gst_example_set_property), (gst_example_get_property),
11223 (gst_example_change_state), (plugin_init):
11224 * examples/plugins/example.h:
11227 2005-05-17 Wim Taymans <wim@fluendo.com>
11229 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11230 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11231 * gst/gstqueue.c: (gst_queue_change_state):
11232 Clear queue when going to READY.
11233 Remove IN_SETCAPS flag too.
11235 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
11237 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11238 Remove implicit cast from gboolean to GstElementStateReturn;
11239 make sure we still return failure in paused => ready case if
11240 the parent class fails to change state and our own stop
11243 2005-05-17 Wim Taymans <wim@fluendo.com>
11245 * tools/gst-launch.c: (event_loop):
11246 Message was unreffed too soon.
11248 2005-05-16 Andy Wingo <wingo@pobox.com>
11250 * gst/gstbin.c (sink_iterator_filter): Err... um...
11252 * check/gst/gstbin.c (test_ghost_pads): New test for the
11253 ghosting-if-elements-not-in-same-bin behavior.
11255 2005-05-16 David Schleef <ds@schleef.org>
11257 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11258 accessing refcount directly.
11260 2005-05-15 David Schleef <ds@schleef.org>
11262 * check/Makefile.am: remove GstData checks
11263 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11264 * gst/Makefile.am: add miniobject, remove data
11265 * gst/gst.h: add miniobject, remove data
11266 * gst/gstdata.c: remove
11267 * gst/gstdata.h: remove
11268 * gst/gstdata_private.h: remove
11269 * gst/gsttypes.h: remove GstEvent and GstMessage
11270 * gst/gstelement.c: (gst_element_post_message): fix for API changes
11271 * gst/gstmarshal.list: change BOXED -> OBJECT
11273 Implement GstMiniObject.
11274 * gst/gstminiobject.c:
11275 * gst/gstminiobject.h:
11277 Modify to be subclasses of GstMiniObject.
11278 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11279 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11280 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11281 (gst_subbuffer_get_type), (gst_subbuffer_init),
11282 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11285 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11286 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11287 (_gst_event_copy), (gst_event_new):
11289 * gst/gstmessage.c: (_gst_message_initialize),
11290 (gst_message_get_type), (gst_message_class_init),
11291 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11292 (gst_message_new), (gst_message_new_error),
11293 (gst_message_new_warning), (gst_message_new_tag),
11294 (gst_message_new_state_changed), (gst_message_new_application):
11295 * gst/gstmessage.h:
11296 * gst/gstprobe.c: (gst_probe_perform),
11297 (gst_probe_dispatcher_dispatch):
11299 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11300 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11301 (_gst_query_copy), (gst_query_new):
11303 Update elements for GstData -> GstMiniObject changes
11305 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11306 (gst_queue_chain), (gst_queue_loop):
11307 * gst/elements/gstbufferstore.c:
11308 (gst_buffer_store_add_buffer_func),
11309 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11310 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11311 (gst_fakesink_render):
11312 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11313 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11314 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11315 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11316 (gst_filesrc_create_read):
11317 * gst/elements/gstidentity.c: (gst_identity_class_init):
11318 * gst/elements/gsttypefindelement.c:
11319 (gst_type_find_element_src_event), (free_entry_buffers),
11320 (gst_type_find_element_handle_event):
11321 * libs/gst/dataprotocol/dataprotocol.c:
11322 (gst_dp_header_from_buffer):
11323 * libs/gst/dataprotocol/dataprotocol.h:
11324 * libs/gst/dataprotocol/dp-private.h:
11326 2005-05-15 David Schleef <ds@schleef.org>
11328 * gst/elements/gstelements.c: Don't include headers that were
11331 2005-05-15 David Schleef <ds@schleef.org>
11333 * gst/elements/Makefile.am: Remove some elements that don't
11334 need to be in the core (or even exist at all).
11335 * gst/elements/gstaggregator.c:
11336 * gst/elements/gstaggregator.h:
11337 * gst/elements/gstmd5sink.c:
11338 * gst/elements/gstmd5sink.h:
11339 * gst/elements/gstmultifilesrc.c:
11340 * gst/elements/gstmultifilesrc.h:
11341 * gst/elements/gstpipefilter.c:
11342 * gst/elements/gstpipefilter.h:
11343 * gst/elements/gstshaper.c:
11344 * gst/elements/gstshaper.h:
11345 * gst/elements/gststatistics.c:
11346 * gst/elements/gststatistics.h:
11347 * po/POTFILES.in: Remove above files.
11349 2005-05-14 Andy Wingo <wingo@pobox.com>
11351 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11352 so as to get the refs right.
11353 (sink_iterator_filter): New function, wraps bin_element_is_sink,
11354 unreffing objects that don't pass the filter.
11356 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11357 gst_element_set_bus.
11358 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11359 normal cases, this will destroy the bus.
11361 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11364 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11367 2005-05-13 Andy Wingo <wingo@pobox.com>
11369 * gst/gstutils.c (gst_element_link_pads): Instead of calling
11370 gst_pad_link, call pad_link_maybe_ghosting,
11371 (pad_link_maybe_ghosting): Links pads, making sure that the
11372 elements being linked are in the same bin.
11373 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11374 Helpers for pad_link_maybe_ghosting.
11376 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11379 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11381 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11383 * docs/design/part-element-source.txt:
11386 2005-05-12 Wim Taymans <wim@fluendo.com>
11388 * gst/base/gstbasesink.c: (gst_basesink_init),
11389 (gst_basesink_activate):
11390 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11391 (gst_basesrc_is_seekable):
11392 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11393 (bin_element_is_sink), (gst_bin_change_state):
11394 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11395 * gst/gstelement.h:
11396 Identify sinks by their flag to avoid overly complicated
11398 Do state changes even for elements not reachable from the
11400 BaseSink is a sink now :)
11401 Some more debugging info in the basesrc.
11404 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11406 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11407 Implement _query on a bin, similar to _send_event.
11409 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
11411 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11412 Discont event offset format should be GST_FORMAT_BYTES,
11413 not GST_FORMAT_TIME.
11415 2005-05-12 Wim Taymans <wim@fluendo.com>
11417 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11418 Same fix as Ronald's but without the signal.
11420 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11422 * gst/gstutils.c: (gst_element_query_position):
11423 No, an element is not a pad.
11425 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11427 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11428 (gst_bin_get_state):
11429 If a child is removed from a bin while we remove the child from
11430 the bin and while we're retrieving its state, signal this to the
11431 get_state function so we abort the wait (instead of waiting for
11432 a timeout) and can immediately re-iterate over all other elements.
11434 2005-05-12 Wim Taymans <wim@fluendo.com>
11436 * gst/base/Makefile.am:
11437 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11438 (gst_basesrc_start):
11439 * gst/base/gstbasesrc.h:
11440 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11441 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11442 (gst_pushsrc_init), (gst_pushsrc_create):
11443 * gst/base/gstpushsrc.h:
11444 Added is_seekable to BaseSrc
11445 Added simple PushSrc.
11447 2005-05-11 Wim Taymans <wim@fluendo.com>
11449 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11450 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11451 (gst_element_link_pads), (gst_element_query_position),
11452 (gst_element_query_convert), (intersect_caps_func),
11453 (gst_pad_query_position), (gst_pad_query_convert):
11454 Fix refcounting in utils function.
11455 No point in trying to activate a pad when it's added, it could
11456 be added from the state change function and then we deadlock, the
11457 element has to decide what to do.
11459 2005-05-10 Andy Wingo <wingo@pobox.com>
11461 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11462 *all* the arguments.
11464 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11465 stream lock if it's a FLUSH_DONE; normal flushes don't get the
11466 lock (according to the docs -- if this is wrong change the docs).
11468 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11469 flush messages in the NULL state.
11471 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11472 message immediately and return.
11473 (gst_bus_set_flushing): New function. If a bus is flushing, it
11474 flushes out any queued messages and immediately unrefs new
11475 messages. This is so when an element goes to NULL, all of the
11476 unhandled messages coming from it can be freed, and their
11477 references to the element dropped. In other words: message source
11478 ref considered harmful :P
11480 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11481 we're finished with it.
11483 * gst/gstmessage.c (gst_message_new_state_changed):
11485 2005-05-10 Wim Taymans <wim@fluendo.com>
11487 * gst/gstvalue.c: (gst_value_compare_flags),
11488 (gst_value_serialize_flags), (gst_value_deserialize_flags),
11489 (_gst_value_initialize):
11490 Added flags serialize/deserialize/compare code.
11492 2005-05-09 Andy Wingo <wingo@pobox.com>
11494 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11495 Intersect the peer's caps with our caps.
11497 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11499 * gst/base/gsttypefindhelper.c: (helper_find_peek):
11500 * gst/elements/gsttypefindelement.c: (find_peek):
11501 Handle negative offsets better. Fixes decodebin.
11503 2005-05-09 Wim Taymans <wim@fluendo.com>
11505 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11506 (gst_base_transform_event):
11507 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11508 Implement accept_caps.
11509 Fix silly lock/unlock mismatch in base class.
11511 2005-05-09 Wim Taymans <wim@fluendo.com>
11513 * docs/design/draft-push-pull.txt:
11514 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11515 * gst/elements/gstfilesink.c: (gst_filesink_init),
11516 (gst_filesink_query):
11517 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11518 (gst_type_find_handle_src_query), (find_element_get_length):
11519 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11520 * gst/gstelement.h:
11521 * gst/gstmessage.c:
11522 * gst/gstmessage.h:
11523 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11524 (gst_real_pad_get_caps_unlocked),
11525 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11526 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11527 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11528 (gst_real_pad_dispose), (gst_real_pad_finalize),
11529 (gst_pad_load_and_link), (gst_pad_save_thyself),
11530 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11531 (gst_pad_check_pull_range), (gst_pad_pull_range),
11532 (gst_pad_template_get_type), (gst_pad_template_class_init),
11533 (gst_pad_template_init), (gst_pad_template_dispose),
11534 (name_is_valid), (gst_static_pad_template_get),
11535 (gst_pad_template_new), (gst_static_pad_template_get_caps),
11536 (gst_pad_template_get_caps), (gst_pad_set_element_private),
11537 (gst_pad_get_element_private), (gst_pad_start_task),
11538 (gst_pad_pause_task), (gst_pad_stop_task),
11539 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11540 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11541 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11542 (gst_ghost_pad_new):
11544 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11545 (gst_query_new_position), (gst_query_set_position),
11546 (gst_query_parse_position), (gst_query_new_convert),
11547 (gst_query_set_convert), (gst_query_parse_convert):
11549 * gst/gstqueryutils.c:
11550 * gst/gstqueryutils.h:
11551 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11552 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11553 (gst_queue_handle_src_query):
11554 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11555 (gst_element_query_position), (gst_element_query_convert),
11556 (intersect_caps_func), (gst_pad_query_position),
11557 (gst_pad_query_convert):
11559 * tools/gst-inspect.c: (print_pad_info):
11560 * tools/gst-xmlinspect.c: (print_element_info):
11561 Remove old query functions. Ported old code.
11562 Added position/convert helper functions to gstutils.
11563 Reordered gstpad.c code, grouping relevant things.
11564 Remove gst_message_new(), always need to speficy a specific
11568 2005-05-09 Andy Wingo <wingo@pobox.com>
11570 * gst/gstiterator.h: Add some includes.
11572 * gst/gstqueryutils.h: Include more headers.
11575 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11576 some uses of gst_pad_query.
11578 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11579 NULL out parameters.
11580 (gst_query_new_position): New proc, allocates a new position
11583 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11584 gstqueryutils.c to the build.
11586 * gst/gststructure.c (gst_structure_set_valist): Implement with
11587 the generic G_VALUE_COLLECT.
11589 2005-05-08 Edward Hervey <bilboed@bilboed.com>
11591 * gst/Makefile.am: (gst_headers):
11592 Added gstqueryutils.h to the list of headers to install, that was
11593 a 'nachty' move wingo :)
11595 2005-05-06 Andy Wingo <wingo@pobox.com>
11598 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11599 GstData, init a memchunk.
11600 (standard_definitions): Add a few query types, deprecate a few.
11601 (gst_query_get_type): New proc.
11602 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11604 (gst_query_new_application, gst_query_get_structure): New public
11607 * docs/design/draft-query.txt: Removed LINKS from the query types,
11608 because all the rest can be dispatched to other pads -- seemed
11609 ugly to have a query that couldn't be dispatched. internal_links
11610 is fine as a pad method.
11612 * gst/gstpad.h: Add query2 as a pad method, add the new functions
11613 in gstpad.c, but maintain binary compatibility for the moment.
11614 Will fix before 0.9 is out.
11616 * gst/gstqueryutils.c:
11617 * gst/gstqueryutils.h: New files, implement 3 methods for each
11618 query type: parse_query, parse_response, and set. Probably need an
11621 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11623 * gst/elements/gstfilesink.c (gst_filesink_query2):
11624 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11625 query_types, and formats methods.
11627 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11628 (gst_pad_set_query2_function): New functions.
11629 (gst_real_pad_init): Set query2_default as the default query2
11630 function. Basically just dispatches to internally linked pads.
11634 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11635 without using the atomic operations. Only one thread can possibly
11636 be accessing the data at this point. Changed so as to avoid
11637 gst_atomic operations.
11639 2005-05-06 Wim Taymans <wim@fluendo.com>
11641 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11642 Also set caps if we use the fallback buffer alloc.
11644 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
11646 * docs/gst/Makefile.am:
11647 * docs/gst/gstreamer-docs.sgml:
11648 * docs/gst/gstreamer-sections.txt:
11649 * docs/gst/tmpl/gstatomic.sgml:
11650 * docs/gst/tmpl/gstmemchunk.sgml:
11651 * testsuite/elements/struct_i386.h:
11652 * win32/GStreamer.vcproj:
11654 Purge GstAtomic stuff from docs and win32 makefiles as well
11656 2005-05-06 Wim Taymans <wim@fluendo.com>
11658 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11659 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11660 * gst/gstpad.c: (gst_pad_peer_get_caps):
11661 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11662 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11663 (gst_queue_src_activate), (gst_queue_change_state):
11665 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11666 (intersect_caps_func):
11667 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11668 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11669 Some fixes for the peer_get_caps() change.
11671 2005-05-06 Wim Taymans <wim@fluendo.com>
11673 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11674 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11675 (gst_basesink_activate):
11676 Actually do something with error codes returned from the push
11679 2005-05-06 Wim Taymans <wim@fluendo.com>
11681 * docs/design/part-element-sink.txt:
11682 * docs/design/part-element-source.txt:
11683 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11684 (gst_basesink_event), (gst_basesink_activate):
11685 * gst/base/gstbasesink.h:
11686 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11687 (gst_basesrc_activate):
11688 * gst/base/gstbasesrc.h:
11689 * gst/gstelement.c: (gst_element_pads_activate):
11690 Some more documentation.
11691 Fixed scheduling decision in _pads_activate().
11693 2005-05-05 Andy Wingo <wingo@pobox.com>
11695 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11698 2005-05-05 Wim Taymans <wim@fluendo.com>
11700 * gst/base/Makefile.am:
11701 * gst/base/gstbasesink.h:
11702 * gst/base/gstbasesrc.c: (gst_basesrc_init),
11703 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11704 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11705 (gst_collectpads_class_init), (gst_collectpads_init),
11706 (gst_collectpads_finalize), (gst_collectpads_new),
11707 (gst_collectpads_set_function), (gst_collectpads_add_pad),
11708 (find_pad), (gst_collectpads_remove_pad),
11709 (gst_collectpads_is_active), (gst_collectpads_collect),
11710 (gst_collectpads_collect_range), (gst_collectpads_start),
11711 (gst_collectpads_stop), (gst_collectpads_peek),
11712 (gst_collectpads_pop), (gst_collectpads_available),
11713 (gst_collectpads_read), (gst_collectpads_flush),
11714 (gst_collectpads_chain):
11715 * gst/base/gstcollectpads.h:
11716 * gst/elements/Makefile.am:
11717 * gst/elements/gstelements.c:
11718 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11719 (gst_fakesink_get_times), (gst_fakesink_event),
11720 (gst_fakesink_preroll), (gst_fakesink_render):
11721 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11722 (gst_filesink_init), (gst_filesink_set_location),
11723 (gst_filesink_open_file), (gst_filesink_close_file),
11724 (gst_filesink_pad_query), (gst_filesink_event),
11725 (gst_filesink_render), (gst_filesink_change_state):
11726 * gst/elements/gstfilesink.h:
11727 Added object to help in making collect pad based elements.
11729 Make event function in sink baseclass return gboolean.
11731 2005-05-05 Wim Taymans <wim@fluendo.com>
11733 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11734 (gst_bin_get_by_name):
11736 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11737 (gst_clock_finalize):
11738 * gst/gstdata.c: (gst_data_replace):
11740 * gst/gstelement.c: (gst_element_request_pad),
11741 (gst_element_pads_activate):
11742 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11743 (gst_object_unref):
11744 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11745 (gst_pad_set_checkgetrange_function),
11746 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11747 (gst_pad_check_pull_range), (gst_pad_pull_range),
11748 (gst_static_pad_template_get_caps), (gst_pad_start_task),
11749 (gst_pad_pause_task), (gst_pad_stop_task):
11750 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11751 (gst_element_request_pad), (gst_pad_proxy_getcaps):
11752 Fix name lookup in GstBin.
11753 Added _data_replace() function and _buffer_replace()
11754 Use finalize method to clean up clock.
11755 Fix refcounting on request pads.
11756 Fix pad schedule mode error.
11757 Some more object refcounting debug info,
11760 2005-05-04 Andy Wingo <wingo@pobox.com>
11762 * check/Makefile.am:
11763 * docs/gst/tmpl/gstatomic.sgml:
11764 * docs/gst/tmpl/gstplugin.sgml:
11765 * gst/base/gstbasesink.c: (gst_basesink_activate):
11766 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11767 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11768 (gst_basesrc_query), (gst_basesrc_set_property),
11769 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11770 (gst_basesrc_activate):
11771 * gst/base/gstbasesrc.h:
11772 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11773 (gst_base_transform_src_activate):
11774 * gst/elements/gstelements.c:
11775 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11776 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11777 * gst/elements/gsttee.c: (gst_tee_sink_activate):
11778 * gst/elements/gsttypefindelement.c: (find_element_get_length),
11779 (gst_type_find_element_checkgetrange),
11780 (gst_type_find_element_activate):
11781 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11782 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11783 (gst_caps_load_thyself):
11784 * gst/gstelement.c: (gst_element_pads_activate),
11785 (gst_element_save_thyself), (gst_element_restore_thyself):
11786 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11787 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11789 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11790 (gst_xml_parse_file), (gst_xml_parse_memory),
11791 (gst_xml_get_element), (gst_xml_make_element):
11792 * gst/indexers/gstfileindex.c: (gst_file_index_load),
11793 (_file_index_id_save_xml), (gst_file_index_commit):
11794 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11795 (read_enum), (load_pad_template), (load_feature), (load_plugin),
11797 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11798 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11799 * tools/gst-complete.c: (main):
11800 * tools/gst-compprep.c: (main):
11801 * tools/gst-inspect.c: (print_element_properties_info):
11802 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11803 * tools/gst-xmlinspect.c: (print_element_properties):
11806 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
11808 * gst/gstplugin.c: (gst_plugin_check_module),
11809 (gst_plugin_check_file), (gst_plugin_load_file):
11810 apply patch from #172526 to make register work on MacOSX
11812 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11814 * docs/gst/tmpl/gstconfig.sgml:
11815 * gst/gstconfig.h.in:
11816 move documentation for some symbols. Add doc for GST_PTR_FORMAT
11817 * testsuite/debug/printf_extension.c: (main):
11818 Do not use GST_PTR_FORMAT on pointers to types with
11819 sizeof < sizeof(gpointer). Fixes test on 64-bit
11820 * testsuite/elements/property.h:
11821 use correct printf format
11823 2005-05-02 Wim Taymans <wim@fluendo.com>
11825 * docs/design/draft-push-pull.txt:
11826 * docs/design/draft-query.txt:
11827 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11828 (gst_basesrc_start):
11829 Added draft for new query API.
11830 Added draft for better selecting scheduling methods.
11831 Make basesrc ignore length if the subclass does not support
11834 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11837 possible fixes for automake-1.5 - _LIBADD is reserved
11839 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11841 * docs/faq/Makefile.am:
11842 * docs/manual/Makefile.am:
11843 * docs/manuals.mak:
11844 * docs/pwg/Makefile.am:
11846 possible fixes for automake-1.5
11848 2005-04-28 Wim Taymans <wim@fluendo.com>
11850 * gst/base/gstbasesink.c: (gst_basesink_base_init),
11851 (gst_basesink_pad_getcaps), (gst_basesink_init),
11852 (gst_basesink_do_sync):
11853 * gst/gstclock.c: (gst_clock_entry_new):
11854 * gst/gstevent.c: (gst_event_discont_get_value):
11855 * gst/gstpipeline.c: (pipeline_bus_handler),
11856 (gst_pipeline_change_state):
11857 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11858 Better debugging of clocking info.
11859 Allow NULL values when getting discont values.
11861 2005-04-27 Wim Taymans <wim@fluendo.com>
11863 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11864 * check/gst/gstpad.c: (gst_pad_suite):
11865 Increase timeout for checks.
11867 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11869 * check/Makefile.am:
11870 fix the broken rule for cleanup. Apparently this rule is
11871 only needed on FC2, so maybe this warrants further autotool
11874 2005-04-26 Wim Taymans <wim@fluendo.com>
11876 * gst/gsttrashstack.h:
11877 Ooohh. a nasty one! After having a failed pop() from the stack,
11878 it's possible that the stack is empty. In that case, don't
11879 follow the NULL pointer.
11881 2005-04-25 Wim Taymans <wim@fluendo.com>
11883 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11884 (gst_pad_set_checkgetrange_function),
11885 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11886 (gst_pad_check_pull_range), (gst_pad_pull_range),
11887 (gst_static_pad_template_get_caps), (gst_pad_start_task),
11888 (gst_pad_pause_task), (gst_pad_stop_task):
11889 * gst/gstplugin.c: (gst_plugin_load):
11891 Remove gst_library_load as it does more harm than good with
11892 the new g_module flags.
11893 Revert bogus caps template check in pad linking, pad caps
11894 are important when linking not the template, which is more
11895 general than the current caps.
11897 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11899 * gst/autoplug/.cvsignore:
11900 * gst/autoplug/Makefile.am:
11901 * gst/autoplug/gstsearchfuncs.c:
11902 * gst/autoplug/gstsearchfuncs.h:
11903 * gst/autoplug/gstspider.c:
11904 * gst/autoplug/gstspider.h:
11905 * gst/autoplug/gstspideridentity.c:
11906 * gst/autoplug/gstspideridentity.h:
11907 * gst/autoplug/spidertest.c:
11910 2005-04-25 Wim Taymans <wim@fluendo.com>
11912 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11913 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11914 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11915 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11917 Added stubs for unimplemented functions.
11919 2005-04-24 David Schleef <ds@schleef.org>
11921 * gst/gstpad.h: Disable some unimplemented functions. Wim,
11924 2005-04-24 David Schleef <ds@schleef.org>
11926 Convert everything from GstAtomicInt to g_atomic_int_*, and
11931 * gst/gstatomic_impl.h:
11939 * gst/gstdata_private.h:
11943 * gst/gstmessage.c:
11946 * gst/gststructure.c:
11947 * gst/gststructure.h:
11948 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11951 2005-04-24 David Schleef <ds@schleef.org>
11953 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11954 make the regressions tests work. Remove some code that is no
11956 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11957 Disable warning for pads without templates.
11959 2005-04-24 David Schleef <ds@schleef.org>
11961 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
11962 functions that handle filtered links.
11963 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11965 * gst/gstutils.c: Fix/remove utility functions that handle
11968 * gst/gstvalue.c: Add serialization/deserialization of caps
11969 * gst/parse/grammar.y: Ignore filtered caps when linking. This
11970 requires fixing so that the filter caps notation creates
11971 a capsfilter element and sets the filter_caps property. I
11972 think everyone probably wants to keep the shorthand notation.
11973 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11974 * docs/gst/tmpl/gstpad.sgml:
11976 * gst/elements/gstelements.c: Register capsfilter element.
11977 * gst/Makefile.am: fix spacing
11978 * docs/random/ds/0.9-suggested-changes: random
11980 2005-04-23 David Schleef <ds@schleef.org>
11982 * gst/elements/Makefile.am:
11983 * gst/elements/gstcapsfilter.c: New element that acts like an
11984 identity, but filters caps. Will eventually replace filtered
11985 caps in pad linking.
11986 * gst/gstutils.c: (gst_element_create_all_pads): New function
11987 to create all the ALWAYS pads that are registered with an
11988 element class. This functionality should eventually be
11989 merged in with GstElement initialization.
11991 * testsuite/trigger/README: part of trigger test code that should
11992 have been checked in a long time ago.
11994 2005-04-23 David Schleef <ds@schleef.org>
11996 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
11997 needed with new versions of libtool (nobody will confirm this),
11998 and hard to carry around.
11999 * gst/autoplug/Makefile.am:
12000 * gst/base/Makefile.am:
12001 * gst/elements/Makefile.am:
12002 * gst/indexers/Makefile.am:
12003 * gst/schedulers/Makefile.am:
12004 * libs/gst/bytestream/Makefile.am:
12005 * libs/gst/control/Makefile.am:
12006 * libs/gst/dataprotocol/Makefile.am:
12007 * libs/gst/getbits/Makefile.am:
12009 2005-04-21 Wim Taymans <wim@fluendo.com>
12011 * docs/design/draft-push-pull.txt:
12012 * docs/design/part-MT-refcounting.txt:
12013 * docs/design/part-TODO.txt:
12014 * docs/design/part-caps.txt:
12015 * docs/design/part-events.txt:
12016 * docs/design/part-gstbus.txt:
12017 * docs/design/part-gstpipeline.txt:
12018 * docs/design/part-messages.txt:
12019 * docs/design/part-push-pull.txt:
12020 * docs/design/part-query.txt:
12023 2005-04-21 Wim Taymans <wim@fluendo.com>
12025 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12026 (gst_message_new), (gst_message_new_error),
12027 (gst_message_new_warning), (gst_message_new_tag),
12028 (gst_message_new_state_changed), (gst_message_new_application),
12029 (gst_message_get_structure):
12030 * gst/gstmessage.h:
12031 * gst/gststructure.c: (gst_structure_set_parent_refcount),
12032 (gst_structure_copy_conditional):
12033 Use parent refcount in GstMessage to ensure GstStructure
12035 Cleaned up headers a bit.
12038 2005-04-20 Wim Taymans <wim@fluendo.com>
12040 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12041 (gst_basesink_pad_getcaps), (gst_basesink_init),
12042 (gst_basesink_chain_unlocked):
12043 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12044 (gst_type_find_helper):
12045 * gst/elements/gsttypefindelement.c:
12046 (gst_type_find_element_have_type), (gst_type_find_element_init),
12047 (stop_typefinding), (gst_type_find_element_handle_event),
12048 (find_suggest), (gst_type_find_element_chain),
12049 (gst_type_find_element_checkgetrange),
12050 (gst_type_find_element_getrange), (do_typefind),
12051 (gst_type_find_element_activate):
12052 * gst/gstbuffer.c: (_gst_buffer_sub_free),
12053 (gst_buffer_default_free), (gst_buffer_default_copy),
12054 (gst_buffer_set_caps):
12055 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12056 (gst_caps_replace):
12057 * gst/gstmessage.c: (gst_message_new),
12058 (gst_message_new_state_changed):
12059 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12060 (gst_pad_set_checkgetrange_function),
12061 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12062 (gst_pad_set_caps), (gst_pad_check_pull_range),
12063 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12065 * gst/gsttypefind.c: (gst_type_find_register):
12066 Make gst_caps_replace() work like other _replace() functions.
12067 Use _caps_replace() where possible.
12068 Make sure _message_new() initialises its field.
12069 Add gst_static_pad_template_get_caps()
12072 2005-04-18 Andy Wingo <wingo@pobox.com>
12074 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12075 on the peer, not the pad. I think that was a typo. Pass an extra
12076 arg to see if random access is possible. Activate the pads as
12077 PULL_RANGE if possible.
12079 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12081 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
12082 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12085 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12087 * docs/faq/using.xml:
12088 Add note on gstreamer-properties (#154996).
12090 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12092 * docs/random/bbb/optional-properties:
12093 Some analysis on optional properties.
12095 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12097 * docs/gst/tmpl/gstelementfactory.sgml:
12098 * gst/gstelement.h:
12099 * gst/gstelementfactory.c: (gst_element_factory_init),
12100 (gst_element_factory_cleanup), (gst_element_register),
12101 (__gst_element_factory_add_static_pad_template),
12102 (gst_element_factory_get_static_pad_templates),
12103 (gst_element_factory_can_src_caps),
12104 (gst_element_factory_can_sink_caps):
12105 * gst/registries/Makefile.am:
12106 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12107 (gst_xml_registry_class_init), (gst_xml_registry_init),
12108 (gst_xml_registry_new), (gst_xml_registry_set_property),
12109 (gst_xml_registry_get_property), (get_time), (make_dir),
12110 (gst_xml_registry_get_perms_func),
12111 (plugin_times_older_than_recurse), (plugin_times_older_than),
12112 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12113 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12114 (add_to_char_array), (read_string), (read_uint), (read_enum),
12115 (load_pad_template), (load_feature), (load_plugin), (load_paths),
12116 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12117 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12118 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12119 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12120 (gst_xml_registry_rebuild):
12121 * gst/registries/gstlibxmlregistry.h:
12122 * tools/gst-compprep.c: (main):
12123 * tools/gst-inspect.c: (print_pad_templates_info):
12124 * tools/gst-xmlinspect.c: (print_element_info):
12125 Use libxml2 for registry parsing, use staticpadtemplates in
12126 elementfactories. Makes gst_init() +/- 10x faster.
12128 2005-04-12 Wim Taymans <wim@fluendo.com>
12130 * gst/base/Makefile.am:
12131 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12132 (gst_basesink_pad_getcaps), (gst_basesink_init),
12133 (gst_basesink_event), (gst_basesink_change_state):
12134 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12135 (gst_basesrc_init), (gst_basesrc_query),
12136 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12137 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12138 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12139 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12140 (gst_basesrc_stop), (gst_basesrc_activate),
12141 (gst_basesrc_change_state):
12142 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12143 (helper_find_suggest), (gst_type_find_helper):
12144 * gst/base/gsttypefindhelper.h:
12145 * gst/elements/Makefile.am:
12146 * gst/elements/gstelements.c:
12147 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12148 (gst_fakesink_get_times), (gst_fakesink_event),
12149 (gst_fakesink_preroll), (gst_fakesink_render):
12150 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12151 (gst_fakesrc_init), (gst_fakesrc_event_handler),
12152 (gst_fakesrc_get_property), (gst_fakesrc_create),
12153 (gst_fakesrc_start), (gst_fakesrc_stop):
12154 * gst/elements/gstfakesrc.h:
12155 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12156 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12157 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12158 (gst_filesrc_create_read), (gst_filesrc_create),
12159 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12160 (gst_filesrc_start):
12161 * gst/elements/gsttypefindelement.c:
12162 (gst_type_find_element_have_type), (gst_type_find_element_init),
12163 (start_typefinding), (stop_typefinding), (push_buffer_store),
12164 (gst_type_find_element_handle_event),
12165 (gst_type_find_element_chain),
12166 (gst_type_find_element_checkgetrange),
12167 (gst_type_find_element_getrange), (do_typefind),
12168 (gst_type_find_element_activate),
12169 (gst_type_find_element_change_state):
12170 * gst/elements/gsttypefindelement.h:
12171 * gst/gstpipeline.c: (pipeline_bus_handler):
12172 Added typefind helper.
12173 Small preroll fix in the base sink.
12174 Disable typefind code in basesrc.
12175 Crude port of typefindelement.
12179 2005-04-11 Wim Taymans <wim@fluendo.com>
12181 * check/gst/gstbus.c: (gstbus_suite):
12182 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12183 * check/gstcheck.h:
12184 Fix up the timeout so that the test does not fail.
12186 2005-04-06 Wim Taymans <wim@fluendo.com>
12189 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12190 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12191 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12192 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12193 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12194 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12195 (gst_basesrc_stop), (gst_basesrc_activate),
12196 (gst_basesrc_change_state), (basesrc_find_peek),
12197 (basesrc_find_suggest), (gst_basesrc_type_find):
12198 * gst/base/gstbasesrc.h:
12199 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12200 (gst_filesrc_class_init), (gst_filesrc_init),
12201 (gst_filesrc_finalize), (gst_filesrc_set_location),
12202 (gst_filesrc_set_property), (gst_filesrc_get_property),
12203 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12204 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12205 (gst_filesrc_create_read), (gst_filesrc_create),
12206 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12207 * gst/elements/gstfilesrc.h:
12208 * gst/gstelement.c: (gst_element_get_state_func),
12209 (gst_element_lost_state), (gst_element_pads_activate):
12210 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12211 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12212 (gst_pad_pull_range):
12214 More work on the generic source base class, implement seeking,
12216 Make filesrc extend the base source class.
12217 Added gst_pad_set_checkgetrange_function to GstPad.
12219 2005-04-06 Andy Wingo <wingo@pobox.com>
12221 * pkgconfig/gstreamer-base.pc.in:
12222 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12224 * pkgconfig/Makefile.am:
12225 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12227 2005-04-04 Wim Taymans <wim@fluendo.com>
12229 * gst/base/Makefile.am:
12231 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12232 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12233 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12234 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12235 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12236 (gst_basesrc_base_init), (gst_basesrc_class_init),
12237 (gst_basesrc_init), (gst_basesrc_get_formats),
12238 (gst_basesrc_get_query_types), (gst_basesrc_query),
12239 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12240 (gst_basesrc_set_property), (gst_basesrc_get_property),
12241 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12242 (gst_basesrc_loop), (gst_basesrc_activate),
12243 (gst_basesrc_change_state):
12244 * gst/base/gstbasesrc.h:
12245 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12246 (gst_fakesrc_class_init), (gst_fakesrc_init),
12247 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12248 (gst_fakesrc_get_property), (gst_fakesrc_create):
12249 * gst/elements/gstfakesrc.h:
12250 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12251 (gst_filesrc_open_file), (gst_filesrc_loop),
12252 (gst_filesrc_activate), (filesrc_find_peek),
12253 (gst_filesrc_type_find):
12254 Made base source class, make fakesrc extend it.
12255 Add comments to basesink class.
12256 Some filesrc cleanup.
12258 2005-03-31 David Schleef <ds@schleef.org>
12260 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12261 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12262 expected to link against libgstreamer.
12263 * gst/base/Makefile.am: link against libgstreamer
12264 * gst/elements/Makefile.am: same
12266 2005-03-31 Andy Wingo <wingo@pobox.com>
12268 * tests/instantiate/Makefile.am:
12269 * tests/instantiate/caps.c: Add test to test speed of caps copy
12272 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12273 GMemChunk to be fair.
12275 * gst/gsttrashstack.h: Remove warning about using the fallback
12276 trash stack implementation, it's still faster than malloc.
12278 2005-03-30 Andy Wingo <wingo@pobox.com>
12280 * tests/complexity.c: Add a copyright.
12282 2005-03-31 Wim Taymans <wim@fluendo.com>
12284 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12285 (gst_base_transform_class_init), (gst_base_transform_init),
12286 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12287 (gst_base_transform_get_property),
12288 (gst_base_transform_sink_activate),
12289 (gst_base_transform_src_activate),
12290 (gst_base_transform_change_state):
12291 * gst/base/gstbasetransform.h:
12292 * gst/elements/gstidentity.c: (gst_identity_class_init),
12293 (gst_identity_event), (gst_identity_check_perfect),
12294 (gst_identity_transform), (gst_identity_start),
12295 (gst_identity_stop):
12296 Added start/stop methods to transform base class so subclasses
12297 don't need to deal with state changes even.
12299 2005-03-31 Wim Taymans <wim@fluendo.com>
12301 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12302 (gst_event_new_discontinuous), (gst_event_discont_get_value):
12304 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12305 (gst_pad_pull_range):
12306 Added rate to the discont event to prepare for variable speed
12307 and reverse playback.
12309 2005-03-29 David Schleef <ds@schleef.org>
12312 * testsuite/trigger/Makefile.am:
12313 * testsuite/trigger/trigger.c: A little example program to show
12314 how trigger-based elements can work.
12316 2005-03-29 Wim Taymans <wim@fluendo.com>
12318 * gst/base/Makefile.am:
12320 * gst/base/gstbasesink.c: (gst_basesink_get_type),
12321 (gst_basesink_base_init), (gst_basesink_class_init),
12322 (gst_basesink_pad_getcaps), (gst_basesink_init),
12323 (gst_basesink_activate), (gst_basesink_change_state):
12324 * gst/base/gstbasesink.h:
12325 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12326 (gst_base_transform_base_init), (gst_base_transform_finalize),
12327 (gst_base_transform_class_init), (gst_base_transform_init),
12328 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12329 (gst_base_transform_event), (gst_base_transform_getrange),
12330 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12331 (gst_base_transform_set_property),
12332 (gst_base_transform_get_property),
12333 (gst_base_transform_sink_activate),
12334 (gst_base_transform_src_activate),
12335 (gst_base_transform_change_state):
12336 * gst/base/gstbasetransform.h:
12337 * gst/elements/gstidentity.c: (gst_identity_finalize),
12338 (gst_identity_class_init), (gst_identity_init),
12339 (gst_identity_event), (gst_identity_check_perfect),
12340 (gst_identity_transform), (gst_identity_set_property),
12341 (gst_identity_get_property), (gst_identity_change_state):
12342 * gst/elements/gstidentity.h:
12343 * gst/gstelement.c: (gst_element_get_state_func),
12344 (gst_element_lost_state), (gst_element_pads_activate):
12345 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12346 (gst_pad_check_pull_range), (gst_pad_pull_range):
12348 Simplify pad activation.
12349 Added function to check if pull_range can be performed.
12350 Error out when pulling inactive or flushing pads.
12351 Removed const from refcounted types as it does not make sense.
12352 Simplify pad templates in basesink
12353 Added base class for simple 1-to-1 transforms.
12354 Make identity subclass the base transform.
12356 2005-03-29 Andy Wingo <wingo@pobox.com>
12358 * docs/libs/gstreamer-libs-overrides.txt:
12359 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12360 really don't understand what's going on, but like whatever. I want
12363 * docs/gst/Makefile.am:
12364 * docs/libs/Makefile.am: Dist the overrides files.
12366 * check/Makefile.am (clean-local): Remove .libs directories.
12368 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12369 elements to EXTRA_DIST, so po/ files are happy.
12371 * po/POTFILES.in: Er, remove it here.
12373 * po/POTFILES: Remove gstspider.c.
12375 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12377 * docs/libs/gstreamer-libs-docs.sgml:
12378 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12381 * tests/complexity.c (main): Set the length of the preroll queue
12382 on the sinks to prevent a lockup.
12384 * libs/gst/dataprotocol/Makefile.am:
12385 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12386 the same as the one in check/gst-libs/gdp.c.
12388 * po/, docs/gst/: Commit automatic changes to docs and po files.
12390 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12391 the versioned libgstbase.
12393 * check/Makefile.am: Depend on an unversioned gst-register, seems
12394 to make autoconf happier.
12396 * gst/base/Makefile.am: Make libgstbase a versioned lib.
12398 2005-03-28 Wim Taymans <wim@fluendo.com>
12401 * docs/design/part-gstelement.txt:
12402 * docs/design/part-negotiation.txt:
12403 * docs/design/part-preroll.txt:
12404 * docs/design/part-scheduling.txt:
12405 * docs/design/part-states.txt:
12407 * gst/base/Makefile.am:
12409 * gst/base/gstbasesink.c: (gst_basesink_get_template),
12410 (gst_basesink_base_init), (gst_basesink_class_init),
12411 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12412 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12413 (gst_basesink_set_pad_functions),
12414 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12415 (gst_basesink_set_property), (gst_basesink_get_property),
12416 (gst_base_sink_get_template), (gst_base_sink_get_caps),
12417 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12418 (gst_basesink_preroll_queue_push),
12419 (gst_basesink_preroll_queue_empty),
12420 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12421 (gst_basesink_event), (gst_basesink_get_times),
12422 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12423 (gst_basesink_chain_unlocked), (gst_basesink_chain),
12424 (gst_basesink_loop), (gst_basesink_activate),
12425 (gst_basesink_change_state):
12426 * gst/base/gstbasesink.h:
12427 * gst/elements/Makefile.am:
12428 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12429 (gst_fakesink_class_init), (gst_fakesink_init),
12430 (gst_fakesink_set_property), (gst_fakesink_get_property),
12431 (gst_fakesink_get_times), (gst_fakesink_event),
12432 (gst_fakesink_preroll), (gst_fakesink_render),
12433 (gst_fakesink_change_state):
12434 * gst/elements/gstfakesink.h:
12435 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12436 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12437 * gst/gstelement.c: (gst_element_add_pad),
12438 (gst_element_get_state_func), (gst_element_abort_state),
12439 (gst_element_commit_state), (gst_element_lost_state),
12440 (gst_element_set_state), (gst_element_pads_activate):
12441 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12442 * gst/gstpipeline.c: (gst_pipeline_send_event),
12443 (gst_pipeline_change_state):
12444 Added state change code.
12445 Added/updated docs.
12446 Added sink base class, make fakesink extend the base class.
12447 Small cleanups in GstPipeline.
12449 2005-03-26 David Schleef <ds@schleef.org>
12451 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
12452 is broken and should be implemented in a different library.
12453 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12454 * gst/gst.h: remove gstcpu.h
12455 * gst/gstcpu.c: remove
12456 * gst/gstcpu.h: remove
12457 * gst/Makefile.am.future: Remove this file. It's ancient.
12459 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12461 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12462 (gst_bin_send_event):
12463 Add default event/set_manager handlers. The set_manager handler
12464 takes care that the manager is distributed over kids that were
12465 already in the bin before the manager was set. The event handler
12466 is a utility virtual function that sends the event over all sinks,
12467 so that gst_element_send_event (bin, event); has the expected
12469 * gst/gstpad.c: (gst_pad_event_default):
12470 Re-install default event handling for discontinuities, so that
12471 seeking works without requiring hacks in applications or extra
12473 * gst/gstpipeline.c: (gst_pipeline_class_init),
12474 (gst_pipeline_send_event):
12475 Half hack, half utility: set a pipeline to PAUSED for seek events,
12476 since that is the only way we can guarantee a/v sync. Means that
12477 you can do gst_element_seek (pipeline, method, pos); on a pipeline
12478 and it "just works".
12480 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12482 * gst/gstpipeline.c: (gst_pipeline_use_clock):
12483 Lock/unlock mismatch.
12485 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
12487 * docs/faq/gst-uninstalled:
12488 add gst-plugins-base
12489 * docs/gst/Makefile.am:
12490 don't error out until docs are fixed
12491 * docs/gst/gstreamer.types:
12494 2005-03-22 Wim Taymans <wim@fluendo.com>
12496 * check/Makefile.am:
12497 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12498 * gst/gststructure.c: (gst_structure_set_valist),
12499 (gst_structure_copy_conditional):
12500 Activated more tests.
12501 Added message test.
12502 Added G_TYPE_POINTER to GstStructure.
12505 2005-03-22 Wim Taymans <wim@fluendo.com>
12507 * docs/design/part-TODO.txt:
12508 * docs/design/part-events.txt:
12509 * docs/design/part-gstbin.txt:
12510 * docs/design/part-gstbus.txt:
12511 * docs/design/part-gstpipeline.txt:
12512 * docs/design/part-messages.txt:
12514 * gst/gstmessage.c:
12517 2005-03-21 Wim Taymans <wim@fluendo.com>
12519 * gst/gstbus.c: (gst_bus_post):
12520 Fix copy-and-paste error.
12522 2005-03-21 Wim Taymans <wim@fluendo.com>
12524 * check/Makefile.am:
12526 * gst/elements/Makefile.am:
12527 * gst/elements/gstelements.c:
12528 * gst/elements/gstfakesink.c: (gst_fakesink_init),
12529 (gst_fakesink_event), (gst_fakesink_chain):
12530 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12531 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12532 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12533 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12534 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12535 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12536 (gst_fakesrc_loop), (gst_fakesrc_activate),
12537 (gst_fakesrc_change_state):
12538 * gst/elements/gstfakesrc.h:
12539 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12540 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12541 (gst_filesrc_open_file), (gst_filesrc_loop),
12542 (gst_filesrc_activate), (gst_filesrc_change_state),
12543 (filesrc_find_peek), (filesrc_find_suggest),
12544 (gst_filesrc_type_find):
12545 * gst/elements/gstidentity.c: (gst_identity_finalize),
12546 (gst_identity_class_init), (gst_identity_init),
12547 (gst_identity_proxy_getcaps), (identity_queue_push),
12548 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12549 (gst_identity_getrange), (gst_identity_chain),
12550 (gst_identity_sink_loop), (gst_identity_src_loop),
12551 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12552 (gst_identity_set_property), (gst_identity_get_property),
12553 (gst_identity_change_state):
12554 * gst/elements/gstidentity.h:
12555 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12556 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12557 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12558 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12559 (gst_tee_sink_activate):
12560 * gst/elements/gsttee.h:
12561 * gst/gst.c: (gst_register_core_elements), (init_post):
12563 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12564 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12565 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12566 (gst_bin_change_state):
12568 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12569 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12570 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12571 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12572 (gst_bus_set_sync_handler), (gst_bus_create_watch),
12573 (bus_watch_callback), (bus_watch_destroy),
12574 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12575 (poll_timeout), (gst_bus_poll):
12579 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12580 (gst_element_post_message), (gst_element_message_full),
12581 (gst_element_get_state_func), (gst_element_get_state),
12582 (gst_element_abort_state), (gst_element_commit_state),
12583 (gst_element_lost_state), (gst_element_set_state),
12584 (gst_element_pads_activate), (gst_element_change_state),
12585 (gst_element_dispose), (gst_element_set_manager_func),
12586 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12587 (gst_element_set_manager), (gst_element_get_manager),
12588 (gst_element_set_bus), (gst_element_get_bus),
12589 (gst_element_set_scheduler), (gst_element_get_scheduler):
12590 * gst/gstelement.h:
12591 * gst/gstevent.c: (gst_event_new_segment_seek),
12592 (gst_event_new_flush):
12594 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12595 (_gst_message_free), (gst_message_get_type), (gst_message_new),
12596 (gst_message_new_eos), (gst_message_new_error),
12597 (gst_message_new_warning), (gst_message_new_tag),
12598 (gst_message_new_state_changed), (gst_message_new_application),
12599 (gst_message_get_structure), (gst_message_parse_tag),
12600 (gst_message_parse_state_changed), (gst_message_parse_error),
12601 (gst_message_parse_warning):
12602 * gst/gstmessage.h:
12603 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12604 (gst_real_pad_set_property), (gst_pad_set_active),
12605 (gst_pad_is_active), (gst_pad_set_blocked_async),
12606 (gst_pad_set_blocked), (gst_pad_is_blocked),
12607 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12608 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12609 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12610 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12611 (gst_pad_link_filtered), (gst_pad_relink_filtered),
12612 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12613 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12614 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12615 (gst_pad_set_caps), (gst_pad_configure_sink),
12616 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12617 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12618 (gst_real_pad_dispose), (gst_real_pad_finalize),
12619 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12620 (gst_pad_event_default_dispatch), (gst_pad_event_default),
12621 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12623 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12624 (pipeline_bus_handler), (gst_pipeline_change_state),
12625 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12626 * gst/gstpipeline.h:
12628 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12629 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12630 (gst_queue_link_src), (gst_queue_bufferalloc),
12631 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12632 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12633 (gst_queue_loop), (gst_queue_handle_src_event),
12634 (gst_queue_handle_src_query), (gst_queue_src_activate),
12635 (gst_queue_change_state):
12637 * gst/gstscheduler.c: (gst_scheduler_init),
12638 (gst_scheduler_dispose), (gst_scheduler_create_task),
12639 (gst_scheduler_factory_create):
12640 * gst/gstscheduler.h:
12641 * gst/gststructure.c: (gst_structure_get_type),
12642 (gst_structure_copy_conditional):
12643 * gst/gststructure.h:
12644 * gst/gsttaginterface.h:
12645 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12646 (gst_task_init), (gst_task_dispose), (gst_task_create),
12647 (gst_task_get_state), (gst_task_start), (gst_task_stop),
12653 * gst/schedulers/Makefile.am:
12654 * gst/schedulers/cothreads_compat.h:
12655 * gst/schedulers/entryscheduler.c:
12656 * gst/schedulers/faircothreads.c:
12657 * gst/schedulers/faircothreads.h:
12658 * gst/schedulers/fairscheduler.c:
12659 * gst/schedulers/gstbasicscheduler.c:
12660 * gst/schedulers/gstoptimalscheduler.c:
12661 * gst/schedulers/gthread-cothreads.h:
12662 * gst/schedulers/threadscheduler.c:
12663 (gst_thread_scheduler_task_get_type),
12664 (gst_thread_scheduler_task_class_init),
12665 (gst_thread_scheduler_task_init),
12666 (gst_thread_scheduler_task_start),
12667 (gst_thread_scheduler_task_stop),
12668 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12669 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12670 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12671 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12673 * libs/gst/Makefile.am:
12674 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12675 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12676 (gst_file_pad_parent_set):
12677 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12678 (gst_dp_event_from_packet):
12679 * tests/complexity.c: (main):
12680 * tests/mass_elements.c: (main):
12681 * testsuite/states/locked.c: (message_received), (main):
12682 * testsuite/states/parent.c: (main):
12683 * tools/gst-inspect.c: (print_element_flag_info),
12684 (print_implementation_info), (print_pad_info):
12685 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12687 * tools/gst-md5sum.c: (event_loop), (main):
12688 * tools/gst-typefind.c: (main):
12689 * tools/gst-xmlinspect.c: (print_element_info):
12691 Added GstBus for mainloop integration.
12692 Added GstMessage for sending notifications on the bus.
12693 Added GstTask as an abstraction for pipeline entry points.
12695 Removed Schedulers.
12696 Simplified GstQueue for multithreaded core.
12697 Made _link threadsafe, removed old capsnego.
12698 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12699 Added pad blocking functions.
12700 Reworked scheduling functions in GstPad to prepare for
12701 scheduling updates soon.
12702 Moved events out of data stream.
12703 Simplified GstEvent types.
12704 Added return values to push/pull.
12705 Removed clocking from GstElement.
12706 Added prototypes for state change function for next merge.
12707 Removed iterate from bins and state change management.
12708 Fixed some elements, disabled others for now.
12709 Fixed -inspect and -launch.
12710 Added check for GstBus.
12712 2005-03-10 Wim Taymans <wim@fluendo.com>
12714 * docs/design/part-MT-refcounting.txt:
12715 * docs/design/part-clocks.txt:
12716 * docs/design/part-gstelement.txt:
12717 * docs/design/part-gstobject.txt:
12718 * docs/design/part-standards.txt:
12719 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12720 (gst_bin_remove_func), (gst_bin_remove):
12724 * testsuite/clock/clock1.c: (main):
12725 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12727 * testsuite/dlopen/loadgst.c: (do_test):
12728 * testsuite/refcounting/bin.c: (add_remove_test1),
12729 (add_remove_test2), (main):
12730 * testsuite/refcounting/element.c: (main):
12731 * testsuite/refcounting/element_pad.c: (main):
12732 * testsuite/refcounting/pad.c: (main):
12733 * tools/gst-launch.c: (sigint_handler_sighandler):
12734 * tools/gst-typefind.c: (main):
12736 Added doc about clock.
12737 removed gst_bin_iterate_recurse_up(), marked methods
12739 Fix more testsuites.
12741 2005-03-09 Wim Taymans <wim@fluendo.com>
12743 * gst/gstpad.c: (gst_pad_get_direction),
12744 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12745 (gst_pad_collect_valist):
12746 * testsuite/bins/interface.c: (main):
12747 * testsuite/caps/audioscale.c: (test_caps):
12748 * testsuite/caps/caps.c: (test1), (test2), (test3):
12749 * testsuite/caps/deserialize.c: (main):
12750 * testsuite/caps/enumcaps.c: (main):
12751 * testsuite/caps/filtercaps.c: (main):
12752 * testsuite/caps/intersect2.c: (main):
12753 * testsuite/caps/random.c: (main):
12754 * testsuite/caps/renegotiate.c: (my_fixate), (main):
12755 * testsuite/caps/sets.c: (check_caps):
12756 * testsuite/caps/simplify.c: (check_caps), (main):
12757 * testsuite/caps/subtract.c: (check_caps):
12758 Fix _pad_get_direction wrt ghostpads.
12759 Fix caps testsuite.
12761 2005-03-09 Wim Taymans <wim@fluendo.com>
12763 * check/Makefile.am:
12764 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12765 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12766 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12767 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12768 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12769 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12770 (gst_bin_remove), (gst_bin_iterate_recurse_up),
12771 (bin_element_is_sink), (gst_bin_iterate_sinks),
12772 (gst_bin_iterate_all_by_interface):
12774 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12775 (gst_element_change_state), (gst_element_dispose),
12776 (gst_element_finalize), (gst_element_set_loop_function):
12777 * gst/gstelement.h:
12778 * gst/gstiterator.c: (find_custom_fold_func):
12779 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12780 (gst_pad_collectv), (gst_pad_collect_valist),
12781 (gst_pad_template_new):
12782 * gst/gstpipeline.c: (gst_pipeline_class_init),
12783 (gst_pipeline_dispose), (gst_pipeline_set_property),
12784 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12785 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12786 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12788 * gst/schedulers/entryscheduler.c:
12789 * gst/schedulers/gstbasicscheduler.c:
12790 (gst_basic_scheduler_cothreaded_chain),
12791 (gst_basic_scheduler_chain_add_element):
12792 * testsuite/bins/interface.c: (main):
12794 Added GstSystemClock test.
12795 Implemented clock distribution code in GstBin.
12796 Implemented iterate sinks method for future use.
12797 Rearranged gstelement.h
12798 Fix GstIterator comparison bug.
12799 Moved some code to GstPipeline, mostly clocking related.
12801 2005-03-09 Wim Taymans <wim@fluendo.com>
12804 * gst/gst_private.h:
12805 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12806 (gst_bin_remove_func), (gst_bin_remove),
12807 (gst_bin_get_by_name_recurse_up):
12808 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12809 (gst_clock_id_compare_func), (gst_clock_id_wait),
12810 (gst_clock_id_wait_async), (gst_clock_init),
12811 (gst_clock_adjust_unlocked), (gst_clock_get_time):
12812 * gst/gstelement.h:
12813 * gst/gstinfo.c: (_gst_debug_init):
12815 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12816 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12818 Bump version number, we're now 0.9.0
12819 Add future debugging category.
12820 Fix NULL _unref() in _get_by_name_recurse_up
12821 Rearrange gstpad.h.
12824 2005-03-08 Wim Taymans <wim@fluendo.com>
12826 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12827 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12828 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12829 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12830 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12831 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12832 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12833 * gst/elements/gstidentity.c: (gst_identity_class_init):
12834 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12835 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12836 * gst/elements/gstshaper.c: (gst_shaper_class_init):
12837 * gst/elements/gststatistics.c: (gst_statistics_class_init):
12838 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12840 * gst/gstelement.c: (gst_element_class_init),
12841 (gst_element_base_class_init), (gst_element_init),
12842 (gst_element_get_random_pad), (gst_element_wait_state_change),
12843 (gst_element_change_state), (gst_element_dispose),
12844 (gst_element_finalize), (gst_element_set_loop_function):
12845 * gst/gstelement.h:
12846 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12847 * gst/gstthread.c: (gst_thread_class_init),
12848 (gst_thread_release_children_locks), (gst_thread_change_state):
12849 * gst/schedulers/gstbasicscheduler.c:
12850 (gst_basic_scheduler_loopfunc_wrapper),
12851 (gst_basic_scheduler_chain_wrapper),
12852 (gst_basic_scheduler_src_wrapper),
12853 (gst_basic_scheduler_remove_element):
12854 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12855 Remove threadsafe properties. Fix elements because GObject
12856 complains when installing a property before declaring a
12857 set/get_property handler.
12858 Rearrange gstelement.h file, use STATE macros for state locks.
12859 Free mutexes in the finalize method instead of dispose.
12861 2005-03-08 Wim Taymans <wim@fluendo.com>
12863 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12864 * gst/gstthread.c: (gst_thread_release_children_locks):
12865 Added parentage check.
12866 Fix build og GstThread again.
12868 2005-03-08 Wim Taymans <wim@fluendo.com>
12870 * docs/design/part-MT-refcounting.txt:
12871 * docs/design/part-conventions.txt:
12872 * docs/design/part-gstobject.txt:
12873 * docs/design/part-relations.txt:
12874 * docs/design/part-standards.txt:
12875 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12876 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12877 (gst_bin_get_by_name), (gst_bin_get_by_interface),
12878 (gst_bin_iterate_all_by_interface):
12881 * gst/gstelement.c: (gst_element_class_init),
12882 (gst_element_change_state), (gst_element_set_loop_function):
12883 * gst/gstelement.h:
12884 * gst/gstiterator.c:
12885 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12886 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12887 (gst_object_dispatch_properties_changed), (gst_object_set_name),
12888 (gst_object_set_parent), (gst_object_unparent),
12889 (gst_object_check_uniqueness):
12891 Docs updates, clean up some headers.
12893 2005-03-07 Wim Taymans <wim@fluendo.com>
12895 * check/.cvsignore:
12896 * check/Makefile.am:
12897 * check/gst-libs/.cvsignore:
12898 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12899 * check/gst/.cvsignore:
12900 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12901 (START_TEST), (gstbus_suite), (main):
12902 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12903 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12904 (gst_data_suite), (main):
12905 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12906 (add_fold_func), (gstiterator_suite), (main):
12907 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12908 (thread_name_object), (thread_name_object_default),
12909 (gst_object_name_compare), (gst_object_suite), (main):
12910 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12911 (gst_pad_suite), (main):
12912 * check/gstcheck.c: (gst_check_log_message_func),
12913 (gst_check_log_critical_func), (gst_check_init):
12914 * check/gstcheck.h:
12915 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12916 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12919 2005-03-07 Wim Taymans <wim@fluendo.com>
12921 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12922 (gst_list_iterator_next), (gst_list_iterator_resync),
12923 (gst_list_iterator_free), (gst_iterator_new_list),
12924 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12925 (gst_iterator_free), (gst_iterator_push), (filter_next),
12926 (filter_resync), (filter_uninit), (filter_free),
12927 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12928 (gst_iterator_foreach), (find_custom_fold_func),
12929 (gst_iterator_find_custom):
12930 * gst/gstiterator.h:
12931 Added missing files.
12933 2005-03-07 Wim Taymans <wim@fluendo.com>
12937 * docs/design/part-MT-refcounting.txt:
12938 * docs/design/part-conventions.txt:
12939 * docs/design/part-gstobject.txt:
12940 * docs/design/part-relations.txt:
12941 * examples/mixer/mixer.c: (main):
12942 * examples/thread/thread.c: (eos), (main):
12944 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12945 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12946 (gst_spider_plug_from_srcpad):
12947 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12948 (gst_spider_identity_change_state),
12949 (gst_spider_identity_sink_loop_type_finding):
12950 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12951 * gst/elements/gstidentity.c: (gst_identity_init):
12952 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12953 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12954 * gst/elements/gsttypefindelement.c: (free_entry):
12957 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12958 (gst_bin_set_clock_func), (gst_bin_auto_clock),
12959 (gst_bin_set_index), (gst_bin_set_element_sched),
12960 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12961 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12962 (gst_bin_iterate_elements), (iterate_child_recurse),
12963 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12964 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12965 (compare_interface), (gst_bin_get_by_interface),
12966 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12968 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12969 (gst_buffer_default_free), (gst_buffer_default_copy),
12970 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12971 (gst_buffer_create_sub):
12973 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12974 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12975 (gst_caps_unref), (gst_static_caps_get),
12976 (gst_caps_remove_and_get_structure), (gst_caps_append),
12977 (gst_caps_append_structure), (gst_caps_remove_structure),
12978 (gst_caps_copy_nth), (gst_caps_set_simple),
12979 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12980 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12981 (gst_caps_structure_intersect_field), (gst_caps_intersect),
12982 (gst_caps_structure_subtract_field), (gst_caps_subtract),
12983 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12984 (gst_caps_structure_figure_out_union),
12985 (gst_caps_switch_structures), (gst_caps_do_simplify),
12986 (gst_caps_replace), (gst_caps_from_string),
12987 (gst_caps_copy_conditional):
12989 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12990 (_gst_clock_id_free), (gst_clock_id_unref),
12991 (gst_clock_id_compare_func), (gst_clock_id_wait),
12992 (gst_clock_id_wait_async), (gst_clock_class_init),
12993 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12994 (gst_clock_get_time), (gst_clock_set_time_adjust),
12995 (gst_clock_set_property), (gst_clock_get_property):
12998 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12999 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13001 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13002 (gst_element_requires_clock), (gst_element_provides_clock),
13003 (gst_element_set_clock), (gst_element_clock_wait),
13004 (gst_element_wait), (gst_element_set_time_delay),
13005 (gst_element_is_indexable), (gst_element_add_pad),
13006 (gst_element_add_ghost_pad), (gst_element_remove_pad),
13007 (pad_compare_name), (gst_element_get_static_pad),
13008 (gst_element_request_pad), (gst_element_get_request_pad),
13009 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13010 (gst_element_class_get_pad_template_list),
13011 (gst_element_class_get_pad_template), (gst_element_error_func),
13012 (gst_element_get_random_pad), (gst_element_get_event_masks),
13013 (gst_element_send_event), (gst_element_seek),
13014 (gst_element_get_query_types), (gst_element_query),
13015 (gst_element_get_formats), (gst_element_convert),
13016 (gst_element_is_locked_state), (gst_element_set_locked_state),
13017 (gst_element_sync_state_with_parent), (gst_element_change_state),
13018 (gst_element_finalize), (gst_element_yield),
13019 (gst_element_interrupt), (gst_element_set_scheduler),
13020 (gst_element_get_scheduler), (gst_element_set_loop_function):
13021 * gst/gstelement.h:
13023 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13024 (gst_format_get_by_nick), (gst_format_get_details),
13025 (gst_format_iterate_definitions):
13027 * gst/gstindex.c: (gst_index_gtype_resolver):
13030 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13031 (gst_mem_chunk_free):
13032 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13033 (gst_object_ref), (gst_object_unref), (gst_object_sink),
13034 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13035 (gst_object_dispatch_properties_changed),
13036 (gst_object_set_name_default), (gst_object_set_name),
13037 (gst_object_get_name), (gst_object_set_name_prefix),
13038 (gst_object_get_name_prefix), (gst_object_set_parent),
13039 (gst_object_get_parent), (gst_object_unparent),
13040 (gst_object_check_uniqueness), (gst_object_save_thyself),
13041 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13042 (gst_object_set_property), (gst_object_get_property),
13043 (gst_object_get_path_string):
13045 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13046 (gst_real_pad_init), (gst_real_pad_get_property),
13047 (gst_pad_custom_new), (gst_pad_get_direction),
13048 (gst_pad_set_active), (gst_pad_is_active),
13049 (gst_pad_set_event_function), (gst_pad_is_linked),
13050 (gst_pad_link_free), (gst_pad_link_intersect),
13051 (gst_pad_link_fixate), (gst_pad_set_caps),
13052 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13053 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13054 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13055 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13056 (gst_pad_get_caps), (gst_pad_peer_get_caps),
13057 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13058 (gst_pad_realize), (gst_pad_get_allowed_caps),
13059 (gst_real_pad_dispose), (gst_real_pad_finalize),
13060 (gst_pad_collectv), (gst_pad_collect_valist),
13061 (gst_pad_template_dispose), (gst_pad_template_new),
13062 (gst_pad_get_internal_links):
13064 * gst/gstpipeline.c: (gst_pipeline_dispose),
13065 (gst_pipeline_change_state):
13066 * gst/gstpipeline.h:
13068 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13069 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13070 * gst/gstpluginfeature.h:
13071 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13072 * gst/gstquery.c: (_gst_query_type_initialize),
13073 (gst_query_type_register), (gst_query_type_get_by_nick),
13074 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13076 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13077 * gst/gstscheduler.c: (gst_scheduler_add_element),
13078 (gst_scheduler_factory_create):
13079 * gst/gststructure.c: (gst_structure_set_parent_refcount),
13080 (gst_structure_free), (gst_structure_set_name),
13081 (gst_structure_id_set_value), (gst_structure_set_value),
13082 (gst_structure_set_valist), (gst_structure_remove_field),
13083 (gst_structure_remove_fields),
13084 (gst_structure_remove_fields_valist),
13085 (gst_structure_remove_all_fields), (gst_structure_foreach),
13086 (gst_structure_map_in_place),
13087 (gst_caps_structure_fixate_field_nearest_int),
13088 (gst_caps_structure_fixate_field_nearest_double):
13089 * gst/gststructure.h:
13090 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13091 (gst_system_clock_init), (gst_system_clock_dispose),
13092 (gst_system_clock_async_thread),
13093 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13094 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13095 * gst/gstsystemclock.h:
13096 * gst/gsttag.c: (gst_tag_list_add_value_internal),
13097 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13098 * gst/gsttaginterface.c:
13099 * gst/gstthread.c: (gst_thread_dispose),
13100 (gst_thread_release_children_locks), (gst_thread_change_state),
13101 (gst_thread_main_loop):
13102 * gst/gsttrashstack.h:
13103 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13105 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13106 (gst_element_request_pad), (gst_element_get_pad_from_template),
13107 (gst_element_request_compatible_pad),
13108 (gst_element_get_compatible_pad_filtered),
13109 (gst_element_get_compatible_pad), (gst_element_state_get_name),
13110 (gst_element_link_pads_filtered), (gst_element_link_filtered),
13111 (gst_element_link_many), (gst_element_link),
13112 (gst_element_link_pads), (gst_element_unlink_pads),
13113 (gst_element_unlink_many), (gst_element_unlink),
13114 (gst_pad_can_link_filtered), (gst_pad_can_link),
13115 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13116 (gst_object_default_error), (gst_bin_add_many),
13117 (gst_bin_remove_many), (gst_element_populate_std_props),
13118 (gst_element_class_install_std_props), (gst_buffer_merge),
13119 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13120 (link_fold_func), (gst_pad_proxy_setcaps):
13122 * gst/gstvalue.c: (gst_value_deserialize_string):
13123 * gst/parse/grammar.y:
13124 * gst/schedulers/gstbasicscheduler.c:
13125 (gst_basic_scheduler_cothreaded_chain),
13126 (gst_basic_scheduler_chain_recursive_add),
13127 (gst_basic_scheduler_pad_link):
13128 * gst/schedulers/gstoptimalscheduler.c:
13129 (get_group_schedule_function),
13130 (gst_opt_scheduler_state_transition),
13131 (gst_opt_scheduler_add_element), (element_get_reachables_func):
13132 * libs/gst/bytestream/bytestream.c:
13133 * libs/gst/dataprotocol/dataprotocol.c:
13134 (gst_dp_header_from_buffer):
13137 * tests/threadstate/threadstate2.c: (eos):
13138 * tools/gst-compprep.c: (main):
13139 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13140 (print_pad_info), (print_children_info):
13141 * tools/gst-launch.c: (idle_func), (main):
13142 * tools/gst-md5sum.c: (idle_func), (main):
13143 * tools/gst-xmlinspect.c: (print_element_info):
13144 First THREADED backport attempt, focusing on adding locks and
13145 making sure the API is threadsafe. Needs more work. More docs
13148 2005-02-24 Andy Wingo <wingo@pobox.com>
13150 * tests/bench-complexity.scm:
13151 * tests/complexity.gnuplot: New files, good for running complexity
13154 * tests/Makefile.am:
13155 * tests/complexity.c: New test, sets up N elements, at each level
13156 teeing into M streams per element. Eeeenteresting.
13158 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13159 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13160 running bench-mass_elements.scm.
13162 * tests/bench-mass_elements.scm: New script, runs mass_elements
13163 for various numbers of identities, outputting the results to a
13164 file. Requires guile 1.6. Just for testing.
13166 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
13168 * gst/schedulers/fairscheduler.c:
13169 compile with debug disabled
13171 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
13174 hunting season on 0.9 is now OPEN