1 2005-12-05 Andy Wingo <wingo@pobox.com>
3 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
5 * gst/gst.c (init_post): remove hard-coded 0.9 location for
6 registries/plugins with a MAJORMINOR one.
7 (plugin_desc): Rename library from gstcoreleements to
8 staticelements. Fixes #323222.
10 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
12 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
13 Change debug category to 'collectpads' from 'collect_pads'
16 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18 patch by: Sebastien Moutte
20 * libs/gst/controller/gstinterpolation.c:
21 use convert function for uint64/double
22 * win32/vs6/libgstcontroller.dsp:
25 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
27 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
28 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
30 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
31 add tests that seem to show that the guint64/gdouble conversions
34 2005-12-02 Wim Taymans <wim@fluendo.com>
36 * gst/gstregistry.c: (gst_registry_add_path):
38 * gst/gstregistryxml.c:
41 2005-12-02 Wim Taymans <wim@fluendo.com>
43 * gst/gstutils.c: (gst_util_uint64_scale_int64),
44 (gst_util_uint64_scale_int):
47 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
50 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
53 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
56 * win32/common/config.h:
57 * win32/vs6/gstreamer.dsw:
58 * win32/vs6/libgstcoreelements.dsp:
59 * win32/vs6/libgstelements.dsp:
60 renamed core elements plugin
62 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
64 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
66 do piece-wise major/minor comparison so 0.9 < 0.10
67 also allow .exe extensions for tools
69 2005-12-02 Michael Smith <msmith@fluendo.com>
72 Escape a % to make gtkdoc happier; bug 322958.
76 2005-12-01 <thomas (at) apestaart (dot) org>
79 releasing 0.9.7, "My Dog Has No Nose"
81 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
83 * common/gst-xmlinspect.py:
85 * docs/libs/tmpl/gstdataprotocol.sgml:
86 * docs/random/release:
105 * win32/common/config.h:
106 * win32/common/config.h.in:
107 * win32/vs6/gst_inspect.dsp:
108 * win32/vs6/gst_launch.dsp:
109 * win32/vs6/libgstbase.dsp:
110 * win32/vs6/libgstelements.dsp:
111 * win32/vs6/libgstreamer.dsp:
112 * win32/vs7/GStreamer.vcproj:
113 * win32/vs7/gst-inspect.vcproj:
114 * win32/vs7/gst-launch.vcproj:
115 * win32/vs7/libgstbase.vcproj:
116 bump GST_MAJORMINOR to 0.10
117 reset libtool version
119 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
123 Added Bulgarian translation by (Alexander Shopov)
125 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
127 * tests/check/gst/gstplugin.c:
130 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
132 * common/gst-xmlinspect.py:
133 * common/gtk-doc-plugins.mak:
136 * docs/gst/Makefile.am:
137 * docs/gst/gstreamer-docs.sgml:
138 * docs/gst/gstreamer-sections.txt:
139 * docs/gst/gstreamer.types:
140 * docs/gst/gstreamer.types.in:
141 * docs/plugins/Makefile.am:
142 * docs/plugins/gstreamer-plugins-docs.sgml:
143 * docs/plugins/gstreamer-plugins-sections.txt:
144 * docs/plugins/gstreamer-plugins.types:
145 * docs/plugins/inspect.stamp:
146 * docs/plugins/inspect/plugin-coreelements.xml:
147 * docs/plugins/inspect/plugin-coreindexers.xml:
148 * docs/plugins/scanobj-build.stamp:
150 * plugins/elements/Makefile.am:
151 * plugins/elements/gstelements.c:
152 * plugins/elements/gstfakesink.c:
153 * plugins/elements/gstfakesrc.c:
154 * plugins/elements/gstfilesink.c:
155 * plugins/elements/gstfilesrc.c:
156 * plugins/elements/gstqueue.c:
157 * plugins/indexers/Makefile.am:
158 * plugins/indexers/gstindexers.c:
159 document core plugins in a separate document just like all the
161 rename these plugins to something starting with core
163 2005-12-01 Andy Wingo <wingo@pobox.com>
165 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
166 padding here before, but it missed the commit.
168 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
170 * libs/gst/controller/gstinterpolation.c:
171 whitespace prices have crashed, we should feel free to use some now
172 use gst_guint64_to_gdouble
174 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
176 * libs/gst/controller/gstcontroller.c:
177 * libs/gst/controller/gsthelper.c:
178 * libs/gst/controller/gstinterpolation.c:
179 * libs/gst/controller/lib.c:
180 wrap config.h include
182 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
184 * docs/gst/gstreamer-sections.txt:
187 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
189 * plugins/elements/gstelements.c:
190 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
191 (gst_fd_sink__class_init), (gst_fd_sink__init),
192 (gst_fd_sink__chain), (gst_fd_sink__set_property),
193 (gst_fd_sink__get_property):
194 * plugins/elements/gstfdsink.h:
195 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
196 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
197 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
198 (gst_fd_src_unlock), (gst_fd_src_set_property),
199 (gst_fd_src_get_property), (gst_fd_src_create),
200 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
201 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
202 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
203 (gst_fd_src_uri_handler_init):
204 * plugins/elements/gstfdsrc.h:
205 * plugins/elements/gstqueue.c: (gst_queue_get_type):
208 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
210 * docs/gst/Makefile.am:
211 * docs/gst/gstreamer.types.in:
215 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
222 * tests/benchmarks/complexity.c:
223 * tests/benchmarks/mass-elements.c:
224 * tests/check/Makefile.am:
226 * tools/gst-inspect.c:
227 * tools/gst-xmlinspect.c:
228 various fixes to make
229 --disable-nls --disable-registry --disable-loadsave
230 --disable-parse --disable-gst-debug
231 work and get the core .so down to 360444 bytes after stripping
233 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
238 * docs/random/thomasvs/TODO:
243 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
245 * win32/GStreamer.vcproj:
248 * win32/Makefile.inspect:
249 * win32/Makefile.launch:
250 * win32/Makefile.register:
252 * win32/gst-inspect.vcproj:
253 * win32/gst-launch.vcproj:
254 * win32/gst-register.vcproj:
255 * win32/gstelements.vcproj:
256 * win32/gstgetbits.def:
257 * win32/gstgetbits.vcproj:
258 * win32/gstreamer-dbg.def:
259 * win32/gstreamer.def:
260 * win32/libgstbase.def:
261 * win32/libgstbase.vcproj:
262 * win32/link_oldruntime.c:
267 move even more stuff, win32/ is nice and clean now
269 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
271 * libs/gst/control/.cvsignore:
276 * win32/gstbytestream.def:
277 * win32/gstbytestream.vcproj:
279 * win32/gstenumtypes.c:
280 * win32/gstenumtypes.h:
281 * win32/gstoptimalscheduler.vcproj:
282 * win32/gstversion.h:
284 * win32/testsuite/bins.vcproj:
285 * win32/testsuite/bytestream.vcproj:
286 * win32/testsuite/caps.vcproj:
287 * win32/testsuite/cleanup.vcproj:
288 * win32/testsuite/clock.vcproj:
289 * win32/testsuite/debug.vcproj:
290 * win32/testsuite/dlopen.vcproj:
291 * win32/testsuite/dynparams.vcproj:
292 * win32/testsuite/elements.vcproj:
293 * win32/testsuite/ghostpads.vcproj:
294 * win32/testsuite/indexers.vcproj:
295 * win32/testsuite/negotiation.vcproj:
296 * win32/testsuite/parse.vcproj:
297 * win32/testsuite/plugin.vcproj:
298 * win32/testsuite/refcounting.vcproj:
299 * win32/testsuite/schedulers.vcproj:
300 * win32/testsuite/states.vcproj:
301 * win32/testsuite/tags.vcproj:
302 * win32/testsuite/threads.vcproj:
303 remove old win32 stuff that isn't maintained and should be
306 2005-11-30 Andy Wingo <wingo@pobox.com>
308 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
309 loading the gst.interfaces python module bork.
311 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
312 available since GLib 2.2. Fixes #318031.
314 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
319 * check/elements/.cvsignore:
320 * check/elements/fakesrc.c:
321 * check/elements/fdsrc.c:
322 * check/elements/identity.c:
323 * check/generic/.cvsignore:
324 * check/generic/states.c:
325 * check/gst-libs/.cvsignore:
326 * check/gst-libs/controller.c:
327 * check/gst-libs/gdp.c:
328 * check/gst/.cvsignore:
329 * check/gst/capslist.h:
331 * check/gst/gstbin.c:
332 * check/gst/gstbuffer.c:
333 * check/gst/gstbus.c:
334 * check/gst/gstcaps.c:
335 * check/gst/gstelement.c:
336 * check/gst/gstevent.c:
337 * check/gst/gstghostpad.c:
338 * check/gst/gstiterator.c:
339 * check/gst/gstmessage.c:
340 * check/gst/gstminiobject.c:
341 * check/gst/gstobject.c:
342 * check/gst/gstpad.c:
343 * check/gst/gstpipeline.c:
344 * check/gst/gstplugin.c:
345 * check/gst/gstsegment.c:
346 * check/gst/gststructure.c:
347 * check/gst/gstsystemclock.c:
348 * check/gst/gsttag.c:
349 * check/gst/gstutils.c:
350 * check/gst/gstvalue.c:
351 * check/net/.cvsignore:
352 * check/net/gstnetclientclock.c:
353 * check/net/gstnettimeprovider.c:
354 * check/pipelines/.cvsignore:
355 * check/pipelines/cleanup.c:
356 * check/pipelines/simple_launch_lines.c:
357 * check/pipelines/stress.c:
358 * check/states/.cvsignore:
359 * check/states/sinks.c:
361 * examples/Makefile.am:
362 * examples/appreader/.cvsignore:
363 * examples/appreader/Makefile.am:
364 * examples/appreader/appreader.c:
365 * examples/controller/.cvsignore:
366 * examples/controller/Makefile.am:
367 * examples/controller/audio-example.c:
368 * examples/cutter/.cvsignore:
369 * examples/cutter/Makefile.am:
370 * examples/cutter/cutter.c:
371 * examples/cutter/cutter.h:
372 * examples/events/Makefile.am:
373 * examples/events/seek.c:
374 * examples/helloworld/.cvsignore:
375 * examples/helloworld/Makefile.am:
376 * examples/helloworld/helloworld.c:
377 * examples/helloworld2/.cvsignore:
378 * examples/helloworld2/Makefile.am:
379 * examples/helloworld2/helloworld2.c:
380 * examples/launch/.cvsignore:
381 * examples/launch/Makefile.am:
382 * examples/launch/mp3parselaunch.c:
383 * examples/launch/mp3play:
384 * examples/manual/.cvsignore:
385 * examples/manual/Makefile.am:
386 * examples/manual/extract.pl:
387 * examples/metadata/Makefile.am:
388 * examples/metadata/read-metadata.c:
389 * examples/mixer/.cvsignore:
390 * examples/mixer/Makefile.am:
391 * examples/mixer/mixer.c:
392 * examples/mixer/mixer.h:
393 * examples/pingpong/.cvsignore:
394 * examples/pingpong/Makefile.am:
395 * examples/pingpong/pingpong.c:
396 * examples/plugins/.cvsignore:
397 * examples/plugins/Makefile.am:
398 * examples/plugins/example.c:
399 * examples/plugins/example.h:
400 * examples/pwg/.cvsignore:
401 * examples/pwg/Makefile.am:
402 * examples/pwg/extract.pl:
403 * examples/queue/.cvsignore:
404 * examples/queue/Makefile.am:
405 * examples/queue/queue.c:
406 * examples/queue2/.cvsignore:
407 * examples/queue2/Makefile.am:
408 * examples/queue2/queue2.c:
409 * examples/queue3/.cvsignore:
410 * examples/queue3/Makefile.am:
411 * examples/queue3/queue3.c:
412 * examples/queue4/.cvsignore:
413 * examples/queue4/Makefile.am:
414 * examples/queue4/queue4.c:
415 * examples/retag/.cvsignore:
416 * examples/retag/Makefile.am:
417 * examples/retag/retag.c:
418 * examples/retag/transcode.c:
419 * examples/thread/.cvsignore:
420 * examples/thread/Makefile.am:
421 * examples/thread/thread.c:
422 * examples/typefind/.cvsignore:
423 * examples/typefind/Makefile.am:
424 * examples/typefind/typefind.c:
425 * examples/xml/.cvsignore:
426 * examples/xml/Makefile.am:
427 * examples/xml/createxml.c:
428 * examples/xml/runxml.c:
430 * tests/check/Makefile.am:
431 * testsuite/.cvsignore:
432 * testsuite/Makefile.am:
434 * testsuite/caps/.cvsignore:
435 * testsuite/caps/Makefile.am:
436 * testsuite/caps/app_fixate.c:
437 * testsuite/caps/audioscale.c:
438 * testsuite/caps/caps.c:
439 * testsuite/caps/caps.h:
440 * testsuite/caps/caps_strings:
441 * testsuite/caps/compatibility.c:
442 * testsuite/caps/deserialize.c:
443 * testsuite/caps/enumcaps.c:
444 * testsuite/caps/eratosthenes.c:
445 * testsuite/caps/filtercaps.c:
446 * testsuite/caps/fixed.c:
447 * testsuite/caps/fraction-convert.c:
448 * testsuite/caps/fraction-multiply-and-zero.c:
449 * testsuite/caps/intersect2.c:
450 * testsuite/caps/intersection.c:
451 * testsuite/caps/normalisation.c:
452 * testsuite/caps/random.c:
453 * testsuite/caps/renegotiate.c:
454 * testsuite/caps/sets.c:
455 * testsuite/caps/simplify.c:
456 * testsuite/caps/string-conversions.c:
457 * testsuite/caps/structure.c:
458 * testsuite/caps/subtract.c:
459 * testsuite/caps/union.c:
460 * testsuite/debug/.cvsignore:
461 * testsuite/debug/Makefile.am:
462 * testsuite/debug/category.c:
463 * testsuite/debug/commandline.c:
464 * testsuite/debug/global.c:
465 * testsuite/debug/output.c:
466 * testsuite/debug/printf_extension.c:
467 * testsuite/dlopen/.cvsignore:
468 * testsuite/dlopen/Makefile.am:
469 * testsuite/dlopen/dlopen_gst.c:
470 * testsuite/dlopen/loadgst.c:
471 * testsuite/elements/.cvsignore:
472 * testsuite/elements/Makefile.am:
473 * testsuite/elements/gst-inspect-check.in:
474 * testsuite/elements/struct_i386.h:
475 * testsuite/elements/struct_size.c:
476 * testsuite/indexers/.cvsignore:
477 * testsuite/indexers/Makefile.am:
478 * testsuite/indexers/cache1.c:
479 * testsuite/indexers/indexdump.c:
480 * testsuite/parse/.cvsignore:
481 * testsuite/parse/Makefile.am:
482 * testsuite/parse/parse1.c:
483 * testsuite/parse/parse2.c:
484 * testsuite/plugin/.cvsignore:
485 * testsuite/plugin/Makefile.am:
486 * testsuite/plugin/README:
487 * testsuite/plugin/dynamic.c:
488 * testsuite/plugin/linked.c:
489 * testsuite/plugin/loading.c:
490 * testsuite/plugin/registry.c:
491 * testsuite/plugin/static.c:
492 * testsuite/plugin/static2.c:
493 * testsuite/plugin/testplugin.c:
494 * testsuite/plugin/testplugin2.c:
495 * testsuite/plugin/testplugin2_s.c:
496 * testsuite/plugin/testplugin_s.c:
497 * testsuite/refcounting/.cvsignore:
498 * testsuite/refcounting/Makefile.am:
499 * testsuite/refcounting/bin.c:
500 * testsuite/refcounting/element.c:
501 * testsuite/refcounting/element_pad.c:
502 * testsuite/refcounting/mainloop.c:
503 * testsuite/refcounting/mem.c:
504 * testsuite/refcounting/mem.h:
505 * testsuite/refcounting/object.c:
506 * testsuite/refcounting/pad.c:
507 * testsuite/refcounting/sched.c:
508 * testsuite/refcounting/thread.c:
509 * testsuite/states/.cvsignore:
510 * testsuite/states/Makefile.am:
511 * testsuite/states/bin.c:
512 * testsuite/states/locked.c:
513 * testsuite/states/parent.c:
514 * testsuite/threads/.cvsignore:
515 * testsuite/threads/159566.c:
516 * testsuite/threads/159852.c:
517 * testsuite/threads/Makefile.am:
518 * testsuite/threads/queue.c:
519 * testsuite/threads/signals.c:
520 * testsuite/threads/staticrec.c:
521 * testsuite/threads/thread.c:
522 * testsuite/threads/threadb.c:
523 * testsuite/threads/threadc.c:
524 * testsuite/threads/threadd.c:
525 * testsuite/threads/threade.c:
526 * testsuite/threads/threadf.c:
527 * testsuite/threads/threadg.c:
528 * testsuite/threads/threadh.c:
529 * testsuite/threads/threadi.c:
530 move all of these under tests
532 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
538 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
540 * docs/gst/gstreamer-sections.txt:
541 * tests/sched/.cvsignore:
542 * tests/sched/Makefile.am:
543 * tests/sched/cases/(fs-fs).xml:
544 * tests/sched/cases/(fs-i-fs).xml:
545 * tests/sched/cases/(fs-i-i-fs).xml:
546 * tests/sched/cases/(fs-i-q[i-fs]).xml:
547 * tests/sched/dynamic-pipeline.c:
548 * tests/sched/interrupt1.c:
549 * tests/sched/interrupt2.c:
550 * tests/sched/interrupt3.c:
551 * tests/sched/runtestcases:
552 * tests/sched/runxml.c:
553 * tests/sched/sched-stress.c:
554 * tests/sched/sort.c:
555 * tests/sched/testcases:
556 * tests/sched/testcases1.tc:
557 * tests/seeking/.cvsignore:
558 * tests/seeking/Makefile.am:
559 * tests/seeking/seeking1.c:
560 * tests/threadstate/.cvsignore:
561 * tests/threadstate/Makefile.am:
562 * tests/threadstate/test1.c:
563 * tests/threadstate/test2.c:
564 * tests/threadstate/threadstate1.c:
565 * tests/threadstate/threadstate2.c:
566 * tests/threadstate/threadstate3.c:
567 * tests/threadstate/threadstate4.c:
568 * tests/threadstate/threadstate5.c:
569 remove obsolete tests
571 * tests/bench-complexity.scm:
572 * tests/bench-mass_elements.scm:
573 * tests/complexity.c:
574 * tests/complexity.gnuplot:
575 * tests/instantiate/.cvsignore:
576 * tests/instantiate/Makefile.am:
577 * tests/instantiate/caps.c:
578 * tests/mass_elements.c:
579 * tests/network-clock-utils.scm:
580 * tests/network-clock.scm:
582 First pass at cleaning up tests/ dir before moving the rest
583 Combined with CVS surgery
585 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
588 queue has moved, update
590 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
592 * docs/gst/gstreamer-sections.txt:
593 remove double entries from the docs
595 * gst/gstinfo.c: (_gst_debug_init):
596 remove the THREAD debug category
600 * docs/gst/gstreamer.types:
601 * plugins/elements/gstqueue.c: (gst_queue_get_type),
602 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
603 completely move queue and fix up debugging categories
605 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
607 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
608 make initialization portable, using LL is not
610 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
612 * win32/common/gstconfig.h:
615 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
617 * win32/common/libgstreamer.def:
618 rename symbols; sort base section
620 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
622 * gst/gstclock.c: (do_linear_regression):
623 remove crack non-portable handrolled DEBUG macro
625 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
627 * docs/random/release:
629 * win32/common/gstenumtypes.c: (register_gst_object_flags),
630 (gst_object_flags_get_type), (register_gst_bin_flags),
631 (gst_bin_flags_get_type), (register_gst_buffer_flag),
632 (gst_buffer_flag_get_type), (register_gst_bus_flags),
633 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
634 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
635 (gst_caps_flags_get_type), (register_gst_clock_return),
636 (gst_clock_return_get_type), (register_gst_clock_entry_type),
637 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
638 (gst_clock_flags_get_type), (register_gst_state),
639 (gst_state_get_type), (register_gst_state_change_return),
640 (gst_state_change_return_get_type), (register_gst_state_change),
641 (gst_state_change_get_type), (register_gst_element_flags),
642 (gst_element_flags_get_type), (register_gst_core_error),
643 (gst_core_error_get_type), (register_gst_library_error),
644 (gst_library_error_get_type), (register_gst_resource_error),
645 (gst_resource_error_get_type), (register_gst_stream_error),
646 (gst_stream_error_get_type), (register_gst_event_type_flags),
647 (gst_event_type_flags_get_type), (register_gst_event_type),
648 (gst_event_type_get_type), (register_gst_seek_type),
649 (gst_seek_type_get_type), (register_gst_seek_flags),
650 (gst_seek_flags_get_type), (register_gst_format),
651 (gst_format_get_type), (register_gst_index_certainty),
652 (gst_index_certainty_get_type), (register_gst_index_entry_type),
653 (gst_index_entry_type_get_type),
654 (register_gst_index_lookup_method),
655 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
656 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
657 (gst_index_resolver_method_get_type), (register_gst_index_flags),
658 (gst_index_flags_get_type), (register_gst_debug_level),
659 (gst_debug_level_get_type), (register_gst_debug_color_flags),
660 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
661 (gst_iterator_result_get_type), (register_gst_iterator_item),
662 (gst_iterator_item_get_type), (register_gst_message_type),
663 (gst_message_type_get_type), (register_gst_mini_object_flags),
664 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
665 (gst_pad_link_return_get_type), (register_gst_flow_return),
666 (gst_flow_return_get_type), (register_gst_activate_mode),
667 (gst_activate_mode_get_type), (register_gst_pad_direction),
668 (gst_pad_direction_get_type), (register_gst_pad_flags),
669 (gst_pad_flags_get_type), (register_gst_pad_presence),
670 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
671 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
672 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
673 (gst_plugin_error_get_type), (register_gst_plugin_flags),
674 (gst_plugin_flags_get_type), (register_gst_rank),
675 (gst_rank_get_type), (register_gst_query_type),
676 (gst_query_type_get_type), (register_gst_tag_merge_mode),
677 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
678 (gst_tag_flag_get_type), (register_gst_task_state),
679 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
680 (gst_alloc_trace_flags_get_type),
681 (register_gst_type_find_probability),
682 (gst_type_find_probability_get_type), (register_gst_uri_type),
683 (gst_uri_type_get_type), (register_gst_parse_error),
684 (gst_parse_error_get_type):
685 * win32/common/gstenumtypes.h:
686 * win32/common/gstversion.h:
687 update visual studio generated files
689 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
691 * win32/vs6/libgstbase.dsp:
692 * win32/vs6/libgstelements.dsp:
693 update project files for new locations
695 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
705 * docs/random/LICENSE:
708 2005-11-30 Edward Hervey <edward@fluendo.com>
710 * gst/gsttypefind.c: (gst_type_find_register):
712 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
713 (gst_type_find_factory_dispose):
714 * gst/gsttypefindfactory.h:
715 Fix memory leak in GstTypeFindFactory.
717 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
720 * plugins/elements/Makefile.am:
721 * plugins/elements/gstelements.c:
722 * plugins/elements/gstqueue.c:
723 move queue from core to the elements plugin
725 2005-11-29 Andy Wingo <wingo@pobox.com>
727 * libs/gst/base/gstbasetransform.h:
728 * libs/gst/base/gstbasesrc.h:
729 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
731 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
732 of pointers by which to pad very extensible base classes (like the
733 ones in libs/gst/base).
735 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
737 * docs/gst/gstreamer-docs.sgml:
738 * docs/gst/gstreamer-sections.txt:
739 * docs/libs/gstreamer-libs-docs.sgml:
740 * docs/libs/gstreamer-libs-sections.txt:
741 moving documentation from core to lib
743 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
747 * docs/gst/Makefile.am:
749 * gst/base/.cvsignore:
750 * gst/base/Makefile.am:
752 * gst/base/gstadapter.c:
753 * gst/base/gstadapter.h:
754 * gst/base/gstbasesink.c:
755 * gst/base/gstbasesink.h:
756 * gst/base/gstbasesrc.c:
757 * gst/base/gstbasesrc.h:
758 * gst/base/gstbasetransform.c:
759 * gst/base/gstbasetransform.h:
760 * gst/base/gstcollectpads.c:
761 * gst/base/gstcollectpads.h:
762 * gst/base/gstpushsrc.c:
763 * gst/base/gstpushsrc.h:
764 * gst/base/gsttypefindhelper.c:
765 * gst/base/gsttypefindhelper.h:
766 * gst/check/Makefile.am:
767 * gst/check/gstcheck.c:
768 * gst/check/gstcheck.h:
769 * gst/net/Makefile.am:
771 * gst/net/gstnetclientclock.c:
772 * gst/net/gstnetclientclock.h:
773 * gst/net/gstnettimepacket.c:
774 * gst/net/gstnettimepacket.h:
775 * gst/net/gstnettimeprovider.c:
776 * gst/net/gstnettimeprovider.h:
777 * libs/gst/Makefile.am:
778 * libs/gst/base/Makefile.am:
779 * libs/gst/base/gstbasetransform.c:
780 * libs/gst/check/Makefile.am:
781 * plugins/elements/Makefile.am:
783 CVS surgery + support to move base, check, and net out of gst
786 2005-11-29 Andy Wingo <wingo@pobox.com>
788 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
790 * gst/gststructure.h (struct _GstStructure): Only one pointer of
793 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
795 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
797 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
799 * gst/gstobject.h: (struct _GstObject): Only one pointer of
800 padding; reduces object size by about 30%. We don't expect
801 anything else to go into gstobject.
803 * gst/gstminiobject.h (struct _GstMiniObject)
804 (struct _GstMiniObjectClass): Only one pointer of padding; the
805 payload is only a pointer and two ints anyway. For the class there
806 are only two methods as well.
808 * gst/gstelement.h (struct _GstElementClass): Removed
809 the state_changed signal callback, it is not used.
811 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
813 * docs/gst/gstreamer.types:
814 fix includes, though they are a little dinky
816 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
819 look in the right place for elements, a lot more chance of
822 remove indexers and elements subdirs
823 * plugins/Makefile.am:
824 make indexers conditional
826 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
830 * plugins/elements/Makefile.am:
831 * plugins/elements/gstcapsfilter.c:
832 * plugins/elements/gstfilesink.c:
833 * plugins/elements/gstfilesrc.c:
834 * plugins/elements/gstidentity.c:
835 * plugins/indexers/Makefile.am:
836 do CVS surgery and related build fixery to move elements
837 and indexers in a new gstreamer/plugins directory, out of the
840 2005-11-29 Andy Wingo <wingo@pobox.com>
843 * pkgconfig/gstreamer-net-uninstalled.pc.in:
844 * pkgconfig/gstreamer-net.pc.in:
845 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
848 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
851 * tools/gst-complete.1.in:
852 * tools/gst-complete.c:
853 * tools/gst-compprep.1.in:
854 * tools/gst-compprep.c:
855 removing -compprep and -complete
857 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
859 * gst/gstevent.c: (gst_event_new_new_segment),
860 (gst_event_parse_new_segment):
862 fix #320529 - clean up new_segment API and structure.
863 Let's hope everyone was using the methods, and not the structure.
865 2005-11-29 Edward Hervey <edward@fluendo.com>
867 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
868 (gst_base_sink_event), (gst_base_sink_do_sync),
869 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
870 Properly handle non GST_FORMAT_TIME segment
871 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
872 Properly handle non GST_FORMAT_TIME segment
874 This function is valid if the accumulator is 0 and the format
875 is different from the requested format.
877 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
879 * docs/gst/gstreamer-sections.txt:
880 Add gst_query_new_seeking and gst_query_parse_seeking to the
883 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
885 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
886 Treat a pad alloc with new caps the same as if we were not
887 negotiated, in order to allow a changing upstream output
888 to produce a new format of data.
890 2005-11-29 Edward Hervey <edward@fluendo.com>
892 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
893 (gst_base_transform_event), (gst_base_transform_eventfunc):
894 The event virtual method is now properly implemented, with a default
896 Sub classes should call the parent_class event method. They should
897 return FALSE if they had a problem handling the given event, or don't
898 want GstBaseTransform to send that even downstream
899 * gst/elements/gstidentity.c: (gst_identity_class_init),
900 (gst_identity_init), (gst_identity_event),
901 (gst_identity_transform_ip), (gst_identity_set_property),
902 (gst_identity_get_property):
903 * gst/elements/gstidentity.h:
904 Added the single-segment boolean property.
905 If set to TRUE, it will output a single segment of data, starting from
906 0, will eat up all incoming newsegment, and modify the timestamp of the
909 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
911 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
912 Don't ref NULL target pad (#322751). Improve docs.
914 2005-11-29 Michael Smith <msmith@fluendo.com>
916 * gst/gstregistryxml.c: (load_plugin):
917 Don't crash if we failed to load a feature from a plugin.
919 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
921 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
923 use more check API and less GLib API
925 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
928 don't run checks if we don't have check
930 remove the registry when running make torture
931 * docs/gst/gstreamer-sections.txt:
932 remove second multiply
933 * gst/gstqueue.c: (gst_queue_loop):
934 fix a compile warning when disabling debug
936 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
939 Hey! Let's print the pad name if the pointer != NULL instead
940 of when it == NULL :-)
942 2005-11-28 Wim Taymans <wim@fluendo.com>
944 * check/gst/gstutils.c: (GST_START_TEST):
945 Updated check, add some scaling accuracy checking code.
947 * gst/gstutils.c: (gst_util_div128_64),
948 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
949 (gst_util_uint64_scale_int):
950 Fix 6 times faster division code. Optimize for common
951 1/1 and less common X/1 cases.
953 2005-11-28 Wim Taymans <wim@fluendo.com>
955 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
958 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
959 (do_linear_regression), (gst_clock_add_observation):
961 Release lock when the clock cannot be slaved.
962 Catch the case where the regression returned an invalid denominator.
964 * gst/gstutils.c: (gst_util_div128_64_iterate),
965 (gst_util_div128_64), (gst_util_uint64_scale_int64),
966 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
967 Add protentially more performant non-iterative 128/64 divide function
968 that unfortunatly does not work yet.
969 Shortcut the trivial 0/X = 0 case.
970 Remove the warnings on overflow.
972 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
974 * gst/gstplugin.c: (gst_plugin_register_func):
975 everything causing a plugin not to load should be at least a WARNING
977 2005-11-28 Stefan Kost <ensonic@users.sf.net>
979 * docs/random/ensonic/dparams.txt:
980 some TODOs for the next dev cycle
981 * libs/gst/controller/gstcontroller.c:
982 (gst_controlled_property_set_interpolation_mode),
983 (gst_controlled_property_new):
984 * libs/gst/controller/gstcontroller.h:
985 use base type to assign acccessor functions
987 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
990 Oops, that should have been top_srcdir
992 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
995 * check/elements/fdsrc.c: (GST_START_TEST):
996 Use a cmdline define to specify the location of a file to use for
997 testing, to avoid breaking distcheck.
999 2005-11-28 Andy Wingo <wingo@pobox.com>
1001 * gst/gstpad.c (fixate_value): Use array functions for arrays.
1003 2005-11-28 Edward Hervey <edward@fluendo.com>
1005 * tools/gst-launch.c: (main):
1006 Clarify the output strings, makes it easier to translate.
1009 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1012 don't try and build net if we don't even have <sys/socket.h>
1014 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
1016 * check/Makefile.am:
1017 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1018 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1019 Add tests for fdsrc seekability
1021 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1022 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1023 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1024 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1025 * gst/elements/gstfdsrc.h:
1026 fdsrc should not be a 'live' source.
1027 Implement seeking on seekable fd's.
1029 * gst/gstquery.c: (gst_query_new_seeking),
1030 (gst_query_parse_seeking):
1032 Implement SEEKING query functions:
1033 *_new_seeking and *_parse_seeking
1035 2005-11-27 Stefan Kost <ensonic@users.sf.net>
1037 * gst/gstelement.c: (gst_element_dispose):
1040 * gst/gstiterator.c:
1041 * gst/gststructure.c:
1044 * libs/gst/controller/gstcontroller.c:
1045 (gst_controlled_property_set_interpolation_mode):
1046 * libs/gst/controller/gstcontroller.h:
1047 * libs/gst/controller/gstinterpolation.c:
1048 (interpolate_none_get_enum_value_array):
1049 support controlling enums
1051 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1054 Improve documentation for gst_value_union().
1057 Change return value for union, intersect and subtract functions
1058 from gint to gboolean.
1060 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1062 * gst/gstvalue.c: (gst_value_serialize_any_list),
1063 (gst_value_transform_any_list_string),
1064 (gst_value_deserialize_list), (gst_value_deserialize_array),
1065 (gst_value_set_int_range), (gst_value_deserialize_int_range),
1066 (gst_value_set_double_range), (gst_value_deserialize_double_range),
1067 (gst_value_set_fraction_range_full),
1068 (gst_value_deserialize_fraction_range),
1069 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1070 (gst_value_deserialize_boolean),
1071 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1072 (gst_value_serialize_float), (gst_value_deserialize_float),
1073 (gst_string_wrap), (gst_value_deserialize_string),
1074 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1075 (gst_value_union_int_range_int_range),
1076 (gst_value_intersect_int_range_int_range),
1077 (gst_value_intersect_double_range_double_range),
1078 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1079 (gst_value_subtract_int_range_int_range),
1080 (gst_value_subtract_double_double_range),
1081 (gst_value_subtract_double_range_double_range),
1082 (gst_value_deserialize_fraction):
1084 Use gint, gdouble and gchar in our API instead of int, double and
1085 char (and make usage in gstvalue.c more consistent).
1087 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1089 * check/Makefile.am:
1090 * libs/gst/controller/Makefile.am:
1091 * libs/gst/dataprotocol/Makefile.am:
1092 fix up Makefile.am and remove GST_ENABLE_NEW
1094 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1098 * gst/base/Makefile.am:
1099 * gst/check/Makefile.am:
1100 * gst/elements/Makefile.am:
1101 * gst/net/Makefile.am:
1102 update LDFLAGS use some more
1104 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1106 * common/m4/gst-doc.m4:
1109 2005-11-26 Edward Hervey <edward@fluendo.com>
1111 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1112 This shouldn't issue a g_warning since it returns NULL if it
1113 couldn't find the plugin, and all functions using this behave
1114 properly on a NULL return. Switching to a GST_WARNING.
1116 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
1118 * gst/gstbin.c: (gst_bin_handle_message_func):
1119 Don't leak clock messages.
1121 2005-11-25 Wim Taymans <wim@fluendo.com>
1123 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1124 (gst_util_uint64_scale_int):
1125 Optimisations, remove unneeded vars.
1127 2005-11-25 Wim Taymans <wim@fluendo.com>
1129 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1130 Added more checks for the high precision uint64 cases.
1132 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1133 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1134 Implement high precision (guint64 * guint64) / guint64.
1136 2005-11-24 Wim Taymans <wim@fluendo.com>
1138 * gst/base/gstbasesrc.c: (gst_base_src_query):
1139 Fix wrong percentage query.
1141 * gst/gstutils.c: (gst_util_uint64_scale),
1142 (gst_util_uint64_scale_int):
1143 Add some more common cases that can be handled
1144 efficiently to _scale.
1146 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1148 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1149 (gst_mini_object_suite):
1150 don't use check calls from threads; check probably isn't
1151 threadsafe and using a lock to make it threadsafe would
1152 defeat the purpose of this check
1153 * gst/check/gstcheck.c:
1154 * gst/check/gstcheck.h:
1155 use GST_DEBUG some more
1157 2005-11-24 Wim Taymans <wim@fluendo.com>
1159 * gst/gstutils.c: (gst_util_uint64_scale),
1160 (gst_util_uint64_scale_int):
1161 Chain trivial case to _scale_int.
1163 2005-11-24 Wim Taymans <wim@fluendo.com>
1165 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1166 Added test for scaling.
1171 * gst/gstutils.c: (gst_util_uint64_scale_int):
1172 Implemented high precision scaling code.
1174 2005-11-24 Stefan Kost <ensonic@users.sf.net>
1177 do not crash on pad==NULL
1179 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1181 Patch by: Stefan Kost
1183 * common/gtk-doc.mak:
1184 * docs/gst/Makefile.am:
1185 * docs/libs/Makefile.am:
1186 Fix distcheck issues for the libraries docs build
1189 2005-11-24 Michael Smith <msmith@fluendo.com>
1191 * docs/manual/basics-helloworld.xml:
1192 Fix bug #315027: memory leak in example code in docs.
1194 2005-11-24 Michael Smith <msmith@fluendo.com>
1196 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1197 Unlock the PREROLL_LOCK in a failure case.
1199 2005-11-24 Wim Taymans <wim@fluendo.com>
1201 * docs/gst/gstreamer-sections.txt:
1202 * gst/base/gstadapter.h:
1203 * gst/base/gstbasesink.h:
1204 * gst/base/gstbasesrc.h:
1205 * gst/base/gstbasetransform.h:
1206 * gst/base/gstpushsrc.h:
1207 * gst/elements/gstfakesink.h:
1208 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1209 * gst/elements/gstfakesrc.h:
1210 * gst/elements/gstfilesink.h:
1211 * gst/elements/gstfilesrc.h:
1214 * gst/gstbuffer.c: (_gst_buffer_copy):
1217 * gst/gstchildproxy.c:
1220 * gst/gstelementfactory.c:
1221 * gst/gstelementfactory.h:
1223 * gst/gstghostpad.h:
1225 * gst/gstinterface.h:
1226 * gst/gstminiobject.c:
1227 * gst/gstminiobject.h:
1230 * gst/gstpadtemplate.h:
1231 * gst/gstpipeline.h:
1232 * gst/gstpluginfeature.h:
1237 * gst/gsttagsetter.c:
1238 * gst/gsttagsetter.h:
1241 * gst/gsttypefind.h:
1244 * gst/net/gstnetclientclock.c:
1245 * gst/net/gstnetclientclock.h:
1246 * gst/net/gstnettimepacket.c:
1247 * gst/net/gstnettimeprovider.c:
1248 * gst/net/gstnettimeprovider.h:
1251 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1253 * configure.ac: back to HEAD
1255 === release 0.9.6 ===
1257 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1260 releasing 0.9.6, "Always On Time"
1262 2005-11-23 Wim Taymans <wim@fluendo.com>
1264 * docs/gst/gstreamer-sections.txt:
1265 * gst/glib-compat.c:
1266 * gst/gsttagsetter.c:
1268 * gst/net/gstnetclientclock.c:
1269 * gst/net/gstnettimepacket.h:
1272 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1274 * docs/faq/using.xml:
1275 * docs/libs/tmpl/gstcontrol.sgml:
1276 * docs/manual/advanced-dparams.xml:
1277 * docs/manual/appendix-checklist.xml:
1278 * docs/manual/basics-elements.xml:
1279 * docs/pwg/other-source.xml:
1280 * docs/random/moving-plugins:
1282 * tools/gst-launch.1.in:
1283 remove mentions of sinesrc
1285 2005-11-23 Michael Smith <msmith@fluendo.com>
1287 * docs/gst/gstreamer-sections.txt:
1288 Update for new API and API changes.
1290 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1292 Documentation typo fix.
1293 * gst/net/gstnettimepacket.c:
1294 Documentation fixes for arguments.
1296 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
1298 * gst/gststructure.c: (gst_structure_get_fraction),
1299 (gst_structure_parse_value),
1300 (gst_structure_fixate_field_nearest_fraction):
1301 * gst/gststructure.h:
1302 * gst/gstutils.c: (gst_util_uint64_scale_int):
1304 * scripts/update-funcnames:
1306 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1307 Make gst_structure_fixate_field_nearest_fraction take a numerator
1308 and denominator argument instead of a GValue
1309 add gst_structure_get_fraction helper function.
1311 2005-11-23 Wim Taymans <wim@fluendo.com>
1313 * docs/design/part-TODO.txt:
1316 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1317 * gst/net/gstnetclientclock.h:
1318 Use parent fields for timeout and window_size.
1320 2005-11-23 Andy Wingo <wingo@pobox.com>
1322 * check/net/gstnetclientclock.c (test_functioning): Adjust to
1323 rate_num/rate_denom change.
1325 * gst/net/gstnetclientclock.c
1326 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1327 OBJECT_LOCK. Don't call add_observation with the lock.
1329 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1331 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1333 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1334 deal with rate as a fraction whose numerator and denominator are
1335 GstClockTime values.
1336 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1337 master; the other fields are protected by the SLAVE_LOCK.
1338 (do_linear_regression): Note that this must be called with the
1340 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1341 OBJECT_LOCK. Call set_calibration instead of touching the
1343 (gst_clock_set_property, gst_clock_get_property): Protect
1344 master/slave parameters with the SLAVE_LOCK.
1346 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1347 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1348 note that all of the instance variables that add_observation and
1349 the set_master functions use are protected by that lock and not
1351 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1353 * gst/gstclock.c (gst_clock_add_observation): No longer requires
1354 the caller to take the object lock.
1356 2005-11-23 Wim Taymans <wim@fluendo.com>
1358 * gst/gsterror.c: (_gst_core_errors_init):
1360 Add error for clock stuff.
1362 * gst/gstpipeline.c: (gst_pipeline_change_state),
1363 (gst_pipeline_set_clock):
1364 Post clock error when clock cannot be used in a pipeline.
1366 2005-11-23 Stefan Kost <ensonic@users.sf.net>
1368 * docs/gst/gstreamer-sections.txt:
1369 make two symbols from gstinfo private for the docs
1370 * gst/base/gstcollectpads.h:
1372 fix doc typos, update docs
1374 2005-11-22 Wim Taymans <wim@fluendo.com>
1376 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1377 (gst_base_sink_wait), (gst_base_sink_do_sync),
1378 (gst_base_sink_handle_event):
1379 * gst/base/gstbasesink.h:
1380 No need to store the clock, the parent element class already
1383 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1384 Updates for clock_set returning a gboolean
1386 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1387 (gst_clock_id_wait_async), (gst_clock_class_init),
1388 (gst_clock_init), (gst_clock_finalize),
1389 (gst_clock_get_internal_time), (gst_clock_get_time),
1390 (gst_clock_slave_callback), (gst_clock_set_master),
1391 (gst_clock_get_master), (do_linear_regression),
1392 (gst_clock_add_observation), (gst_clock_set_property),
1393 (gst_clock_get_property):
1395 Implement master/slave. When setting a clock as a slave, a
1396 periodic timeout is scheduled to sample master and slave times.
1397 Then the slave clock is recalibrated to match offset and rate
1398 of the master clock.
1399 Update logging a bit.
1400 Add flag so that a clock can state that is cannot be slaved to
1403 * gst/gstelement.c: (gst_element_set_clock):
1405 The set clock returns a gboolean for when an element cannot
1406 deal with the selected clock in the pipeline.
1408 * gst/gstpipeline.c: (gst_pipeline_change_state),
1409 (gst_pipeline_set_clock):
1410 * gst/gstpipeline.h:
1411 Handle the case where the selected clock cannot be set on
1414 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1415 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1416 (gst_net_client_clock_set_property),
1417 (gst_net_client_clock_get_property),
1418 (gst_net_client_clock_observe_times):
1419 * gst/net/gstnetclientclock.h:
1420 Use regression code in GstClock parent, remove duplicated
1423 2005-11-22 Michael Smith <msmith@fluendo.com>
1425 * gst/gstutils.c: (gst_util_clock_time_scale):
1427 * docs/gst/gstreamer-sections.txt:
1428 Rename method to have extra underscore.
1430 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
1432 * gst/elements/Makefile.am:
1433 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1434 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1435 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1436 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1437 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1438 * gst/elements/gstfakesrc.h:
1439 * gst/gstqueue.c: (queue_leaky_get_type):
1440 correctly fix GEnumValues so that nick is the short lowercase
1442 * tools/gst-inspect.c: (print_element_properties_info):
1443 also show the nick, since it's useful to use from parse_launch
1447 2005-11-22 Michael Smith <msmith@fluendo.com>
1449 * gst/gstutils.c: (gst_util_clocktime_scale):
1451 * docs/gst/gstreamer-sections.txt:
1452 Add util method for scaling a clocktime by a fraction. Useful
1453 implementation is left as an exercise for the reader.
1455 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1457 * gst/gstvalue.c: (gst_value_collect_fraction_range):
1458 If needed, allocate storage in the destination value during
1461 2005-11-22 Edward Hervey <edward@fluendo.com>
1463 * docs/gst/gstreamer-sections.txt:
1468 * gst/gstutils.c: (gst_util_set_object_arg):
1469 * tools/gst-compprep.c: (main):
1470 * tools/gst-inspect.c: (print_element_properties_info):
1471 Removed GstURI, closes bug #321061
1473 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1475 * check/gst/gststructure.c: (GST_START_TEST):
1476 * gst/gststructure.c: (gst_structure_parse_value):
1477 Oops, broke automatic string type parsing.
1478 Add a test to catch it in future.
1480 2005-11-22 Andy Wingo <wingo@pobox.com>
1482 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
1483 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1484 Actually rename the function implementations. Grr.
1486 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1488 * check/gst/capslist.h:
1490 * check/gst/gststructure.c: (GST_START_TEST),
1491 (gst_structure_suite):
1492 Test automatic value type detection in gst_structure_from_string.
1493 * gst/gststructure.c: (gst_structure_parse_value):
1494 Add fraction as a type we try and guess automatically in
1495 caps/structure strings.
1497 2005-11-22 Andy Wingo <wingo@pobox.com>
1499 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1501 * gst/gsttagsetter.h:
1502 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1503 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1504 (gst_tag_setter_add_tag_valist)
1505 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1506 _add_values, _add_valist, and _add_valist_values. Since this is an
1507 interface the function suffixes should be more explicit so
1508 language binding don't end up with element.add_valist ->
1509 gst_tag_setter_add_valist, for example. Fixes #322069.
1511 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1513 * check/gst/gstcaps.c: (GST_START_TEST):
1514 Extend caps string tests to check that a caps to string
1515 conversion is reversible and produces the same caps.
1517 * gst/gststructure.c: (gst_structure_value_get_generic_type):
1518 Output "fraction" as the generic type fraction range, so caps
1519 serialisation and deserialisation works.
1520 * check/gst/capslist.h:
1521 * gst/gstvalue.c: (gst_value_deserialize_fraction):
1522 Support 'MIN' and 'MAX' for deserialising fractions.
1524 2005-11-22 Andy Wingo <wingo@pobox.com>
1526 * gst/gstevent.h (gst_event_new_new_segment)
1527 (gst_event_parse_new_segment, gst_event_new_buffer_size)
1528 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1529 Renamed from *_newsegment, *_buffersize, *_notarget.
1531 * scripts/update-funcnames: New script, performs the changes
1534 2005-11-22 Wim Taymans <wim@fluendo.com>
1536 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1537 Make sure the GstFlowReturn is returned.
1539 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1540 (gst_bus_add_signal_watch):
1542 add gst_bus_add_signal_watch_full.
1544 * gst/gstplugin.c: (gst_plugin_load_file):
1545 Small style cleanup.
1547 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1549 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1550 Block the fakesrc srcpad when we send an event, to avoid
1551 contention on the stream_lock causing random test failures.
1553 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1555 * check/gst/gstvalue.c: (GST_START_TEST):
1556 * gst/gstvalue.c: (gst_value_fraction_subtract):
1559 2005-11-22 Stefan Kost <ensonic@users.sf.net>
1562 include "gstchildproxy.h"
1563 * gst/gstchildproxy.h:
1564 * libs/gst/controller/gstcontroller.h:
1565 use G_GNUC_NULL_TERMINATED
1567 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1569 * check/gst/capslist.h:
1570 * check/gst/gstcaps.c: (GST_START_TEST):
1571 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1572 * gst/gststructure.c: (gst_structure_parse_range),
1573 (gst_structure_fixate_field_nearest_fraction):
1574 * gst/gststructure.h:
1575 * gst/gstvalue.c: (gst_value_init_fraction_range),
1576 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1577 (gst_value_collect_fraction_range),
1578 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1579 (gst_value_set_fraction_range_full),
1580 (gst_value_get_fraction_range_min),
1581 (gst_value_get_fraction_range_max),
1582 (gst_value_serialize_fraction_range),
1583 (gst_value_transform_fraction_range_string),
1584 (gst_value_compare_fraction_range),
1585 (gst_value_deserialize_fraction_range),
1586 (gst_value_intersect_fraction_fraction_range),
1587 (gst_value_intersect_fraction_range_fraction_range),
1588 (gst_value_subtract_fraction_fraction_range),
1589 (gst_value_subtract_fraction_range_fraction),
1590 (gst_value_subtract_fraction_range_fraction_range),
1591 (gst_value_collect_fraction), (gst_value_fraction_multiply),
1592 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1593 (gst_value_transform_string_fraction), (_gst_value_initialize):
1595 Implement fraction ranges and extend GstFraction to support
1596 arithmetic subtraction, as well as deserialization from integer
1597 strings such as "100"
1598 Add a testsuite as for int and double range set operations
1600 2005-11-21 Andy Wingo <wingo@pobox.com>
1604 * gst/gststructure.h: Add glib-compat.h.
1606 2005-11-21 Wim Taymans <wim@fluendo.com>
1608 * gst/gstbin.c: (gst_bin_change_state_func):
1611 2005-11-21 Wim Taymans <wim@fluendo.com>
1614 And add a nice define too.
1616 2005-11-21 Wim Taymans <wim@fluendo.com>
1618 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1619 (gst_segment_new), (gst_segment_free), (gst_segment_init),
1620 (gst_segment_set_duration), (gst_segment_set_last_stop),
1621 (gst_segment_set_seek), (gst_segment_set_newsegment),
1622 (gst_segment_to_stream_time), (gst_segment_to_running_time),
1625 Make binding friendly.
1627 2005-11-21 Andy Wingo <wingo@pobox.com>
1629 * gst/gsttagsetter.h:
1631 * gst/gststructure.h:
1633 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1636 * gst/gsterror.c (_gst_core_errors_init):
1637 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1640 * gst/Makefile.am (gst_headers): Add glib-compat.h.
1641 (noinst_HEADERS): noinst the -private.
1643 2005-11-21 Michael Smith <msmith@fluendo.com>
1646 * gst/gstregistry.h:
1647 Remove unimplemented declarations for which we can see no sensible
1650 2005-11-21 Andy Wingo <wingo@pobox.com>
1652 * gst/gst.h: Include glib-compat.h.
1654 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1656 * gst/glib-compat.c: Include the public and the private header.
1658 * gst/glib-compat-private.h: Copied here from glib-compat.h.
1662 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1664 * check/gst/gstevent.c (create_custom_events): Check that
1665 FLUSH_STOP is serialized.
1667 * check/elements/identity.c (event_func):
1668 * check/elements/fakesrc.c (event_func): No stream lock, the core
1671 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1672 stream lock taking, yay.
1674 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1675 ensure that core takes the stream lock.
1677 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1680 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1681 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1682 it already. For the flush start we do take it though so we get the
1683 right preroll state change messages.
1685 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1686 the stream lock here, the core does it for us.
1688 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1689 GST_STREAM_GET_LOCK.
1690 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
1691 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
1692 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1693 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1694 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
1695 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1697 * gst/gstpad.c: Update for stream lock name change.
1699 * gst/base/gstbasesink.c: Update for preroll lock name change.
1701 2005-11-21 Wim Taymans <wim@fluendo.com>
1703 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1704 (gst_clock_get_master):
1706 * gst/gstsystemclock.c: (gst_system_clock_init):
1707 Convert Clock flags to object flags.
1708 Added methods to manage master/slave clocks.
1710 2005-11-21 Wim Taymans <wim@fluendo.com>
1712 * check/gst/gstsegment.c: (GST_START_TEST):
1713 * docs/design/part-TODO.txt:
1714 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1715 (gst_base_sink_event), (gst_base_sink_do_sync),
1716 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1717 (gst_base_sink_query), (gst_base_sink_change_state):
1718 * gst/base/gstbasesink.h:
1719 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1720 (gst_base_src_default_newsegment),
1721 (gst_base_src_configure_segment), (gst_base_src_do_seek),
1722 (gst_base_src_get_range), (gst_base_src_loop),
1723 (gst_base_src_change_state):
1724 * gst/base/gstbasesrc.h:
1725 * gst/base/gstbasetransform.c:
1726 (gst_base_transform_prepare_output_buf),
1727 (gst_base_transform_event), (gst_base_transform_change_state):
1728 * gst/base/gstbasetransform.h:
1729 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1730 (gst_collect_pads_event):
1731 * gst/base/gstcollectpads.h:
1732 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1733 (gst_fake_src_create):
1734 * gst/elements/gstfakesrc.h:
1735 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1736 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1737 (gst_segment_set_last_stop), (gst_segment_set_seek),
1738 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1739 (gst_segment_to_running_time), (gst_segment_clip):
1741 More segment updates, replace code in plugins with segment
1744 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1746 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1747 Don't ignore sscanf results
1749 2005-11-21 Andy Wingo <wingo@pobox.com>
1751 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1754 * *.c: Ran scripts/update-macros. Oh yes.
1756 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1757 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1760 * scripts/update-macros: New script. Run it on your files to
1761 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1764 2005-11-21 Stefan Kost <ensonic@users.sf.net>
1766 * docs/gst/Makefile.am:
1767 * docs/gst/gstreamer-docs.sgml:
1768 * docs/gst/gstreamer-sections.txt:
1769 * docs/gst/gstreamer.types:
1771 more docs fixes, add new api to the docs
1773 2005-11-21 Andy Wingo <wingo@pobox.com>
1775 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1776 state_broadcast call.
1778 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1780 2005-11-21 Julien MOUTTE <julien@moutte.net>
1782 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1783 function calls for arrays.
1785 2005-11-21 Stefan Kost <ensonic@users.sf.net>
1787 * docs/random/ensonic/media-device-daemon.txt:
1788 wild idea, can this be done?
1789 * docs/gst/gstreamer-sections.txt:
1794 * gst/gstpluginfeature.c:
1798 doc fixes and additions
1800 2005-11-21 Andy Wingo <wingo@pobox.com>
1802 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
1803 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
1804 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
1805 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1806 private to the basesrc implementation.
1808 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1809 behalf of event function if necessary. It should no longer be
1810 necessary to take the stream lock in pad's event functions. Fixes
1813 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1814 * docs/gst/gstreamer-sections.txt:
1815 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1816 (gst_structure_fixate_field_nearest_double),
1817 (gst_structure_fixate_field_boolean):
1818 * gst/gststructure.h:
1819 * win32/common/libgstreamer.def:
1820 * win32/gstreamer.def:
1822 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1825 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1827 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1828 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1829 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1830 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1831 (gst_fdsrc_uri_handler_init):
1832 * gst/elements/gstfdsrc.h:
1833 Port fd:// URI handler from 0.8 to fdsrc
1835 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1837 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1838 (gst_value_serialize_fourcc):
1840 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1841 consistent with our other format defines (#320324).
1843 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1845 * gst/gstvalue.c: (gst_value_is_fixed):
1846 Revert previous commit. Value lists are by definition
1847 not fixed, as they are a list of possible values.
1849 2005-11-21 Andy Wingo <wingo@pobox.com>
1851 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1852 during the stable series if we need it. Fixes #319178.
1854 * gst/gstevent.c (gst_event_new_filler): Removed.
1856 * check/gst/gstevent.c: Update comment about filler events.
1858 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1860 * gst/gstvalue.c: (gst_value_is_fixed):
1861 Should handle both value arrays and value lists.
1863 2005-11-21 Andy Wingo <wingo@pobox.com>
1865 patch by: Alessandro Dessina <alessandro nnva org>
1867 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1868 functions to access arrays. Fixes #321962.
1870 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1872 * docs/gst/gstreamer.types:
1873 gst_collectpads_get_type => gst_collect_pads_get_type.
1875 * gst/base/gstbasetransform.c:
1876 Remove unused SIGNAL_HANDOFF enum.
1878 2005-11-21 Andy Wingo <wingo@pobox.com>
1880 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1881 the event type (upstream, downstream, serialized). Renamed
1882 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1883 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1884 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1886 * gst/gstevent.c: Update for new CUSTOM event names.
1888 * check/gst/gstevent.c: Update check for new CUSTOM event names.
1891 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1894 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1896 * docs/gst/gstreamer-sections.txt:
1897 * win32/common/libgstbase.def:
1898 * win32/libgstbase.def:
1899 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1900 (gst_collect_pads_class_init), (gst_collect_pads_init),
1901 (gst_collect_pads_finalize), (gst_collect_pads_new),
1902 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1903 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1904 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1905 (gst_collect_pads_start), (gst_collect_pads_stop),
1906 (gst_collect_pads_peek), (gst_collect_pads_pop),
1907 (gst_collect_pads_available), (gst_collect_pads_read),
1908 (gst_collect_pads_flush), (gst_collect_pads_event),
1909 (gst_collect_pads_chain):
1910 * gst/base/gstcollectpads.h:
1911 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1912 unimplemented functions as unimplemented. Add padding to
1913 GstCollectData. (#320766, #320423)
1915 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1918 Improve docs for DURATION message (usage of duration parameter)
1921 2005-11-20 Wim Taymans <wim@fluendo.com>
1923 * check/Makefile.am:
1924 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1928 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1929 (gst_segment_set_seek), (gst_segment_set_newsegment),
1930 (gst_segment_to_stream_time), (gst_segment_to_running_time),
1933 Added segment helper structure and methods. Not fully implemented
1935 Added segment check.
1937 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
1939 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1940 Add a deserialisation test for fractions
1941 * examples/metadata/read-metadata.c: (message_loop),
1942 (make_pipeline), (main):
1943 Fix up metadata reading sample.
1944 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1946 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1947 Don't try and fixate empty caps
1948 * gst/gst_private.h:
1949 Wrap in G_BEGIN_DECLS/G_END_DECLS
1950 * gst/gstvalue.c: (gst_value_collect_fraction),
1951 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1952 (gst_value_transform_string_fraction),
1953 (gst_value_compare_fraction):
1954 Add some extra guards to ensure that we don't end up
1955 with an invalid denominator of 0 in a gstfraction and
1956 that fractions always get reduced.
1958 2005-11-20 Wim Taymans <wim@fluendo.com>
1960 * docs/gst/gstreamer-sections.txt:
1971 2005-11-20 Wim Taymans <wim@fluendo.com>
1973 * docs/design/part-TODO.txt:
1975 Make a proper enum of the flag.
1977 2005-11-19 Wim Taymans <wim@fluendo.com>
1979 * docs/design/part-TODO.txt:
1980 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1981 (gst_format_to_quark), (gst_format_register):
1983 * gst/gstquery.c: (_gst_query_initialize),
1984 (gst_query_type_get_name), (gst_query_type_to_quark),
1985 (gst_query_type_register):
1987 Add type to quark and type to string conversions.
1989 2005-11-19 Andy Wingo <wingo@pobox.com>
1991 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1994 2005-11-19 Wim Taymans <wim@fluendo.com>
1996 * docs/design/part-TODO.txt:
1997 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1998 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1999 (gst_bin_handle_message_func):
2001 Make message handling overridable.
2003 2005-11-19 Andy Wingo <wingo@pobox.com>
2005 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2008 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2010 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2011 is a GstClockTime. Fixes #321710.
2013 * gst/gstclock.h (GstClock): Remove offset property. Add
2014 internal_calibration and external_calibration. Fix padding. Pad
2015 also by GstClockTime so we don't run into problems.
2017 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2018 (gst_clock_get_rate_offset): Remove.
2019 (gst_clock_set_time_adjust): Remove. Fixes #321712.
2022 * gst/gstutils.c (g_static_rec_cond_wait)
2023 (g_static_rec_cond_timed_wait): Removed, no longer needed.
2025 * gst/gstbin.c: Remove terrible continue_state prototype.
2027 * gst/gstelement.h (gst_element_continue_state): Make public.
2030 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2031 by continue_state. Fixes #319389.
2033 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2034 Really fixes #168438. However I don't see anywhere where the
2035 filter function is called... stupid GStreamer...
2037 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2038 don't have a dispose function, so it won't get called when the
2039 object is unreffed, but oh well!
2041 * gst/gstindex.c (gst_index_set_filter_full): New API function,
2042 allows a destroy function to be set so user_data can be freed.
2044 (gst_index_set_filter): Call gst_index_set_filter_full.
2046 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2048 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2049 string should produce an error, given the lack of a way to
2050 represent NULL strings. Fixes #165650.
2053 * gst/gstvalue.c (gst_value_array_append_value)
2054 (gst_value_array_prepend_value, gst_value_array_get_size)
2055 (gst_value_array_get_value): New API, copied from
2056 gst_value_list_*, only operates on arrays.
2057 (gst_value_list_append_value, gst_value_list_prepend_value)
2058 (gst_value_list_concat, gst_value_list_get_size)
2059 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2061 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2062 init_list, because it works on both.
2063 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2064 (gst_value_copy_list_or_array): Renamed from copy_list.
2065 (gst_value_free_list_or_array): Renamed from free_list.
2066 (gst_value_collect_list_or_array): Renamed from collect_list.
2067 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2068 (gst_value_list_or_array_peek_pointer): Renamed from
2070 (_gst_value_array_value_table, _gst_value_list_value_table):
2071 Update value table functions.
2072 (gst_value_compare_list_or_array): Renamed from compare_list.
2074 * gsttaglist.h: Whoops, foreach function returns void. Also fix
2078 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2079 GstTagList*. Fixes #143472.
2081 * gst/gststructure.h: Clarify what the foreach/map functions can
2082 or can't do to their arguments.
2084 2005-11-18 Wim Taymans <wim@fluendo.com>
2086 * gst/gstclock.c: (gst_clock_set_calibration),
2087 (gst_clock_get_calibration):
2089 Calibration can be set with internal time equal to current
2092 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
2098 2005-11-18 Andy Wingo <wingo@pobox.com>
2101 * pkgconfig/gstreamer-net.pc.in:
2102 * pkgconfig/gstreamer-net-uninstalled.pc.in:
2103 * pkgconfig/Makefile.am: Add net pkgconfig files.
2105 2005-11-18 Stefan Kost <ensonic@users.sf.net>
2108 * gst/gstghostpad.c:
2114 2005-11-18 Andy Wingo <wingo@pobox.com>
2116 * gst/net/gstnetclientclock.c: Turn off debugging.
2118 * check/net/gstnetclientclock.c (test_functioning): Assert that the
2119 times connverge somewhat. Can't make a real test.
2121 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2122 integer arithmetic. Return the minimum of the domain, which can be
2123 set as "internal" for gst_clock_set_calibration.
2124 (gst_net_client_clock_observe_times): Call _set_calibration.
2125 (gst_net_client_clock_new): Call _set_calibration instead of
2128 * check/net/gstnetclientclock.c (test_functioning): Use the right
2132 * gst/gstclock.c (gst_clock_get_calibration)
2133 (gst_clock_set_calibration): New functions, obsolete the ones I
2134 added yesterday. Doh. Precision issues mean we have to extrapolate
2135 from a point in the more recent past than 1970.
2136 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2138 (gst_clock_adjust_unlocked): Use the right calibration data.
2140 2005-11-18 Edward Hervey <edward@fluendo.com>
2142 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2143 Also reset the ->current_* values in READY->PAUSED
2145 2005-11-18 Andy Wingo <wingo@pobox.com>
2147 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2148 Whoops, check the right fd. Also add some debugging.
2149 (gst_net_client_clock_observe_times): Adjust for int64 offset.
2150 (do_linear_regression): Add a crapload of debugging. Subtract off
2151 the minimum values from the input series to discard unneeded bits.
2152 Use only int arithmetic. There is still double arithmetic when
2153 calculating the intercept that needs fixing. Return boolean to
2154 indicate success; FALSE would mean the domain or range is too
2155 great. Still needs fixes.
2157 2005-11-18 Wim Taymans <wim@fluendo.com>
2159 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2160 For the current position in stream time, we need to subtract
2163 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2164 Release lock before calling the callback function of async
2167 2005-11-18 Andy Wingo <wingo@pobox.com>
2169 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2170 Port goes all the way to MAXUINT16.
2172 * gst/net/gstnettimeprovider.c: Make the port range the same as
2173 for the kernel: 0 assigns, otherwise ports are less than
2176 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2179 * check/net/gstnetclientclock.c (test_functioning): Add the start
2182 2005-11-18 Wim Taymans <wim@fluendo.com>
2184 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2185 (gst_bin_remove_func), (bin_bus_handler):
2187 Removing a clock provider from a bin, triggers a clock lost message
2188 so that a new clock will be selected.
2189 Adding a clock to a bin triggers a clock provider message.
2190 Make sure we reselect a clock when we received a clock lost message.
2191 Keep a reference to the element that provided the clock.
2193 2005-11-18 Andy Wingo <wingo@pobox.com>
2195 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2196 the clock initially so it produces values around the base time.
2197 (gst_net_client_clock_class_init): Typo fix.
2198 (gst_net_client_clock_thread): Add note on when the socket gets
2201 2005-11-17 Wim Taymans <wim@fluendo.com>
2203 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2204 Free remote and local time arrays.
2206 2005-11-17 Wim Taymans <wim@fluendo.com>
2208 * gst/net/gstnetclientclock.c: (do_linear_regression),
2209 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2210 Fix compilation, uninitialized vars and a forgotten continue.
2212 2005-11-17 Andy Wingo <wingo@pobox.com>
2214 * check/Makefile.am (check_PROGRAMS):
2215 * check/net/gstnetclientclock.c: Add a most minimal test for the
2216 net client clock. More to come later.
2219 * gst/net/Makefile.am: Add netclientclock.
2221 * gst/net/gstnetclientclock.h:
2222 * gst/net/gstnetclientclock.c: New files, implement an untested
2223 GstClock that takes its time from a network time provider.
2224 Implements the algorithm in network-clock.scm.
2226 * tests/network-clock.scm (*window-size*): Rename from
2228 * tests/network-clock.scm (network-time):
2229 * tests/network-clock-utils.scm (q-push): Update callers.
2231 2005-11-17 Wim Taymans <wim@fluendo.com>
2233 * gst/gstbin.c: (gst_bin_provide_clock_func),
2234 (gst_bin_sort_iterator_new):
2235 And unref the child too..
2237 2005-11-17 Wim Taymans <wim@fluendo.com>
2239 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2240 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2241 Refactor the sort iterator so it can be used while holding the
2243 Make clock selection select a clock closest to the source.
2245 2005-11-17 Michael Smith <msmith@fluendo.com>
2247 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2248 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2250 Anonymous structs are a gcc (and some other compilers) extension, so
2251 don't use them. Since this is only for ABI-compatibility, and our
2252 API/ABI freeze is over in a few days, this whole thing will only
2253 last a few days, so don't bother trying to think up a meaningful
2254 name for the struct.
2256 2005-11-17 Andy Wingo <wingo@pobox.com>
2258 * gst/gstclock.h (GstClock): Add rate and offset properties,
2259 preserving ABI stability. Add rate/offset accessors. Will file bug
2260 for the freeze break.
2262 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2263 and offset, trying to keep precision and avoiding
2265 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2266 functions. Make gst_clock_set_time_adjust obsolete.
2267 (gst_clock_set_time_adjust): Note that this function is obsolete.
2270 * gst/base/gstbasetransform.h: Make the ABI-stability hack
2271 greppable by using GST_PADDING-1+1.
2273 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
2275 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2277 * gst/gstmessage.c: (gst_message_parse_clock_lost):
2278 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2280 * gst/gstpadtemplate.h:
2281 * gst/gstpluginfeature.h:
2282 Don't use c++ style comments in headers (#321638).
2284 2005-11-16 Andy Wingo <wingo@pobox.com>
2286 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2289 * check/net/gstnettimeprovider.c: Check to see that the time
2290 provider actually provides times. Works, yo!
2292 2005-11-16 Wim Taymans <wim@fluendo.com>
2294 * check/Makefile.am:
2297 * check/elements/fakesrc.c: (GST_START_TEST):
2298 Set element to NULL before disposing it.
2300 2005-11-16 Andy Wingo <wingo@pobox.com>
2302 * gst/net/Makefile.am:
2304 * gst/net/gstnettimeprovider.c:
2305 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2306 provider, include it from gstnet.h, and add it to the build.
2308 * gst/net/gstnettimepacket.h:
2309 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2310 sending and receiving.
2312 2005-11-16 Wim Taymans <wim@fluendo.com>
2314 * check/Makefile.am:
2315 Enable valgrind check.
2317 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2318 (gst_fake_src_alloc_buffer):
2321 2005-11-16 Wim Taymans <wim@fluendo.com>
2323 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2324 Call parent finalize too.
2326 2005-11-16 Wim Taymans <wim@fluendo.com>
2328 * check/Makefile.am:
2329 Enable valgrind check that should work fine now.
2331 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2332 * gst/gstqueue.c: (gst_queue_init):
2333 Fix memleaks in pad allocation.
2335 2005-11-16 Andy Wingo <wingo@pobox.com>
2337 * gst/net/Makefile.am:
2338 * gst/net/gstnet.h: New part of core to hold network elements and
2339 objects. Put in core because it exposes API that applications want
2340 to use. The library is named libgstnet-tempname right now because
2341 of the existing libgstnet in gst-plugins-base. Solution is
2342 probably to rename the one in plugins-base; will file a bug for
2345 * gst/net/gstnettimeprovider.c:
2346 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2347 get_time call over the network.
2350 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2352 * check/Makefile.am:
2353 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2354 get additions shortly.
2356 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2358 * gst/gstpad.c: (gst_pad_new_from_static_template):
2360 add gst_pad_new_from_static_template functions
2361 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2362 (gst_check_setup_sink_pad):
2363 * gst/elements/gsttee.c: (gst_tee_init):
2366 2005-11-16 Wim Taymans <wim@fluendo.com>
2368 * gst/gstpad.c: (gst_pad_pause_task):
2369 Removed warning, it's not really an error either.
2371 2005-11-16 Wim Taymans <wim@fluendo.com>
2373 * gst/base/gstbasetransform.c:
2374 (gst_base_transform_prepare_output_buf),
2375 (gst_base_transform_event):
2376 Check if the caps are NULL, this can happen if the element
2377 is shutting down and the pad caps are set to NULL.
2379 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2381 * gst/elements/gsttee.c: (gst_tee_init):
2382 fix pad template leak in tee
2384 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2386 * gst/glib-compat.c: (g_value_dup_gst_object):
2387 * gst/glib-compat.h:
2388 * gst/gstpad.c: (gst_pad_set_property):
2389 use gst_object_ref when setting the pad template; this will
2390 trigger the pad template leaks on GLib 2.6 and the slaves
2392 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2394 * gst/glib-compat.c: (gst_flags_get_first_value):
2395 * gst/glib-compat.h:
2396 * gst/gstregistryxml.c:
2397 remove functions copied from GLib 2.6
2399 2005-11-16 Michael Smith <msmith@fluendo.com>
2402 Don't link against VALGRIND_LIBS. That was always the wrong thing to
2403 do, but only breaks with newer valgrind versions. We're not a
2404 valgrind tool, we have no link-time dependencies on libcoregrind.
2406 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2408 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2413 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2415 * gst/base/gstbasesrc.c: (gst_base_src_init):
2416 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2417 * gst/gstqueue.c: (gst_queue_init):
2418 * gst/gstregistryxml.c: (load_feature):
2419 Revert all these unrefs, they don't even pass make check !
2421 2005-11-15 Johan Dahlin <johan@gnome.org>
2423 * gst/base/gstbasesrc.c: (gst_base_src_init):
2424 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2425 * gst/gstqueue.c: (gst_queue_init):
2426 Free pad templates, fixes a couple of leaks.
2428 2005-11-15 Daniel Fischer <dan at f3c dot com>
2430 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2432 * gst/gstpad.c: (gst_pad_get_property):
2433 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2434 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2437 2005-11-15 Wim Taymans <wim@fluendo.com>
2442 2005-11-15 Andy Wingo <wingo@pobox.com>
2444 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2446 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2447 using GST_CLOCK_TIME_NONE to disable base time management.
2448 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2449 time if it was NONE before.
2450 (gst_pipeline_change_state): Only munge the base time if
2451 stream_time != GST_CLOCK_TIME_NONE.
2453 * check/gst/gstpipeline.c (test_base_time): Punt around the
2454 problem of the probe not being called, because that's not the
2455 issue I'm looking at. Add a check that setting stream_time to NONE
2456 disables base time management.
2458 2005-11-15 Wim Taymans <wim@fluendo.com>
2460 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2461 segment_stop == -1 at startup.
2463 * gst/base/gstbasetransform.c: (gst_base_transform_event),
2464 (gst_base_transform_change_state):
2465 Init segment values at start.
2467 2005-11-15 Wim Taymans <wim@fluendo.com>
2469 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2470 0 segment values are 0 in any format.
2472 * gst/base/gstbasetransform.c: (gst_base_transform_event):
2473 * gst/base/gstbasetransform.h:
2474 Parse newsegment correctly in basetransform
2476 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2477 Sync to clock using updated segment values.
2479 2005-11-15 Andy Wingo <wingo@pobox.com>
2481 * check/gst/gstpipeline.c (test_base_time): Add check that the
2482 base time and stream time are reset correctly.
2484 2005-11-15 Wim Taymans <wim@fluendo.com>
2486 * docs/design/part-TODO.txt:
2487 Some more TODO items.
2489 2005-11-15 Andy Wingo <wingo@pobox.com>
2491 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2492 error if the user selected "no clock" as the clocking method.
2494 * check/gst/gstpipeline.c (test_base_time): New test for buffer
2495 timestamps with live capture.
2497 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2498 is 0 but we are a live source, timestamp the buffers using the
2501 2005-11-14 Stefan Kost <ensonic@users.sf.net>
2503 * docs/gst/gstreamer-sections.txt:
2505 * gst/gstghostpad.c:
2510 2005-11-14 Wim Taymans <wim@fluendo.com>
2513 add suppressions from Wim's Debian machine
2515 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
2518 add suppressions from Andy's AMD64 Ubuntu machine
2520 2005-11-14 Andy Wingo <wingo@pobox.com>
2522 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2523 STATE_LOCK not necessary. Fixes #311489.
2525 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2528 * gst/gstindex.c (gst_index_add_object): Note in the docs that
2529 this function is not implemented.
2531 2005-11-14 Julien MOUTTE <julien@moutte.net>
2533 * gst/base/gstbasetransform.c:
2534 (gst_base_transform_prepare_output_buf):
2535 Ref the source pad caps while we need them.
2538 2005-11-11 Wim Taymans <wim@fluendo.com>
2540 * docs/gst/gstreamer-sections.txt:
2541 Added some docs for GstCollectData.
2543 * gst/base/gstadapter.c:
2544 Some small code example fix.
2546 * gst/base/gstcollectpads.c:
2547 * gst/base/gstcollectpads.h:
2550 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2552 * configure.ac: back to HEAD
2554 === release 0.9.5 ===
2556 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2559 releasing 0.9.5, "Bike Lunch Day"
2561 2005-11-11 Wim Taymans <wim@fluendo.com>
2563 * gst/gstbuffer.c: (_gst_buffer_copy):
2566 * gst/gstcaps.c: (gst_caps_is_equal):
2568 Make _is_equal fast in the trivial cases.
2570 * gst/gstminiobject.c:
2571 * gst/gstminiobject.h:
2572 More docs. Spifify .h file.
2577 2005-11-11 Wim Taymans <wim@fluendo.com>
2579 * gst/base/gstbasetransform.c:
2580 (gst_base_transform_prepare_output_buf),
2581 (gst_base_transform_handle_buffer):
2583 If we're processing a buffer and need to allocate an output
2584 buffer, we cannot accept a format change. If we did get a
2585 format change, we have to alloc a buffer ourselves of the
2588 2005-11-11 Wim Taymans <wim@fluendo.com>
2590 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2591 While checking the flag for reentrancy in the gstcaps function
2592 is nice to detect recursive invocations, it also makes it
2593 impossible to call getcaps from multiple threads, which must be
2594 possible. So, checking for recursive calls has to go.
2596 2005-11-11 Michael Smith <msmith@fluendo.com>
2598 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2599 Don't sync on buffers that fall partially outside our current
2600 segment. Prevents an assertion failure/abort playing some files.
2602 2005-11-10 Andy Wingo <wingo@pobox.com>
2604 * check/gst/gstbin.c (test_message_state_changed_children): Style
2607 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2608 gst_bus_poll with the signal watch. Ensures that poll and a signal
2609 watch see the same messages.
2611 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2612 a poll and a watch at the same time get the same messages.
2614 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
2616 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2617 * gst/gstcaps.c: (gst_caps_intersect):
2618 Don't call gst_caps_do_simplify - it doesn't respect order of caps
2619 and it's not needed.
2621 2005-11-10 Wim Taymans <wim@fluendo.com>
2623 * docs/design/part-TODO.txt:
2626 2005-11-10 Wim Taymans <wim@fluendo.com>
2628 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2629 * gst/base/gstbasesrc.c: (gst_base_src_wait),
2630 (gst_base_src_do_sync), (gst_base_src_get_range):
2631 Implement clock sync in base class.
2633 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
2635 patch by: Tim-Philipp Müller <tim at centricular dot net>
2637 * gst/gststructure.c: (gst_structure_parse_field),
2638 (gst_structure_from_string):
2639 Forward-port a 0.8 patch to handle escaped spaces in structure string,
2640 so that gst_parse_launch() can deal with spaces in filtered link
2641 caps (fixes #164479)
2642 * check/gst/capslist.h:
2643 * check/gst/gststructure.c: (GST_START_TEST):
2644 add unit tests for this change
2646 2005-11-10 Wim Taymans <wim@fluendo.com>
2648 * docs/gst/gstreamer-sections.txt:
2651 Fix docs, move some STATE macros to private.
2653 2005-11-10 Wim Taymans <wim@fluendo.com>
2655 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2656 Added check for bug #317341
2660 Some more spiffifying.
2662 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2663 Call peer linkfunction if we are a source pad. Totally fixes
2667 Update docs, source pads should call the peer linkfunction
2668 so they can atomically perform the pad link.
2670 2005-11-09 Wim Taymans <wim@fluendo.com>
2674 Uber-spiffy-spiffify some more.
2676 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
2678 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2679 * gst/elements/gstfilesink.c: (gst_file_sink_init):
2680 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2681 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2682 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2683 * gst/gstpad.c: (gst_pad_init):
2684 Use GST_DEBUG_FUNCPTR() more extensively.
2686 2005-11-09 Wim Taymans <wim@fluendo.com>
2688 * gst/gstobject.c: (gst_object_class_init):
2690 Documentation fixes.
2692 2005-11-09 Edward Hervey <edward@fluendo.com>
2694 * gst/gsttypefindfactory.c:
2697 2005-11-09 Edward Hervey <edward@fluendo.com>
2699 * gst/base/gsttypefindhelper.c:
2700 * gst/gsttypefind.c:
2701 * gst/gsttypefind.h:
2704 2005-11-09 Wim Taymans <wim@fluendo.com>
2706 * gst/gstiterator.c:
2713 2005-11-09 Wim Taymans <wim@fluendo.com>
2719 2005-11-09 Wim Taymans <wim@fluendo.com>
2721 * docs/gst/gstreamer-sections.txt:
2722 Moved the message async delivery private lock and cond
2723 to the private section.
2729 2005-11-09 Edward Hervey <edward@fluendo.com>
2731 * docs/gst/gstreamer-sections.txt:
2734 Document GstURIHandler
2736 2005-11-09 Wim Taymans <wim@fluendo.com>
2738 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2739 (gst_iterator_find_custom):
2740 * gst/gstiterator.h:
2743 2005-11-09 Wim Taymans <wim@fluendo.com>
2746 Document another field.
2748 * gst/gststructure.c:
2749 * gst/gststructure.h:
2752 2005-11-09 Wim Taymans <wim@fluendo.com>
2757 2005-11-09 Wim Taymans <wim@fluendo.com>
2759 * docs/gst/gstreamer-sections.txt:
2760 Added some new macros.
2767 2005-11-09 Wim Taymans <wim@fluendo.com>
2769 * docs/design/part-TODO.txt:
2770 Some more items for the TODO
2776 2005-11-09 Andy Wingo <wingo@pobox.com>
2778 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2779 to work on something else now tho...
2781 * gst/base/gstadapter.c: More adapter docs.
2783 * gst/elements/gstfilesink.c (gst_file_sink_start)
2784 (gst_file_sink_stop): New functions, replace the state change
2786 (gst_file_sink_class_init): Hook up the start and stop functions.
2787 (gst_file_sink_base_init): Don't set the state change handler any
2788 more. It was a bit ugly too, being set from here...
2789 (gst_file_sink_get_property, gst_file_sink_set_property):
2791 (gst_file_sink_set_location): More robust check that doesn't call
2794 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
2796 * gst/base/gstbasetransform.c: (gst_base_transform_event):
2797 Hold STREAM_LOCK while pushing newsegment or tag events as well.
2799 2005-11-08 Wim Taymans <wim@fluendo.com>
2801 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2802 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2803 (gst_base_sink_chain), (gst_base_sink_change_state):
2804 * gst/base/gstbasesink.h:
2805 * gst/base/gstbasesrc.h:
2808 Avoid excessive typechecking in macros.
2810 * gst/gstminiobject.c: (gst_mini_object_get_type),
2811 (gst_mini_object_init), (gst_mini_object_new),
2812 (gst_mini_object_free):
2813 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2814 (gst_object_finalize):
2815 Remove cruft code, optimize alloc_trace.
2817 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
2819 * docs/faq/gst-uninstalled:
2820 fix up PS1 for systems that try to reset it
2822 2005-11-07 Wim Taymans <wim@fluendo.com>
2824 * gst/base/gstbasesrc.c: (gst_base_src_init),
2825 (gst_base_src_get_range):
2826 Set the segment_end to -1 initially. Fixed typefind.
2828 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
2830 * gst/base/gstadapter.c:
2831 Debug category should be 'adapter', not 'GstAdapter'.
2833 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2834 (gst_collectpads_class_init), (gst_collectpads_init),
2835 (gst_collectpads_peek), (gst_collectpads_pop),
2836 (gst_collectpads_event), (gst_collectpads_chain):
2837 Add debug category and some debugging output. Use boilerplate
2838 macros. Remove some extraneous words from docs.
2840 2005-11-05 Andy Wingo <wingo@pobox.com>
2842 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2845 2005-11-04 Stefan Kost <ensonic@users.sf.net>
2847 * docs/gst/gstreamer-sections.txt:
2850 * gst/gstminiobject.h:
2855 2005-11-04 Wim Taymans <wim@fluendo.com>
2857 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2858 Small update to stop at the configured segment_end
2861 2005-11-04 Stefan Kost <ensonic@users.sf.net>
2863 * gst/gstregistry.c:
2864 * gst/gstregistry.h:
2867 2005-11-04 Edward Hervey <edward@fluendo.com>
2869 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2870 Check if we are doing a segment seek and have arrived at the
2871 end of that segment.
2873 2005-11-04 Wim Taymans <wim@fluendo.com>
2875 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2876 Don't leak a mutex unlock in case of an error.
2881 2005-11-04 Wim Taymans <wim@fluendo.com>
2883 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2885 Get the context to wake up only once.
2887 2005-11-03 Wim Taymans <wim@fluendo.com>
2889 * check/states/sinks.c: (GST_START_TEST):
2890 Uncomment fixed check.
2892 * docs/design/part-TODO.txt:
2895 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2896 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2897 (gst_base_sink_get_position):
2898 If we are going to PLAYING, post the right pending state
2899 when we post the intermediate paused message.
2901 * gst/gstelement.c: (gst_element_continue_state),
2902 (gst_element_set_state_func), (gst_element_change_state):
2903 Don't post state changes that were between the same state
2906 2005-11-03 Stefan Kost <ensonic@users.sf.net>
2908 * docs/gst/gstreamer-sections.txt:
2911 * gst/gstminiobject.h:
2914 more docs and doc style fixes
2916 2005-11-03 Stefan Kost <ensonic@users.sf.net>
2918 * docs/gst/gstreamer-sections.txt:
2920 * gst/gstminiobject.c:
2923 2005-11-03 Andy Wingo <wingo@pobox.com>
2925 * check/states/sinks.c (test_livesrc_sink): Add checks that the
2926 state-changed messages actually have the right order and the right
2929 2005-11-03 Wim Taymans <wim@fluendo.com>
2931 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2932 Added some more checks. Specifically the case where NO_PREROLL
2933 elements are in the pipeline.
2935 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2936 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2937 (gst_base_sink_get_position):
2938 Post READY->PAUSED state change messages too.
2939 Fix bug where VOID was posted as pending state...
2941 * gst/gstbin.c: (gst_bin_recalc_state):
2942 use _element_continue_state() to continue the state change.
2944 * gst/gstelement.c: (gst_element_continue_state),
2945 (gst_element_commit_state), (gst_element_set_state_func),
2946 (gst_element_change_state), (gst_element_change_state_func):
2947 Lots of state change cleanups, assign the STATE_RETURN in
2948 a new continue_state() function that also propagates the
2949 last return value from a state change to the app.
2950 Update some debug statements with proper category.
2952 2005-11-03 Wim Taymans <wim@fluendo.com>
2954 * docs/design/part-events.txt:
2955 * docs/design/part-gstpipeline.txt:
2956 * docs/design/part-messages.txt:
2957 * docs/design/part-overview.txt:
2958 * docs/design/part-seeking.txt:
2959 * docs/design/part-states.txt:
2960 * docs/design/part-trickmodes.txt:
2961 * docs/manual/advanced-position.xml:
2965 People think !! is ugly, this looks better.
2967 * gst/gstpad.c: (gst_pad_set_blocked_async):
2968 Remove !! since it's fixed elsewhere now.
2970 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
2972 * gst/gstminiobject.h:
2974 Add !! to _FLAG_IS_SET macros to make the result boolean.
2976 2005-11-03 Edward Hervey <edward@fluendo.com>
2978 * gst/gstpad.c: (gst_pad_set_blocked_async):
2979 comparing a flag and a gboolean rarely returns coherent results...
2980 Added two characters (!!) to make that work correctly.
2982 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
2984 * gst/gstbus.c: (gst_bus_class_init):
2987 * gst/gstqueue.c: (gst_queue_loop):
2988 Don't assume a miniobject that isn't a buffer is an
2989 event (it could be that there is a refcounting
2990 problem somewhere and the pointer is stale and
2991 refers to an already destroyed miniobject).
2993 2005-11-03 Julien MOUTTE <julien@moutte.net>
2995 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2997 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
2999 * docs/manual/advanced-position.xml:
3000 Update seek example and explanations to current 0.9 API.
3002 * gst/elements/gsttypefindelement.c:
3003 (gst_type_find_element_activate):
3004 Remove FIXME comment now that the found caps
3007 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
3009 * gst/gstregistryxml.c: (load_feature):
3010 Add another GST_STR_NULL instance
3012 2005-11-02 Edward Hervey <edward@fluendo.com>
3014 * gst/gstpad.c: (handle_pad_block):
3015 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3017 2005-11-02 Wim Taymans <wim@fluendo.com>
3022 * gst/gstelement.c: (gst_element_commit_state):
3023 Remove unused value.
3025 * gst/gstiterator.c:
3026 Mention that the returned element is reffed in the docs.
3028 2005-11-02 Wim Taymans <wim@fluendo.com>
3030 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3031 (gst_pad_push), (gst_pad_push_event):
3032 Unlock blocked pads when they are flushed.
3034 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3037 * docs/gst/gstreamer-sections.txt:
3040 * gst/gstregistry.c: (gst_registry_scan_path_level):
3041 fix for a nasty little missed situation where an installed plug-in
3042 which was in the cache did not get overridden by an uninstalled one
3043 which was earlier in the plugin path because the newly created plugin
3044 for the uninstalled one (not in the registry) didn't get its
3045 ->registered set to TRUE
3047 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3049 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3050 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3051 (gst_collectpads_is_active), (gst_collectpads_collect),
3052 (gst_collectpads_collect_range), (gst_collectpads_start),
3053 (gst_collectpads_stop), (gst_collectpads_peek),
3054 (gst_collectpads_pop), (gst_collectpads_available),
3055 (gst_collectpads_read), (gst_collectpads_flush):
3056 Guard public API with assertions.
3059 Fix docs for gst_pad_set_link_function().
3061 2005-11-02 Johan Dahlin <johan@gnome.org>
3063 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
3064 Unref found_caps after we used it.
3066 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3068 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3069 Don't try to ref NULL.
3071 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3073 * win32/common/config.h.in:
3074 provide a GST_FUNCTION that just gives a string for now
3076 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3078 * win32/common/gstenumtypes.c: (register_gst_object_flags),
3079 (gst_object_flags_get_type), (register_gst_bin_flags),
3080 (gst_bin_flags_get_type), (register_gst_buffer_flag),
3081 (gst_buffer_flag_get_type), (register_gst_bus_flags),
3082 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3083 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3084 (gst_clock_return_get_type), (register_gst_clock_entry_type),
3085 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3086 (gst_clock_flags_get_type), (register_gst_state),
3087 (gst_state_get_type), (register_gst_state_change_return),
3088 (gst_state_change_return_get_type), (register_gst_state_change),
3089 (gst_state_change_get_type), (register_gst_element_flags),
3090 (gst_element_flags_get_type), (register_gst_core_error),
3091 (gst_core_error_get_type), (register_gst_library_error),
3092 (gst_library_error_get_type), (register_gst_resource_error),
3093 (gst_resource_error_get_type), (register_gst_stream_error),
3094 (gst_stream_error_get_type), (register_gst_event_type),
3095 (gst_event_type_get_type), (register_gst_seek_type),
3096 (gst_seek_type_get_type), (register_gst_seek_flags),
3097 (gst_seek_flags_get_type), (register_gst_format),
3098 (gst_format_get_type), (register_gst_index_certainty),
3099 (gst_index_certainty_get_type), (register_gst_index_entry_type),
3100 (gst_index_entry_type_get_type),
3101 (register_gst_index_lookup_method),
3102 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3103 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3104 (gst_index_resolver_method_get_type), (register_gst_index_flags),
3105 (gst_index_flags_get_type), (register_gst_debug_level),
3106 (gst_debug_level_get_type), (register_gst_debug_color_flags),
3107 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3108 (gst_iterator_result_get_type), (register_gst_iterator_item),
3109 (gst_iterator_item_get_type), (register_gst_message_type),
3110 (gst_message_type_get_type), (register_gst_mini_object_flags),
3111 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3112 (gst_pad_link_return_get_type), (register_gst_flow_return),
3113 (gst_flow_return_get_type), (register_gst_activate_mode),
3114 (gst_activate_mode_get_type), (register_gst_pad_direction),
3115 (gst_pad_direction_get_type), (register_gst_pad_flags),
3116 (gst_pad_flags_get_type), (register_gst_pad_presence),
3117 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3118 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3119 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3120 (gst_plugin_error_get_type), (register_gst_plugin_flags),
3121 (gst_plugin_flags_get_type), (register_gst_rank),
3122 (gst_rank_get_type), (register_gst_query_type),
3123 (gst_query_type_get_type), (register_gst_tag_merge_mode),
3124 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3125 (gst_tag_flag_get_type), (register_gst_task_state),
3126 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3127 (gst_alloc_trace_flags_get_type),
3128 (register_gst_type_find_probability),
3129 (gst_type_find_probability_get_type), (register_gst_uri_type),
3130 (gst_uri_type_get_type), (register_gst_parse_error),
3131 (gst_parse_error_get_type):
3132 * win32/common/gstversion.h:
3135 2005-11-01 Luca Ognibene <luogni@tin.it>
3138 fix docs. popt is dead, long live GOption.
3140 2005-10-31 Wim Taymans <wim@fluendo.com>
3145 2005-10-31 Andy Wingo <wingo@pobox.com>
3149 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3151 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3152 need to serialize property notifications on GLib 2.8. GLib 2.6 has
3153 the possibility of deadlocks here if code calling notify() or
3154 set() has a lock that can be taken in another notify handler (ABBA
3155 with class lock and e.g. python GIL state lock).
3157 2005-10-28 Julien MOUTTE <julien@moutte.net>
3159 * gst/gstbus.c: Doc updates.
3161 2005-10-28 Wim Taymans <wim@fluendo.com>
3163 * docs/design/part-TODO.txt:
3164 * gst/gstiterator.c:
3165 * gst/gstsystemclock.c:
3166 * gst/gstsystemclock.h:
3169 2005-10-28 Edward Hervey <edward@fluendo.com>
3171 * docs/gst/gstreamer-docs.sgml:
3172 * docs/gst/gstreamer-sections.txt:
3173 the GstURIType documentation page is private, it only defines GstURIType
3174 which should be defined in the GstURIHandler page
3176 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
3178 * gst/gstbin.c: (gst_bin_class_init):
3181 Documentation updates.
3183 2005-10-28 Wim Taymans <wim@fluendo.com>
3185 * docs/gst/gstreamer-sections.txt:
3188 Documented the clocks.
3190 2005-10-28 Stefan Kost <ensonic@users.sf.net>
3192 * docs/gst/gstreamer-sections.txt:
3193 move some macros to private sections
3194 * gst/gstminiobject.c:
3195 * gst/gstminiobject.h:
3196 add descriptions provided by ds and some more
3198 mark macro as to be removed
3200 2005-10-28 Wim Taymans <wim@fluendo.com>
3202 * docs/design/part-TODO.txt:
3203 Add an item to TODO.
3205 * gst/gstiterator.c: (gst_iterator_fold),
3206 (gst_iterator_find_custom):
3207 * gst/gstiterator.h:
3210 2005-10-28 Wim Taymans <wim@fluendo.com>
3212 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3213 (gst_base_transform_init):
3216 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3217 An EOS event marks the queue as completely filled.
3219 2005-10-27 Wim Taymans <wim@fluendo.com>
3221 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3222 (gst_base_sink_do_sync), (gst_base_sink_get_position):
3223 Some more debugging.
3225 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3226 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3227 (gst_base_transform_event), (gst_base_transform_getrange),
3228 (gst_base_transform_chain):
3229 * gst/base/gstbasetransform.h:
3231 Protect transform and concurrent buffer alloc with a new lock.
3232 Try not to break ABI/API.
3234 2005-10-27 Wim Taymans <wim@fluendo.com>
3236 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3237 (gst_base_src_init), (gst_base_src_query),
3238 (gst_base_src_default_newsegment),
3239 (gst_base_src_configure_segment), (gst_base_src_do_seek),
3240 (gst_base_src_send_event), (gst_base_src_event_handler),
3241 (gst_base_src_pad_get_range), (gst_base_src_loop),
3242 (gst_base_src_unlock), (gst_base_src_default_negotiate),
3243 (gst_base_src_start), (gst_base_src_deactivate),
3244 (gst_base_src_activate_push), (gst_base_src_change_state):
3245 Move some stuff around and cleanup things.
3247 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
3249 * gst/base/gstbasesrc.c: (gst_base_src_query):
3250 Add missing break statements.
3252 2005-10-27 Wim Taymans <wim@fluendo.com>
3254 * check/gst/gstbin.c: (GST_START_TEST):
3255 An extra refcount is taken in basesrc.
3257 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3258 (gst_base_src_get_range), (gst_base_src_pad_get_range),
3259 (gst_base_src_loop):
3260 Small cleanups, check for flushing after being unlocked from the
3261 LIVE_LOCK. take refcounts correctly (not yet everywhere).
3262 Don't send out EOS when going to READY.
3264 2005-10-27 Wim Taymans <wim@fluendo.com>
3266 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3267 (gst_base_sink_get_position):
3270 * gst/gstbin.c: (message_check), (bin_replace_message),
3271 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3272 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3273 (bin_query_duration_init), (bin_query_duration_fold),
3274 (bin_query_duration_done), (bin_query_generic_fold),
3276 * tools/gst-launch.c: (main):
3279 2005-10-26 Stefan Kost <ensonic@users.sf.net>
3281 * examples/controller/audio-example.c: (main):
3282 * examples/queue/queue.c: (event_loop):
3283 * gst/base/gstbasetransform.h:
3284 * gst/gstelement.c: (gst_element_send_event):
3286 * gst/gstpad.c: (gst_pad_send_event):
3289 changing log priority in error situations
3291 2005-10-25 Wim Taymans <wim@fluendo.com>
3293 * gst/gstbin.c: (message_check), (bin_replace_message),
3294 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3295 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3296 (bin_query_duration_init), (bin_query_duration_fold),
3297 (bin_query_duration_done), (bin_query_generic_fold),
3299 Some doc and debug updates.
3300 Cache previously requested query DURATION for speed. invalidate
3301 cached duration if element posts a DURATION message.
3303 2005-10-25 Wim Taymans <wim@fluendo.com>
3305 * docs/design/part-TODO.txt:
3308 * gst/gstbin.c: (message_check), (bin_replace_message),
3309 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3310 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3311 (bin_query_duration_init), (bin_query_duration_fold),
3312 (bin_query_duration_done), (bin_query_generic_fold),
3314 Handle SEGMENT_START/DONE messages correctly.
3315 More evolved query algorithm that handles duration queries
3318 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3319 (gst_element_get_state_func), (gst_element_abort_state),
3320 (gst_element_commit_state), (gst_element_lost_state):
3321 Some more debugging.
3326 2005-10-25 Wim Taymans <wim@fluendo.com>
3328 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3329 Don't use invalid stream_time.
3331 * gst/gstevent.c: (gst_event_new_newsegment):
3332 stream_time in newsegment cannot be undefined.
3334 2005-10-24 Wim Taymans <wim@fluendo.com>
3339 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3341 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3343 2005-10-24 Stefan Kost <ensonic@users.sf.net>
3345 * docs/libs/tmpl/gstdparam.sgml:
3346 * docs/libs/tmpl/gstdplinint.sgml:
3347 * docs/libs/tmpl/gstdpman.sgml:
3348 * docs/libs/tmpl/gstdpsmooth.sgml:
3349 * docs/libs/tmpl/gstunitconvert.sgml:
3352 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
3357 === release 0.9.4 ===
3359 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3362 releasing 0.9.4, "Tyrannosaurus Rex"
3364 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
3366 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3367 (gst_file_sink_get_current_offset):
3368 Use fseeko() and ftello() if available. When falling back on
3369 lseek() to get the current offset, fflush() first to make sure
3370 everything is up-to-date and we get the right offset.
3372 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3374 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3375 * gst/base/gstbasesrc.c: (gst_base_src_loop):
3376 * gst/gsterror.c: (_gst_stream_errors_init):
3378 * gst/gstqueue.c: (gst_queue_loop):
3380 remove prematurely added error category and clean up the instances
3382 2005-10-21 Wim Taymans <wim@fluendo.com>
3384 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3385 (gst_base_sink_get_position), (gst_base_sink_query),
3386 (gst_base_sink_change_state):
3387 Simply set the right flag when going to playing, that's all
3388 we need to do instead of calling a function inside the object
3389 lock (that could take the lock as well and deadlock)
3391 2005-10-21 Wim Taymans <wim@fluendo.com>
3393 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3394 (gst_base_src_loop):
3395 Don't warn, the peer element knows what to do best when
3396 the seek failed, it might try something else.
3398 2005-10-21 Wim Taymans <wim@fluendo.com>
3400 * gst/base/gstbasesrc.c: (gst_base_src_init),
3401 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3404 2005-10-21 Wim Taymans <wim@fluendo.com>
3406 * docs/design/part-segments.txt:
3409 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3410 Correctly set caps, even on the subbufer.
3412 2005-10-21 Wim Taymans <wim@fluendo.com>
3414 * docs/gst/gstreamer-docs.sgml:
3415 * docs/gst/gstreamer-sections.txt:
3422 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3426 And 2% more doc coverage.
3428 2005-10-21 Andy Wingo <wingo@pobox.com>
3430 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3433 2005-10-20 Wim Taymans <wim@fluendo.com>
3435 * gst/gsterror.c: (gst_error_get_message):
3438 * gst/gststructure.c:
3443 2005-10-20 Wim Taymans <wim@fluendo.com>
3448 Another 1% more coverage.
3450 2005-10-20 Wim Taymans <wim@fluendo.com>
3452 * docs/gst/gstreamer-sections.txt:
3453 * gst/gstelement.c: (gst_element_get_state_func),
3454 (gst_element_abort_state), (gst_element_commit_state),
3455 (gst_element_lost_state):
3457 * gst/gstquery.c: (gst_query_set_position),
3458 (gst_query_parse_position), (gst_query_set_duration),
3459 (gst_query_parse_duration), (gst_query_new_convert):
3461 Yay! 1% more docs coverage.
3463 2005-10-20 Wim Taymans <wim@fluendo.com>
3466 * gst/gstquery.c: (gst_query_set_position),
3467 (gst_query_parse_position), (gst_query_set_duration),
3468 (gst_query_parse_duration), (gst_query_new_convert):
3470 * gst/gstutils.c: (gst_element_query_convert):
3472 Docs and consistency fixes.
3474 2005-10-20 Wim Taymans <wim@fluendo.com>
3480 2005-10-20 Wim Taymans <wim@fluendo.com>
3482 * gst/gstbin.c: (message_check), (bin_replace_message),
3483 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3484 (update_degree), (gst_bin_sort_iterator_next),
3485 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3486 Reworked the message handling a bit, cache the messages instead of
3487 only the senders. alows us to do more in the future.
3489 2005-10-20 Wim Taymans <wim@fluendo.com>
3491 * docs/design/part-TODO.txt:
3494 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3495 (gst_base_sink_query):
3496 Don't use clock time to report position when in EOS.
3498 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
3500 * tools/gst-inspect.c: (print_interfaces),
3501 (print_element_properties_info), (print_element_info):
3502 Fix interface output with gst-inspect -a; don't print
3503 newlines after double/float properties.
3505 2005-10-20 Wim Taymans <wim@fluendo.com>
3507 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3508 (gst_base_sink_query):
3509 Speed up current position calculation.
3511 * gst/base/gstbasesrc.c: (gst_base_src_query),
3512 (gst_base_src_default_newsegment):
3513 Correctly set stream position in newsegment.
3515 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3516 (update_degree), (gst_bin_sort_iterator_next),
3517 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3518 * gst/gstmessage.c: (gst_message_new_custom):
3519 Clean up debugging info
3521 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3522 (gst_queue_loop), (gst_queue_handle_src_query):
3525 2005-10-19 Wim Taymans <wim@fluendo.com>
3527 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3528 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3529 Fix query handling again.
3531 2005-10-19 Wim Taymans <wim@fluendo.com>
3533 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3534 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3535 * gst/base/gstbasesrc.c: (gst_base_src_query):
3536 * gst/elements/gstfilesink.c: (gst_file_sink_query):
3537 * gst/elements/gsttypefindelement.c:
3538 (gst_type_find_handle_src_query), (find_element_get_length),
3539 (gst_type_find_element_activate):
3542 * gst/gstquery.c: (gst_query_new_position),
3543 (gst_query_set_position), (gst_query_parse_position),
3544 (gst_query_new_duration), (gst_query_set_duration),
3545 (gst_query_parse_duration), (gst_query_set_segment),
3546 (gst_query_parse_segment):
3548 Bundling query position/duration is not a good idea since duration
3549 does not change much and we don't want to recalculate it for every
3550 position query, so they are separated again..
3551 Base value in segment query is not needed.
3553 * gst/gstqueue.c: (gst_queue_handle_src_query):
3554 * gst/gstutils.c: (gst_element_query_position),
3555 (gst_element_query_duration), (gst_pad_query_position),
3556 (gst_pad_query_duration):
3558 Updates for query API change.
3559 Added some docs here and there.
3561 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
3563 * check/gst/gstbin.c: (GST_START_TEST):
3564 * check/gst/gstghostpad.c: (GST_START_TEST):
3565 * check/pipelines/cleanup.c: (GST_START_TEST):
3566 wait on thread to die so we can check refcount correctly
3568 2005-10-18 Wim Taymans <wim@fluendo.com>
3570 * check/pipelines/stress.c: (GST_START_TEST):
3571 Make check a little more time consuming.
3573 2005-10-18 Wim Taymans <wim@fluendo.com>
3575 * check/Makefile.am:
3576 * check/pipelines/stress.c: (GST_START_TEST),
3577 (simple_launch_lines_suite), (main):
3578 Small state change torture test.
3580 * docs/design/part-states.txt:
3581 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3582 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3583 (gst_base_sink_change_state):
3584 Never take state lock from streaming thread, clean up ugly
3585 hacks. Unfortunatly core does not yet support nice ways to
3588 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3590 Start state recalc if a STATE_DIRTY message is posted, but only
3591 on the toplevel bin.
3593 * gst/gstelement.c: (gst_element_sync_state_with_parent),
3594 (gst_element_get_state_func), (gst_element_abort_state),
3595 (gst_element_commit_state), (gst_element_lost_state),
3596 (gst_element_set_state_func), (gst_element_change_state):
3598 State variables are now protected with the LOCK, the state
3599 lock is only used to serialize _set_state().
3601 2005-10-18 Wim Taymans <wim@fluendo.com>
3603 * check/gst/gstbin.c: (GST_START_TEST):
3604 * check/gst/gstmessage.c: (GST_START_TEST):
3605 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3606 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3608 * gst/gstelement.c: (gst_element_abort_state),
3609 (gst_element_commit_state), (gst_element_lost_state):
3610 * gst/gstmessage.c: (gst_message_new_state_changed),
3611 (gst_message_new_state_dirty), (gst_message_new_segment_start),
3612 (gst_message_new_segment_done), (gst_message_new_duration),
3613 (gst_message_parse_state_changed),
3614 (gst_message_parse_segment_start),
3615 (gst_message_parse_segment_done), (gst_message_parse_duration):
3617 * tools/gst-launch.c: (event_loop):
3618 Seriously, this is better than a previous commit as we only need
3619 to notify the fact that an element changed state in a streaming
3620 thread, marking the state of the parents dirty, hence the
3621 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3624 2005-10-18 Wim Taymans <wim@fluendo.com>
3626 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3627 (gst_bin_recalc_func):
3628 * gst/gstelement.c: (gst_element_set_clock),
3629 (gst_element_abort_state), (gst_element_lost_state):
3630 Cleanups, prepare for state change fixes.
3632 2005-10-18 Wim Taymans <wim@fluendo.com>
3635 * gst/gstelement.c: (gst_element_class_init),
3636 (gst_element_set_state), (gst_element_set_state_func):
3638 Pending ABI changes.
3639 GThreadPool in GstBinClass to monitor async state changes.
3640 state_cookie in GstElement to detect concurrent gst/set state.
3641 set_state is now virtual too in case a very complicated element
3642 has to be constructed.
3644 2005-10-18 Wim Taymans <wim@fluendo.com>
3646 * check/gst/gstbin.c: (GST_START_TEST):
3647 * check/gst/gstmessage.c: (GST_START_TEST):
3648 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3649 * gst/gstbin.c: (bin_bus_handler):
3650 * gst/gstelement.c: (gst_element_commit_state),
3651 (gst_element_lost_state):
3652 * gst/gstmessage.c: (gst_message_new_state_changed),
3653 (gst_message_new_segment_start), (gst_message_new_segment_done),
3654 (gst_message_new_duration), (gst_message_parse_state_changed),
3655 (gst_message_parse_segment_start),
3656 (gst_message_parse_segment_done), (gst_message_parse_duration):
3658 * tools/gst-launch.c: (event_loop):
3659 Make messages future proof.
3660 state-change gets a flag if it was a message comming from the
3662 segment-start/stop can also be specified in other formats.
3663 A message to notify an app that a pipeline changed playback
3665 Also fix a GstMessage leak in -launch
3667 2005-10-18 Andy Wingo <wingo@pobox.com>
3669 * gst/gstelement.c (gst_element_dispose): More helpful message.
3671 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
3673 reviewed by: <delete if not using a buddy>
3675 * common/gtk-doc.mak:
3677 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
3679 * gst/gstregistry.c: (gst_registry_scan_path_level):
3680 unref a plug-in we get that was already initialized
3682 2005-10-18 Stefan Kost <ensonic@users.sf.net>
3684 * docs/gst/gstreamer-sections.txt:
3685 * docs/libs/gstreamer-libs-sections.txt:
3690 2005-10-17 Andy Wingo <wingo@pobox.com>
3692 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3695 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3697 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3699 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3700 (gst_element_get_state_func): Better debug message.
3701 (gst_element_commit_state): s/INFO/DEBUG/.
3702 (gst_element_lost_state, gst_element_change_state):
3704 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3705 (gst_message_new_custom): s/INFO/LOG/.
3707 2005-10-17 Michael Smith <msmith@fluendo.com>
3709 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3710 Check if end time is valid using end time, not start time.
3712 2005-10-17 Stefan Kost <ensonic@users.sf.net>
3714 * check/gst-libs/controller.c: (GST_START_TEST),
3715 (gst_controller_suite):
3716 * libs/gst/controller/gstcontroller.c:
3717 (gst_controlled_property_set_interpolation_mode):
3718 * libs/gst/controller/gstcontroller.h:
3719 * libs/gst/controller/gstinterpolation.c:
3720 * testsuite/controller/.cvsignore:
3721 * testsuite/controller/Makefile.am:
3722 * testsuite/controller/interpolator.c:
3723 merge controller testsuites
3725 remove mem-chunk from docs
3727 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
3729 * gst/gstmemchunk.c:
3730 * gst/gstmemchunk.h:
3731 * gst/gsttrashstack.c:
3732 * gst/gsttrashstack.h:
3733 out. get out. you're fired. to the Attic !
3735 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
3737 * gst/gstcaps.c: (gst_caps_intersect):
3738 fix signedness issues in a (hopefully) correct way
3739 * gst/gstelement.c: (gst_element_pads_activate):
3741 * gst/gstobject.c: (gst_object_set_parent):
3744 2005-10-17 Julien MOUTTE <julien@moutte.net>
3746 * gst/gstvalue.h: Fix prototypes.
3748 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3750 * docs/gst/gstreamer-sections.txt:
3751 * gst/gst.c: (gst_version_string):
3753 * gst/gstversion.h.in:
3754 * win32/common/libgstreamer.def:
3755 add gst_version_string ()
3757 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3761 * gst/gst.c: (init_post):
3762 * win32/common/config.h.in:
3764 * gst/gstcaps.c: (gst_caps_intersect):
3765 use gint64, the range could be bigger than a guint
3767 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3770 document potential problem in 2038
3772 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3774 * gst/gstcaps.c: (gst_caps_intersect):
3775 Fix guint j diving under 0
3777 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3780 * win32/common/config.h:
3781 * win32/common/config.h.in:
3782 check for process.h, declares getpid() on Windows
3784 include process.h if we have it
3785 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3786 * gst/gstmemchunk.h:
3787 fix signedness issues
3788 * win32/common/libgstreamer.def:
3791 2005-10-16 Julien MOUTTE <julien@moutte.net>
3793 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3794 fix. Because of unsigned ints, caps intersection was going nuts and
3795 trying to access structures with G_MAXUINT index. That fixes
3796 videotestsrc ! ffmpegcolorspace ! fakesink
3797 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3800 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3803 use the gettext macro
3804 * gst/elements/gstelements.c:
3806 * gst/indexers/gstindexers.c:
3807 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3808 * win32/common/config.h:
3810 * win32/common/config.h.in:
3811 add the template to generate config.h
3812 * win32/common/gstenumtypes.c:
3813 * win32/common/gstversion.h:
3816 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3818 * gst/gst.c: (gst_version):
3819 * gst/gstversion.h.in:
3822 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
3825 Oops, add missing closing bracket.
3827 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3830 use common m4's for argument checking
3832 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
3834 * docs/gst/gstreamer-sections.txt:
3836 Add GST_EVENT_TYPE_NAME() macro.
3838 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3841 * gst/gstpluginfeature.c:
3843 privatize more symbols
3845 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3848 add srcdir, builddir includes to GST_ALL_CFLAGS, since
3849 everything that uses GStreamer API should have the includes
3851 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3853 * docs/gst/gstreamer-sections.txt:
3854 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3856 give each value a _get_type, removes the DATA exports
3858 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3862 remove _gst_registry_auto_load, not used anymore
3863 * gst/gstbin.c: (gst_bin_get_type):
3865 * gst/gstelement.c: (gst_element_get_type):
3867 * gst/gstobject.c: (gst_object_get_type):
3869 * gst/gstpad.c: (gst_pad_get_type):
3871 make _get_type functions similar, fixes data export from library
3873 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3876 correctly make conditionals
3877 * gst/elements/Makefile.am:
3878 * gst/elements/gstelements.c:
3879 fix typo causing fdsrc not to build
3881 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3883 * testsuite/Makefile.am:
3884 * testsuite/bytestream/.cvsignore:
3885 * testsuite/bytestream/Makefile.am:
3886 * testsuite/bytestream/filepadsink.c:
3887 * testsuite/bytestream/gstbstest.c:
3888 * testsuite/bytestream/test1.c:
3889 * testsuite/bytestream/testfile1:
3890 * testsuite/caps/normalisation.c:
3891 * testsuite/caps/random.c: (main):
3892 * testsuite/cleanup/.cvsignore:
3893 * testsuite/cleanup/Makefile.am:
3894 * testsuite/cleanup/cleanup1.c:
3895 * testsuite/cleanup/cleanup2.c:
3896 * testsuite/cleanup/cleanup3.c:
3897 * testsuite/cleanup/cleanup4.c:
3898 * testsuite/cleanup/cleanup5.c:
3899 * testsuite/controller/interpolator.c:
3900 * testsuite/debug/printf_extension.c: (main):
3901 * testsuite/elements/tee.c:
3902 * testsuite/negotiation/.cvsignore:
3903 * testsuite/negotiation/Makefile.am:
3904 * testsuite/negotiation/pad_link.c:
3905 * testsuite/pad/Makefile.am:
3906 * testsuite/pad/chainnopull.c:
3907 * testsuite/pad/getnopush.c:
3908 * testsuite/pad/link.c:
3909 * testsuite/refcounting/sched.c: (create_pipeline):
3910 * testsuite/registry/Makefile.am:
3911 * testsuite/registry/gst-print-formats.c:
3912 * testsuite/schedulers/.cvsignore:
3913 * testsuite/schedulers/142183-2.c:
3914 * testsuite/schedulers/142183.c:
3915 * testsuite/schedulers/143777-2.c:
3916 * testsuite/schedulers/143777.c:
3917 * testsuite/schedulers/147713.c:
3918 * testsuite/schedulers/147819.c:
3919 * testsuite/schedulers/147894-2.c:
3920 * testsuite/schedulers/147894.c:
3921 * testsuite/schedulers/Makefile.am:
3922 * testsuite/schedulers/group_link.c:
3923 * testsuite/schedulers/queue_link.c:
3924 * testsuite/schedulers/relink.c:
3925 * testsuite/schedulers/unlink.c:
3926 * testsuite/schedulers/unref.c:
3927 * testsuite/schedulers/useless_iteration.c:
3928 * testsuite/states/bin.c:
3929 clean out/remove some stuff from the testsuite directories
3931 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3934 check for some headers
3935 * gst/elements/Makefile.am:
3936 * gst/elements/gstelements.c:
3937 don't compile fdsrc without sys/socket.h
3938 * gst/indexers/Makefile.am:
3939 * gst/indexers/gstindexers.c: (plugin_init):
3940 don't compile fileindex without mmap
3942 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3949 * check/Makefile.am:
3950 * docs/gst/Makefile.am:
3951 * examples/helloworld/Makefile.am:
3953 * gst/base/Makefile.am:
3954 * gst/check/Makefile.am:
3955 * gst/elements/Makefile.am:
3956 * gst/indexers/Makefile.am:
3957 * gst/parse/Makefile.am:
3958 * libs/gst/controller/Makefile.am:
3959 * libs/gst/dataprotocol/Makefile.am:
3960 * examples/helloworld/helloworld.c: (event_loop):
3961 compile fixes, though it's not being compiled currently
3963 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
3965 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3966 Add some simple tests for the new taglist date API.
3968 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
3970 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3971 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3972 Beautify 'last-message' output: print 'none' for buffer timestamps
3973 and durations if none is set; improve alignment with next messages.
3975 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
3977 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3978 * gst/gstpluginfeature.h:
3979 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3980 * gst/gstregistry.h:
3981 * docs/gst/gstreamer-sections.txt:
3982 Add new API to check plugin feature version requirements.
3984 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3985 Some basic tests for the above.
3987 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
3989 * gst/gststructure.c: (gst_structure_to_string):
3990 guard against NULL printf - happens when for example
3991 a message structure with GstClock gets serialized
3993 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
3995 * gst/base/gstcollectpads.c: (gst_collectpads_event):
3996 Fix presumable copy'n'pasto.
3998 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4000 * gst/elements/gstfakesrc.h:
4001 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4002 * gst/elements/gsttypefindelement.c:
4004 * gst/elements/gstfilesink.c: (gst_file_sink_render):
4005 I wonder if this could actually write +2GB files before
4007 2005-10-13 Andy Wingo <wingo@pobox.com>
4009 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4010 Fix Timmeke Waymans bug.
4011 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4012 string of the proper length to gst_caps_from_string. There's a
4013 potential for, before this fix, that this could cause someone
4014 connecting over the network to cause a segfault if the payload is
4017 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4019 * docs/design/draft-push-pull.txt:
4020 * docs/design/part-overview.txt:
4021 * docs/random/TODO-pre-0.9:
4022 * docs/random/old/ChangeLog.gstreamer:
4023 * gst/base/gstpushsrc.c:
4027 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4029 * gst/glib-compat.c: (gst_flags_get_first_value):
4030 * gst/glib-compat.h:
4031 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4032 (gst_value_compare_double), (gst_value_serialize_flags):
4033 GLib 2.6 g_flags_get_first_value has a bug that triggers an
4036 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4038 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4039 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4041 * tools/gst-launch.c: (event_loop):
4042 print out clock nicely
4044 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4046 * docs/gst/gstreamer-sections.txt:
4048 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4049 (gst_tag_list_get_date_index):
4050 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4051 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4053 2005-10-13 Julien MOUTTE <julien@moutte.net>
4055 * gst/base/gstcollectpads.c: (gst_collectpads_event),
4056 (gst_collectpads_chain):
4057 * gst/base/gstcollectpads.h: Handle newsegment and store informations
4060 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4062 * docs/gst/gstreamer-sections.txt:
4065 * tools/gst-inspect.c: (main):
4066 * tools/gst-launch.c: (main):
4067 * tools/gst-run.c: (main):
4068 * tools/gst-xmlinspect.c: (main):
4069 fix GOption context leaks
4072 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4076 * win32/common/config.h:
4078 * win32/vs6/grammar.dsp:
4079 * win32/vs6/libgstelements.dsp:
4080 * win32/vs6/libgstreamer.dsp:
4083 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4085 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4086 * gst/base/gstbasesrc.c: (gst_base_src_query):
4087 fix more guint64<->gdouble conversions
4089 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4092 add win32-update target
4093 * win32/common/gstconfig.h:
4094 * win32/common/gstenumtypes.c:
4095 * win32/common/gstenumtypes.h:
4096 * win32/common/gstversion.h:
4097 add files that visual studio can't generate
4099 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4102 add a win32-update target
4105 2005-10-12 Wim Taymans <wim@fluendo.com>
4107 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4108 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4109 * gst/gstelement.c: (gst_element_commit_state),
4110 (gst_element_set_state):
4111 Protect flags with proper lock.
4112 unref provided cached clock in dispose.
4114 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4117 * gst/gstminiobject.h:
4119 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4120 removed unused flags from miniobject
4123 2005-10-12 Wim Taymans <wim@fluendo.com>
4125 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4126 (gst_file_sink_event), (gst_file_sink_render):
4127 Flush before seeking.
4129 2005-10-12 Andy Wingo <wingo@pobox.com>
4131 * gst/gst.c (gst_init_check): Ignore unknown options, as has
4132 always been the case.
4134 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4136 * check/gst/gstbin.c: (GST_START_TEST):
4137 * docs/gst/gstreamer-sections.txt:
4138 * gst/base/gstbasesink.c: (gst_base_sink_init):
4139 * gst/base/gstbasesrc.c: (gst_base_src_init),
4140 (gst_base_src_get_range), (gst_base_src_check_get_range),
4141 (gst_base_src_start), (gst_base_src_stop):
4142 * gst/base/gstbasesrc.h:
4143 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4144 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4145 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4149 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4151 * gst/gstelement.c: (gst_element_is_locked_state),
4152 (gst_element_set_locked_state), (gst_element_commit_state),
4153 (gst_element_set_state):
4155 * gst/gstindex.c: (gst_index_init):
4157 * gst/gstminiobject.h:
4158 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4159 (gst_object_set_parent):
4161 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4162 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4164 * gst/gstpadtemplate.h:
4165 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4166 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4167 * gst/gstpipeline.h:
4168 * gst/indexers/gstfileindex.c: (gst_file_index_load),
4169 (gst_file_index_commit):
4170 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4171 * testsuite/pad/link.c: (gst_test_src_init),
4172 (gst_test_filter_init), (gst_test_sink_init):
4173 * testsuite/states/locked.c: (main):
4174 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4175 moved bitshift from macro to enum definition
4177 2005-10-12 Wim Taymans <wim@fluendo.com>
4179 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4180 * gst/elements/gstfilesink.c: (gst_file_sink_event),
4181 (gst_file_sink_render):
4182 Some more debugging info.
4184 2005-10-12 Wim Taymans <wim@fluendo.com>
4186 * docs/design/part-states.txt:
4187 * tools/gst-launch.c: (main):
4189 Revert non-intentional change.
4191 2005-10-12 Wim Taymans <wim@fluendo.com>
4193 * check/gst/gstbin.c: (GST_START_TEST):
4194 * check/gst/gstelement.c: (GST_START_TEST):
4195 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4196 * check/gst/gstghostpad.c: (GST_START_TEST):
4197 * check/gst/gstpipeline.c: (GST_START_TEST):
4198 * check/pipelines/simple_launch_lines.c: (run_pipeline):
4199 * check/states/sinks.c: (GST_START_TEST):
4200 * gst/elements/gsttypefindelement.c: (stop_typefinding):
4201 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4202 (gst_bin_remove_func), (gst_bin_get_state_func),
4203 (gst_bin_recalc_state), (gst_bin_change_state_func),
4205 * gst/gstelement.c: (gst_element_get_state_func),
4206 (gst_element_get_state), (gst_element_abort_state),
4207 (gst_element_commit_state), (gst_element_set_state),
4208 (gst_element_change_state), (gst_element_change_state_func):
4210 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4211 (gst_pipeline_provide_clock_func):
4212 * gst/gstutils.c: (gst_element_link_pads_filtered):
4213 * tools/gst-launch.c: (main):
4214 * tools/gst-typefind.c: (main):
4215 Use GstClockTime in _get_state() instead of GTimeVal.
4216 Remove old code in gstutils.c
4218 2005-10-12 Andy Wingo <wingo@pobox.com>
4220 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4223 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4224 there is no task. Shouldn't affect any code, as nothing in our
4225 plugins checks this return value.
4226 (gst_pad_stop_task): Also take the stream lock if the pad has no
4229 2005-10-12 Wim Taymans <wim@fluendo.com>
4231 * gst/gstpad.c: (pre_activate), (post_activate),
4232 (gst_pad_activate_pull), (gst_pad_activate_push):
4233 Cleanup activation code. Reset old state if
4236 2005-10-12 Wim Taymans <wim@fluendo.com>
4238 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4239 (gst_base_sink_change_state):
4240 No need to prerol after receiving EOS.
4242 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4243 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4244 * gst/elements/gstidentity.c: (gst_identity_event):
4245 Print events more verbosely.
4247 2005-10-12 Wim Taymans <wim@fluendo.com>
4249 * check/Makefile.am:
4250 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4251 * check/states/sinks2.c:
4252 Moved sinks2 testcode in sinks check.
4254 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4255 (gst_bin_remove_func), (gst_bin_recalc_state),
4256 (gst_bin_change_state_func), (bin_bus_handler):
4257 Fix potential race condition when _get_state() iterated over an
4258 ASYNC element right before it posted a state completion.
4261 Do proper cast here.
4263 * gst/gstevent.c: (gst_event_new_newsegment),
4264 (gst_event_parse_newsegment):
4265 A playback rate of 0.0 is not allowed.
4267 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4269 * win32/common/config.h:
4270 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4271 (_trewinddir), (_ttelldir), (_tseekdir):
4272 * win32/common/dirent.h:
4273 * win32/common/gtchar.h:
4274 * win32/common/libgstbase.def:
4275 * win32/common/libgstreamer.def:
4276 * win32/vs6/grammar.dsp:
4277 * win32/vs6/gst_inspect.dsp:
4278 * win32/vs6/gst_launch.dsp:
4279 * win32/vs6/gstreamer.dsw:
4280 * win32/vs6/libgstbase.dsp:
4281 * win32/vs6/libgstelements.dsp:
4282 * win32/vs6/libgstreamer.dsp:
4283 Visual Studio 6 project files, and a new common directory.
4286 2005-10-11 Wim Taymans <wim@fluendo.com>
4288 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4289 (gst_base_sink_do_sync), (gst_base_sink_query),
4290 (gst_base_sink_change_state):
4291 * gst/base/gstbasesink.h:
4292 Correctly parse newsegment info.
4294 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4296 * gst/gst.c: (init_post):
4297 split plugin paths correctly
4299 2005-10-11 Wim Taymans <wim@fluendo.com>
4301 * check/gst/gstevent.c: (GST_START_TEST):
4302 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4303 (gst_base_sink_change_state):
4304 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4305 * gst/base/gstbasetransform.c: (gst_base_transform_event):
4306 * gst/elements/gstfilesink.c: (gst_file_sink_event):
4307 * gst/gstevent.c: (gst_event_new_newsegment),
4308 (gst_event_parse_newsegment):
4310 Added extra flag to newsegment for future API freeze.
4311 Updated check and base elements.
4313 2005-10-11 Julien MOUTTE <julien@moutte.net>
4315 * gst/base/gstcollectpads.c: (gst_collectpads_init),
4316 (gst_collectpads_add_pad), (gst_collectpads_pop),
4317 (gst_collectpads_event), (gst_collectpads_chain):
4318 * gst/base/gstcollectpads.h: Handle EOS correctly.
4320 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4322 * tools/gst-launch.c: (main):
4323 more null protecting
4325 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4327 * gst/gst-i18n-lib.h:
4328 check for ENABLE_NLS, not GETTEXT_PACKAGE
4329 * gst/gstregistry.c: (gst_registry_add_plugin),
4330 (gst_registry_scan_path_level),
4331 (_gst_registry_remove_cache_plugins):
4332 protect possibly NULL strings
4333 * gst/parse/types.h:
4334 config.h already included before
4335 * tools/gst-inspect.c: (main):
4336 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4337 check for ENABLE_NLS, not GETTEXT_PACKAGE
4338 * tools/gst-launch.c: (main):
4339 check for ENABLE_NLS, not GETTEXT_PACKAGE
4341 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4344 if we don't have glib, fail before testing 2.8
4345 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4346 fix a leak, should fix plugins-base testsuite
4348 2005-10-11 Andy Wingo <wingo@pobox.com>
4350 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4351 take the mode we're going to as an arg. Go head and set the mode
4352 and flushing flags now, so that if the activate function starts a
4353 thread all the flags will be in the right state.
4354 (post_activate): Renamed also. Just handle making sure streaming
4355 finishes for the deactivation case, and setting the deactivated
4357 (gst_pad_set_active): Complain loudly if deactivation fails.
4358 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4359 (gst_pad_activate_push): Adapt to pre/post_activate changes,
4360 remove the terrible hack.
4362 2005-10-11 Wim Taymans <wim@fluendo.com>
4364 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4365 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4366 (gst_bin_recalc_state), (gst_bin_change_state_func),
4367 (gst_bin_dispose), (bin_bus_handler):
4369 Prepare to make current EOS message queue more generic.
4372 * gst/gstevent.c: (gst_event_new_newsegment),
4373 (gst_event_parse_newsegment):
4375 Rename base to stream_time.
4380 2005-10-11 Wim Taymans <wim@fluendo.com>
4382 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4383 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4384 (gst_bin_change_state_func), (bin_bus_handler):
4386 Work on proper clock selection.
4388 2005-10-11 Edward Hervey <edward@fluendo.com>
4390 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
4391 * libs/gst/controller/gstcontroller.h:
4392 Added GList* version of _remove_properties() in order to be able to wrap
4395 2005-10-11 Wim Taymans <wim@fluendo.com>
4397 * docs/design/part-states.txt:
4400 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4401 (gst_bin_change_state_func), (bin_bus_handler):
4402 Doc updates. Don't distribute the same clock over and over again.
4408 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4409 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4410 (gst_pad_send_event):
4412 Make probe emission threadsafe again.
4413 Register quarks and move _get_name() from utils.
4416 * gst/gstpipeline.c: (gst_pipeline_class_init),
4417 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4418 Only redistribute the clock of it changed.
4420 * gst/gstsystemclock.h:
4425 Moved the _flow_get_name() to GstPad.
4427 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4429 * check/gst-libs/gdp.c: (GST_START_TEST):
4430 * check/gst/gstcaps.c: (GST_START_TEST):
4431 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4432 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4433 (gst_dp_packet_from_caps):
4434 fix more valgrind warnings before turning up the heat
4436 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4438 * gst/parse/grammar.y:
4439 some cleanup before the hacking
4441 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4443 * gst/base/gstbasesrc.c: (gst_base_src_query):
4445 * gst/gstutils.c: (gst_guint64_to_gdouble),
4446 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4448 externalize, basesrc uses it
4449 obviously the implementation needs testing
4451 2005-10-10 Wim Taymans <wim@fluendo.com>
4453 * tests/sched/Makefile.am:
4454 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4455 (make_pipeline3), (make_pipeline4), (print_elem), (main):
4457 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4459 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4460 apparently converting from guint64 to double is not implemented
4463 2005-10-10 Wim Taymans <wim@fluendo.com>
4465 * check/Makefile.am:
4466 * check/generic/states.c: (GST_START_TEST):
4467 * check/gst/gstbin.c: (GST_START_TEST):
4468 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4469 * check/states/sinks.c: (GST_START_TEST):
4470 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4472 Check fixes, use API as stated in design docs, remove hacks.
4474 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4475 (gst_base_sink_change_state):
4476 Catch stopping our task while we're shutting down.
4478 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4479 (gst_bin_remove_func), (gst_bin_get_state_func),
4480 (gst_bin_recalc_state), (gst_bin_change_state_func),
4483 * gst/gstelement.c: (gst_element_init),
4484 (gst_element_get_state_func), (gst_element_abort_state),
4485 (gst_element_commit_state), (gst_element_lost_state),
4486 (gst_element_set_state), (gst_element_change_state),
4487 (gst_element_change_state_func):
4489 New state change algorithm (see #318116)
4491 * gst/gstpipeline.c: (gst_pipeline_class_init),
4492 (gst_pipeline_init), (gst_pipeline_set_property),
4493 (gst_pipeline_get_property), (do_pipeline_seek),
4494 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4495 * gst/gstpipeline.h:
4496 Remove crude state change hacks.
4501 * tools/gst-launch.c: (main):
4502 Fixes for state change. Needs some more work to fully use the
4505 2005-10-10 Andy Wingo <wingo@pobox.com>
4507 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4509 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4510 this flag, but it's not even in GLib 2.6. Odd. Hack around the
4513 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4515 * gst/gstiterator.c: (gst_iterator_new):
4516 Fix my previous commit: GTypes passed to gst_iterator_new()
4517 can be fundamental types.
4519 2005-10-10 Wim Taymans <wim@fluendo.com>
4521 * gst/gstelement.c: (gst_element_iterate_pad_list),
4522 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4523 (gst_element_iterate_sink_pads):
4524 Use src/sink pads lists for the respective iterators instead
4527 2005-10-10 Andy Wingo <wingo@pobox.com>
4529 Merged in popt removal + GOption addition patch from Ronald, bug
4532 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4533 GstElement macros around, remove popt-related symbols, add goption
4536 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4538 * docs/gst/Makefile.am:
4539 * docs/libs/Makefile.am: No POPT_CFLAGS.
4541 * examples/manual/Makefile.am:
4542 * docs/manual/basics-init.xml: Doc updates with an example.
4544 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4545 (gst_init), (parse_one_option), (parse_goption_arg):
4546 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4547 bit of hand merging and debugging to get the GOption stuff working
4550 * tests/Makefile.am:
4551 * tools/Makefile.am:
4552 * tools/gst-inspect.c: (main):
4553 * tools/gst-launch.c: (main):
4554 * tools/gst-run.c: (main):
4555 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4557 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4559 * gst/gstiterator.c: (gst_iterator_new):
4560 Add assertions to make sure passed GType is likely to really
4561 be a GType (as the compiler won't catch it if the size and
4562 GType arguments get mixed up, see #318447).
4564 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
4566 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4568 * gst/gstbin.c: (gst_bin_iterate_sorted):
4569 Pass GType and size arguments to gst_iterator_new() in the right
4570 order (maybe we should make _new() take the GType as first argument
4571 just like _new_list()?) (#318447).
4574 2005-10-10 Wim Taymans <wim@fluendo.com>
4576 * gst/gstelement.c: (gst_element_finalize):
4577 And free the GStaticRecMutex too
4579 2005-10-10 Andy Wingo <wingo@pobox.com>
4581 * gst/gstelement.c (gst_element_init, gst_element_finalize):
4582 Allocate and free the mutex properly.
4584 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4586 (GstElement): The state_lock is now recursive. Rebuild your
4587 plugins, suckers. Old macros adapted.
4589 * docs/gst/gstreamer-sections.txt: Doc updates.
4592 * gst/gstutils.c (g_static_rec_cond_timed_wait)
4593 (g_static_rec_cond_wait): Ported from state changes patch, while
4594 we wait on bug #317802 to be solved in a well-distributed GLib.
4596 * gst/gstelement.c (gst_element_change_state_func): Renamed from
4597 gst_element_change_state, variable name changes.
4598 (gst_element_change_state): Split out of gst_element_set_state in
4599 preparation for the state change merge. Doesn't pay attention to
4600 the 'transition' argument.
4601 (gst_element_set_state): Updates, hopefully purely cosmetic.
4602 (gst_element_sync_state_with_parent): MT-safety. Ported from the
4604 (gst_element_get_state_func): Renamed from get_state, cosmetic
4607 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4609 * gst/elements/gstelements.c:
4610 * win32/GStreamer.vcproj:
4612 * win32/dirent.c: (_tseekdir):
4613 * win32/gst-inspect.vcproj:
4614 * win32/gst-launch.vcproj:
4615 * win32/gstconfig.h:
4616 * win32/gstelements.vcproj:
4617 * win32/gstenumtypes.c: (gst_object_flags_get_type):
4618 * win32/gstreamer.def:
4620 updates for the win32 build (patch from Sebastien Moutte)
4622 2005-10-10 Andy Wingo <wingo@pobox.com>
4624 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4625 gst_bin_get_state, cleaned up (but no logic changes).
4626 (bin_element_is_sink): Comment updates.
4627 (sink_iterator_filter): Remove needless cast.
4628 (gst_bin_iterate_sinks): Doc update.
4629 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4630 cleaned up (but no logic changes).
4632 * check/states/sinks.c (test_src_sink): Cleanups from the state
4634 (test_livesrc_sink): Sync on the state.
4636 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4637 the state change patch.
4639 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4642 * check/gst/gstbin.c: Merge in some style fixes and additional
4643 checks from Wim's state change patch.
4645 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4647 * gst/base/gsttypefindhelper.c: (helper_find_peek),
4648 (gst_type_find_helper):
4649 Check whether we have the requested data already in our list of
4650 cached buffers before pulling a new buffer; also make the buffer
4651 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4653 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4658 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4659 don't use long long, it's not portable. Replacing with
4660 gint64 seems to work; let's hope no skeletons fall out of the closet.
4662 2005-10-10 Andy Wingo <wingo@pobox.com>
4664 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4666 2005-10-09 Stefan Kost <ensonic@users.sf.net>
4668 * docs/gst/gstreamer-sections.txt:
4673 * gst/gstmessage.c: (gst_message_parse_state_changed):
4676 more docs, fix compilation
4678 2005-10-09 Philippe Khalaf <burger@speedy.org>
4680 Fixed a few forgotten variables on previous commit
4682 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
4684 * gst/base/gsttypefindhelper.c: (helper_find_peek):
4685 Fix evil typefind crasher: getrange() might return a short
4686 buffer at the end of a file, but gst_type_find_peek() must
4687 either return the full data as requested or NULL, but
4688 never a short buffer.
4690 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
4692 * gst/gstmessage.c: (gst_message_new_state_changed),
4693 (gst_message_parse_state_changed):
4695 don't use "new", it's a C++ keyword
4697 2005-10-08 Wim Taymans <wim@fluendo.com>
4699 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4700 * gst/gstelement.c: (gst_element_post_message):
4701 * gst/gstpipeline.c: (gst_pipeline_change_state):
4702 Small docs and debug updates.
4704 2005-10-08 Stefan Kost <ensonic@users.sf.net>
4706 * docs/gst/gstreamer-sections.txt:
4707 * gst/gstelementfactory.c:
4712 2005-10-08 Wim Taymans <wim@fluendo.com>
4714 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4715 (gst_bin_dispose), (bin_bus_handler):
4716 Fix typos, add comments.
4717 Clear EOS list when going to PAUSED from any direction and do it
4718 in a threadsafe way.
4719 Get base time in a threadsafe way too.
4720 Fix confusing debug in the change_state function.
4721 Various other small cleanups.
4723 * gst/gstelement.c: (gst_element_post_message):
4724 Fix very verbose bus posting code.
4726 * gst/gstpipeline.c: (gst_pipeline_class_init),
4727 (gst_pipeline_set_property), (gst_pipeline_get_property),
4728 (gst_pipeline_change_state):
4729 Small ARG_ -> PROP_ cleanup
4731 2005-10-08 Wim Taymans <wim@fluendo.com>
4733 * gst/gstbin.c: (is_eos), (bin_bus_handler):
4734 Do a less CPU demanding EOS check because we can.
4736 2005-10-08 Wim Taymans <wim@fluendo.com>
4738 * libs/gst/dataprotocol/dataprotocol.c:
4739 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4740 (gst_dp_packet_from_event):
4741 * libs/gst/dataprotocol/dataprotocol.h:
4742 * libs/gst/dataprotocol/dp-private.h:
4743 It's about time we bump the version number.
4744 Since event types don't fit in the guint8 anymore describing
4745 the payload type, make payload type 16 bits wide.
4747 2005-10-08 Wim Taymans <wim@fluendo.com>
4749 * docs/design/part-TODO.txt:
4750 * docs/design/part-clocks.txt:
4751 * docs/design/part-events.txt:
4752 * docs/design/part-gstbin.txt:
4753 * docs/design/part-gstelement.txt:
4754 * docs/design/part-gstpipeline.txt:
4755 * docs/design/part-live-source.txt:
4756 * docs/design/part-messages.txt:
4757 * docs/design/part-overview.txt:
4758 * docs/design/part-states.txt:
4761 2005-10-08 Wim Taymans <wim@fluendo.com>
4765 Fix event quark registration.
4766 Add some space between events so we can insert them in the
4769 2005-10-08 Wim Taymans <wim@fluendo.com>
4771 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4772 (gst_base_sink_handle_buffer):
4779 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4780 (gst_queue_set_property), (gst_queue_get_property):
4782 Remove old unused properties.
4784 2005-10-08 Stefan Kost <ensonic@users.sf.net>
4785 * docs/gst/gstreamer-sections.txt:
4788 * gst/gstminiobject.c:
4789 * gst/gstminiobject.h:
4793 lots of new docs and doc fixes
4795 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4797 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4799 * gst/gstregistry.c: (gst_registry_lookup_locked),
4800 (gst_registry_scan_path_level):
4801 * gst/gstregistryxml.c: (load_plugin):
4802 Only ever load one plugin for a given plugin basename.
4803 This ensures correct overriding of GST_PLUGIN_PATH over
4804 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4805 system installed plugins.
4807 2005-10-08 Wim Taymans <wim@fluendo.com>
4809 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4810 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4811 Prepare for doing QOS.
4813 2005-10-08 Wim Taymans <wim@fluendo.com>
4815 * check/gst/gstbin.c: (GST_START_TEST):
4816 * check/pipelines/cleanup.c: (GST_START_TEST):
4817 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4818 Allow new clock message too.
4820 2005-10-08 Wim Taymans <wim@fluendo.com>
4822 * gst/gstmessage.c: (gst_message_new_error),
4823 (gst_message_new_warning), (gst_message_new_tag),
4824 (gst_message_new_state_changed), (gst_message_new_clock_provide),
4825 (gst_message_new_clock_lost), (gst_message_new_new_clock),
4826 (gst_message_new_segment_start), (gst_message_new_segment_done),
4827 (gst_message_parse_state_changed),
4828 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4829 (gst_message_parse_new_clock):
4831 Also carry the clock in question.
4833 2005-10-08 Wim Taymans <wim@fluendo.com>
4835 * gst/gstmessage.c: (gst_message_new_custom),
4836 (gst_message_new_eos), (gst_message_new_error),
4837 (gst_message_new_warning), (gst_message_new_tag),
4838 (gst_message_new_state_changed), (gst_message_new_clock_provide),
4839 (gst_message_new_new_clock), (gst_message_new_segment_start),
4840 (gst_message_new_segment_done), (gst_message_parse_state_changed),
4841 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4844 Added clock related messages.
4846 * gst/gstpipeline.c: (gst_pipeline_change_state):
4847 Post message when the clock changed.
4849 * tools/gst-launch.c: (event_loop):
4852 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
4854 * tools/gst-inspect.c: (print_element_properties_info):
4855 Can't pass NULL strings to g_print() on windows.
4857 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4860 * docs/gst/Makefile.am:
4861 * docs/gst/gstreamer-docs.sgml:
4862 * docs/gst/running.xml:
4863 * docs/version.entities.in:
4864 add a chapter on running GStreamer.
4865 document GST_DEBUG and GST_PLUGIN* env vars
4867 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4872 remove PLUGINS_BUILDDIR stuff
4873 * gst/gst.c: (init_post):
4874 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4876 remove, it was condescending and not needed
4878 2005-10-08 Wim Taymans <wim@fluendo.com>
4880 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4881 (gst_base_sink_handle_object), (gst_base_sink_event),
4882 (gst_base_sink_wait), (gst_base_sink_handle_event),
4883 (gst_base_sink_change_state):
4884 * gst/base/gstbasesink.h:
4885 Repost EOS message while going to PLAYING if still EOS.
4886 Make sure that when receiving a FLUSH_START we don't attempt
4887 to sync on the clock anymore.
4889 2005-10-08 Wim Taymans <wim@fluendo.com>
4891 * tools/gst-launch.c: (event_loop):
4892 Better message printout.
4894 2005-10-08 Wim Taymans <wim@fluendo.com>
4896 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4897 (gst_bin_child_proxy_get_children_count):
4898 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4899 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4900 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4901 (gst_child_proxy_set_valist):
4902 * gst/parse/grammar.y:
4903 Make ChildProxy threadsafe and fix mem leaks.
4905 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4907 * gst/gst.c: (init_post):
4908 debug the GST_PLUGIN_ env vars
4910 2005-10-08 Wim Taymans <wim@fluendo.com>
4912 * check/gst/gstbin.c: (GST_START_TEST):
4913 * check/gst/gstmessage.c: (GST_START_TEST):
4914 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4915 * gst/gstelement.c: (gst_element_commit_state),
4916 (gst_element_lost_state):
4917 * gst/gstmessage.c: (gst_message_new_state_changed),
4918 (gst_message_parse_state_changed):
4920 * tools/gst-launch.c: (event_loop):
4921 Added extra field to STATE_CHANGE message with the pending
4922 state, which will be different from the new state soon.
4924 2005-10-08 Wim Taymans <wim@fluendo.com>
4926 * gst/gstbus.c: (gst_bus_pop):
4928 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4929 Small cleanups and doc updates.
4931 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4933 * gst/gst.c: (init_pre):
4934 * gst/gstbin.c: (gst_bin_add_func):
4935 log distributing clocks and base time
4936 * gst/gstregistry.c: (gst_registry_add_plugin),
4937 (gst_registry_scan_path_level), (gst_registry_scan_path):
4938 clean up the debugging output a little
4939 * gst/gstutils.c: (gst_element_state_get_name):
4940 warn about a memleak (I've actually seen this be used, though
4941 it was probably a bug)
4943 2005-10-07 Wim Taymans <wim@fluendo.com>
4945 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4946 (gst_base_src_init), (gst_base_src_default_newsegment),
4947 (gst_base_src_newsegment), (gst_base_src_do_seek),
4948 (gst_base_src_loop), (gst_base_src_start):
4949 * gst/base/gstbasesrc.h:
4950 Make the newsegment event customizable by subclasses.
4952 2005-10-07 Wim Taymans <wim@fluendo.com>
4954 * gst/gstevent.c: (gst_event_new_buffersize),
4955 (gst_event_parse_buffersize):
4957 New event for future idea.
4959 2005-10-07 Andy Wingo <wingo@pobox.com>
4961 * gst/gstelement.c (gst_element_post_message): Doc update.
4963 * docs/gst/gstreamer-sections.txt: Update.
4965 * gst/gstmessage.c (gst_message_new_application): Made into a
4966 function like honest API calls.
4967 (gst_message_new_element): New message type.
4969 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4971 * check/elements/fakesrc.c (test_no_preroll): New check, checks
4972 that setting a live fakesrc to PAUSED returns NO_PREROLL both
4975 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4976 NO_PREROLL from gst_element_change_state to fall through.
4978 2005-10-07 Wim Taymans <wim@fluendo.com>
4980 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4981 (gst_ghost_pad_do_activate_push):
4982 Activating a ghostpad with no internal pad in push mode
4985 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
4988 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4989 Fixes compilation on Windows.
4991 2005-10-07 Michael Smith <msmith@fluendo.com>
4993 * tools/gst-inspect.c:
4994 Print out feature and plugin count at the end when printing out
4997 2005-10-04 Michael Smith <msmith@fluendo.com>
4999 * gst/gsterror.c: (_gst_stream_errors_init):
5000 Add another error string used in a few existing plugins.
5003 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5004 * tools/gst-inspect.c: (print_element_info):
5005 When a feature disappears from a plugin (and the feature exists in
5006 the cached registry file), things went horribly wrong. This isn't a
5007 complete fix, we should actually be removing the 'missing' features
5008 from the features list when we load the actual plugin. That's not
5011 2005-10-04 Johan Dahlin <johan@gnome.org>
5013 * check/gst/gstiterator.c: (GST_START_TEST):
5014 * gst/gstbin.c: (gst_bin_iterate_elements),
5015 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5016 * gst/gstelement.c: (gst_element_iterate_pads):
5017 * gst/gstformat.c: (gst_format_iterate_definitions):
5018 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5019 (gst_iterator_new_list), (gst_iterator_filter):
5020 * gst/gstiterator.h:
5021 * gst/gstquery.c: (gst_query_type_iterate_definitions):
5022 Add a GType to GstIterator, update callsites and tests.
5024 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5026 * gst/gstpad.c: (gst_pad_event_default_dispatch):
5027 give events a chance to be handled by event probes when the pad
5030 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5032 * gst/gstevent.c: (gst_event_type_get_name),
5033 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5035 add string representations for event types
5037 2005-10-06 Wim Taymans <wim@fluendo.com>
5039 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5040 Don't use NULL pointers.
5042 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5044 * gst/gst_private.h:
5048 * gst/gstpluginfeature.c:
5049 widen the debug category in output to fit the biggest one we have
5050 add a bus category and use it
5051 play with the colors
5052 fix up some categories
5054 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5056 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5057 add push activation of sink ghost pads.
5058 Andye, please verify
5060 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5062 * gst/gstutils.c: (gst_element_link_pads):
5063 fix a bug in the case where neither element has a pad
5064 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5065 add a test for that case
5067 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5069 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5070 emit have-data before checking for peers. This allows
5071 for probe handlers to connect elements. This helps autopluggers.
5072 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5074 add six checks, linked/unlinked with no/true/false probe
5076 2005-10-04 Wim Taymans <wim@fluendo.com>
5078 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5079 (gst_fake_sink_event), (gst_fake_sink_preroll),
5080 (gst_fake_sink_render), (gst_fake_sink_change_state):
5081 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5082 (gst_fake_src_get_property), (gst_fake_src_create),
5083 (gst_fake_src_stop):
5084 * gst/elements/gstidentity.c: (gst_identity_stop):
5085 Protect last_message with lock.
5087 2005-10-04 Edward Hervey <edward@fluendo.com>
5090 Added precision in the comments for GST_FORMAT_DEFAULT
5092 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
5094 * tools/gst-launch.c: (main):
5095 Don't try to run erroneous pipelines.
5097 2005-10-04 Julien MOUTTE <julien@moutte.net>
5099 * gst/gstbus.c: We don't need this header.
5101 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5106 === release 0.9.3 ===
5108 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5112 Releasing 0.9.3, "Unregistered"
5114 2005-10-03 Andy Wingo <wingo@pobox.com>
5116 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5117 whereby calling a pad's activatepush() function can start a thread
5118 that starts to push or pull before the pad gets the FLUSHING flag
5119 unset. Hack around it by holding the stream lock until the flag is
5120 set. Need to replace this with a proper solution. Together with
5121 the ghost pad fixes, this fixes mp3 playing/tagreading.
5123 * docs/design/part-gstghostpad.txt: Add a note about activation of
5124 proxy pads outside of ghost pads.
5126 * gst/gstghostpad.c: Implement the ghost pad activation design.
5128 2005-10-02 Andy Wingo <wingo@pobox.com>
5130 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5131 It is volatile, after all.
5133 * docs/design/part-gstghostpad.txt: Flesh out activation with
5136 * gst/base/gstbasesrc.c (gst_base_src_init): Use
5139 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
5142 Fix (unused) AM_CONDITIONAL tests.
5144 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
5146 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5148 * gst/gstutils.c: (gst_pad_query_convert):
5149 Add assertion that makes sure src_val is >=0, just like
5150 gst_query_new_convert() has. (#315895)
5152 2005-09-30 Edward Hervey <edward@fluendo.com>
5154 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5155 Let's not iterate pads we're not interested in, it avoids getting
5156 sky-high refcounts on sinkpad.
5158 2005-09-30 Wim Taymans <wim@fluendo.com>
5160 * gst/gstelement.c: (gst_element_set_state),
5161 (gst_element_change_state):
5162 Small tweak, element in ASYNC remains ASYNC.
5164 2005-09-30 Wim Taymans <wim@fluendo.com>
5166 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5167 Only error is an error.
5169 * gst/gstbin.c: (gst_bin_change_state):
5172 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5173 Also call pad_block in pad alloc.
5175 * gst/gstutils.c: (gst_flow_get_name):
5178 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5180 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5181 (gst_base_src_get_range):
5182 Fix documentation typos. Add some more debug info.
5184 2005-09-29 David Schleef <ds@schleef.org>
5186 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5187 more end-user friendly.
5188 * tools/gst-inspect.c: (main): Check if command-line argument is
5189 a file and attempt to load that file as a plugin.
5191 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5193 * check/gst/gstbin.c:
5194 * check/states/sinks.c:
5195 fix tests for the new warning
5196 * check/gst/gstpipeline.c:
5197 add a test for pipeline and bus interaction
5199 elements should be NULL if they get disposed; add a warning if not
5201 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5204 for 2.6 refcounting, make debug log more correct by printing
5205 the actual refcounts at the time of swap (Wim)
5207 2005-09-29 Andy Wingo <wingo@pobox.com>
5209 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5210 removes signal watches previously added via
5211 gst_bus_add_signal_watch.
5212 (gst_bus_add_signal_watch): Don't return the source id, just store
5213 it on the bus if there wasn't an id already.
5215 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5216 add_signal_watch and remove_signal_watch.
5218 2005-09-29 Edward Hervey <edward@fluendo.com>
5220 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5221 Better if we actually iterate the list :)
5223 2005-09-29 Wim Taymans <wim@fluendo.com>
5225 * check/gst/gstbin.c: (GST_START_TEST):
5226 Change for new bus API.
5228 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5229 (send_messages), (GST_START_TEST), (gstbus_suite):
5230 Change for new bus signal API.
5232 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5233 (gst_bus_source_prepare), (gst_bus_source_check),
5234 (gst_bus_create_watch), (gst_bus_add_watch_full),
5235 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5236 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5238 Remove support for multiple GSources operating on different
5239 message types as it is too complex and unneeded when using
5241 Added support for receiving signals from the bus.
5243 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5245 * docs/libs/tmpl/gstdataprotocol.sgml:
5246 * docs/manual/advanced-dataaccess.xml:
5247 * gst/elements/gstcapsfilter.c:
5249 rename filter-caps to caps property
5251 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5253 * gst/gstvalue.c: (gst_value_deserialize_fraction):
5254 More robust fraction string parsing.
5256 * docs/pwg/appendix-porting.xml:
5257 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5259 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5261 * gst/gstcaps.c: (gst_caps_do_simplify):
5262 Thou shalt not free a structure and then continue using it
5263 in the next loop iteration.
5265 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5267 Add test case for caps simplification.
5269 2005-09-29 Wim Taymans <wim@fluendo.com>
5271 * check/gst/gstbin.c: (GST_START_TEST):
5274 2005-09-29 Wim Taymans <wim@fluendo.com>
5276 * check/gst/gstbin.c: (GST_START_TEST):
5279 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5280 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5281 (find_element), (gst_bin_sort_iterator_next),
5282 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5283 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5284 (gst_bin_change_state), (gst_bin_dispose):
5285 A bin does not have a bus, it gets the bus from the parent.
5287 * gst/gstelement.c: (gst_element_requires_clock),
5288 (gst_element_provides_clock), (gst_element_is_indexable),
5289 (gst_element_is_locked_state), (gst_element_change_state),
5290 (gst_element_set_bus_func):
5293 * gst/gstpipeline.c: (gst_pipeline_class_init),
5294 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5295 The pipeline provides a bus.
5297 2005-09-28 Johan Dahlin <johan@gnome.org>
5299 * gst/gstmessage.c (gst_message_parse_state_changed): Use
5300 gst_structure_get_enum instead of gst_structure_get_int
5302 * gst/gststructure.c (gst_structure_get_enum): Impl.
5304 * gst/gststructure.h (gst_structure_get_enum): Add
5306 * docs/gst/gstreamer-sections.txt: Ditto
5308 * gst/gstmessage.c (gst_message_new_state_changed): Use
5309 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5310 which does introspection.
5311 Reviewed by Christian Schaller
5313 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5315 * gst/gstinfo.c: (gst_debug_log_default):
5316 don't do dummy g_strdup()s
5317 * libs/gst/controller/gstcontroller.c:
5318 (on_object_controlled_property_changed),
5319 (gst_controlled_property_new), (gst_controller_new_valist),
5320 (gst_controller_new_list),
5321 (gst_controller_remove_properties_valist), (gst_controller_set),
5322 (gst_controller_get), (gst_controller_sync_values),
5323 (gst_controller_get_value_array), (_gst_controller_class_init),
5324 (gst_controller_get_type):
5325 * libs/gst/controller/gstcontroller.h:
5326 * libs/gst/controller/gstinterpolation.c:
5327 (gst_controlled_property_find_timed_value_node):
5328 convert // to /**/ comments
5330 2005-09-28 Wim Taymans <wim@fluendo.com>
5332 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5333 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5334 (gst_bus_sync_signal_handler):
5336 Added async-message and sync-message signals to the bus.
5337 Added helper BusFunc to emit signals for all posted messages.
5339 * gst/gstmessage.c: (gst_message_type_get_name),
5340 (gst_message_type_to_quark), (gst_message_get_type):
5342 Register quarks for message names.
5344 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5346 * docs/libs/gstreamer-libs-sections.txt:
5347 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5348 (gst_controller_new_list):
5349 * libs/gst/controller/gstcontroller.h:
5350 added another constructor for language bindings
5352 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
5354 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5358 * gst/gstinfo.c: (_gst_debug_init):
5359 slightly more readable color for refcount debugging
5361 2005-09-28 Wim Taymans <wim@fluendo.com>
5363 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5364 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5365 (find_element), (gst_bin_sort_iterator_next),
5366 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5367 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5368 (gst_bin_change_state), (gst_bin_dispose):
5369 Small doc fixes. get_clock -> provide_clock.
5371 * gst/gstelement.c: (gst_element_class_init),
5372 (gst_element_provides_clock), (gst_element_provide_clock),
5373 (gst_element_get_clock), (gst_element_commit_state),
5374 (gst_element_lost_state):
5376 Make get/set_clock() symetric. Add provide_clock vmethod since
5377 that is actually what this function does.
5379 * gst/gstpipeline.c: (gst_pipeline_class_init),
5380 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5381 (gst_pipeline_get_clock):
5382 get_clock -> provide_clock.
5384 2005-09-28 Andy Wingo <wingo@pobox.com>
5386 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5387 lieu of real docs...
5389 * gst/elements/gstfdsrc.c: Cleaned up a bit.
5391 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
5393 * gst/elements/gstcapsfilter.c:
5394 * gst/elements/gstfakesink.c:
5395 * gst/elements/gstfakesrc.c:
5396 * gst/elements/gstfdsink.c:
5397 * gst/elements/gstfdsrc.c:
5398 * gst/elements/gstfilesink.c:
5399 * gst/elements/gstfilesrc.c:
5400 * gst/elements/gstidentity.c:
5401 * gst/elements/gsttee.c:
5402 * gst/elements/gsttypefindelement.c:
5403 Make element details static.
5405 2005-09-28 Wim Taymans <wim@fluendo.com>
5407 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5408 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5409 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5410 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5411 (gst_bin_change_state), (gst_bin_dispose):
5412 Some documentation updates.
5413 Clean up dispose handlers.
5415 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5416 * gst/gstpad.c: (gst_pad_dispose):
5417 Clean up dispose handler.
5419 * gst/gstpipeline.c: (gst_pipeline_change_state):
5420 Removed spurious UNLOCK.
5422 2005-09-27 Stefan Kost <ensonic@users.sf.net>
5424 * docs/gst/gstreamer-sections.txt:
5425 * gst/base/gstbasesrc.h:
5430 * gst/gstpipeline.c:
5431 * gst/gstpipeline.h:
5434 added two new functions to the docs
5435 documents all undocumented GstXXXFlags
5436 completed some incomplete docs
5438 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
5440 * gst/gstbin.c: (gst_bin_dispose):
5441 * gst/gstelement.c: (gst_element_dispose):
5442 remove now useless and leaky resurrection code in dispose
5443 * gst/base/gstbasesrc.c: (gst_base_src_init):
5444 * gst/gstelementfactory.c: (gst_element_factory_create):
5445 * gst/gstobject.c: (gst_object_set_parent):
5448 2005-09-27 Wim Taymans <wim@fluendo.com>
5450 * docs/design/part-TODO.txt:
5453 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5454 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5455 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5456 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5457 (gst_bin_change_state):
5459 Remove element variable, we keep element info in the iterator now.
5461 2005-09-27 Andy Wingo <wingo@pobox.com>
5463 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5466 2005-09-27 Wim Taymans <wim@fluendo.com>
5468 * check/gst/gstbin.c: (GST_START_TEST):
5469 Enable check that works now.
5471 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5472 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5473 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5474 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5475 (gst_bin_change_state):
5477 Redid the state change algorithm using a topological sort algo.
5478 Handles all cases correctly.
5479 Exposed iterator for state change order.
5482 Temp storage for state changes. Need to get rid of this soon.
5484 2005-09-27 Wim Taymans <wim@fluendo.com>
5486 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5487 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5488 (link_fold_func), (gst_pad_proxy_setcaps):
5489 Leak fixes, the fold functions need to unref the passed object and
5490 _get_parent_*() returns ref to parent.
5492 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5494 * check/gst/gstbuffer.c: (test_make_writable):
5495 Plug leak in test case and fix 'make check-valgrind'
5497 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5499 * gst/gstbuffer.c: (gst_subbuffer_init):
5500 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5501 works correctly in all circumstances (we could have just copied
5502 the parent buffer's readonly flag, but conceptually it seems
5503 cleaner to mark all subbuffers as read-only). (based on patch
5504 by Alessandro Decina, #314710).
5506 * check/gst/gstbuffer.c: (create_read_only_buffer),
5507 (test_make_writable), (test_subbuffer_make_writable),
5509 Add some tests for gst_buffer_make_writable().
5511 2005-09-27 Wim Taymans <wim@fluendo.com>
5513 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5514 use gst_object_has_ancestor().
5516 * gst/gstobject.c: (gst_object_has_ancestor):
5518 gst_object_has_ancestor() copied from gstbin.c as it is a
5521 * tests/instantiate/create.c: (create_all_elements):
5522 * tests/lat.c: (handoff_src), (handoff_sink):
5523 * tests/sched/runxml.c: (main):
5524 * tests/seeking/seeking1.c: (main):
5525 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5527 Fix compilation of some tests.
5529 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5532 Remove comment. GST_TYPE_G_ERROR is here to stay,
5533 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5536 2005-09-26 Wim Taymans <wim@fluendo.com>
5538 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5539 Added check that shows error in state change order.
5541 2005-09-26 Wim Taymans <wim@fluendo.com>
5543 * gst/gstbin.c: (gst_bin_change_state):
5544 Make state change function use 3 queues again, we were
5545 adding elements in the wrong order.
5547 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5550 * gst/gstpad.c: (gst_pad_dispose):
5551 Added some debug info first.
5553 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
5555 * docs/design/draft-push-pull.txt:
5556 * docs/design/part-events.txt:
5557 * docs/design/part-overview.txt:
5558 * docs/design/part-scheduling.txt:
5559 Replace all _pull_region() with _pull_range()
5561 2005-09-26 Andy Wingo <wingo@pobox.com>
5563 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5565 * check/gst-libs/controller.c: Update for controller api change.
5568 * tests/Makefile.am:
5569 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5570 over by GLib bug 118439.
5572 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5573 routines to a function.
5575 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5577 * libs/gst/controller/gsthelper.c:
5578 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5579 (gst_object_sync_values): Renamed from sink_values. Ugh.
5581 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5583 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5584 Renamed from controller_key, as it is exported.
5586 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5588 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
5593 * gst/gstpadtemplate.h:
5596 * gst/gstqueryutils.c:
5597 * gst/gstqueryutils.h:
5598 remove queryutils headers after moving the two used functions
5599 to gstquery. also fixes build problem for gstsiddec
5601 2005-09-26 Michael Smith <msmith@fluendo.com>
5603 * tools/gst-launch.1.in:
5604 Correct documentation in manpage of debug syntax
5606 2005-09-26 Wim Taymans <wim@fluendo.com>
5608 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5609 (gst_base_src_is_seekable), (gst_base_src_change_state):
5610 Some more debugging info.
5612 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5614 * docs/gst/gstreamer-sections.txt:
5615 * gst/base/gstbasetransform.h:
5619 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5621 * docs/gst/.cvsignore:
5622 * docs/gst/tmpl/.cvsignore:
5623 * docs/gst/tmpl/gstpipeline.sgml:
5624 * docs/gst/tmpl/gstplugin.sgml:
5625 * gst/gstpipeline.c:
5628 inlined the last two docs files
5629 removed the tmpl directory from cvs (no more conflicts here!)
5631 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5633 * docs/gst/gstreamer-sections.txt:
5634 * docs/gst/tmpl/.cvsignore:
5635 * docs/gst/tmpl/gstpad.sgml:
5636 * docs/gst/tmpl/gstpadtemplate.sgml:
5638 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5639 (gst_pad_finalize), (gst_pad_set_pad_template):
5641 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5642 (gst_pad_template_class_init), (gst_pad_template_init),
5643 (gst_pad_template_dispose), (name_is_valid),
5644 (gst_static_pad_template_get), (gst_pad_template_new),
5645 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5646 (gst_pad_template_pad_created):
5647 * gst/gstpadtemplate.h:
5648 inlined two more docs
5649 factored gstpadtemplate out of gstpad
5651 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
5653 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5654 (test_children_state_change_order_semi_sink):
5655 Fix test case: we can't rely on a fixed state change order when
5656 going from READY => PAUSED because the sink might commit its
5657 new state first when the first buffer created by the source
5658 reaches the sink before the source has finished its change state.
5659 (Test case still fails at times, see #316856, comment 5 onwards)
5661 2005-09-24 Wim Taymans <wim@fluendo.com>
5663 * docs/design/part-events.txt:
5664 * docs/design/part-gstbus.txt:
5665 * docs/design/part-gstpipeline.txt:
5666 * docs/design/part-messages.txt:
5667 * docs/design/part-overview.txt:
5668 * docs/design/part-segments.txt:
5675 * gst/gstiterator.c:
5676 Various documentation updates.
5678 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
5681 Well, that's embarassing. Luckily we weren't using
5682 GST_CLOCK_DIFF anywhere.
5684 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5686 * common/gtk-doc.mak:
5687 don't fail on building XML, FC4 slave shows a bunch of doc
5688 missing bits that I don't get
5690 * gst/gstpipeline.c:
5691 * gst/gststructure.c:
5694 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
5696 * docs/design/part-gstbin.txt:
5697 * docs/design/part-gstbus.txt:
5699 Add blurb about how the bus goes into flushing mode and
5700 drops all messages when its bin goes from READY into NULL
5703 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5705 * docs/gst/gstreamer-sections.txt:
5706 * gst/gststructure.c: (gst_structure_get_clock_time):
5707 * gst/gststructure.h:
5708 add a method to get a GstClockTime out of a structure
5710 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
5712 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5713 (test_children_state_change_order_semi_sink), (gst_bin_suite):
5714 Added test to check state change order in bins (can still be made
5715 to fail here under heavy disk load; bails out with 'Push on pad
5716 fakesink:sink0, but it was not activated in push mode').
5718 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5719 Fix state change order when there is only a semi sink (#316856)
5721 * gst/gstbus.c: (gst_bus_class_init):
5722 Use _class_peek_parent(), not _class_ref(); fix docs to say
5723 'default main context' instead of 'mainloop' where that is
5726 * gst/gstelement.c: (gst_element_commit_state),
5727 (gst_element_set_state):
5728 Fix typos in debug messages
5730 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5733 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5734 * gst/gstpluginfeature.c:
5737 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5738 change an assert into an error until it gets fixed properly
5740 2005-09-23 Stefan Kost <ensonic@users.sf.net>
5742 * docs/gst/gstreamer-sections.txt:
5743 * docs/gst/tmpl/.cvsignore:
5744 * docs/gst/tmpl/gstelement.sgml:
5745 * docs/gst/tmpl/gstinfo.sgml:
5746 * docs/gst/tmpl/gstobject.sgml:
5751 * gst/gstobject.c: (gst_object_class_init):
5753 inlined 3 more biiiig doc files and added some missing docs on the fly
5755 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5757 * check/gst/.cvsignore:
5758 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5759 * gst/gstregistryxml.c: (load_plugin),
5760 (gst_registry_xml_save_plugin):
5761 put back source in registry. add checks for find_plugin.
5762 * testsuite/states/bin.c: (assert_state), (empty_bin),
5763 (test_adding_one_element), (main):
5764 * testsuite/states/locked.c: (main):
5765 some compile/run fixes
5767 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
5769 * check/gst/gstvalue.c: (GST_START_TEST):
5770 fix leaks in the test itself
5772 2005-09-22 Wim Taymans <wim@fluendo.com>
5774 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5775 (gst_base_sink_send_event), (gst_base_sink_peer_query),
5776 (gst_base_sink_query):
5777 Prepare for more accurate position reporting and query
5780 * gst/gstelement.c: (gst_element_send_event),
5781 (gst_element_set_state):
5784 2005-09-22 Wim Taymans <wim@fluendo.com>
5786 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5787 (gst_query_parse_segment):
5790 Add segment query for future use.
5792 2005-09-22 Wim Taymans <wim@fluendo.com>
5794 * gst/gstbin.c: (gst_bin_add_func):
5795 Some more debug info.
5797 * gst/gstelement.c: (gst_element_send_event):
5801 Don't know how flags got broken.
5806 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
5808 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5809 Add simplistic test suite for GST_TYPE_DATE serialisation and
5812 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
5814 * docs/gst/gstreamer-sections.txt:
5815 * gst/gststructure.c: (gst_structure_set_valist),
5816 (gst_structure_get_date):
5817 * gst/gststructure.h:
5818 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5819 (gst_date_copy), (gst_value_compare_date),
5820 (gst_value_serialize_date), (gst_value_deserialize_date),
5821 (gst_value_transform_date_string),
5822 (gst_value_transform_string_date), (_gst_value_initialize):
5824 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5825 bunch of utility functions along with a hack that checks that
5826 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5827 is required. Part of the grand scheme in #170777.
5829 2005-09-22 Andy Wingo <wingo@pobox.com>
5831 * gst/gstconfig.h.in: Psych out gtk-doc.
5833 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5835 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5837 * tools/gst-inspect.c (print_element_list): Plug some
5838 inconsequential leaks.
5840 * gst/gstregistry.c (gst_registry_get_default): Doc.
5842 * check/gst/gstplugin.c:
5843 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5844 * gst/gstelementfactory.c (gst_element_factory_create):
5845 * gst/gstindexfactory.c (gst_index_factory_create): Update for
5848 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5849 (gst_plugin_feature_load): Doc, don't eat refs.
5851 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5852 (gst_plugin_list_free): Doc.
5853 (gst_plugin_load_file): Doc updates.
5855 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5856 accessors returning refcounted objects, return a ref.
5858 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5859 accessor for caps. IDEMPOTENCE. Oh yes.
5861 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
5863 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5865 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5866 (_gst_debug_register_funcptr):
5867 Add mutex to serialise access to the hash table with
5868 the function pointer => function name string mapping;
5869 make that hash table static scope (#316809).
5871 * gst/registries/.cvsignore:
5872 Remove left-over file.
5874 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
5876 * docs/pwg/appendix-porting.xml:
5877 And something about newsegment events and caps-on-buffers to
5878 the porting guide (feel free to improve).
5880 2005-09-21 Andy Wingo <wingo@pobox.com>
5882 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5883 data and event probes on the same pad.
5884 (test_buffer_probe_once): Test that removing probes from within
5885 the probe functions works.
5887 2005-09-21 Andy Wingo <wingo@pobox.com>
5889 * check/gst/gstutils.c: New file.
5890 (test_buffer_probe_n_times): A simple buffer probe test. More to
5893 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5894 have-data::buffer, not have-data.
5895 (gst_pad_add_event_probe): Likewise for have-data::event.
5896 (gst_pad_add_data_probe): More docs. The part about 'resolving the
5897 peer' isn't quite right yet though.
5898 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
5899 (gst_pad_remove_data_probe): Change to take the guint handler_id
5900 as their arg, not the function+data, which is more glib-like.
5902 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5903 the signal emission to indicate if the data is a buffer or an
5905 (gst_pad_get_type): Initialize buffer and event quarks.
5906 (gst_pad_class_init): have-data is now a detailed signal, yes it
5909 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
5911 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5912 * gst/gstutils.c: (gst_util_set_value_from_string),
5913 (gst_util_set_object_arg):
5914 Don't put functional code in g_return_if_fail() or
5915 g_return_val_if_fail() statements, otherwise things will
5916 break when G_DISABLE_CHECKS is defined during compilation.
5918 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5920 * docs/gst/tmpl/.cvsignore:
5921 * docs/gst/tmpl/gstvalue.sgml:
5924 inlied another one and added some obvious docs
5926 2005-09-21 Wim Taymans <wim@fluendo.com>
5928 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5929 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5930 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5931 (gst_fdsrc_get_property), (gst_fdsrc_create):
5932 * gst/elements/gstfdsrc.h:
5933 Properly implement fdsrc. Removed signal and timeout,
5934 better implemented somewhere else.
5936 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5938 * docs/gst/tmpl/.cvsignore:
5939 * docs/gst/tmpl/gstimplementsinterface.sgml:
5940 * gst/gstinterface.c:
5943 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5945 * docs/gst/gstreamer-sections.txt:
5946 * docs/gst/tmpl/.cvsignore:
5947 * docs/gst/tmpl/gstenumtypes.sgml:
5948 remove obsolete doc file
5950 2005-09-21 David Schleef <ds@schleef.org>
5952 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5953 little beer, fix a little leak.
5955 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5957 * docs/gst/gstreamer-docs.sgml:
5958 * docs/gst/gstreamer-sections.txt:
5959 * docs/gst/tmpl/.cvsignore:
5964 * gst/gstindex.c: (gst_index_class_init):
5966 * gst/gstindexfactory.c: (gst_index_factory_get_type),
5967 (gst_index_factory_class_init), (gst_index_factory_init),
5968 (gst_index_factory_finalize), (gst_index_factory_new),
5969 (gst_index_factory_destroy), (gst_index_factory_find),
5970 (gst_index_factory_create), (gst_index_factory_make):
5971 * gst/gstindexfactory.h:
5972 * gst/gstpluginfeature.c:
5973 * gst/gstpluginfeature.h:
5974 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5975 more docs inlined, splitted gstindex.{c,h}
5977 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
5979 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5982 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
5984 * gst/elements/gstfilesink.c: (gst_file_sink_init):
5985 Set sync to FALSE by default.
5987 2005-09-20 Wim Taymans <wim@fluendo.com>
5989 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5990 (gst_base_sink_init):
5991 Make sync property settable from subclass.
5993 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5994 (gst_fake_sink_change_state):
5995 Set sync to FALSE by default.
5997 2005-09-20 Wim Taymans <wim@fluendo.com>
5999 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6000 * tools/gst-launch.c: (main):
6001 The timeout handler should have lower priority than the source
6002 so we don't timeout before popping a message with 0 timeout.
6003 Dump error messages after failed state change.
6005 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6007 * tools/gst-inspect.c: (print_element_properties_info):
6010 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6012 * check/gst/gstevent.c:
6013 * gst/elements/gstfakesink.c:
6014 * gst/elements/gstfakesink.h:
6015 remove the sync property from fakesink.
6016 has the side effect of setting sync TRUE
6017 for fakesink, which is a change. Anyone who knows how
6018 to fix this nicely in a GObject-y way, feel free.
6020 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6022 * docs/gst/gstreamer-docs.sgml:
6023 remove probe refsection
6025 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6027 * check/Makefile.am:
6028 disable valgrinding the controller test again
6029 * docs/gst/gstreamer-sections.txt:
6030 update for api-changes
6032 2005-09-20 Wim Taymans <wim@fluendo.com>
6034 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6035 (gst_base_sink_set_property), (gst_base_sink_get_property),
6036 (gst_base_sink_do_sync):
6037 * gst/base/gstbasesink.h:
6038 Added sync property to basesink to disable clock sync.
6040 2005-09-20 Andy Wingo <wingo@pobox.com>
6042 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6043 eating the caller's refcount.
6045 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
6046 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6049 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6050 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6051 of GLib 2.8 public, so we can know which refcount to check in
6054 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6055 (gst_object_init): Only set the gst refcount if we're going ahead
6056 with the refcount hack.
6058 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6060 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6061 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6062 more leaks plumbed, added more debug-logging
6066 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6069 remove include of gstmemchunk.h
6071 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6073 * gst/gstclock.c: (_gst_clock_id_free):
6074 Commit from the Political Party For More Atomic CVS Commits,
6075 so that people don't waste too much of their day fishing
6076 out obvious leaks out of massive commits.
6077 Oh, and fix a pretty damn obvious leak in the memchunk
6080 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6082 * check/Makefile.am:
6083 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6084 plug mem-leak, re-add to valgrindable tests
6086 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6089 unbreak the build for those who have chronic arthritis
6090 and typing "make check" is just too taxing on the hands
6092 2005-09-20 Andy Wingo <wingo@pobox.com>
6094 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6095 really want it out, you should fix plugins at the same time.
6097 2005-09-19 Stefan Kost <ensonic@users.sf.net>
6100 * docs/gst/gstreamer-sections.txt:
6102 added missing symbols to api docs
6103 disable ref-count hack if we have glib >= 2.8
6105 2005-09-19 David Schleef <ds@schleef.org>
6107 * docs/gst/Makefile.am: Ignore a few more internal headers
6108 * docs/gst/gstreamer-docs.sgml: Remove old sections
6109 * docs/gst/gstreamer-sections.txt: Remove old sections
6110 * docs/gst/tmpl/gstobject.sgml: update
6111 * docs/gst/tmpl/gstplugin.sgml: update
6112 * docs/gst/tmpl/gstpluginfeature.sgml: update
6113 * docs/random/ds/0.9-suggested-changes: update.
6114 * gst/Makefile.am: remove memchunk and trashstack, since they're
6116 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6117 * gst/gst.h: don't include some headers
6118 * gst/gstchildproxy.c: add gstmarshal.h
6119 * gst/gstclock.c: Don't use memchunks
6120 * gst/gstminiobject.c: Add some docs
6121 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6122 * gst/gstobject.h: same
6123 * gst/gstplugin.c: include gstmacros.h
6124 * gst/gstplugin.h: don't include gstmacros.h, since it's private
6125 * gst/gstquery.c: don't use memchunks
6126 * gst/gstregistry.c: rename gst_registry_deinit()
6127 * gst/gstregistry.h: same
6129 2005-09-19 David Schleef <ds@schleef.org>
6131 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6132 * docs/libs/gstreamer-libs-sections.txt:
6133 * docs/libs/tmpl/gstgetbits.sgml:
6134 * docs/libs/tmpl/gstputbits.sgml:
6136 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
6138 * win32/gstenumtypes.c:
6139 * win32/gstenumtypes.h:
6142 2005-09-19 Wim Taymans <wim@fluendo.com>
6144 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6145 Automatically PAUSE and RESUME a pipeline when a flushing seek
6148 2005-09-19 Andy Wingo <wingo@pobox.com>
6150 * gst/gstregistry.h: Spacing fixen.
6152 2005-09-19 Wim Taymans <wim@fluendo.com>
6154 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6155 Handle state change failure more correctly.
6157 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6159 * check/Makefile.am:
6160 * check/pipelines/cleanup.c: (run_pipeline):
6161 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6163 enable cleanup again after fixing the leak
6165 some more info on docs
6167 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6169 * check/Makefile.am:
6170 re-enable tests now that leaks are plugged
6172 * check/gst/gstbin.c:
6173 * check/gst/gstpipeline.c:
6174 add some more tests while fixing leaks
6176 make sure binaries are uptodate when valgrinding/gdbing
6178 * gst/gstelementfactory.c:
6179 remove a ref too many, and add a FIXME for when we get
6180 round to disposing of classes
6182 fix the refcounting when loading a plugin from a file and
6183 the code pretends that the pointer is the same even though
6184 of course it can change
6185 * gst/gstpluginfeature.c:
6186 unref plugins marked cached (a bit confusing as a name)
6187 as the docs state should be done
6188 various doc additions to explain refcounting
6189 * gst/gstregistry.c:
6190 * gst/gstregistryxml.c:
6193 2005-09-19 Wim Taymans <wim@fluendo.com>
6195 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6196 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6197 (send_messages), (GST_START_TEST), (gstbus_suite):
6198 * check/gst/gstpipeline.c: (GST_START_TEST):
6199 * check/pipelines/cleanup.c: (run_pipeline):
6200 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6202 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6203 (gst_bus_source_check), (gst_bus_source_dispatch),
6204 (gst_bus_create_watch), (gst_bus_add_watch_full),
6205 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6207 * tools/gst-launch.c: (event_loop):
6208 * tools/gst-md5sum.c: (event_loop):
6209 GstBusHandler -> GstBusFunc, return value has the same meaning as
6210 any other GSource (FALSE == remove source).
6211 _add_watch() and _add_watch_full() now take a MessageType mask to
6212 only handle specific types of messages.
6213 _poll() returns the GstMessage instead of the message type to avoid
6215 _have_pending() takes a MessageType mask now too.
6216 Added testsuite for multiple bus watches.
6217 Fix testsuites and applications for new bus API.
6219 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6221 * check/Makefile.am:
6222 mark a bunch of the tests as to fix until we fix them
6224 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6227 use GST_PLUGIN settings for valgrind tests as well, so we're
6228 valgrinding the correct thing
6229 * gst/gst.c: (init_post):
6232 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6234 * gst/gst.c: (init_post), (gst_deinit):
6235 * gst/gstelementfactory.c: (gst_element_factory_class_init),
6236 (gst_element_factory_finalize), (gst_element_factory_cleanup):
6237 * gst/gstindex.c: (gst_index_factory_class_init),
6238 (gst_index_factory_finalize):
6239 * gst/gstobject.c: (gst_object_dispose):
6240 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6241 (gst_plugin_load_file), (gst_plugin_desc_free):
6242 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6243 (gst_plugin_feature_finalize):
6244 * gst/gstregistry.c: (gst_registry_class_init),
6245 (gst_registry_init), (gst_registry_finalize),
6246 (gst_registry_get_default), (gst_registry_deinit):
6247 * gst/gstregistry.h:
6248 * gst/gstregistryxml.c: (load_feature), (load_plugin):
6249 various cleanups and memleak plugging. make valgrind is happy now.
6251 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6254 add a check-valgrind target
6256 2005-09-18 David Schleef <ds@schleef.org>
6258 * tools/gst-inspect.c: Revert the GOption code.
6260 2005-09-17 David Schleef <ds@schleef.org>
6262 * check/Makefile.am: Fix environment variables.
6263 * check/gst/gstplugin.c: Fix for API changes.
6264 * tools/gst-inspect.c: Fix for API changes.
6265 * tools/gst-xmlinspect.c: Fix for API changes.
6266 * gst/gstelementfactory.c:
6269 * gst/gstpluginfeature.c:
6270 * gst/gstpluginfeature.h:
6271 * gst/gstregistry.c:
6272 * gst/gstregistry.h:
6273 * gst/gstregistryxml.c:
6274 * gst/gsttypefind.c:
6275 * gst/gsttypefindfactory.c:
6276 * gst/indexers/gstfileindex.c:
6277 * gst/indexers/gstmemindex.c:
6278 * gst/schedulers/Makefile.am:
6279 Change registry to keep track of both plugins and features,
6280 removing the feature tracking from plugins themselves.
6282 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
6284 * check/Makefile.am:
6285 * tools/gst-register.1.in:
6288 2005-09-15 David Schleef <ds@schleef.org>
6290 * check/gst/gstplugin.c:
6291 * gst/gstelementfactory.c:
6293 * gst/gstpluginfeature.c:
6294 * gst/gstregistry.c:
6295 Getting tired of debugging. Disabled all the unreffing of
6296 plugins and features, which fixes the segfaults, but of
6297 course leaks like crazy. At least playbin works.
6299 2005-09-15 David Schleef <ds@schleef.org>
6301 * check/gst/gstplugin.c: (register_check_elements),
6302 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6304 * gst/elements/gsttypefindelement.c: Fix refcounting.
6305 * gst/gsttypefind.c:
6306 * gst/gsttypefindfactory.c:
6307 * gst/gsttypefindfactory.h:
6309 2005-09-15 David Schleef <ds@schleef.org>
6311 * gst/gstindex.c: get refcounting correct.
6312 * gst/gstregistry.c: Handle the case where a feature/plugin is
6315 2005-09-15 David Schleef <ds@schleef.org>
6317 * check/Makefile.am:
6318 * check/gst/gstplugin.c: Add test
6319 * gst/gstplugin.c: Fix problems noticed by testsuite
6321 * gst/gstregistry.c:
6322 * gst/gstregistry.h:
6324 2005-09-15 David Schleef <ds@schleef.org>
6326 * gst/gstplugin.c: Implement semi-decent recounting and locking
6327 in plugins and plugin features.
6329 * gst/gstpluginfeature.c:
6330 * gst/gstpluginfeature.h:
6331 * gst/gstregistry.c:
6333 2005-09-15 Michael Smith <msmith@fluendo.com>
6335 * gst/gstregistry.c: (gst_registry_get_feature_list):
6336 Implement this. Makes oggdemux work; decodebin still broken.
6338 2005-09-14 David Schleef <ds@schleef.org>
6340 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6342 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6343 * gst/check/Makefile.am:
6344 * libs/gst/controller/Makefile.am:
6345 * libs/gst/dataprotocol/Makefile.am:
6347 2005-09-14 David Schleef <ds@schleef.org>
6349 * configure.ac: Remove getbits library. Nothing uses it, and
6350 it should be in something like liboil if someone did want
6352 * libs/gst/Makefile.am:
6353 * libs/gst/getbits/Makefile.am:
6354 * libs/gst/getbits/gbtest.c:
6355 * libs/gst/getbits/getbits.c:
6356 * libs/gst/getbits/getbits.h:
6357 * libs/gst/getbits/gstgetbits_generic.c:
6358 * libs/gst/getbits/gstgetbits_i386.s:
6359 * libs/gst/getbits/gstgetbits_inl.h:
6361 2005-09-14 David Schleef <ds@schleef.org>
6363 * gst/Makefile.am: Dist glib-compat.h
6365 2005-09-14 David Schleef <ds@schleef.org>
6367 * configure.ac: Remove gst/registries, since it's no longer used.
6368 * gst/registries/Makefile.am:
6369 * gst/registries/gstlibxmlregistry.c:
6370 * gst/registries/gstlibxmlregistry.h:
6371 * gst/registries/gstxmlregistry.c:
6372 * gst/registries/gstxmlregistry.h:
6373 * gst/registries/registrytest.c:
6375 2005-09-14 David Schleef <ds@schleef.org>
6377 * gst/glib-compat.h:
6378 * gst/gstregistryxml.c:
6379 Convergence is near. Seriously.
6381 2005-09-14 David Schleef <ds@schleef.org>
6383 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6384 * gst/glib-compat.h:
6385 Attempt #4 to appease the buildbots.
6387 2005-09-14 David Schleef <ds@schleef.org>
6389 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6392 2005-09-14 David Schleef <ds@schleef.org>
6394 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6397 2005-09-14 David Schleef <ds@schleef.org>
6399 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6402 2005-09-14 David Schleef <ds@schleef.org>
6404 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6405 * gst/glib-compat.h: Add some functions that are in newer versions
6406 of glib than we care to require.
6407 * gst/gstregistryxml.c: Use them.
6409 2005-09-14 David Schleef <ds@schleef.org>
6411 * po/POTFILES.in: remove gst-register.c
6413 2005-09-14 David Schleef <ds@schleef.org>
6415 * docs/gst/gstreamer-docs.sgml:
6416 * docs/gst/gstreamer-sections.txt:
6417 * docs/gst/gstreamer.types:
6418 * docs/gst/tmpl/gstelement.sgml:
6419 * docs/gst/tmpl/gstplugin.sgml:
6420 * docs/gst/tmpl/gstpluginfeature.sgml:
6421 Documentation updates for registry changes.
6423 2005-09-14 David Schleef <ds@schleef.org>
6425 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6426 because we don't require glib-2.8.
6428 2005-09-14 David Schleef <ds@schleef.org>
6430 * gst/gstregistryxml.c: Added. Essentially moved out of the
6431 registries directory.
6433 2005-09-14 David Schleef <ds@schleef.org>
6435 * check/Makefile.am:
6436 * check/generic/states.c:
6440 * gst/gst_private.h:
6441 * gst/gstelementfactory.c:
6446 * gst/gstpluginfeature.c:
6447 * gst/gstpluginfeature.h:
6448 * gst/gstregistry.c:
6449 * gst/gstregistry.h:
6450 * gst/gstregistrypool.c: remove
6451 * gst/gstregistrypool.h: remove
6452 * gst/gsttypefind.c:
6453 * gst/gsttypefindfactory.c:
6455 * tools/Makefile.am:
6456 * tools/gst-compprep.c:
6457 * tools/gst-inspect.c:
6458 * tools/gst-register.c: remove
6459 * tools/gst-xmlinspect.c:
6460 Registry rewrite. Changes registry from being a file created
6461 by a tool into a simple cache file created automatically by
6462 libgstreamer. Removed gst-register (because it's no longer
6463 needed). Remove registry pools, because we only have one
6464 registry implementation (XML). Fix up other subsystems as
6467 2005-09-13 Michael Smith <msmith@fluendo.com>
6469 * gst/gstconfig.h.in:
6470 Don't Use windows linking attributes for MinGW. Fixes #316157
6472 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
6474 * gst/gstutils.c: (set_state_async_thread_func),
6475 (gst_element_set_state_async):
6476 Apparently people think it's better if this function doesn't
6477 try to set the state to whatever state was asked for on the first
6478 call to this function for any object. Seriously.
6480 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6482 * check/gst/gstpipeline.c: (GST_START_TEST):
6483 * docs/gst/gstreamer-sections.txt:
6484 * gst/gstutils.c: (set_state_async_thread_func),
6485 (gst_element_set_state_async):
6487 add a "gst_element_set_state_async" method that
6488 sets the state and starts a thread to make sure the state
6489 change completes as best as it can
6491 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6493 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6494 codify design+behaviour in testsuite after discussion
6496 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6498 * docs/gst/tmpl/gstelement.sgml:
6499 * docs/manual/appendix-quotes.xml:
6501 * gst/gstelement.c: (gst_element_set_state):
6504 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
6506 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6507 (gst_base_transform_prepare_output_buf),
6508 (gst_base_transform_handle_buffer):
6509 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6510 (gst_capsfilter_prepare_buf):
6511 Remove the requirement for sub-classes to call the parent
6512 implementation of prepare_output_buffer with a wrapper function.
6515 * gst/gsttagsetter.h:
6518 2005-09-11 Stefan Kost <ensonic@users.sf.net>
6520 * docs/gst/gstreamer-sections.txt:
6523 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6525 * docs/gst/gstreamer-sections.txt:
6526 * docs/gst/tmpl/gstelement.sgml:
6527 * docs/gst/tmpl/gstplugin.sgml:
6528 * gst/gstminiobject.c:
6530 docs now stop throwing warnings
6532 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6534 * docs/gst/gstreamer-sections.txt:
6535 * docs/gst/gstreamer.types:
6536 * docs/gst/tmpl/gstpad.sgml:
6537 * docs/gst/tmpl/gsttypes.sgml:
6538 * gst/base/gstadapter.h:
6539 * gst/base/gstbasesink.h:
6540 * gst/base/gstbasesrc.h:
6550 * gst/gststructure.c:
6551 * gst/registries/gstlibxmlregistry.h:
6552 various documentation fixes
6554 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6556 * docs/gst/gstreamer-sections.txt:
6557 * docs/gst/tmpl/gstvalue.sgml:
6558 rearrange gstvalue section
6559 * gst/gstutils.c: (gst_element_state_get_name):
6561 * gst/gstvalue.c: (_gst_value_initialize):
6565 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
6567 * check/gst-libs/controller.c:
6569 * gst/base/gstbasetransform.c:
6570 (gst_base_transform_default_prepare_buf),
6571 (gst_base_transform_handle_buffer):
6572 * gst/base/gstbasetransform.h:
6573 Some more basetransform changes and fixes to enable sub-classes
6574 that modify buffer metadata only.
6575 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6576 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6577 (gst_capsfilter_prepare_buf):
6578 If the output pad has fixed allowed caps and input buffers
6579 don't have any, set the fixed caps on outgoing buffers.
6581 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
6582 * check/elements/identity.c: (GST_START_TEST):
6583 Make the error a little clearer when the test fails because
6584 identity made a copy of the buffer.
6585 * docs/gst/gstreamer-sections.txt:
6586 New symbols in gstbasetransform.h
6587 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6588 (gst_base_transform_init), (gst_base_transform_transform_size),
6589 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6590 (gst_base_transform_default_prepare_buf),
6591 (gst_base_transform_get_unit_size),
6592 (gst_base_transform_buffer_alloc),
6593 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6594 (gst_base_transform_change_state),
6595 (gst_base_transform_set_passthrough),
6596 (gst_base_transform_set_in_place),
6597 (gst_base_transform_is_in_place):
6598 * gst/base/gstbasetransform.h:
6599 Change BaseTransform to separate in_place operate from same_caps
6600 output. in_place implies that the element can perform the transform
6601 on incoming buffers in-place, even if the caps on the output are
6603 Sub-class elements can now implement special buffer allocation
6604 methods for outgoing buffers if they wish to.
6605 Big documentation addition.
6606 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6607 * gst/elements/gstelements.c:
6608 Changes for basetransform modifications.
6609 * gst/elements/Makefile.am:
6610 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6611 Compile fix. Extra debug output.
6613 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6615 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6617 add tests for valid pad naming
6618 * gst/check/gstcheck.c: (gst_check_log_message_func),
6619 (gst_check_log_critical_func):
6621 remove printing of code, it is fragile when the code contains
6622 % and the line number is enough info
6623 * gst/check/gstcheck.h:
6624 * gst/gstpad.c: (gst_pad_template_new):
6627 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6630 say what CHECK flags we use
6631 * docs/libs/gstreamer-libs.types:
6632 * libs/gst/controller/Makefile.am:
6633 * libs/gst/controller/gst-controller.c:
6634 * libs/gst/controller/gst-controller.h:
6635 * libs/gst/controller/gst-helper.c:
6636 * libs/gst/controller/gst-interpolation.c:
6637 * libs/gst/controller/gstcontroller.c:
6638 * libs/gst/controller/gsthelper.c:
6639 * libs/gst/controller/gstinterpolation.c:
6640 * tools/gst-inspect.c: (print_plugin_info):
6641 we don't use dashes in header names
6643 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6645 * check/Makefile.am:
6646 * check/gst/.cvsignore:
6647 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6648 (gst_pipeline_suite), (main):
6649 adding a test for pipelines and state changes
6650 * gst/gstutils.c: (get_state_func):
6652 * gstreamer.spec.in:
6655 2005-09-08 Michael Smith <msmith@fluendo.com>
6657 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6658 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6659 (gst_file_src_is_seekable), (gst_file_src_get_size),
6660 (gst_file_src_start):
6661 * gst/elements/gstfilesrc.h:
6662 Various fixes for unseekable, unmmapable, and non-normal files, so
6663 that fallback to read() rather than mmap() works.
6664 * gst/gstevent.c: (gst_event_new_newsegment):
6665 Allow newsegment events with segment_start == segment_end, as will
6666 correctly happen if you use filesrc on a zero-size file, for
6669 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
6671 * gst/gstplugin.c: (gst_plugin_load_file):
6672 Call g_module_close when we don't load the module
6674 * gst/registries/gstlibxmlregistry.c:
6675 (gst_xml_registry_get_property):
6676 Port leak fix from 0.8
6678 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6680 * docs/gst/gstreamer-docs.sgml:
6681 * docs/gst/tmpl/.cvsignore:
6682 * docs/gst/tmpl/gsttrace.sgml:
6683 * docs/gst/tmpl/gsttrashstack.sgml:
6692 * gst/gsttaginterface.c:
6693 * gst/gsttaginterface.h:
6696 * gst/gsttagsetter.c:
6697 * gst/gsttagsetter.h:
6700 * gst/gsttrashstack.c:
6701 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6702 inlined docs for gsttrace, gsttrashstack
6704 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6707 * gst/elements/gstbufferstore.h:
6708 * gst/elements/gsttypefindelement.c:
6709 * gst/elements/gsttypefindelement.h:
6711 * gst/gsttypefind.c:
6712 * gst/gsttypefind.h:
6713 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6714 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6715 (gst_type_find_factory_dispose),
6716 (gst_type_find_factory_unload_thyself),
6717 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6718 (gst_type_find_factory_get_caps),
6719 (gst_type_find_factory_get_extensions),
6720 (gst_type_find_factory_call_function):
6721 * gst/gsttypefindfactory.h:
6722 * gst/registries/gstlibxmlregistry.c:
6723 * gst/registries/gstxmlregistry.c:
6724 splitted gsttypefind into gsttypefind, gsttypefindfactory
6726 2005-09-07 Andy Wingo <wingo@pobox.com>
6728 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6729 condition whereby the pad's task function is entered before the
6730 pad_mode variable was set.
6732 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
6734 * gst/gstpad.c: (gst_pad_alloc_buffer):
6735 Catch misbehaving pad_alloc functions that don't
6736 set up caps and do it for them.
6738 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6740 * check/pipelines/simple_launch_lines.c: (run_pipeline):
6742 * docs/gst/tmpl/.cvsignore:
6743 * docs/gst/tmpl/gstmemchunk.sgml:
6744 * docs/gst/tmpl/gstparse.sgml:
6745 * docs/gst/tmpl/gsttaglist.sgml:
6746 * docs/gst/tmpl/gsttagsetter.sgml:
6747 * docs/gst/tmpl/gsttypefind.sgml:
6748 * docs/gst/tmpl/gsttypefindfactory.sgml:
6749 * gst/gstmemchunk.c:
6752 * gst/gsttaginterface.c:
6753 * gst/gsttypefind.c:
6754 * gst/gsttypefind.h:
6757 === release 0.9.2 ===
6759 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
6764 releasing 0.9.2, "South"
6766 2005-09-05 Andy Wingo <wingo@pobox.com>
6768 * gst/registries/gstxmlregistry.h:
6769 * gst/registries/gstxmlregistry.c: Um... resurrect...
6771 * gst/registries/gstxmlregistry.h:
6772 * gst/registries/gstxmlregistry.c: and update to newer API.
6773 Incidentally they should be a bit faster now that they don't have
6776 2005-09-05 Andy Wingo <wingo@pobox.com>
6778 * gst/registries/gstxmlregistry.h:
6779 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6780 replaced by the libxml registry a while back
6782 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
6784 * docs/gst/tmpl/gstplugin.sgml:
6785 * gst/elements/gstelements.c:
6787 * gst/gstplugin.c: (gst_plugin_register_func),
6788 (gst_plugin_desc_copy), (gst_plugin_desc_free),
6789 (gst_plugin_get_source):
6791 * gst/registries/gstlibxmlregistry.c: (load_plugin),
6792 (gst_xml_registry_save_plugin):
6793 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6794 (gst_xml_registry_save_plugin):
6795 * tools/gst-inspect.c: (print_plugin_info):
6796 add a "source" plugin description field, to represent the source
6797 module this plugin is a part of. By default GST_PLUGIN_DEFINE
6798 will set it to PACKAGE, which is automake's idea of the name of
6801 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
6807 * docs/faq/Makefile.am:
6808 * docs/gst/tmpl/gstelement.sgml:
6809 * docs/gst/tmpl/gsttypes.sgml:
6810 * docs/htmlinstall.mak:
6811 * docs/manual/Makefile.am:
6812 * docs/pwg/Makefile.am:
6813 reorganize doc build a little
6814 split out docbook and gtk-doc stuff
6815 have two separate --enable's and enable them through autogen
6816 but disable by default in configure (to be similar to other
6818 * gstreamer.spec.in:
6819 clean up docs install
6839 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
6841 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6844 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6845 (gst_fake_sink_change_state):
6846 Make state change function thread-safe.
6848 * gst/gstpad.c: (gst_pad_alloc_buffer):
6849 Set offset on generic buffer allocated by fallback.
6851 2005-09-03 Stefan Kost <ensonic@users.sf.net>
6853 * docs/gst/gstreamer-sections.txt:
6854 * docs/gst/tmpl/gstelement.sgml:
6856 * libs/gst/controller/gst-controller.c:
6857 (gst_controlled_property_set_interpolation_mode),
6858 (gst_controlled_property_new),
6859 (gst_controller_find_controlled_property):
6860 run the wingo-magic script against the docs
6862 2005-09-02 Stefan Kost <ensonic@users.sf.net>
6864 * docs/gst/gstreamer-docs.sgml:
6865 * docs/gst/gstreamer-sections.txt:
6866 * docs/gst/tmpl/.cvsignore:
6867 * docs/gst/tmpl/gstelementdetails.sgml:
6868 * docs/gst/tmpl/gstelementfactory.sgml:
6871 * gst/gstelementfactory.c:
6872 * gst/gstelementfactory.h:
6873 merged elementdetails docs into elementfactory docs
6876 2005-09-02 Andy Wingo <wingo@pobox.com>
6878 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6879 consider this enum an enum and not a flags.
6881 2005-09-02 Stefan Kost <ensonic@users.sf.net>
6883 * docs/gst/gstreamer-docs.sgml:
6884 * docs/gst/tmpl/.cvsignore:
6885 * docs/gst/tmpl/gstghostpad.sgml:
6886 * docs/gst/tmpl/gstiterator.sgml:
6887 * docs/gst/tmpl/gstmacros.sgml:
6888 * docs/gst/tmpl/gstrealpad.sgml:
6889 * docs/gst/tmpl/gstregistry.sgml:
6890 * docs/gst/tmpl/gstregistrypool.sgml:
6891 * docs/gst/tmpl/gststructure.sgml:
6892 * docs/gst/tmpl/gstsystemclock.sgml:
6893 * docs/gst/tmpl/gsttrace.sgml:
6894 * gst/gstghostpad.c:
6896 * gst/gstmemchunk.c:
6897 * gst/gstmemchunk.h:
6899 * gst/gstregistry.c:
6900 * gst/gstregistrypool.c:
6901 * gst/gststructure.c:
6902 * gst/gstsystemclock.c:
6905 2005-09-02 Andy Wingo <wingo@pobox.com>
6907 * gst/gstelement.h (GstState): Renamed from GstElementState,
6908 changed to be a normal enum instead of flags.
6909 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6910 munged to be GST_STATE_CHANGE_*.
6911 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6912 work with the new state representation.
6913 (GstStateChange): New enumeration of possible state transitions.
6914 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6915 (GstElementClass::change_state): Pass the GstStateChange along as
6916 an argument. Helps language bindings, so they don't have to use
6917 tricky lock-needing macros like GST_STATE_CHANGE ().
6919 * scripts/update-states (file): New script. Run it on a file to
6920 update it for state naming and API changes. Updates files in
6923 * All files updated for the new API.
6925 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
6927 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6928 * gst/gstutils.c: (gst_util_set_value_from_string),
6929 (gst_util_set_object_arg):
6930 fix a bunch of unchecked return values
6931 * tools/gst-complete.c: (main):
6932 * gstreamer.spec.in:
6935 2005-09-01 Wim Taymans <wim@fluendo.com>
6937 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6938 (gst_base_sink_event), (gst_base_sink_do_sync),
6939 (gst_base_sink_handle_event):
6940 * gst/base/gstbasesink.h:
6941 Handle newsegments more correctly.
6946 * gst/gstevent.c: (gst_event_new_newsegment):
6947 A newsegment cannot have a start_time of -1
6949 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
6951 * win32/gstenumtypes.c:
6952 * win32/gstenumtypes.h:
6955 2005-08-31 Stefan Kost <ensonic@users.sf.net>
6957 * libs/gst/controller/gst-controller.c:
6958 (gst_controlled_property_set_interpolation_mode),
6959 (gst_controlled_property_new):
6962 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
6964 * docs/faq/gst-uninstalled:
6969 * gst/gstutils.c: (gst_element_link_filtered):
6971 add gst_element_link_filtered
6973 2005-08-31 Stefan Kost <ensonic@users.sf.net>
6975 * docs/gst/gstreamer-docs.sgml:
6976 * docs/gst/gstreamer-sections.txt:
6977 * docs/gst/tmpl/.cvsignore:
6978 * docs/gst/tmpl/gsterror.sgml:
6979 * docs/gst/tmpl/gstfilter.sgml:
6980 * docs/gst/tmpl/gsturihandler.sgml:
6981 * docs/gst/tmpl/gsturitype.sgml:
6982 * docs/gst/tmpl/gstutils.sgml:
6983 * docs/gst/tmpl/gstxml.sgml:
6991 inlined more docs, fixed double id-ref
6993 2005-08-31 Wim Taymans <wim@fluendo.com>
6995 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6996 (gst_base_transform_handle_buffer):
6997 Passthrough elements don't need the caps as they don't care.
6999 2005-08-31 Wim Taymans <wim@fluendo.com>
7001 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7002 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7003 Don't leak refcounts on buffers.
7005 2005-08-31 Wim Taymans <wim@fluendo.com>
7007 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7008 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7009 (gst_base_transform_chain), (gst_base_transform_change_state):
7010 * gst/base/gstbasetransform.h:
7011 Handle the case where we are not negotiated more gracefully.
7013 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
7015 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7016 (gst_file_src_map_region):
7017 Set READONLY flag on mmap'ed buffers, otherwise
7018 gst_buffer_make_writable() won't work properly (#314708).
7020 2005-08-31 Wim Taymans <wim@fluendo.com>
7022 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7023 passthrough elements can even do inplace on non writable
7024 buffers (as they don't touch them).
7026 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7028 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7029 (gst_test_mono_source_set_property),
7030 (gst_test_mono_source_class_init), (GST_START_TEST),
7031 (gst_controller_suite):
7032 more tests (hehe I have the most)
7034 describe popping messages whenusing mulltiple sources
7035 * libs/gst/controller/gst-controller.c:
7036 (gst_controlled_property_set_interpolation_mode),
7037 (gst_controlled_property_new):
7038 * libs/gst/controller/gst-controller.h:
7039 * libs/gst/controller/gst-interpolation.c:
7040 implement boolean properties
7042 2005-08-31 Wim Taymans <wim@fluendo.com>
7044 * gst/gstminiobject.c: (gst_mini_object_ref):
7045 Cannot assert that the refcount has to be positive
7046 since a disposed object can be resurrected.
7048 2005-08-31 Wim Taymans <wim@fluendo.com>
7050 * gst/gstpad.c: (gst_pad_init):
7051 Revert change, need to first fix badly behaving
7054 2005-08-30 Wim Taymans <wim@fluendo.com>
7056 * check/elements/fakesrc.c: (setup_fakesrc):
7057 * check/elements/identity.c: (setup_identity):
7058 Activate pads before using them.
7060 2005-08-30 Wim Taymans <wim@fluendo.com>
7062 * gst/base/gstadapter.c: (gst_adapter_flush):
7063 Flushing out 0 bytes is ok for this function.
7065 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7066 no newsegment gives a warning and sets the start/stop to
7069 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7070 (gst_base_transform_set_passthrough):
7073 * gst/gstminiobject.c: (gst_mini_object_ref):
7074 Check refcount here too.
7076 * gst/gstpad.c: (gst_pad_init):
7077 Pads are initially flushing and refusing data.
7079 * gst/gstutils.c: (gst_element_link_pads_filtered):
7080 When adding a capsfilter element make sure it has the
7081 same state as the parent bin.
7083 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7085 * docs/gst/tmpl/.cvsignore:
7086 * docs/gst/tmpl/gstformat.sgml:
7087 * docs/gst/tmpl/gstversion.sgml:
7091 * gst/gstversion.h.in:
7092 more docs and two more inlined
7094 2005-08-30 Wim Taymans <wim@fluendo.com>
7096 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7097 Don't sync to clock.
7099 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7101 * docs/gst/gstreamer-sections.txt:
7102 ultral33t func10ns deserve to appear in the docs actually
7103 * docs/gst/tmpl/.cvsignore:
7104 * docs/gst/tmpl/gstcompat.sgml:
7105 * docs/gst/tmpl/gstconfig.sgml:
7106 * gst/check/gstcheck.c:
7108 * gst/gstconfig.h.in:
7111 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7113 * docs/gst/tmpl/.cvsignore:
7114 * docs/gst/tmpl/gstquery.sgml:
7115 * docs/gst/tmpl/gstutils.sgml:
7118 inlined and extended docs
7120 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7122 * check/gst-libs/controller.c: (GST_START_TEST),
7123 (gst_controller_suite):
7125 * docs/gst/tmpl/gstutils.sgml:
7126 * docs/libs/gstreamer-libs-sections.txt:
7127 * docs/libs/tmpl/gstdataprotocol.sgml:
7129 * examples/controller/audio-example.c: (main):
7130 controller example works now
7133 * tools/gst-inspect.c: (print_element_properties_info):
7134 show param spec flags
7136 2005-08-29 Andy Wingo <wingo@pobox.com>
7138 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7140 2005-08-28 Andy Wingo <wingo@pobox.com>
7142 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7143 as having two arguments instead of just one. Allows superclasses
7144 to access information on subclasses -- see the terrible for() loop
7145 in gtype.c:g_type_create_instance for the reason why. All callers
7148 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7150 * docs/design/part-messages.txt:
7152 * docs/gst/tmpl/.cvsignore:
7153 * docs/gst/tmpl/gstcaps.sgml:
7154 * docs/gst/tmpl/gstclock.sgml:
7161 added descriptions for bus and message
7162 inline caps and clock docs
7164 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7170 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7172 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7175 2005-08-26 Andy Wingo <wingo@pobox.com>
7177 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7178 element_set_state's return val.
7179 (test_2_elements): Add test that's been disabled for months.
7181 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7182 can-activate-pull properties.
7184 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7185 can-activate-pull properties. Implement is_seekable so fakesrc can
7186 operate in pull mode.
7188 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7190 (gst_base_sink_activate, gst_base_sink_activate_pull)
7191 (gst_base_sink_activate_push): Make activation mode choosing work.
7193 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7194 is right. Make pull mode work. Post an eos before pausing in pull
7196 (gst_base_sink_change_state): Pay attention to the core's
7197 change_state() return val.
7199 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7200 has-getrange properties. Cleanups.
7202 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7203 has_getrange and replace with can_activate_pull and
7206 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7207 locking comments. Remove has_loop, has_chain and replace with
7208 can_activate_pull and can_activate_push.
7210 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
7213 * examples/Makefile.am:
7214 * examples/metadata/Makefile.am:
7215 * examples/metadata/read-metadata.c: (message_loop),
7216 (have_pad_handler), (make_pipeline), (print_tag), (main):
7217 Add metadata reading example that loops over a list of filenames,
7218 dumping any tags found.
7220 * gst/gstbus.c: (gst_bus_dispose):
7221 * gst/gstelement.c: (gst_element_dispose):
7222 Release a few potentially-held references in dispose.
7224 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7226 * docs/gst/tmpl/gstminiobject.sgml:
7227 do *not* add tmpl/*.sgml files to CVS!
7229 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7231 * libs/gst/bytestream/.cvsignore:
7232 * libs/gst/bytestream/Makefile.am:
7233 * libs/gst/bytestream/adapter.c:
7234 * libs/gst/bytestream/adapter.h:
7235 * libs/gst/bytestream/bytestream.c:
7236 * libs/gst/bytestream/bytestream.h:
7237 * libs/gst/bytestream/filepad.c:
7238 * libs/gst/bytestream/filepad.h:
7239 removing obsolete files
7241 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7243 * docs/gst/gstreamer-docs.sgml:
7244 * docs/libs/gstreamer-libs-docs.sgml:
7245 disabed additional index entries again, as this makes docs-gen just
7246 slow and they aren't useful yet
7247 * docs/libs/gstreamer-libs-sections.txt:
7248 little -section.txt cleanup for libs
7250 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
7252 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7253 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7254 fix up some debugging
7255 (gst_base_transform_get_unit_size),
7256 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7257 (gst_base_transform_handle_buffer):
7258 * gst/base/gstbasetransform.h:
7259 handle and store timed NEWSEGMENT events so that subclasses that
7260 calculate time by counting samples have a segment_start time they
7261 need to add to their timestamps - see audioresample
7263 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7266 removed ';' from the end of macro defs
7267 * docs/gst/gstreamer-docs.sgml:
7268 * docs/gst/gstreamer-sections.txt:
7269 * docs/gst/tmpl/.cvsignore:
7271 * gst/gstelement.c: (gst_element_class_init),
7272 (gst_element_set_state), (activate_pads),
7273 (gst_element_save_thyself):
7274 * gst/gstevent.c: (gst_event_new_newsegment):
7276 * gst/gstiterator.c:
7277 * gst/gstiterator.h:
7280 * gst/gstutils.c: (gst_pad_query_convert):
7282 fixed parameter name mismatches between source, header and docs
7283 added some more docs, resolved the last batch of unused elements in
7284 docs (now someone needs to doc them)
7286 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7288 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7289 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7290 don't walk through the plugins backwards. Where is all this
7291 reversed logic coming from ?
7293 2005-08-25 Wim Taymans <wim@fluendo.com>
7295 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7296 (gst_base_transform_transform_size),
7297 (gst_base_transform_configure_caps),
7298 (gst_base_transform_get_unit_size),
7299 (gst_base_transform_buffer_alloc),
7300 (gst_base_transform_change_state):
7301 * gst/base/gstbasetransform.h:
7302 Cache caps unit_size.
7303 Make sure we cannot negotiate up and downstream at the
7306 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7308 * gst/gst.c: (init_pre), (init_post):
7309 register the installed plugin path after the env var
7310 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7311 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7312 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7313 directories, so the tests can prefer uninstalled over installed
7315 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7317 * gst/base/gstbasetransform.h:
7322 2005-08-25 Wim Taymans <wim@fluendo.com>
7324 * gst/gstbin.c: (bin_bus_handler):
7325 Be a bit more conservative about the posted message.
7327 * gst/gstbus.c: (gst_bus_post):
7328 Some cleanups, warn wrong return values.
7330 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
7332 * check/gst/gstbin.c: (GST_START_TEST):
7333 * gst/gstbin.c: (bin_bus_handler):
7334 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7335 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7336 (gst_message_new_warning), (gst_message_new_tag),
7337 (gst_message_new_state_changed), (gst_message_new_segment_start),
7338 (gst_message_new_segment_done), (gst_message_new_custom):
7340 * tools/gst-launch.c: (event_loop):
7341 * tools/gst-md5sum.c: (event_loop):
7342 Revert unpopular change for GST_MESSAGE_SRC to GObject.
7344 2005-08-25 Wim Taymans <wim@fluendo.com>
7346 * check/generic/states.c: (GST_START_TEST):
7347 Cleanup can be done at the end.
7349 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7350 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7351 (gst_task_get_state), (gst_task_start), (gst_task_pause):
7352 Oh boy.. Thanks for finding this, Thomas.
7354 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7356 * docs/gst/gstreamer.types:
7359 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7361 * docs/gst/gstreamer-docs.sgml:
7362 * docs/gst/gstreamer-sections.txt:
7363 * docs/gst/tmpl/.cvsignore:
7365 * gst/gstiterator.c:
7367 * gst/registries/gstxmlregistry.h:
7368 added missing classes and symbols (123 more to go)
7369 removed removed symbols from section file
7370 fixed many doc-comments
7372 2005-08-24 Wim Taymans <wim@fluendo.com>
7374 * check/generic/states.c: (GST_START_TEST):
7375 Make sure all tasks are stopped.
7377 * check/gst/gstbin.c: (GST_START_TEST):
7378 Unref after usage for proper valgrinding.
7380 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7381 Really wait for the task to stop before destroying the
7384 * gst/gstqueue.c: (gst_queue_sink_activate_push),
7385 (gst_queue_src_activate_push):
7386 Small cleanups. Don't stop the task when we did not start
7389 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7390 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7391 (gst_task_get_state), (gst_task_start), (gst_task_pause),
7394 Protect the stream lock with the object lock.
7395 Disallow setting the stream lock when running.
7396 Add cleanup_all to wait for the threadpool to finish.
7397 Remove code to autoallocate a mutex if none was provided.
7398 Add _join() to wait for a task to stop.
7399 Protect the thread pool with a global lock.
7401 2005-08-24 Wim Taymans <wim@fluendo.com>
7403 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7404 (gst_base_sink_get_times), (gst_base_sink_do_sync),
7405 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7406 * gst/base/gstbasesink.h:
7407 Handle newsegment events correctly.
7408 Drop buffers out of the segment range.
7410 2005-08-22 Andy Wingo <wingo@pobox.com>
7412 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7413 macro, implements an interface and gstimplementsinterface for a
7416 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7418 * check/Makefile.am:
7419 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7420 add a test that does a bunch of state changes on elements
7421 needs some fixing for valgrind
7422 * check/states/sinks.c: (gst_object_suite):
7425 add prototype for gst_caps_is_equal_fixed
7427 * gst/gstregistrypool.c:
7430 2005-08-24 Andy Wingo <wingo@pobox.com>
7432 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7433 convert a negative value. Doesn't make much sense. Mostly this is
7434 here to force callers to ensure -1 maps to -1.
7436 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7438 * docs/pwg/advanced-types.xml:
7439 Well done to Michael for catching my deliberate introduction
7440 of this spelling mistake.
7441 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7443 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7444 unlink pads before removing the element from the bin.
7446 2005-08-24 Andy Wingo <wingo@pobox.com>
7448 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7449 the same thing as GST_DEBUG=*:4.
7450 (parse_debug_level, parse_debug_category): New helper parsers.
7452 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7454 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7455 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7456 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7457 (gst_base_transform_buffer_alloc),
7458 (gst_base_transform_handle_buffer):
7459 use gboolean return values and pointers to size so we can use the
7460 full GST_BUFFER_SIZE range (guint) for buffer sizes
7461 use GstPadDirection for transform_caps
7462 * gst/base/gstbasetransform.h:
7463 rename get_size to get_unit_size since that's what it is
7464 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7465 use GstPadDirection for transform_caps
7466 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7468 cleanup and debugging
7470 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7472 * gst/gstelement.c: (gst_element_class_init),
7473 (gst_element_set_state), (activate_pads),
7474 (gst_element_save_thyself):
7475 * tools/gst-compprep.c: (main):
7476 * tools/gst-inspect.c: (print_element_properties_info):
7477 * tools/gst-xmlinspect.c: (print_element_properties):
7478 Fixed long standing mem-leak
7480 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7482 * check/gst/gstbin.c: (GST_START_TEST):
7483 * gst/gstbin.c: (bin_bus_handler):
7484 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7485 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7486 (gst_message_new_warning), (gst_message_new_tag),
7487 (gst_message_new_state_changed), (gst_message_new_segment_start),
7488 (gst_message_new_segment_done), (gst_message_new_custom):
7490 * tools/gst-launch.c: (event_loop):
7491 * tools/gst-md5sum.c: (event_loop):
7492 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7493 that applications can sensibly post custom messages with references
7494 to their own objects.
7496 2005-08-24 Andy Wingo <wingo@pobox.com>
7498 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7501 2005-08-24 Wim Taymans <wim@fluendo.com>
7503 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7504 (gst_base_transform_transform_caps),
7505 (gst_base_transform_transform_size),
7506 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7507 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7508 (gst_base_transform_handle_buffer):
7509 * gst/base/gstbasetransform.h:
7510 Many fixes and new features added by Thomas. Can now also do
7511 transforms with variable sizes and a custom fixate_caps function.
7513 2005-08-24 Wim Taymans <wim@fluendo.com>
7515 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7519 Cast to ClockTime before formatting to time.
7524 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7526 * check/gst-libs/controller.c: (GST_START_TEST),
7527 (gst_controller_suite):
7528 * docs/gst/tmpl/gstcaps.sgml:
7529 * docs/gst/tmpl/gstghostpad.sgml:
7530 * docs/gst/tmpl/gstquery.sgml:
7531 * docs/gst/tmpl/gstutils.sgml:
7532 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7533 (gst_object_sink_values), (gst_object_get_value_arrays),
7534 (gst_object_get_value_array):
7535 gracefully handle helper method calls to objects that are not beeing
7536 controlled, added test case for that
7538 2005-08-23 Wim Taymans <wim@fluendo.com>
7540 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7541 (gst_event_new_newsegment), (gst_event_parse_newsegment),
7542 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7543 (gst_event_parse_qos), (gst_event_new_seek),
7544 (gst_event_parse_seek):
7546 Some more debugging output and doc cleanups.
7548 * gst/gstqueue.c: (gst_queue_handle_sink_event):
7549 Fix possible deadlock.
7551 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7553 * docs/gst/gstreamer-docs.sgml:
7554 * docs/gst/gstreamer-sections.txt:
7555 * docs/gst/gstreamer.types:
7556 * docs/gst/tmpl/.cvsignore:
7561 added 100 symbols from gstreamer-unused.txt to the right sections
7562 fixed more broken comments
7563 added GstBus to docs
7565 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7567 * docs/gst/gstreamer-sections.txt:
7568 * docs/gst/tmpl/.cvsignore:
7569 * docs/gst/tmpl/gstbin.sgml:
7570 * docs/gst/tmpl/gstbuffer.sgml:
7571 * gst/base/gstbasesrc.c:
7572 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7575 * tools/gst-launch.1.in:
7576 inlined more doc comments, added missing comments and fixed comments
7579 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
7581 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7585 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7587 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7588 * gst/gststructure.h:
7589 add a fixate function for booleans; add a FIXME that these func
7590 names should probably be gst_structure_fixate_*
7592 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7594 * docs/gst/gstreamer-docs.sgml:
7595 * docs/gst/gstreamer-sections.txt:
7597 * gst/gstbin.c: (gst_bin_get_type),
7598 (gst_bin_child_proxy_get_child_by_index),
7599 (gst_bin_child_proxy_get_children_count),
7600 (gst_bin_child_proxy_init):
7601 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7602 (gst_child_proxy_get_child_by_index),
7603 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7604 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7605 (gst_child_proxy_get), (gst_child_proxy_set_property),
7606 (gst_child_proxy_set_valist), (gst_child_proxy_set),
7607 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7608 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7609 * gst/gstchildproxy.h:
7610 * gst/parse/grammar.y:
7611 * tools/gst-inspect.c: (print_interfaces),
7612 (print_element_properties_info), (print_element_info):
7613 ported gstchildproxy over from 0.8
7614 ported gst-inspect fixes and enhancements over from 0.8
7616 2005-08-22 Wim Taymans <wim@fluendo.com>
7618 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7619 (gst_base_transform_handle_buffer):
7620 Also call the transform function if we have ANY caps.
7622 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7625 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
7627 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7628 Don't pretend to handle seek events if the source is not seekable
7630 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
7632 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7633 Remove extra parameter to debug output
7635 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7636 (gst_base_src_do_seek), (gst_base_src_activate_push):
7637 Fix seek event handling.
7639 * gst/gstpipeline.c: (gst_pipeline_change_state):
7640 * gst/gstqueue.c: (gst_queue_handle_sink_event),
7641 (gst_queue_src_activate_push):
7642 Don't start the src pad task on FLUSH_STOP if the pad
7646 2005-08-22 Wim Taymans <wim@fluendo.com>
7648 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7649 Added check for gst_static_caps_get() refcounting.
7651 2005-08-22 Wim Taymans <wim@fluendo.com>
7653 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7654 Make _static_caps_get() refcounting sane.
7656 * gst/gstelement.c: (gst_element_set_state):
7657 Add g_return_val_if_fail() to protect against segfaults.
7659 2005-08-22 Stefan Kost <ensonic@users.sf.net>
7661 * docs/gst/tmpl/gstevent.sgml:
7664 inlined remaining docs, added missing doc comments
7666 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
7668 * check/gst/gstbin.c: (GST_START_TEST):
7669 since we don't know when preroll is done, use refcount range
7671 * gst/check/gstcheck.h:
7672 add macro for checking refcount range
7674 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
7676 * check/Makefile.am:
7677 clean up environment for when registry gets built versus
7678 when actual tests are run; valgrind seems to not report
7679 leaks if GST_PLUGIN_PATH is set to some specific values
7680 * check/gst/gstbin.c: (GST_START_TEST):
7681 add more refcounting checks; maybe this exposes a
7684 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7685 * gst/check/gstcheck.h:
7686 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7687 (gst_bin_change_state):
7688 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7689 add/fix debugging/whitespace
7691 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
7693 * check/gst/gstevent.c: (event_probe), (test_event),
7695 Er, don't call gst_bin_watch_for_state_change you idiot.
7697 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
7699 * check/Makefile.am:
7700 Use CHECK_CFLAGS and CHECK_LIBS
7701 * check/gst/gstevent.c: (event_probe), (test_event),
7704 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7705 (gst_base_src_start), (gst_base_src_stop),
7706 (gst_base_src_activate_push), (gst_base_src_activate_pull),
7707 (gst_base_src_change_state):
7708 Sprinkle gst_base_src_stop liberally around error paths to fix
7709 problems reusing a source after failed state changes.
7710 * gst/base/gsttypefindhelper.c: (helper_find_peek),
7711 (helper_find_suggest), (gst_type_find_helper):
7712 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7714 * docs/gst/tmpl/gstevent.sgml:
7715 Migrate part of the docs from the SGML file. Wait for ensonic to
7716 tell me how I did it wrong ;)
7717 * tools/gst-typefind.c: (main):
7718 Extra robustness to state changes between files.
7720 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
7722 * check/Makefile.am:
7723 don't valgrind the controller test - it's leaking - Stefan, HELP
7724 * gst/check/gstcheck.c: (gst_check_message_error),
7725 (gst_check_chain_func), (gst_check_setup_element),
7726 (gst_check_teardown_element), (gst_check_setup_src_pad),
7727 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7728 (gst_check_teardown_sink_pad):
7729 * gst/check/gstcheck.h:
7730 add a bunch of methods to set up elements, and src and sink pads
7731 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7732 * check/elements/identity.c: (setup_identity), (cleanup_identity),
7737 whitespace/doc fixes
7739 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7742 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7743 be handled by the application and not always printed as well
7745 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7747 * check/Makefile.am:
7749 * gst/check/gstcheck.c: (gst_check_message_error):
7750 * gst/check/gstcheck.h:
7751 add a fail_unless_equals_int
7752 add fail_unless for error messages
7754 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7756 * check/Makefile.am:
7758 * common/Makefile.am:
7761 factor out some of the common stuff so we can use it
7763 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7765 * check/Makefile.am:
7766 * check/gst/gstiterator.c: (GST_START_TEST):
7767 * check/gst/gstsystemclock.c: (GST_START_TEST),
7768 (gst_systemclock_suite):
7769 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7773 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7775 * check/elements/.cvsignore:
7776 * check/elements/gstfakesrc.c:
7777 rename to name of element
7778 * check/elements/identity.c: (chain_func), (event_func),
7779 (setup_identity), (cleanup_identity), (GST_START_TEST),
7780 (identity_suite), (main):
7781 add a test for identity
7782 * check/Makefile.am:
7783 * pkgconfig/Makefile.am:
7784 * pkgconfig/gstreamer-check.pc.in:
7785 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7789 move the check stuff to a library that gets installed
7790 * check/gst-libs/controller.c: (GST_START_TEST):
7791 * check/gst-libs/gdp.c:
7792 * check/gst/gst.c: (GST_START_TEST):
7793 * check/gst/gstbin.c:
7794 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7795 * check/gst/gstbus.c:
7796 * check/gst/gstcaps.c: (GST_START_TEST):
7797 * check/gst/gstelement.c:
7798 * check/gst/gstghostpad.c:
7799 * check/gst/gstiterator.c:
7800 * check/gst/gstmessage.c:
7801 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7802 * check/gst/gstobject.c:
7803 * check/gst/gstpad.c: (GST_START_TEST):
7804 * check/gst/gststructure.c: (GST_START_TEST):
7805 * check/gst/gstsystemclock.c: (GST_START_TEST),
7806 (gst_systemclock_suite):
7807 * check/gst/gsttag.c: (gst_tag_suite):
7808 * check/gst/gstvalue.c:
7809 * check/pipelines/cleanup.c:
7810 * check/pipelines/simple_launch_lines.c:
7811 * check/states/sinks.c:
7812 change include statement
7814 * docs/gst/gstreamer-sections.txt:
7815 * docs/gst/tmpl/gstpad.sgml:
7816 document more pad stuff
7817 * gst/gstminiobject.c: (gst_mini_object_ref),
7818 (gst_mini_object_unref):
7821 2005-08-19 Stefan Kost <ensonic@users.sf.net>
7823 * docs/gst/tmpl/gst.sgml:
7825 eliminate another tmpl file, fix spelling in the long-description
7827 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7829 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7830 (test_event), (timediff), (gstevents_suite):
7831 Should fix build on 64-bit arch's
7833 2005-08-18 Andy Wingo <wingo@pobox.com>
7835 Make sure that when a pipeline goes to PLAYING, that data has
7836 actually hit the sink.
7838 * check/states/sinks.c (test_sink): A sink that doesn't get any
7839 data shouldn't return SUCCESS for going to either PLAYING or
7840 PAUSED. Test also the return values on the way back down.
7842 * gst/gstelement.c (gst_element_set_state): When changing the
7843 state of an element currently changing state asynchronously, go to
7844 lost-state after commiting the pending state. Makes future calls
7845 to get_state continue to return ASYNC.
7847 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7848 ASYNC when going to PLAYING if we still don't have preroll, as can
7849 happen with live sources.
7851 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7853 * docs/pwg/advanced-types.xml:
7854 Hack long paragraph into 2 chunks as a workaround for buggy
7855 jadetex version in sid and breezy that loops infinitely and
7858 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7860 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7861 (test_event), (timediff), (gstevents_suite):
7862 Provide more error margin in clock measurements to allow for
7863 g_get_current_time inaccuracies.
7865 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7867 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7868 (test_event), (timediff), (gstevents_suite):
7869 Fix error message output so I might be able to tell why the
7870 test works here but fails on the build farm.
7872 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7874 * check/Makefile.am:
7875 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7876 (test_event), (timediff), (gstevents_suite), (main):
7879 * docs/design/part-seeking.txt:
7882 * docs/gst/tmpl/gstevent.sgml:
7883 * docs/gst/tmpl/gstfakesrc.sgml:
7886 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7887 Treat a buffer-without-newsegment the same as a receiving
7888 a newsegment not in time format, and disable syncing to the clock
7891 * gst/gstbus.c: (gst_bus_set_sync_handler):
7892 Assert if anyone tries to replace the existing sync_handler for bus,
7893 as only the owner should be setting it.
7896 Have a fixed set of custom event enums with events identified by
7897 their structure name (as in 0.8), rather than a free-for-all
7898 allowing collisions between enum values from different plugins.
7900 * gst/gstpad.c: (gst_pad_class_init):
7903 * gst/gstqueue.c: (gst_queue_handle_sink_event):
7904 Handle out-of-band downstream events from the sending thread.
7906 2005-08-17 Andy Wingo <wingo@pobox.com>
7908 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7909 play-timeout==0 to mean no timeout at all. In that case, don't
7910 bother with a get_state or a warning, just return directly, even
7913 * gst/base/gstbasetransform.c: Debug changes.
7916 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7917 ensure bins post state change messages. A bit of a hack but I can't
7918 think of a way to avoid it.
7920 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7922 2005-08-16 Andy Wingo <wingo@pobox.com>
7924 * gst/base/gstadapter.h:
7925 * gst/base/gstadapter.c (gst_adapter_take): New function, like
7926 peek() but you own the data. Not terribly efficient atm.
7928 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7930 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7931 (gst_element_found_tags):
7933 Add two utility functions for tag handling.
7935 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7937 * docs/manual/advanced-dataaccess.xml:
7938 * docs/manual/basics-helloworld.xml:
7939 Fix docs to use _bin_add() before _link(), which fixes the examples
7940 with recent core versions (reported by Madhan Raj M
7941 <raj_madan@rediffmail.com>, #313199).
7943 2005-08-16 Wim Taymans <wim@fluendo.com>
7945 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7946 Added subtract checks.
7948 * docs/design/part-events.txt:
7949 Some more docs about newsegment
7951 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7954 * gst/gstcaps.c: (gst_caps_to_string):
7955 Add comments, cleanups.
7957 * gst/gstelement.c: (gst_element_save_thyself):
7960 * gst/gstvalue.c: (gst_value_collect_int_range),
7961 (gst_string_unwrap), (gst_value_union_int_int_range),
7962 (gst_value_union_int_range_int_range),
7963 (gst_value_intersect_int_int_range),
7964 (gst_value_intersect_int_range_int_range),
7965 (gst_value_intersect_double_double_range),
7966 (gst_value_intersect_double_range_double_range),
7967 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7968 (gst_value_subtract_int_range_int),
7969 (gst_value_subtract_double_range_double),
7970 (gst_value_subtract_double_range_double_range),
7971 (gst_value_subtract_from_list), (gst_value_subtract_list),
7972 (gst_value_can_compare), (gst_value_compare_fraction):
7973 Cleanups, add comments, remove unneeded asserts.
7975 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
7977 * tools/gst-launch.c: (event_loop):
7978 don't convert NULL structures to strings
7980 2005-08-15 Stefan Kost <ensonic@users.sf.net>
7982 * docs/gst/gstreamer-sections.txt:
7983 made some defines private
7984 * docs/gst/tmpl/gstconfig.sgml:
7985 * docs/gst/tmpl/gstqueue.sgml:
7986 * docs/gst/tmpl/gsttaglist.sgml:
7987 * docs/gst/tmpl/gsttypes.sgml:
7988 * docs/gst/tmpl/gstutils.sgml:
7989 * docs/pwg/appendix-porting.xml:
7990 * gst/base/gstbasesink.h:
7991 * gst/base/gstbasesrc.c:
7992 * gst/base/gstbasesrc.h:
7993 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7994 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7995 * gst/gstelement.c: (gst_element_class_init):
7996 * gst/gstpad.c: (gst_pad_class_init):
7997 * gst/gstqueue.c: (gst_queue_class_init):
7998 * gst/gstxml.c: (gst_xml_class_init):
7999 documented all undocumented signal inline
8000 * libs/gst/controller/gst-controller.h:
8003 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8005 * docs/pwg/appendix-porting.xml:
8006 Document _set_link_function -> _set_setcaps_function.
8008 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8010 * check/Makefile.am:
8011 add a .check target for running the check
8012 * check/gst-libs/controller.c: (GST_START_TEST):
8014 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8015 complete checks for gstbuffer; would be nice if I could get the
8016 gcov stuff to work so I can see if I actually completed gstbuffer.c
8018 add ASSERT_BUFFER_REFCOUNT
8020 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
8022 * docs/gst/gstreamer-sections.txt:
8023 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8025 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8026 spew out a warning if a tag that is already registered
8027 is re-registered, unless it is re-registered with a
8028 different type (#308438).
8030 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
8032 * docs/pwg/appendix-porting.xml:
8033 * docs/pwg/building-state.xml:
8034 Add some paragraphs about state changes in 0.9 to the PWG
8035 and the porting guide, in particular about the new meaning
8036 of GST_STATE_PAUSED and how to write state change functions
8037 with concurrent access by multiple threads in mind.
8039 2005-08-11 Stefan Kost <ensonic@users.sf.net>
8041 * docs/gst/gstreamer-docs.sgml:
8042 * docs/libs/gstreamer-libs-docs.sgml:
8043 added deprecation and since indexes
8044 * libs/gst/controller/gst-controller.c:
8045 * libs/gst/controller/gst-helper.c:
8049 2005-08-11 Wim Taymans <wim@fluendo.com>
8051 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8052 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8053 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8054 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8055 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8056 (gst_ghost_pad_set_target):
8057 Actually implement (re)setting the target on a ghostpad
8058 as described in the docs.
8060 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8062 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8063 Check whether GST_DEBUG_NO_COLOR environment variable is
8064 set and disable coloured debug output if that is the case.
8066 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8068 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8069 (gst_type_find_helper):
8070 The memory returned by gst_type_find_peek() needs to
8071 stay valid until the end of a typefind function, and
8072 typefind functions may keep results from different
8073 offsets around, so we can't just unref the buffer from
8074 the previous _peek(), but have to save all buffers
8075 returned by _peek() until typefinding is done and only
8078 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
8080 * docs/gst/gstreamer-sections.txt:
8082 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8084 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8086 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8087 Fix a pretty good memleak.
8089 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8091 * gst/gstiterator.h:
8092 Fix wrong include and 'make distcheck'.
8094 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8096 * gst/gstbin.c: (bin_bus_handler):
8097 Use gst_element_post_message() instead.
8099 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8101 * gst/base/gstadapter.h:
8102 * gst/base/gstbasesink.h:
8103 * gst/base/gstbasesrc.h:
8104 * gst/base/gstbasetransform.h:
8105 * gst/base/gstcollectpads.h:
8106 * gst/base/gstpushsrc.h:
8107 * gst/gstiterator.h:
8108 Add padding to our base elements' class and instance structs and
8109 to GstIterator (you will need to rebuild all plugins and apps!)
8111 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8113 * gst/gstbin.c: (bin_bus_handler):
8114 Make default message forwarding from child->bus to bin->bus
8115 threadsafe and make it not emit warnings if the parent has no bus.
8117 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8119 * gst/gstelement.c: (activate_pads):
8120 On paused->ready, set pad->caps to NULL, as is the documented
8121 behaviour in this state change. Fixes playback of series of
8122 media files when visualization is enabled in Totem.
8124 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8126 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8127 Allow NULL as filter-caps (which means "any").
8129 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8131 * docs/libs/gstreamer-libs-sections.txt:
8132 * libs/gst/controller/gst-controller.c:
8133 * libs/gst/controller/gst-controller.h:
8134 * libs/gst/controller/gst-helper.c:
8135 adding more entries to the docs and fix small doc-bugs
8137 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8139 * docs/gst/gstreamer-docs.sgml:
8140 * docs/gst/gstreamer-sections.txt:
8141 * docs/gst/gstreamer.types:
8142 * docs/gst/tmpl/gstbasesink.sgml:
8143 * docs/gst/tmpl/gstbasesrc.sgml:
8144 * docs/gst/tmpl/gstbasetransform.sgml:
8145 * docs/gst/tmpl/gstfakesrc.sgml:
8146 * gst/base/gstcollectpads.c:
8147 * gst/base/gstcollectpads.h:
8148 * libs/gst/controller/gst-controller.c:
8149 * libs/gst/controller/gst-controller.h:
8150 * libs/gst/controller/gst-helper.c:
8151 * libs/gst/controller/gst-interpolation.c:
8152 * libs/gst/controller/lib.c:
8153 added long/short desc for controller docs
8154 added collectpads base class docs
8155 added correct includes to base-class docs
8157 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8159 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8160 (gst_test_mono_source_set_property),
8161 (gst_test_mono_source_class_init), (GST_START_TEST),
8162 (gst_controller_suite):
8163 * docs/gst/gstreamer-docs.sgml:
8164 * docs/gst/gstreamer-sections.txt:
8165 * docs/gst/gstreamer.types:
8166 * docs/libs/gstreamer-libs-docs.sgml:
8167 * docs/libs/gstreamer-libs-sections.txt:
8168 * gst/base/gstadapter.c:
8169 * libs/gst/controller/gst-controller.c:
8170 (gst_controlled_property_new), (gst_controlled_property_free),
8171 (gst_controller_new_valist),
8172 (gst_controller_remove_properties_valist),
8173 (gst_controller_sink_values), (_gst_controller_finalize):
8174 * libs/gst/controller/gst-controller.h:
8175 * libs/gst/controller/gst-helper.c:
8176 (gst_object_control_properties), (gst_object_uncontrol_properties),
8177 (gst_object_get_controller), (gst_object_set_controller),
8178 (gst_object_sink_values), (gst_object_get_value_arrays),
8179 (gst_object_get_value_array):
8180 more tests (and fixes) for the controller
8181 more docs for the controller
8182 integrated companies docs for the adapter
8184 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
8186 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8187 (GST_START_TEST), (fakesrc_suite):
8188 add tests for sizetype
8190 2005-08-04 Andy Wingo <wingo@pobox.com>
8192 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8193 fixes buffer_alloc proxying among other things.
8195 * gst/base/gstbasetransform.c:
8196 * gst/base/gstbasetransform.h:
8197 Revert patch to gstbasetransform from 7-28 removing
8200 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8201 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8202 Semantics changed, should return not the size of the output buffer
8203 but the byte size of a buffer with a given caps.
8205 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8207 (gst_base_transform_configure_caps): Don't set out_size here: (in,
8208 out) are not the pad caps until setcaps finishes.
8209 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8210 not-in-place case as well. Deal with changing from in-place to
8211 not-in-place within calling pad_alloc_buffer. Still a bit
8212 concerned about the overhead here...
8214 2005-08-03 Andy Wingo <wingo@pobox.com>
8216 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8217 fixating is an error.
8219 2005-08-04 Edward Hervey <edward@fluendo.com>
8221 * gst/base/gstadapter.h:
8222 Added gst_adapter_get_type() to the header
8224 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8226 * check/Makefile.am:
8227 * check/gst-libs/controller.c:
8228 * libs/gst/controller/gst-controller.c:
8229 (gst_controller_new_valist):
8230 added check test suite for the controller
8231 * gst/base/gstpushsrc.c:
8234 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8236 * docs/gst/Makefile.am:
8237 * docs/gst/gstreamer-docs.sgml:
8238 * docs/gst/gstreamer-sections.txt:
8239 * docs/gst/gstreamer.types:
8240 * docs/gst/tmpl/gstfakesrc.sgml:
8242 * gst/base/gstbasesink.c:
8243 * gst/base/gstbasesink.h:
8244 * gst/base/gstbasesrc.c:
8245 * gst/base/gstbasesrc.h:
8246 * gst/base/gstbasetransform.c:
8247 * gst/base/gstpushsrc.c:
8248 * gst/base/gstpushsrc.h:
8249 add short/long description docs to base classes
8250 add pushsrc to the docs
8251 remove consolidated doc fragments
8253 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8256 * docs/libs/Makefile.am:
8257 * docs/libs/gstreamer-libs-docs.sgml:
8258 * docs/libs/gstreamer-libs-sections.txt:
8259 * docs/libs/gstreamer-libs.types:
8260 * examples/Makefile.am:
8261 * examples/controller/.cvsignore:
8262 * examples/controller/Makefile.am:
8263 * examples/controller/audio-example.c: (main):
8264 * libs/gst/Makefile.am:
8265 * libs/gst/controller/.cvsignore:
8266 * libs/gst/controller/Makefile.am:
8267 * libs/gst/controller/gst-controller.c:
8268 (on_object_controlled_property_changed), (gst_timed_value_compare),
8269 (gst_timed_value_find),
8270 (gst_controlled_property_set_interpolation_mode),
8271 (gst_controlled_property_new), (gst_controlled_property_free),
8272 (gst_controller_find_controlled_property),
8273 (gst_controller_new_valist), (gst_controller_new),
8274 (gst_controller_remove_properties_valist),
8275 (gst_controller_remove_properties), (gst_controller_set),
8276 (gst_controller_set_from_list), (gst_controller_unset),
8277 (gst_controller_get), (gst_controller_get_all),
8278 (gst_controller_sink_values), (gst_controller_get_value_arrays),
8279 (gst_controller_get_value_array),
8280 (gst_controller_set_interpolation_mode),
8281 (_gst_controller_finalize), (_gst_controller_init),
8282 (_gst_controller_class_init), (gst_controller_get_type):
8283 * libs/gst/controller/gst-controller.h:
8284 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8285 (g_object_uncontrol_properties), (g_object_get_controller),
8286 (g_object_set_controller), (g_object_sink_values),
8287 (g_object_get_value_arrays), (g_object_get_value_array):
8288 * libs/gst/controller/gst-interpolation.c:
8289 (gst_controlled_property_find_timed_value_node),
8290 (interpolate_none_get), (interpolate_trigger_get),
8291 (interpolate_trigger_get_value_array):
8292 * libs/gst/controller/lib.c: (gst_controller_init):
8293 * pkgconfig/Makefile.am:
8294 * pkgconfig/gstreamer-control-uninstalled.pc.in:
8295 * pkgconfig/gstreamer-control.pc.in:
8296 * testsuite/Makefile.am:
8297 * testsuite/controller/.cvsignore:
8298 * testsuite/controller/Makefile.am:
8299 * testsuite/controller/interpolator.c: (main):
8300 added controller code
8301 removed dparam pc files
8303 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8304 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8305 (gst_collectpads_stop):
8306 Broadcast the condition when shutting down, to make sure we wake all
8307 threads up. Shut down pads on finalize, for safety.
8309 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8310 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8311 (gst_base_transform_handle_buffer),
8312 (gst_base_transform_change_state):
8313 Handle PAUSED->READY->PAUSED transition after negotiation
8315 * gst/gstmessage.c: (gst_message_init):
8316 Extra piece of debug for new messages.
8318 2005-08-01 Stefan Kost <ensonic@users.sf.net>
8321 * docs/gst/tmpl/gstbasesrc.sgml:
8322 * docs/gst/tmpl/gstelement.sgml:
8323 * docs/gst/tmpl/gstevent.sgml:
8324 * docs/gst/tmpl/gstfakesrc.sgml:
8325 * docs/gst/tmpl/gstformat.sgml:
8326 * docs/gst/tmpl/gstghostpad.sgml:
8327 * docs/gst/tmpl/gstpad.sgml:
8328 * docs/gst/tmpl/gstquery.sgml:
8329 * docs/gst/tmpl/gststructure.sgml:
8330 * docs/gst/tmpl/gsttaglist.sgml:
8331 * docs/gst/tmpl/gstvalue.sgml:
8332 * docs/libs/gstreamer-libs-docs.sgml:
8333 * docs/libs/gstreamer-libs-sections.txt:
8334 * docs/libs/gstreamer-libs.types:
8335 * libs/gst/Makefile.am:
8336 * libs/gst/control/.cvsignore:
8337 * libs/gst/control/Makefile.am:
8338 * libs/gst/control/control.c:
8339 * libs/gst/control/control.h:
8340 * libs/gst/control/dparam.c:
8341 * libs/gst/control/dparam.h:
8342 * libs/gst/control/dparam_smooth.c:
8343 * libs/gst/control/dparam_smooth.h:
8344 * libs/gst/control/dparamcommon.h:
8345 * libs/gst/control/dparammanager.c:
8346 * libs/gst/control/dparammanager.h:
8347 * libs/gst/control/dplinearinterp.c:
8348 * libs/gst/control/dplinearinterp.h:
8349 * libs/gst/control/unitconvert.c:
8350 * libs/gst/control/unitconvert.h:
8351 * testsuite/Makefile.am:
8352 * testsuite/dynparams/.cvsignore:
8353 * testsuite/dynparams/Makefile.am:
8354 * testsuite/dynparams/dparamstest.c:
8355 * tools/Makefile.am:
8356 * tools/gst-inspect.c: (print_element_info), (main):
8357 * tools/gst-xmlinspect.c: (print_element_info), (main):
8358 deactivate and remove dparams (libgstcontrol)
8360 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8362 * gst/elements/gsttypefindelement.c:
8363 (gst_type_find_element_have_type), (gst_type_find_element_init),
8364 (stop_typefinding), (gst_type_find_element_handle_event),
8365 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8366 * gst/elements/gsttypefindelement.h:
8367 Set caps on all outgoing buffers, not just the first one.
8369 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8371 * gst/elements/gsttypefindelement.c:
8372 (gst_type_find_element_have_type),
8373 (gst_type_find_element_check_set_buffer_caps),
8374 (gst_type_find_element_init), (stop_typefinding),
8375 (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 first outgoing buffer when we've found the type.
8380 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8382 * docs/gst/gstreamer-docs.sgml:
8383 * docs/gst/gstreamer-sections.txt:
8384 * docs/gst/tmpl/gstscheduler.sgml:
8385 * docs/gst/tmpl/gstschedulerfactory.sgml:
8386 Remove some old cruft from docs.
8388 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
8391 Fix inline docs for GstPadLinkReturn.
8393 * gst/gststructure.c: (gst_structure_has_name):
8394 * gst/gststructure.h:
8395 * docs/gst/gstreamer-sections.txt:
8396 New API: gst_structure_has_name().
8398 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
8401 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8402 and _LARGEFILE_SOURCE in config.h as required. Do not
8403 export those flags in our .pc files any longer (#142209).
8405 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8407 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8408 (gst_file_sink_do_seek), (gst_file_sink_event),
8409 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8410 Redo seek/tell calls with large file support in mind; add some
8411 debugging messages; add log message that tells us when large
8412 file support is unavailable or not enabled for some reason.
8414 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8415 Add log message that tells us when large file support
8416 is unavailable or not enabled for some reason.
8418 2005-07-29 Wim Taymans <wim@fluendo.com>
8420 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8421 Added test for removing an element with ghostpad from a bin.
8422 Fixed test as current implementation does the right thing.
8424 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8425 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8426 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8427 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8428 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8429 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8430 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8431 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8432 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8433 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8434 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8435 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8436 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8437 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8438 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8439 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8440 * gst/gstghostpad.h:
8441 Clean up ghostpads, remove properties for internal stuff.
8444 Prepare for switching targets, not all use cases work yet.
8446 2005-07-29 Wim Taymans <wim@fluendo.com>
8448 * docs/design/part-gstghostpad.txt:
8451 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8452 (gst_bin_remove_func):
8453 Unlinking pads while holding the bin LOCK is not a good
8456 * gst/gstpad.c: (gst_pad_class_init),
8457 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8458 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8459 No prob setting template after creating the pad.
8461 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
8463 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8464 (gst_bus_peek), (gst_bus_source_dispatch),
8465 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8466 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8467 gst_bus_poll may be called from other threads. Handle
8468 this nicely by not making poll_data disappear off the
8469 stack once gst_bus_poll returns.
8470 gst_bus_peek now increments the refcount on the returned
8473 2005-07-29 Wim Taymans <wim@fluendo.com>
8475 * docs/design/part-gstghostpad.txt:
8476 Overview of current GhostPad datastructures and use
8477 cases for changing the target.
8479 2005-07-28 Wim Taymans <wim@fluendo.com>
8481 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8482 Added checks for hierarchy consistency whan adding linked
8485 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8486 Added check to test element scheduling without bin/pipeline.
8488 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8489 First add elements to bin, then link.
8491 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8492 (gst_bin_remove_func):
8493 Unlink pads from elements added/removed from bin to maintain
8494 hierarchy consistency.
8496 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8498 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8499 (gst_base_transform_handle_buffer):
8500 * gst/base/gstbasetransform.h:
8501 Remove broken delay_configure (fixes renegotiation of software
8502 scaling pipelines); remove some leftover printf()s.
8504 2005-07-28 Wim Taymans <wim@fluendo.com>
8506 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8507 Added some more tests for wrong hierarchy
8509 * docs/design/part-overview.txt:
8512 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8515 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8516 (gst_element_dispose):
8519 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8520 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8521 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8522 (gst_pad_set_caps), (gst_pad_send_event):
8523 Check for correct hierarchy when linking pads. Moving to
8524 strict requirement for ghostpads when linking elements in
8528 Clean ups. Added WRONG_HIERARCHY return value.
8530 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8532 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8533 Better debug if no transform is possible.
8535 2005-07-27 Wim Taymans <wim@fluendo.com>
8537 * docs/random/wtay/network-transp:
8540 2005-07-27 Wim Taymans <wim@fluendo.com>
8542 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8543 (gst_dp_event_from_packet):
8544 Fix serialization of seek events.
8546 2005-07-27 Wim Taymans <wim@fluendo.com>
8548 * check/gst-libs/gdp.c: (GST_START_TEST):
8549 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8550 Fix compilation and fix event serialization.
8552 2005-07-27 Wim Taymans <wim@fluendo.com>
8555 * docs/design/part-TODO.txt:
8556 * docs/design/part-events.txt:
8559 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8560 (gst_base_sink_event), (gst_base_sink_do_sync),
8561 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8562 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8563 (gst_base_src_do_seek), (gst_base_src_event_handler),
8564 (gst_base_src_loop):
8565 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8566 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8567 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8568 (gst_base_transform_event), (gst_base_transform_handle_buffer),
8569 (gst_base_transform_set_passthrough),
8570 (gst_base_transform_is_passthrough):
8571 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8572 * gst/elements/gstfilesink.c: (gst_file_sink_event):
8578 * gst/gstelement.c: (gst_element_seek):
8580 Update gst_element_seek.
8582 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8583 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8584 (gst_event_new_flush_start), (gst_event_new_flush_stop),
8585 (gst_event_new_eos), (gst_event_new_newsegment),
8586 (gst_event_parse_newsegment), (gst_event_new_tag),
8587 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8588 (gst_event_parse_qos), (gst_event_new_seek),
8589 (gst_event_parse_seek), (gst_event_new_navigation):
8591 Make GstEvent use GstStructure. Add parsing code, make sure the
8592 API is sufficiently generic.
8593 Mark possible directions of events and serialization.
8595 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8596 (_gst_message_copy), (gst_message_new_segment_start),
8597 (gst_message_new_segment_done), (gst_message_new_custom),
8598 (gst_message_parse_segment_start),
8599 (gst_message_parse_segment_done):
8602 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8603 (gst_pad_set_caps), (gst_pad_send_event):
8604 Update for new events.
8605 Catch events sent in wrong directions.
8607 * gst/gstqueue.c: (gst_queue_link_src),
8608 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8609 (gst_queue_handle_src_query):
8614 Remove event code from this file.
8616 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8617 (gst_dp_event_from_packet):
8620 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8622 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8623 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8624 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8625 Make debugging actually useful.
8627 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8629 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8630 (gst_pad_fixate_caps):
8631 Implement default fixation once again, so that gst_pad_fixate()
8632 actually does anything at all. This probably needs to be some
8633 sort of a last resort, and use profile-based fixation first, but
8634 since that doesn't exist yet, this is the best we have. Fixes
8635 visualization in Totem.
8637 2005-07-22 Wim Taymans <wim@fluendo.com>
8639 * docs/design/part-events.txt:
8642 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8643 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8644 (gst_base_sink_activate_pull):
8647 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8648 (gst_fake_src_create):
8649 Fix handoff marshall.
8651 * gst/elements/gstidentity.c: (gst_identity_class_init),
8652 (gst_identity_transform_ip):
8653 We're a real inplace element.
8655 * gst/gstbus.c: (gst_bus_post):
8656 Added some comments.
8658 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8659 * tests/muxing/case1.c: (main):
8660 * tests/sched/dynamic-pipeline.c: (main):
8661 * tests/sched/interrupt1.c: (main):
8662 * tests/sched/interrupt2.c: (main):
8663 * tests/sched/interrupt3.c: (main):
8664 * tests/sched/runxml.c: (main):
8665 * tests/sched/sched-stress.c: (main):
8666 * tests/seeking/seeking1.c: (event_received), (main):
8667 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8669 * tests/threadstate/threadstate3.c: (main):
8670 * tests/threadstate/threadstate4.c: (main):
8671 * tests/threadstate/threadstate5.c: (main):
8674 2005-07-21 Wim Taymans <wim@fluendo.com>
8676 * docs/design/part-seeking.txt:
8677 Some small additions.
8679 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8680 (gst_base_sink_get_times), (gst_base_sink_do_sync),
8681 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8682 * gst/base/gstbasesink.h:
8683 discont values are gint64, handle the math correctly.
8685 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8686 Make the basesrc report error if the source pad is not linked.
8688 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8689 (gst_queue_loop), (gst_queue_handle_src_query),
8690 (gst_queue_src_activate_push):
8691 Make queue collect data even if the srcpad is not linked.
8692 Start pushing out data as soon as it is linked.
8694 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8696 Added gst_flow_get_name() to ease error reporting.
8698 2005-07-20 Wim Taymans <wim@fluendo.com>
8700 * gst/gstmessage.c: (gst_message_new_segment_start),
8701 (gst_message_new_segment_done), (gst_message_parse_segment_start),
8702 (gst_message_parse_segment_done):
8704 Added a bunch of messages for advanced seeking.
8706 * gst/parse/grammar.y:
8707 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8708 (gst_dpman_state_changed):
8709 Fix some new-pad -> pad-added signals
8711 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8713 * docs/manual/appendix-porting.xml:
8714 * docs/pwg/appendix-porting.xml:
8715 Document new-pad/state-change signal renames and the FixedList
8718 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8720 * docs/manual/advanced-autoplugging.xml:
8721 * docs/manual/basics-helloworld.xml:
8722 * docs/manual/basics-pads.xml:
8723 * docs/random/ds/0.9-suggested-changes:
8724 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8729 * gst/gststructure.c: (gst_structure_value_get_generic_type),
8730 (gst_structure_parse_array), (gst_structure_parse_value):
8731 * gst/gstvalue.c: (gst_type_is_fixed),
8732 (gst_value_list_prepend_value), (gst_value_list_append_value),
8733 (gst_value_list_get_size), (gst_value_list_get_value),
8734 (gst_value_transform_array_string), (gst_value_serialize_array),
8735 (gst_value_deserialize_array), (gst_value_intersect_array),
8736 (gst_value_is_fixed), (_gst_value_initialize):
8738 GstElement::new-pad -> pad-added, GstElement::state-change ->
8739 state-changed, GstValueFixedList -> GstValueArray, add format and
8740 flags as their own arguments in gst_element_seek() (should improve
8741 "bindeability"), remove function generators since they don't work
8742 under a whole bunch of compilers (they were deprecated already
8745 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8747 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8748 (_gst_debug_register_funcptr):
8750 Fix illegal cast on some platforms (#309253).
8752 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8754 * gst/gstmessage.c: (gst_message_new_custom):
8756 Add _new_custom, make _new_application a macro to _new_custom.
8758 2005-07-20 Wim Taymans <wim@fluendo.com>
8760 * gst/base/gstbasesrc.c: (gst_base_src_init),
8761 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8762 * gst/base/gstbasesrc.h:
8763 Add a gboolean to decide when to push out a discont.
8765 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8766 (gst_queue_loop), (gst_queue_handle_src_query),
8767 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8768 (gst_queue_set_property), (gst_queue_get_property):
8771 * tests/threadstate/threadstate1.c: (main):
8772 Make a thread test compile and run... very silly..
8775 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8777 * docs/manual/appendix-porting.xml:
8778 Mention removal of libgstgconf-0.9.la and existence of gconf
8781 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8783 * docs/pwg/advanced-clock.xml:
8784 * docs/pwg/appendix-porting.xml:
8785 * docs/pwg/intro-preface.xml:
8786 * docs/pwg/other-base.xml:
8787 * docs/pwg/other-manager.xml:
8788 * docs/pwg/other-nton.xml:
8789 * docs/pwg/other-ntoone.xml:
8790 * docs/pwg/other-oneton.xml:
8792 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8793 demuxer), remove n-to-n (was never written), fix some code examples
8794 and links and update the porting section to include all this.
8796 2005-07-19 Wim Taymans <wim@fluendo.com>
8798 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8799 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8800 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8801 (gst_queue_src_activate_push), (gst_queue_change_state),
8802 (gst_queue_get_property):
8804 Propagate GstFlowReturn more intelligently upstream and output
8805 an ERROR/EOS when streaming stopped due to fatal error.
8807 2005-07-19 Wim Taymans <wim@fluendo.com>
8809 * tools/gst-launch.c: (check_intr), (event_loop), (main):
8810 Don't block forever for the state change to complete, the
8811 pipeline already did with a sensible timeout.
8813 2005-07-19 Wim Taymans <wim@fluendo.com>
8815 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8816 Make sure we never call the create function is we
8819 2005-07-19 Andy Wingo <wingo@pobox.com>
8821 * gst/parse/parse.l: Attempt to solve bug #172815.
8823 2005-07-19 Wim Taymans <wim@fluendo.com>
8825 * docs/design/part-clocks.txt:
8826 * docs/design/part-events.txt:
8827 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8829 Only update the seeking values when we are not
8832 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
8834 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8835 Oops, ignore the result of gst_pad_push_event here.
8837 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
8839 * gst/base/gstbasesrc.c: (gst_base_src_loop),
8840 (gst_base_src_activate_push):
8841 Send discont event from the loop function, as pads
8842 aren't activated yet in the activate_push handler.
8844 * gst/gstbin.c: (bin_bus_handler):
8845 Don't leak element name.
8847 2005-07-18 Andy Wingo <wingo@pobox.com>
8849 * configure.ac: Use AS_LIBTOOL_TAGS.
8851 2005-07-18 Wim Taymans <wim@fluendo.com>
8853 * docs/gst/gstreamer.types:
8854 Remove deleted types.
8856 2005-07-18 Wim Taymans <wim@fluendo.com>
8858 * check/elements/gstfakesrc.c: (GST_START_TEST):
8861 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8862 (init_popt_callback):
8864 * gst/gst_private.h:
8865 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8866 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8869 * gst/gstconfig.h.in:
8870 * gst/gstelement.c: (gst_element_class_init),
8871 (gst_element_set_base_time), (gst_element_get_base_time),
8872 (iterator_fold_with_resync), (gst_element_change_state),
8873 (gst_element_dispose), (gst_element_get_bus):
8875 * gst/gstelementfactory.h:
8876 * gst/gsterror.c: (_gst_core_errors_init):
8879 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8881 * gst/gstinfo.c: (_gst_debug_init):
8882 * gst/gstmessage.c: (_gst_message_copy):
8884 * gst/gstminiobject.h:
8887 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8888 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8891 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8892 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8893 (gst_pipeline_get_last_stream_time):
8894 * gst/gstpipeline.h:
8895 * gst/gstpluginfeature.h:
8897 * gst/gstscheduler.c:
8898 * gst/gstscheduler.h:
8899 * gst/gststructure.h:
8900 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8901 (gst_task_finalize), (gst_task_func), (gst_task_create),
8902 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8903 (gst_task_stop), (gst_task_pause):
8905 * gst/gsttypefind.h:
8907 * gst/registries/gstlibxmlregistry.c: (load_feature),
8908 (gst_xml_registry_load), (gst_xml_registry_save_feature):
8909 * gst/registries/gstxmlregistry.c:
8910 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8911 * gst/schedulers/threadscheduler.c:
8912 * libs/gst/control/dparammanager.h:
8913 * tools/gst-inspect.c: (print_element_list),
8914 (print_plugin_features), (print_element_features):
8915 * tools/gst-xmlinspect.c: (print_element_list),
8916 (print_plugin_info), (main):
8917 Removed plugable schedulers.
8918 Removed Scheduler/Manager from elements.
8919 Removed gsttypes.h, rearranged includes.
8920 Removed dependency pad<->element, element<>pipeline, and
8921 various others, fix includes.
8922 implement gst_pad_get_parent() with gst_object_get_parent()
8923 Make GstTask sefcontained.
8924 Fix _get_state() on GstBin, it did not return ASYNC with a 0
8926 Fix endless loop in iterator_fold_with_resync.
8929 2005-07-18 Wim Taymans <wim@fluendo.com>
8935 2005-07-18 Wim Taymans <wim@fluendo.com>
8940 2005-07-18 Wim Taymans <wim@fluendo.com>
8946 2005-07-18 Wim Taymans <wim@fluendo.com>
8948 * docs/design/part-dynamic.txt:
8949 * docs/design/part-events.txt:
8950 * docs/design/part-seeking.txt:
8951 Some more docs in the works.
8953 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8954 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8955 (gst_base_transform_setcaps), (gst_base_transform_get_size),
8956 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8957 (gst_base_transform_handle_buffer),
8958 (gst_base_transform_sink_activate_push),
8959 (gst_base_transform_src_activate_pull),
8960 (gst_base_transform_set_passthrough),
8961 (gst_base_transform_is_passthrough):
8964 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8967 * gst/gstevent.c: (gst_event_finalize):
8970 * gst/gstutils.c: (gst_element_unlink),
8971 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8972 (gst_pad_proxy_setcaps):
8974 Add _get_parent_element() to get a pads parent as an element.
8976 2005-07-18 Wim Taymans <wim@fluendo.com>
8978 * check/gst/gstbin.c: (GST_START_TEST):
8981 2005-07-18 Wim Taymans <wim@fluendo.com>
8983 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8984 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8985 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8986 (gst_base_sink_event), (gst_base_sink_do_sync),
8987 (gst_base_sink_chain), (gst_base_sink_loop),
8988 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8989 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8991 Fix logic for returning ASYNC when not prerolled.
8993 2005-07-18 Wim Taymans <wim@fluendo.com>
8995 * gst/gstqueue.c: (gst_queue_handle_sink_event):
8996 Fix nasty refcount bug.
8998 2005-07-16 Philippe Khalaf <burger@speedy.org>
9000 * gst/elements/gstfdsrc.c:
9001 * gst/elements/gstfdsrc.h:
9002 * gst/elements/gstelements.c:
9003 * gst/elements/Makefile.am:
9004 Ported fdsrc to 0.9.
9006 2005-07-16 Wim Taymans <wim@fluendo.com>
9008 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9009 (gst_base_sink_do_sync):
9012 2005-07-16 Wim Taymans <wim@fluendo.com>
9014 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9015 (gst_base_sink_event), (gst_base_sink_get_times),
9016 (gst_base_sink_do_sync), (gst_base_sink_change_state):
9017 * gst/base/gstbasesink.h:
9018 Store and use discont values when syncing buffers as described
9021 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9022 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9023 (gst_base_src_activate_push):
9024 Push discont event when starting.
9026 * gst/elements/gstidentity.c: (gst_identity_transform):
9029 * gst/gstbin.c: (gst_bin_change_state):
9030 Small cleanups in base_time distribution.
9032 * gst/gstelement.c: (gst_element_set_base_time),
9033 (gst_element_get_base_time), (gst_element_change_state):
9035 Added methods for the base_time of the element.
9038 * gst/gstpipeline.c: (gst_pipeline_send_event),
9039 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9040 (gst_pipeline_get_last_stream_time):
9041 * gst/gstpipeline.h:
9043 Handle seeking as described in design doc, remove stream_time
9045 Cleanups clock and stream_time selection code. Added accessors
9046 for the stream_time.
9049 2005-07-16 Andy Wingo <wingo@pobox.com>
9051 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9054 2005-07-16 Wim Taymans <wim@fluendo.com>
9056 * check/gst/gstbin.c: (GST_START_TEST):
9057 Make elements silent as the deep_notify refs the
9058 parent, which might make the test fail.
9060 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9061 Don't hold the lock for too long.
9063 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
9065 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9066 Don't unref the caps we passed to gst_caps_make_writable() after
9067 passing them. gst_caps_make_writable() will do that for us.
9069 2005-07-15 Andy Wingo <wingo@pobox.com>
9071 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9074 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9075 own marshalling function for the handoff signal. Properly type the
9076 buffer as a buffer. Fixes some warnings. Should do a more general
9078 (gst_identity_class_init): Plug into the right marshaller.
9080 2005-07-15 Wim Taymans <wim@fluendo.com>
9082 * docs/design/part-TODO.txt:
9083 * docs/design/part-clocks.txt:
9084 * docs/design/part-element-sink.txt:
9085 * docs/design/part-events.txt:
9086 * docs/design/part-gstpipeline.txt:
9087 Updated docs, mostly DISCONT related.
9089 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
9091 * docs/pwg/building-pads.xml:
9092 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9094 2005-07-15 Andy Wingo <wingo@pobox.com>
9096 * tools/gst-typefind.c: Update, add copyright block.
9098 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9099 Normalize and truncate caps before fixation.
9102 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9103 discards all but the first structure from its argument.
9105 2005-07-15 Wim Taymans <wim@fluendo.com>
9107 * gst/base/gstbasetransform.c: (gst_base_transform_init),
9108 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9109 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9110 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9111 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9112 (gst_base_transform_chain), (gst_base_transform_change_state),
9113 (gst_base_transform_set_passthrough),
9114 (gst_base_transform_is_passthrough):
9115 * gst/base/gstbasetransform.h:
9116 Make passthrough work using the bufferpools.
9117 Changed API a bit, subclasses have to write into a buffer
9118 provided by the base class.
9119 More debug info in nego functions.
9121 * gst/elements/gstidentity.c: (gst_identity_init),
9122 (gst_identity_transform):
9123 Port to new base class.
9125 2005-07-15 Wim Taymans <wim@fluendo.com>
9127 * gst/gstmessage.c: (gst_message_new_state_changed):
9128 * tools/gst-launch.c: (event_loop), (main):
9129 Totally dump messages in -launch with the -m option.
9130 Fix message name for State messages,
9132 2005-07-14 Wim Taymans <wim@fluendo.com>
9134 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9135 Post error messages on errors.
9137 2005-07-14 Wim Taymans <wim@fluendo.com>
9139 * gst/gstcaps.c: (gst_caps_do_simplify):
9143 Define error for stream stopped.
9145 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9146 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9147 Do proper return values.
9149 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9150 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9151 (gst_pad_get_range):
9152 Better return values.
9155 Reorganise return values, add macro to check for fatal errors.
9157 * gst/gstqueue.c: (gst_queue_chain):
9158 Return proper GstFlowReturn values,
9160 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
9162 * docs/gst/gstreamer-sections.txt:
9163 * docs/gst/gstreamer.types:
9164 * docs/gst/tmpl/gst.sgml:
9165 * docs/gst/tmpl/gstbasesink.sgml:
9166 * docs/gst/tmpl/gstbasesrc.sgml:
9167 * docs/gst/tmpl/gstbasetransform.sgml:
9168 * docs/gst/tmpl/gstbin.sgml:
9169 * docs/gst/tmpl/gstbuffer.sgml:
9170 * docs/gst/tmpl/gstcaps.sgml:
9171 * docs/gst/tmpl/gstclock.sgml:
9172 * docs/gst/tmpl/gstcompat.sgml:
9173 * docs/gst/tmpl/gstconfig.sgml:
9174 * docs/gst/tmpl/gstelement.sgml:
9175 * docs/gst/tmpl/gstelementdetails.sgml:
9176 * docs/gst/tmpl/gstelementfactory.sgml:
9177 * docs/gst/tmpl/gstenumtypes.sgml:
9178 * docs/gst/tmpl/gsterror.sgml:
9179 * docs/gst/tmpl/gstevent.sgml:
9180 * docs/gst/tmpl/gstfakesink.sgml:
9181 * docs/gst/tmpl/gstfakesrc.sgml:
9182 * docs/gst/tmpl/gstfilesink.sgml:
9183 * docs/gst/tmpl/gstfilesrc.sgml:
9184 * docs/gst/tmpl/gstfilter.sgml:
9185 * docs/gst/tmpl/gstformat.sgml:
9186 * docs/gst/tmpl/gstghostpad.sgml:
9187 * docs/gst/tmpl/gstimplementsinterface.sgml:
9188 * docs/gst/tmpl/gstindex.sgml:
9189 * docs/gst/tmpl/gstindexfactory.sgml:
9190 * docs/gst/tmpl/gstinfo.sgml:
9191 * docs/gst/tmpl/gstiterator.sgml:
9192 * docs/gst/tmpl/gstmacros.sgml:
9193 * docs/gst/tmpl/gstmemchunk.sgml:
9194 * docs/gst/tmpl/gstminiobject.sgml:
9195 * docs/gst/tmpl/gstobject.sgml:
9196 * docs/gst/tmpl/gstpad.sgml:
9197 * docs/gst/tmpl/gstpadtemplate.sgml:
9198 * docs/gst/tmpl/gstparse.sgml:
9199 * docs/gst/tmpl/gstpipeline.sgml:
9200 * docs/gst/tmpl/gstplugin.sgml:
9201 * docs/gst/tmpl/gstpluginfeature.sgml:
9202 * docs/gst/tmpl/gstquery.sgml:
9203 * docs/gst/tmpl/gstqueue.sgml:
9204 * docs/gst/tmpl/gstregistry.sgml:
9205 * docs/gst/tmpl/gstregistrypool.sgml:
9206 * docs/gst/tmpl/gstscheduler.sgml:
9207 * docs/gst/tmpl/gstschedulerfactory.sgml:
9208 * docs/gst/tmpl/gststructure.sgml:
9209 * docs/gst/tmpl/gstsystemclock.sgml:
9210 * docs/gst/tmpl/gsttaglist.sgml:
9211 * docs/gst/tmpl/gsttagsetter.sgml:
9212 * docs/gst/tmpl/gsttrace.sgml:
9213 * docs/gst/tmpl/gsttrashstack.sgml:
9214 * docs/gst/tmpl/gsttypefind.sgml:
9215 * docs/gst/tmpl/gsttypefindfactory.sgml:
9216 * docs/gst/tmpl/gsttypes.sgml:
9217 * docs/gst/tmpl/gsturihandler.sgml:
9218 * docs/gst/tmpl/gsturitype.sgml:
9219 * docs/gst/tmpl/gstutils.sgml:
9220 * docs/gst/tmpl/gstvalue.sgml:
9221 * docs/gst/tmpl/gstversion.sgml:
9222 * docs/gst/tmpl/gstxml.sgml:
9223 * docs/libs/tmpl/gstcontrol.sgml:
9224 * docs/libs/tmpl/gstdataprotocol.sgml:
9225 * docs/libs/tmpl/gstdparam.sgml:
9226 * docs/libs/tmpl/gstdplinint.sgml:
9227 * docs/libs/tmpl/gstdpman.sgml:
9228 * docs/libs/tmpl/gstdpsmooth.sgml:
9229 * docs/libs/tmpl/gstgetbits.sgml:
9230 * docs/libs/tmpl/gstunitconvert.sgml:
9231 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9232 (gst_push_src_base_init), (gst_push_src_class_init),
9233 (gst_push_src_init), (gst_push_src_create):
9234 * gst/base/gstpushsrc.h:
9235 * gst/elements/gstelements.c:
9236 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9237 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9238 (gst_fake_sink_init), (gst_fake_sink_set_property),
9239 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9240 (gst_fake_sink_event), (gst_fake_sink_preroll),
9241 (gst_fake_sink_render), (gst_fake_sink_change_state):
9242 * gst/elements/gstfakesink.h:
9243 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9244 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9245 (gst_fake_src_base_init), (gst_fake_src_class_init),
9246 (gst_fake_src_init), (gst_fake_src_event_handler),
9247 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9248 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9249 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9250 (gst_fake_src_create_buffer), (gst_fake_src_create),
9251 (gst_fake_src_start), (gst_fake_src_stop):
9252 * gst/elements/gstfakesrc.h:
9253 * gst/elements/gstfilesink.c: (_do_init),
9254 (gst_file_sink_base_init), (gst_file_sink_class_init),
9255 (gst_file_sink_init), (gst_file_sink_dispose),
9256 (gst_file_sink_set_location), (gst_file_sink_set_property),
9257 (gst_file_sink_get_property), (gst_file_sink_open_file),
9258 (gst_file_sink_close_file), (gst_file_sink_query),
9259 (gst_file_sink_event), (gst_file_sink_render),
9260 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9261 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9262 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9263 * gst/elements/gstfilesink.h:
9264 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9265 (gst_file_src_class_init), (gst_file_src_init),
9266 (gst_file_src_finalize), (gst_file_src_set_location),
9267 (gst_file_src_set_property), (gst_file_src_get_property),
9268 (gst_file_src_map_region), (gst_file_src_map_small_region),
9269 (gst_file_src_create_mmap), (gst_file_src_create_read),
9270 (gst_file_src_create), (gst_file_src_is_seekable),
9271 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9272 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9273 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9274 (gst_file_src_uri_handler_init):
9275 * gst/elements/gstfilesrc.h:
9276 more autistic cleanliness in functions/names/defines
9278 2005-07-13 Andy Wingo <wingo@pobox.com>
9280 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9281 source couldn't negotiate.
9283 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9287 * gst/gstutils.c (gst_element_link_pads_filtered): New old
9288 function. I am channeling Hades. Put your boots on suckers!!!
9290 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
9292 * testsuite/caps/Makefile.am:
9293 * testsuite/caps/value_compare.c:
9294 * testsuite/caps/value_intersect.c:
9295 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9296 move two testsuite apps over to the check dir
9298 2005-07-12 Wim Taymans <wim@fluendo.com>
9300 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9301 Added more debug info in the negotiate process.
9304 Prepare for segment playback.
9306 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9312 * tools/gst-launch.c: (main):
9313 NULL pipeline on errors.
9315 2005-07-12 Andy Wingo <wingo@pobox.com>
9317 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9318 not it comes from a malloc region. Make sure our copy gets freed.
9320 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9322 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9323 * check/gst/gstmessage.c: (GST_START_TEST):
9324 * check/gst/gststructure.c: (GST_START_TEST),
9325 (gst_structure_suite), (main):
9327 * gst/gstelement.c: (gst_element_message_full):
9328 clean up GError and debug string now that they get copied
9329 * gst/gstmessage.c: (gst_message_new_error),
9330 (gst_message_new_warning), (gst_message_parse_error),
9331 (gst_message_parse_warning):
9332 use GST_TYPE_G_ERROR for structure_new, and take copies of
9333 arguments, so that we don't mess up refcounting
9335 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9337 * check/Makefile.am:
9338 add per-test valgrind targets
9339 * check/gst-libs/gdp.c: (GST_START_TEST),
9340 (gst_data_protocol_suite), (main):
9343 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9345 * check/Makefile.am:
9346 instate more valgrindable tests
9347 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9348 (GST_START_TEST), (fakesrc_suite):
9349 * check/gst/gstpad.c: (GST_START_TEST):
9350 * check/gst/gststructure.c: (GST_START_TEST):
9352 * docs/gst/tmpl/gstminiobject.sgml:
9353 * gst/gstpad.c: (gst_pad_finalize):
9354 fix the static mutex leak
9356 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9358 * check/Makefile.am:
9359 add two more tests for valgrinding
9360 * check/gst/gstvalue.c: (GST_START_TEST):
9361 test refcount of deserialized buffer, found a leak
9362 * docs/gst/gstreamer-docs.sgml:
9363 * docs/gst/gstreamer-sections.txt:
9364 * docs/gst/gstreamer.types:
9365 * docs/gst/tmpl/gstminiobject.sgml:
9366 add miniobject to docs
9367 * gst/gstminiobject.c:
9369 * gst/gstvalue.c: (gst_value_deserialize_buffer),
9370 (gst_string_unwrap):
9371 fix a hard-to-find invalid write for one of the tests
9372 fix a leak for deserialized buffers
9374 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9376 * docs/pwg/advanced-events.xml:
9377 * docs/pwg/advanced-request.xml:
9378 * docs/pwg/advanced-scheduling.xml:
9379 * docs/pwg/appendix-porting.xml:
9380 * docs/pwg/building-boiler.xml:
9381 * docs/pwg/intro-preface.xml:
9382 * docs/pwg/other-ntoone.xml:
9383 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9384 of example code and explanation for pad activation, loop() and
9385 getrange() functions and a bit more. Remove old comments pointing
9387 * examples/pwg/Makefile.am:
9388 Add loop/getrange examples.
9390 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9393 check for valgrind binary + some fixes
9395 valgrind suppressions for the tests
9396 * check/Makefile.am:
9397 add a valgrind: target that valgrinds the unit tests
9398 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9399 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9400 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9401 * check/gst/gstghostpad.c:
9403 * check/gst/gstdata.c:
9405 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9406 (thread_unref), (gst_mini_object_suite), (main):
9408 * gst/gst.c: (gst_deinit):
9410 add a method to clean up.
9411 * gst/gstsystemclock.c: (gst_system_clock_dispose),
9412 (gst_system_clock_obtain):
9413 allow for disposing the system clock.
9414 * tools/gst-launch.c: (main):
9417 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9419 * docs/gst/tmpl/gstbasesrc.sgml:
9420 * docs/gst/tmpl/gstfakesrc.sgml:
9421 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9422 (gst_base_src_init), (gst_base_src_set_property),
9423 (gst_base_src_get_property), (gst_base_src_get_range),
9424 (gst_base_src_start):
9425 * gst/base/gstbasesrc.h:
9426 add num-buffers property
9427 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9428 (gst_fakesrc_init), (gst_fakesrc_set_property),
9429 (gst_fakesrc_get_property), (gst_fakesrc_create),
9430 (gst_fakesrc_start):
9431 remove num-buffers property
9433 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9435 * docs/gst/gstreamer-sections.txt:
9436 * docs/gst/tmpl/gstbasesink.sgml:
9437 * docs/gst/tmpl/gstbasesrc.sgml:
9438 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9439 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9440 (gst_base_sink_finalize), (gst_base_sink_set_clock),
9441 (gst_base_sink_set_property), (gst_base_sink_get_property),
9442 (gst_base_sink_handle_object), (gst_base_sink_event),
9443 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9444 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9445 (gst_base_sink_loop), (gst_base_sink_deactivate),
9446 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9447 (gst_base_sink_change_state):
9448 * gst/base/gstbasesink.h:
9449 * gst/base/gstbasesrc.h:
9450 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9451 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9452 (gst_filesink_init):
9453 more macro splitting
9455 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9457 * gst/gstelement.c: (gst_element_get_bus):
9459 * tools/gst-launch.c: (check_intr), (event_loop):
9462 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9464 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9467 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9469 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9470 (gst_base_src_finalize):
9471 add finalize method and clean up properly
9472 * gst/gstpipeline.c: (gst_pipeline_dispose):
9475 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9477 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9479 add more things to check
9480 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9484 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9486 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9487 (GST_START_TEST), (fakesrc_suite):
9488 * check/gst-libs/gdp.c: (GST_START_TEST):
9489 * check/gst/gst.c: (GST_START_TEST):
9490 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9491 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9492 * check/gst/gstbus.c: (GST_START_TEST):
9493 * check/gst/gstcaps.c: (GST_START_TEST):
9494 * check/gst/gstdata.c: (GST_START_TEST):
9495 * check/gst/gstelement.c: (GST_START_TEST):
9496 * check/gst/gstghostpad.c: (GST_START_TEST):
9497 * check/gst/gstiterator.c: (GST_START_TEST):
9498 * check/gst/gstmessage.c: (GST_START_TEST):
9499 * check/gst/gstobject.c: (GST_START_TEST):
9500 * check/gst/gstpad.c: (GST_START_TEST):
9501 * check/gst/gststructure.c: (GST_START_TEST):
9502 * check/gst/gstsystemclock.c: (GST_START_TEST),
9503 (gst_systemclock_suite):
9504 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9505 * check/gst/gstvalue.c: (GST_START_TEST):
9506 * check/pipelines/cleanup.c: (GST_START_TEST):
9507 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9508 * check/states/sinks.c: (GST_START_TEST):
9509 * check/gstcheck.c: (gst_check_init):
9511 add debugging category
9512 use GST_START_TEST now, so we add a debug line
9514 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9516 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9517 add test for state change message on a bin
9518 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9520 * gst/gstbin.c: (gst_bin_init):
9521 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9522 * gst/gstelement.c: (gst_element_post_message),
9523 (gst_element_set_state):
9524 * gst/gstelementfactory.c: (gst_element_factory_create):
9525 * gst/gstmessage.c: (gst_message_new):
9526 * gst/gstscheduler.c:
9527 various debugging additions and cleanups
9529 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9531 * check/Makefile.am:
9532 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9534 adding tests for elements
9535 * gst/gstelement.c: (gst_element_dispose):
9537 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9539 * gst/registries/gstlibxmlregistry.c: (load_feature):
9540 plug more leaks. A simple gst_init() now is leakfree, yay.
9542 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9544 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9545 (gst_xml_registry_load):
9546 plug another memleak
9548 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9551 use GST_SET_ERROR_CFLAGS
9553 change to ERROR_CFLAGS
9555 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9558 make GST_ERROR_CFLAGS overridable and re-enable Werror
9560 add a note about error CFLAGS
9561 * docs/gst/tmpl/gstfakesrc.sgml:
9562 * gst/elements/gstfakesrc.c:
9563 comment out some unused code
9564 * gst/gst.c: (split_and_iterate):
9565 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9569 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9571 * common/Makefile.am:
9572 * common/gtk-doc.mak:
9573 * docs/gst/Makefile.am:
9574 factor out gtk-doc.mak
9576 2005-07-07 Wim Taymans <wim@fluendo.com>
9578 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9579 (gst_thread_scheduler_dispose):
9580 Unlock the STREAM_LOCK completely.
9582 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9584 * check/Makefile.am:
9585 * check/elements/.cvsignore:
9586 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9587 (START_TEST), (fakesrc_suite), (main):
9588 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9589 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9590 (gst_fakesrc_create), (gst_fakesrc_start):
9591 * gst/elements/gstfakesrc.h:
9592 adding a first element test
9594 2005-07-07 Andy Wingo <wingo@pobox.com>
9596 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9599 2005-07-07 Wim Taymans <wim@fluendo.com>
9605 2005-07-07 Wim Taymans <wim@fluendo.com>
9607 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9608 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9609 Allow subclasses to implement their own negotiation.
9611 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9613 * docs/design/part-gstbin.txt:
9614 * docs/design/part-gstpipeline.txt:
9615 Update design notes to reflect the movement of
9616 responsibility for bus handling from GstPipeline to
9619 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9622 Remove unnecessary queue2/3/4 examples.
9624 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9626 * examples/Makefile.am:
9627 * examples/helloworld/helloworld.c: (event_loop), (main):
9628 * examples/queue/queue.c: (event_loop), (main):
9629 * examples/queue2/queue2.c: (main):
9630 Update a couple of the examples to work again.
9632 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9633 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9634 Spelling corrections and extra debug.
9636 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9637 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9638 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9640 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9641 (gst_pipeline_change_state):
9642 * gst/gstpipeline.h:
9643 Move the bus handler for children to the GstBin, and create a
9644 separate bus for receiving messages from children to the one the
9645 bus sends 'upwards' on.
9647 2005-07-06 Wim Taymans <wim@fluendo.com>
9650 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9651 (gst_base_sink_handle_object), (gst_base_sink_loop),
9652 (gst_base_sink_change_state):
9653 * gst/base/gstbasesink.h:
9654 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9655 (gst_base_src_init), (gst_base_src_setcaps),
9656 (gst_base_src_getcaps), (gst_base_src_loop),
9657 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9658 (gst_base_src_start), (gst_base_src_change_state):
9659 * gst/base/gstbasesrc.h:
9660 Make basesrc negotiate.
9661 Handle the case where preroll fails in basesink.
9664 2005-07-06 Wim Taymans <wim@fluendo.com>
9666 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9667 Implement the fixate function.
9668 Clean up acceptcaps.
9670 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9672 * docs/pwg/building-filterfactory.xml:
9674 Remove never-written filter-factory chapter; I'll add the various
9675 base classes to part 4 ("other element types") later on.
9677 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9679 * docs/pwg/advanced-negotiation.xml:
9680 * docs/pwg/building-boiler.xml:
9681 * docs/pwg/building-pads.xml:
9683 * examples/pwg/Makefile.am:
9684 Add a chapter on caps negotiation, simplify the original code
9685 samples a bit w.r.t. caps negotiation, add link to the advanced
9686 section. Add a bunch of examples showing different use cases of
9687 different types of caps negotiation. Upstream renegotiation isn't
9688 fully documented yet since nobody knows how that works.
9690 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
9692 * check/gst/gstpad.c:
9694 * gst/gstpad.c: (gst_pad_get_internal_links_default):
9695 if pad has no parent, return NULL as list of internal links
9697 2005-07-05 Andy Wingo <wingo@pobox.com>
9699 * gst/elements/gstfilesrc.c:
9700 * gst/elements/gstfakesrc.c:
9701 * gst/base/gstpushsrc.c:
9702 * gst/base/gstbasesrc.h:
9703 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9705 2005-07-05 Stefan Kost <ensonic@users.sf.net>
9708 better report generation target (lcov needs a patch)
9710 2005-07-05 Andy Wingo <wingo@pobox.com>
9712 * gst/elements, testsuite: Null if we got it...
9714 2005-07-05 Wim Taymans <wim@fluendo.com>
9717 * libs/gst/dataprotocol/Makefile.am:
9718 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9719 * libs/gst/dataprotocol/dataprotocol.h:
9720 * pkgconfig/Makefile.am:
9721 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9722 * pkgconfig/gstreamer-dataprotocol.pc.in:
9723 Ported dataprotol to 0.9.
9724 Added pkgconfig files.
9726 2005-07-05 Andy Wingo <wingo@pobox.com>
9728 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9729 Default to returning TRUE for the case when tranform_caps returns
9730 a fixed caps, like for identity or volume.
9732 * check/gst/gstbus.c (pound_bus_with_messages):
9733 * check/gst/gstmessage.c (START_TEST):
9734 * check/pipelines/simple_launch_lines.c (got_handoff): Application
9737 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9738 logic weaks here: always run transform_caps, trying passthrough
9739 operation only if the original caps intersects with the transform.
9741 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9742 source and sink caps.
9744 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9745 Intersect the peer caps with the pad template before going into
9747 (gst_base_transform_transform_caps): More debugging.
9749 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9752 2005-07-04 Edward Hervey <edward@fluendo.com>
9756 (gst_pad_add_*_probe): now returns the signal id for better wrapping
9759 2005-07-04 Andy Wingo <wingo@pobox.com>
9761 * check/gst/gstpad.c: Only set explicit caps on pads.
9763 2005-07-01 Andy Wingo <wingo@pobox.com>
9765 * tests/network-clock.scm: Commentary update.
9767 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9768 Didn't really make sense, not implementable with basetransform,
9770 (gst_identity_transform): Unref inbuf via make_writable. Feeble
9771 attempt at implementing the sync property, needs an unlock method.
9773 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9774 New func, by default returns the same caps (the identity
9776 (gst_base_transform_getcaps): Uses transform_caps to return
9778 (gst_base_transform_setcaps): Complicated logic to get caps on
9779 both pads, even if they are different, and to call set_caps once
9780 for every time both pads get their caps set.
9781 (gst_base_transform_handle_buffer): Give the ref to the transform
9782 function. Allows in-place modification of the buffer.
9784 * gst/base/gstbasetransform.h (transform_caps): New class method.
9785 Given caps on one side, what can I do on the other.
9786 (set_caps): Take two caps, one for each side of the element.
9789 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9790 caps in place. This is safe because we can check the mutability of
9791 the caps, and a good idea because fixate functions are just called
9792 as a matter of last resort. (Not actually implemented.)
9793 (gst_pad_set_caps): If the caps we're setting is actually the same
9794 as the existing pad caps, just update the pointer without calling
9795 setcaps. Assert that caps is either NULL or fixed, as per the
9798 * gst/gstghostpad.c: Update for fixate changes.
9800 2005-07-02 Andy Wingo <wingo@pobox.com>
9803 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9804 two refcounts makes it immutable, which is enough. Doc more.
9806 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
9808 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9809 Put the mini_object into GValue as a mini_object,
9810 not a gpointer, since that's how we declared
9813 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9815 * examples/pwg/Makefile.am:
9818 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9820 * docs/pwg/building-testapp.xml:
9822 * examples/pwg/Makefile.am:
9825 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9828 * examples/Makefile.am:
9829 * examples/pwg/Makefile.am:
9830 * examples/pwg/extract.pl:
9831 Enable building the PWG examples.
9832 * docs/pwg/advanced-interfaces.xml:
9833 Add URI interface stub.
9834 * docs/pwg/advanced-types.xml:
9835 * docs/pwg/other-autoplugger.xml:
9836 * docs/pwg/appendix-porting.xml:
9838 Add porting guide (mostly stubs), remove autoplugging (see ADM).
9839 * docs/pwg/building-boiler.xml:
9840 * docs/pwg/building-chainfn.xml:
9841 * docs/pwg/building-pads.xml:
9842 * docs/pwg/building-props.xml:
9843 * docs/pwg/building-state.xml:
9844 * docs/pwg/building-testapp.xml:
9845 Update the building-*.xml parts for 0.9 changes. All examples
9846 code blocks compile in examples/pwg/*.
9848 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9850 * docs/manual/advanced-autoplugging.xml:
9851 * docs/manual/appendix-checklist.xml:
9852 * docs/manual/appendix-integration.xml:
9853 * docs/manual/highlevel-components.xml:
9854 Fix playbin/decodebin examples, update docs a bit, mention bus
9855 instead of signals in various places, mention kmplayer and
9856 kaffeine since they have a working GStreamer backend in the KDE
9859 2005-06-30 Wim Taymans <wim@fluendo.com>
9862 * docs/design/draft-ghostpads.txt:
9863 * docs/design/draft-push-pull.txt:
9864 * docs/design/draft-query.txt:
9865 * docs/design/part-TODO.txt:
9866 * docs/design/part-query.txt:
9867 Added CHANGES-0.9 doc, updated status of other docs.
9872 2005-06-30 Wim Taymans <wim@fluendo.com>
9874 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9875 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9876 (gst_base_sink_change_state):
9877 * gst/base/gstbasesink.h:
9878 Some tweaks, only EOS and a buffer complete a preroll.
9880 2005-06-30 Andy Wingo <wingo@pobox.com>
9882 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9883 activate_push down to the internal pad as well.
9885 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
9887 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9889 * gst/gsttaginterface.c:
9890 Some documentation fixes (#307394 and #307397).
9892 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
9894 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9896 * gst/gstvalue.c: (gst_value_intersect_list):
9897 Fix memleak (#309125).
9899 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9901 * docs/manual/advanced-dataaccess.xml:
9902 Fix fakesrc example to compile; doesn't work, bug somewhere...?
9903 * docs/manual/basics-pads.xml:
9904 Add reference for filtered caps to above chapter.
9906 2005-06-30 Wim Taymans <wim@fluendo.com>
9908 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9909 (gst_bin_change_state):
9911 Lame attempt at making the state change function a bit
9914 2005-06-30 Wim Taymans <wim@fluendo.com>
9916 * docs/design/part-clocks.txt:
9917 * docs/design/part-element-sink.txt:
9918 * docs/design/part-events.txt:
9919 * docs/design/part-preroll.txt:
9920 * docs/design/part-states.txt:
9921 Some more tweeks and additions to the docs.
9923 2005-06-30 Wim Taymans <wim@fluendo.com>
9925 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9926 (default_have_data), (gst_pad_class_init), (gst_pad_init),
9927 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9928 (gst_pad_check_pull_range), (gst_pad_get_range),
9929 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9931 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9932 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9933 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9934 (gst_pad_remove_buffer_probe):
9935 Removed atomic operations, use existing LOCK.
9936 Move exception handling out of main code path.
9938 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9940 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9941 (silly_return_true_function), (gst_pad_class_init),
9942 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9943 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9944 (gst_pad_send_event):
9945 Fix accumulator, add default value by using _emitv() instead
9946 of _emit() for signal emission.
9948 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9950 * docs/manual/advanced-dataaccess.xml:
9951 * examples/manual/Makefile.am:
9953 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9956 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
9958 * gst/elements/gstfilesink.c: (gst_filesink_render):
9959 Simplify code so that we don't have to handle short
9960 writes and return GST_FLOW_ERROR if an error occured.
9962 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9964 * docs/gst/gstreamer-docs.sgml:
9967 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9969 * docs/gst/gstreamer-sections.txt:
9970 * docs/gst/tmpl/gstpad.sgml:
9971 * docs/gst/tmpl/gstprobe.sgml:
9973 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9974 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9975 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9976 (gst_pad_push_event), (gst_pad_send_event):
9978 * gst/gstutils.c: (gst_pad_add_data_probe),
9979 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9980 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9981 (gst_pad_remove_buffer_probe):
9983 Remove old probes, add new g-signal-based probes and some utility
9986 2005-06-29 Edward Hervey <edward@fluendo.com>
9988 * gst/gstelementfactory.c:
9991 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9992 the definition to the header file.
9994 2005-06-29 Andy Wingo <wingo@pobox.com>
9996 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9997 plugins from the source directory.
9999 2005-06-29 Wim Taymans <wim@fluendo.com>
10001 * docs/gst/tmpl/gstbuffer.sgml:
10002 * docs/gst/tmpl/gstclock.sgml:
10003 Some fixings for blantently wrong text.
10005 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10007 * check/Makefile.am:
10008 * gst/gst.c: (add_path_func), (init_pre):
10009 * gst/gstregistry.c: (gst_registry_add_path):
10010 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10011 only scan the GST_PLUGIN_PATH locations, and not add
10014 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10016 * docs/gst/gstreamer-sections.txt:
10017 * docs/gst/tmpl/gstbasesrc.sgml:
10018 * gst/gstelement.c:
10019 * gst/gstelement.h:
10024 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10026 * docs/manual/advanced-autoplugging.xml:
10027 Fix autoplugging example.
10029 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10031 * docs/manual/advanced-autoplugging.xml:
10032 * docs/manual/mime-world.fig:
10033 Try to get autoplugging working, fix type detection. Fix text
10034 in hello-world image.
10036 2005-06-29 Wim Taymans <wim@fluendo.com>
10038 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10039 (gst_base_sink_change_state):
10043 map SIGNAL and BROADCAST to the right function.
10046 Remove redundant braces.
10048 * gst/gstpad.c: (gst_pad_set_caps):
10049 Don't call setcaps function when reseting caps to NULL.
10051 * gst/gstsystemclock.c: (gst_system_clock_dispose),
10052 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10053 (gst_system_clock_id_unschedule):
10054 Use BROADCAST as this is what we do.
10056 2005-06-29 Wim Taymans <wim@fluendo.com>
10058 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10059 We are actually prerolling before commiting the state
10062 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10064 * docs/manual/advanced-clocks.xml:
10065 * docs/manual/advanced-interfaces.xml:
10066 * docs/manual/advanced-metadata.xml:
10067 * docs/manual/advanced-position.xml:
10068 * docs/manual/advanced-schedulers.xml:
10069 * docs/manual/advanced-threads.xml:
10070 * docs/manual/appendix-porting.xml:
10071 * docs/manual/basics-bins.xml:
10072 * docs/manual/basics-bus.xml:
10073 * docs/manual/basics-elements.xml:
10074 * docs/manual/basics-helloworld.xml:
10075 * docs/manual/basics-pads.xml:
10076 * docs/manual/highlevel-components.xml:
10077 * docs/manual/manual.xml:
10078 * docs/manual/thread.fig:
10079 Update (until threads/scheduling) Application Development Manual;
10080 remove GstThread, add GstBus, add simple porting checklist, add
10081 documentation for tag writing, clocks, make all examples until this
10082 part compile and run.
10083 * examples/manual/Makefile.am:
10084 Update from changes to Application Development Manual; add bus
10085 example, remove thread example.
10087 2005-06-28 Wim Taymans <wim@fluendo.com>
10089 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10090 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10091 (gst_bus_source_dispatch):
10092 Add debugging messages.
10093 Make internal methods static.
10094 Handle the case where the bus is flushed in the handler.
10096 * gst/gstelement.c: (gst_element_get_bus):
10097 Fix refcount in _get_bus();
10099 * gst/gstpipeline.c: (gst_pipeline_change_state),
10100 (gst_pipeline_get_clock_func):
10101 Clock refcounting fixes.
10102 Handle the case where preroll timed out more gracefully.
10104 * gst/gstsystemclock.c: (gst_system_clock_dispose):
10105 Clean up the internal thread in dispose. This is needed
10106 for subclasses that actually get disposed.
10108 * gst/schedulers/threadscheduler.c:
10109 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10110 (gst_thread_scheduler_dispose):
10111 Free thread pool in dispose.
10113 2005-06-28 Andy Wingo <wingo@pobox.com>
10115 * tests/network-clock-utils.scm (debug, print-event): New utils.
10117 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10118 (*packet-loss*): Unified loss probability.
10119 (network-time): Report out-of-band events.
10121 * tests/plot-data: Add support for out-of-band events. Hack it
10122 into this script instead of passing it down the pipe; should fix
10125 2005-06-28 Wim Taymans <wim@fluendo.com>
10127 * docs/gst/gstreamer.types:
10128 * docs/gst/tmpl/gstbasesrc.sgml:
10129 * docs/gst/tmpl/gstpad.sgml:
10132 2005-06-28 Wim Taymans <wim@fluendo.com>
10134 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10135 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10136 (gst_proxy_pad_do_fixatecaps):
10137 Correctly proxy the check_pull_range function.
10139 2005-06-28 Andy Wingo <wingo@pobox.com>
10141 * tests/network-clock.scm: Removed need for slib.
10143 2005-06-28 Wim Taymans <wim@fluendo.com>
10145 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10146 (gst_basesink_preroll_queue_flush):
10147 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10148 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10149 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10150 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10151 (gst_proxy_pad_set_property):
10154 * gst/gstqueue.c: (gst_queue_init):
10155 The deprecated pad loop function is removed now.
10157 2005-06-28 Andy Wingo <wingo@pobox.com>
10159 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10160 New parameters, simulate network packet loss.
10162 * tests/network-clock-utils.scm: Initialize the RNG.
10164 2005-06-28 Wim Taymans <wim@fluendo.com>
10166 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10167 (gst_basesink_event), (gst_basesink_deactivate):
10168 Flushing the preroll queue always needs to unlock the waiters.
10170 2005-06-28 Edward Hervey <edward@fluendo.com>
10172 * gst/gstpipeline.c: (gst_pipeline_send_event):
10173 Wheen a seek was successful on a pipeline, set the stream_time to the
10174 seek offset in order to have a synchronized stream_time.
10176 2005-06-28 Wim Taymans <wim@fluendo.com>
10178 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10179 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10180 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10181 (gst_proxy_pad_do_fixatecaps):
10182 Call wrapper function instead of just calling the function
10183 pointers. This takes care of any locking and whatmore.
10185 2005-06-28 Wim Taymans <wim@fluendo.com>
10187 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10188 (gst_pad_pull_range):
10190 CONNECTED -> LINKED.
10192 2005-06-28 Andy Wingo <wingo@pobox.com>
10194 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10195 source-munging commit!!!
10197 * gst/gstobject.c (gst_object_unref, gst_object_ref)
10198 (gst_object_sink): Take gpointer arguments, not GstObject --
10199 avoids casts. Like GLib.
10201 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10204 2005-06-27 Andy Wingo <wingo@pobox.com>
10206 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10209 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10210 returns a sorted copy of the trace list.
10211 (gst_alloc_trace_print_live): New API, only prints traces with
10212 live objects. Sort the list.
10213 (gst_alloc_trace_print_all): Sort the list.
10214 (gst_alloc_trace_print): Align columns.
10216 * gst/elements/gstttypefindelement.c:
10217 * gst/elements/gsttee.c:
10218 * gst/base/gstbasesrc.c:
10219 * gst/base/gstbasesink.c:
10220 * gst/base/gstbasetransform.c:
10221 * gst/gstqueue.c: Adapt for pad activation changes.
10223 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10225 (gst_pipeline_dispose): Drop ref on sched.
10227 * gst/gstpad.c (gst_pad_init): Set the default activate func.
10228 (gst_pad_activate_default): Push mode by default.
10229 (pre_activate_switch, post_activate_switch): New stubs, things to
10230 do before and after switching activation modes on pads.
10231 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10232 the pad's activate function to choose which mode to activate.
10233 Shortcut on deactivation and call the right function directly.
10234 (gst_pad_activate_pull): New API, (de)activates a pad in pull
10236 (gst_pad_activate_push): New API, same for push mode.
10237 (gst_pad_set_activate_function)
10238 (gst_pad_set_activatepull_function)
10239 (gst_pad_set_activatepush_function): Setters for new API.
10241 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10242 Trace all miniobjects.
10243 (gst_mini_object_make_writable): Unref the arg if we copy, like
10244 gst_caps_make_writable.
10246 * gst/gstmessage.c (_gst_message_initialize): No trace init.
10248 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
10249 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10250 Adapt for new pad API.
10252 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10254 * gst/gstelement.h:
10255 * gst/gstelement.c (gst_element_iterate_src_pads)
10256 (gst_element_iterate_sink_pads): New API functions.
10258 * gst/gstelement.c (iterator_fold_with_resync): New utility,
10259 should fold into gstiterator.c in some form.
10260 (gst_element_pads_activate): Simplified via use of fold and
10261 delegation of decisions to gstpad->activate.
10263 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10266 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10267 class once in init, like gstmessage. Didn't run into this issue
10268 but it seems correct. Don't initialize a trace, gstminiobject does
10271 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10272 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10274 (assert_live_count): New util function, uses alloc traces to check
10277 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10278 To be modified when unlink drops the internal pad.
10280 2005-06-27 Wim Taymans <wim@fluendo.com>
10282 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10283 (gst_bin_change_state):
10284 Cleanup the get_state() function a little, make sure it
10285 iterates the same set of elements.
10286 Added stub iterate_state_order().
10288 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
10290 * docs/gst/gstreamer-docs.sgml:
10291 * docs/gst/gstreamer-sections.txt:
10292 * docs/gst/gstreamer.types:
10293 * docs/gst/tmpl/gstbasesink.sgml:
10294 * docs/gst/tmpl/gstbasesrc.sgml:
10295 * docs/gst/tmpl/gstbasetransform.sgml:
10296 * docs/gst/tmpl/gstelement.sgml:
10297 * docs/gst/tmpl/gstiterator.sgml:
10298 * gst/base/gstbasesrc.c:
10299 * gst/base/gstbasesrc.h:
10300 * gst/base/gstbasetransform.h:
10301 * gst/gstelement.c:
10302 * gst/gstiterator.h:
10303 adding basetransform and iterator docs
10305 2005-06-27 Andy Wingo <wingo@pobox.com>
10307 * docs/design/part-activation.txt: Notes on how activation should
10308 work -- not quite implemented yet.
10310 2005-06-25 Wim Taymans <wim@fluendo.com>
10312 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10313 At least get the chain function correct, needs more
10316 2005-06-25 Wim Taymans <wim@fluendo.com>
10318 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10319 (gst_basesink_handle_object), (gst_basesink_event),
10320 (gst_basesink_do_sync), (gst_basesink_handle_event),
10321 (gst_basesink_change_state):
10323 Right, two problems here: ghostpads don't take locks and
10324 glib _rec_mutex_lock_full() with depth==0 still locks.
10325 Catch illegal locking and g_warn them.
10327 2005-06-25 Wim Taymans <wim@fluendo.com>
10329 * check/states/sinks.c: (START_TEST), (gst_object_suite):
10330 Have to check for completion now...
10332 2005-06-25 Wim Taymans <wim@fluendo.com>
10334 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10335 (gst_basesink_handle_object), (gst_basesink_event),
10336 (gst_basesink_do_sync), (gst_basesink_handle_event),
10337 (gst_basesink_change_state):
10339 Unlock STREAM_LOCK whatever the recursion was.
10341 2005-06-25 Wim Taymans <wim@fluendo.com>
10343 * gst/base/gstbasesink.c: (gst_basesink_set_property),
10344 (gst_basesink_preroll_queue_empty),
10345 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10346 (gst_basesink_event), (gst_basesink_do_sync),
10347 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10348 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10349 (gst_basesink_change_state):
10350 Reworked the base sink, handle event and buffer serialisation
10351 correctly and removed possible deadlock.
10352 Handle EOS correctly.
10354 2005-06-25 Wim Taymans <wim@fluendo.com>
10356 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10357 (gst_pipeline_change_state):
10358 * tools/gst-launch.c: (check_intr), (event_loop), (main):
10359 Allow elements to post EOS in the state change function.
10360 Fix up -launch, make it exit the poll loop when the
10361 pipeline actually changed state.
10362 Fix up warning parsing in -launch.
10364 2005-06-25 Wim Taymans <wim@fluendo.com>
10366 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10367 (gst_tee_sink_activate):
10368 Core takes STREAM_LOCK for us now.
10370 2005-06-25 Wim Taymans <wim@fluendo.com>
10372 * gst/gstelement.c: (gst_element_get_state_func),
10373 (gst_element_set_state):
10374 * gst/gstelement.h:
10375 * gst/gstmessage.c: (gst_message_parse_error),
10376 (gst_message_parse_warning):
10377 Keep track of current target state while performing a state
10378 change so that subclasses can do something interesting.
10379 Fix parsing of warning/error messages when GError is NULL.
10381 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
10383 * docs/gst/Makefile.am:
10384 * docs/gst/gstreamer-docs.sgml:
10385 * docs/gst/gstreamer-sections.txt:
10386 * docs/gst/gstreamer.types:
10387 * docs/gst/tmpl/gstbasesink.sgml:
10388 * docs/gst/tmpl/gstbasesrc.sgml:
10389 * docs/gst/tmpl/gstbin.sgml:
10390 * docs/gst/tmpl/gstcompat.sgml:
10391 * docs/gst/tmpl/gstfakesink.sgml:
10392 * docs/gst/tmpl/gstfakesrc.sgml:
10393 * docs/gst/tmpl/gstfilesink.sgml:
10394 * docs/gst/tmpl/gstfilesrc.sgml:
10395 * docs/gst/tmpl/gstindex.sgml:
10396 * docs/manual/appendix-quotes.xml:
10397 * gst/base/gstbasesrc.h:
10398 * gst/elements/gstfakesrc.h:
10399 * gst/gstmessage.h:
10400 start pulling in base classes and elements in our docs
10402 2005-06-24 Stefan Kost <ensonic@users.sf.net>
10404 * docs/gst/Makefile.am:
10405 * docs/libs/Makefile.am:
10406 fixed make distcheck with gtk-doc 1.3
10408 2005-06-23 Wim Taymans <wim@fluendo.com>
10410 * gst/gstelement.c: (gst_element_get_state_func),
10411 (gst_element_set_state), (gst_element_change_state):
10412 When the state did not change, also report NO_PREROLL
10415 2005-06-23 Wim Taymans <wim@fluendo.com>
10417 * gst/gstpad.c: (gst_pad_event_default):
10418 * gst/gstqueue.c: (gst_queue_loop):
10419 No unsafe task pausing please.
10421 2005-06-23 Wim Taymans <wim@fluendo.com>
10423 * gst/schedulers/threadscheduler.c:
10424 (gst_thread_scheduler_task_start),
10425 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10426 Ref the task before pushing it on the threadpool. This
10427 makes sure that we have a ref when the threadfunction is
10430 2005-06-23 Andy Wingo <wingo@pobox.com>
10432 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10433 offset is greater than the file's size.
10435 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
10436 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10437 * gst/gstobject.c (gst_object_class_init): Make the class lock
10438 recursive. Wim won't let me drop deep_notify. Decodebin works
10439 again, whoopdy doo.
10441 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10442 internal pad, and hacks accordingly. Doesn't do it on the target
10443 pad because we change its caps. Probably catches all cases of
10445 (gst_ghost_pad_set_property): Connect to notify::caps as
10448 * tests/network-clock.scm (plot-simulation): Pipe data to the
10449 elite python skript.
10451 * tests/network-clock-utils.scm (define-parameter): New macro,
10452 defines a parameter that can be set via the command line.
10453 (set-parameter!, parse-parameter-arguments): Command line args
10456 * tests/plot-data: Simple matplotlib-based plotter, takes input on
10459 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
10461 * gst/elements/gsttypefindelement.c:
10462 (gst_type_find_element_handle_event):
10463 Don't restart typefinding on a discont.
10464 * gst/gstelement.c: (gst_element_set_state):
10465 Debug spelling fix.
10466 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10467 Allow changing mode of an active pad.
10468 Debug output fixes.
10469 * gst/registries/gstlibxmlregistry.c: (load_feature):
10470 Don't cast a static pad template to a normal pad template.
10472 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
10474 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10475 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10476 remove gst_strtoll completely, since it didn't actually do
10477 anything more than what g_ascii_strtoull already does.
10478 check for range errors when deserializing
10479 do a cast for the unsigned cases; but further fixing needs
10480 a decision on what the interpretation of "(int)" and
10481 deserialization should be for values that fall outside the
10482 type's boundaries (ie, refuse, or interpret as casting)
10484 2005-06-23 Wim Taymans <wim@fluendo.com>
10486 * check/Makefile.am:
10487 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10488 * docs/design/part-live-source.txt:
10489 * docs/design/part-states.txt:
10490 * gst/base/gstbasesrc.c: (gst_basesrc_init),
10491 (gst_basesrc_set_live), (gst_basesrc_is_live),
10492 (gst_basesrc_get_range), (gst_basesrc_activate),
10493 (gst_basesrc_change_state):
10494 * gst/base/gstbasesrc.h:
10495 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10496 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10497 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10498 * gst/gstelement.c: (gst_element_get_state_func),
10499 (gst_element_set_state):
10500 * gst/gstelement.h:
10502 * tools/gst-launch.c: (event_loop), (main):
10503 Added support for live sources and other elements that
10505 Updated design docs, added live-source design doc.
10506 Implemented live source functionality in basesrc
10507 Fix error condition in _bin_get_state()
10508 Implement live source handling in -launch.
10509 Added check for live sources.
10510 Fixed case in GstBin where elements were changed state
10514 2005-06-23 Andy Wingo <wingo@pobox.com>
10516 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10517 borken refcounting.
10519 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10520 gst_caps_replace takes care of this for us.
10522 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10523 gst_pad_set_caps on the target, not just its setcaps() function.
10525 * tests/network-clock.scm:
10526 * tests/network-clock-utils.scm: A network clock simulator.
10527 Something of an algorithmic testbed before doing something in C.
10529 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10531 * check/Makefile.am:
10532 * check/gst/capslist.h:
10533 copy over from 0.8, and add two with bitmasks specified with
10535 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10536 add test to parse everything from capslist.h
10537 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10539 add test for structure deserialization
10540 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10541 add tests for deserialization of strings to int types
10542 * gst/gststructure.c: (gst_structure_nth_field_name):
10543 * gst/gststructure.h:
10544 add a way to get the name of a field referenced by index
10545 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10546 instead of checking if the resulting long long lies between
10547 min and max, we check if the long long would fit into
10548 a number of bytes for the final type.
10549 This fixes cases where a string represents 2^32 - 1, which
10550 when cast to int would be the (valid) -1, but is bigger than
10553 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10555 * gst/parse/grammar.y:
10556 add a log line for type deserialization
10558 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10560 * check/gst/gstvalue.c: (START_TEST):
10561 * gst/gstvalue.c: (gst_value_deserialize):
10562 return long long, not int, so gint64 deserialization actually
10563 works. Is there any flag that makes the compiler check this ?
10566 2005-06-22 Wim Taymans <wim@fluendo.com>
10569 Added convenience macros for setting buffers in GValue.
10571 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10573 * check/gst/.cvsignore:
10574 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10575 add a test deserializing int64, and comment part out because
10578 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10580 * check/Makefile.am:
10581 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10582 * testsuite/Makefile.am:
10583 * testsuite/caps/Makefile.am:
10584 * testsuite/caps/value_serialize.c:
10585 * testsuite/test_gst_init.c:
10586 move a value_serialize test over
10588 2005-06-20 Wim Taymans <wim@fluendo.com>
10593 * gst/gstvalue.c: (gst_value_compare_buffer),
10594 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10595 (gst_value_compare_flags), (gst_value_serialize_flags),
10596 (gst_value_deserialize_flags), (_gst_value_initialize):
10597 Fix serialisation of buffers, they are not boxed types anymore
10599 2005-06-20 Wim Taymans <wim@fluendo.com>
10601 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10602 Testcase to show error in buffer-on-caps serialisation.
10604 2005-06-20 Andy Wingo <wingo@pobox.com>
10606 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10607 will be adding to later.
10609 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10610 if its socks fill with rocks.
10611 (gst_system_clock_obtain): Set the name on object construction.
10612 Avoid double-checked locking.
10614 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
10616 * gst/gsturi.c: (gst_element_make_from_uri):
10617 Fix potential endless loop.
10619 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10621 * check/Makefile.am:
10623 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10625 move over from testsuite dir and clean up
10628 * testsuite/Makefile.am:
10629 * testsuite/tags/.cvsignore:
10630 * testsuite/tags/Makefile.am:
10631 * testsuite/tags/merge.c:
10632 remove testsuite/tags
10634 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10636 * docs/gst/gstreamer-sections.txt:
10637 * docs/gst/tmpl/gstenumtypes.sgml:
10638 * win32/gstenumtypes.c:
10639 clean up documentation build a little
10641 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10643 * check/gstcheck.h:
10644 add macros for checking refcounts on objects and caps
10645 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10646 add some more unit tests
10647 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10648 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10649 fix leaked refcounts (I hope :)) so unittest works
10653 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10655 * configure.ac: back to HEAD
10657 === release 0.9.1 ===
10659 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
10665 2005-06-17 Andy Wingo <wingo@pobox.com>
10667 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10668 assert; it's always possible that the pad gets deactivated in
10669 between the checks in gstpad.c and the implementation. Rely on
10670 finish_preroll() to return a FLUSHING or similar instead of on the
10673 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10674 clock and post an EOS message if we come out of finish_preroll in
10677 2005-06-16 David Schleef <ds@schleef.org>
10679 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10680 (gst_capsfilter_set_property): Allow NULL as possible value
10681 for filter_caps property, indicating GST_CAPS_ANY.
10683 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10685 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10687 * gst/schedulers/Makefile.am:
10689 * gstreamer.spec.in:
10692 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10694 * gstreamer.spec.in:
10697 2005-06-08 Andy Wingo <wingo@pobox.com>
10699 * gst/gstutils.c: RPAD fixes all around.
10700 (gst_element_link_pads): Refcounting fixes.
10702 * tools/gst-inspect.c:
10703 * tools/gst-xmlinspect.c:
10705 * gst/base/gsttypefindhelper.c:
10706 * gst/base/gstbasesink.c:
10707 * gst/gstqueue.c: RPAD fixes.
10709 * gst/gstghostpad.h:
10710 * gst/gstghostpad.c: New ghost pad implementation as full proxy
10711 pads. The tricky thing is they provide both source and sink
10712 interfaces, since they proxy the internal pad for the external
10713 pad, and vice versa. Implement with lower-level ProxyPad objects,
10714 with the interior proxy pad as a child of the exterior ghost pad.
10715 Should write a doc on this.
10717 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10718 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10721 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10722 pads are real pads. No ghost pads in this file. Not documenting
10723 the myriad s/RPAD/PAD/ and REALIZE fixes.
10724 (gst_pad_class_init): Add properties for "direction" and
10725 "template". Both are construct-only, so they can't change during
10726 the life of the pad. Fixes properly deriving from GstPad.
10727 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10728 derived objects, just set properties when creating the objects via
10730 (gst_pad_get_parent): Implement as a function, return NULL if the
10731 parent is not an element.
10732 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10733 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10735 * gst/gstobject.c (gst_object_class_init): Make name a construct
10736 property. Don't set it in the object init.
10738 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10739 with UNKNOWN direction.
10740 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10741 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10742 (gst_element_remove_pad): Remove ghost-pad special cases.
10743 (gst_element_pads_activate): Remove rpad cruft.
10745 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10746 catch the pad's-parent-not-an-element case.
10748 * gst/gst.h: Include gstghostpad.h.
10750 * gst/gst.c (init_post): No more real, ghost pads.
10752 * gst/Makefile.am: Add gstghostpad.[ch].
10754 * check/Makefile.am:
10755 * check/gst/gstbin.c:
10756 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10757 into a bin creates ghost pads, and that the refcounts are right.
10758 Partly moved from gstbin.c.
10760 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10762 * check/gst-libs/.cvsignore:
10763 * check/gst/.cvsignore:
10764 * check/pipelines/.cvsignore:
10766 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10767 (START_TEST), (cleanup_suite), (main):
10768 add some tests related to cleanup after running pipelines
10770 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10772 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10773 add a testsuite for GstBuffer
10775 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10777 * gst/gstminiobject.h:
10778 add defines for accessing the refcount
10780 2005-06-03 Stefan Kost <ensonic@users.sf.net>
10782 * Makefile.am: added support for html unit test coverage reports
10784 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
10786 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10787 Free existing caps if the capsfilter changes. Add a FIXME about
10788 setting those caps on the pads.
10790 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10791 Before adding a ghost pad to a parent bin, check that there isn't
10792 already one for the element on the bin. Prevents infinite recursion
10793 when using decodebin in parse pipelines. Andy says he'll rewrite the
10794 way this works anyway, so ignore the hack.
10796 2005-06-02 Andy Wingo <wingo@pobox.com>
10798 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10799 file size, pass it on to the type find helper.
10801 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10802 segment_start and segment_end properly according to the seek
10803 method. Segment_end is still a bit flaky because offset can be
10804 negative for CUR and END cases, but it takes -1 as an "unset"
10807 2005-06-02 Wim Taymans <wim@fluendo.com>
10809 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10810 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10811 (gst_basesink_activate):
10812 * gst/base/gstbasesink.h:
10813 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10814 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10815 (gst_pad_query), (gst_pad_start_task):
10817 * gst/gstqueue.c: (gst_queue_bufferalloc),
10818 (gst_queue_handle_sink_event), (gst_queue_chain):
10819 Bufferalloc: return GstFlowReturn to more accuratly report
10820 why allocation failed.
10822 2005-06-02 Wim Taymans <wim@fluendo.com>
10824 * gst/gstpipeline.c: (gst_pipeline_send_event):
10825 Take snapshot of state without blocking.
10827 2005-06-02 Wim Taymans <wim@fluendo.com>
10829 * docs/design/part-TODO.txt:
10830 * docs/design/part-caps.txt:
10831 * docs/design/part-clocks.txt:
10832 * docs/design/part-negotiation.txt:
10833 * docs/design/part-preroll.txt:
10836 2005-05-30 Wim Taymans <wim@fluendo.com>
10838 * gst/elements/gstidentity.c: (gst_identity_event),
10839 (gst_identity_transform), (gst_identity_get_property):
10840 Protect last_message property as it is accessed from
10843 2005-05-30 Wim Taymans <wim@fluendo.com>
10845 * gst/gstelement.c: (gst_element_init),
10846 (gst_element_pads_activate), (gst_element_change_state):
10847 Slicker pad activation code.
10849 2005-05-30 Wim Taymans <wim@fluendo.com>
10852 * gst/gstelement.h:
10853 * gst/gstelementfactory.h:
10855 Move elementfactory methods to separate .h file.
10857 2005-05-30 Wim Taymans <wim@fluendo.com>
10859 * docs/design/part-overview.txt:
10860 * gst/gstsystemclock.h:
10861 Small typo fixes, doc updates.
10863 2005-05-30 Wim Taymans <wim@fluendo.com>
10865 * gst/gst.c: (gst_init_get_popt_table), (init_post),
10866 (init_popt_callback):
10867 Remove cpu-opt flag.
10869 2005-05-30 Wim Taymans <wim@fluendo.com>
10871 * gst/gstbuffer.c: (gst_subbuffer_finalize),
10872 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10874 Avoid typechecking in places where not needed.
10875 Added accessor for malloc_data.
10877 2005-05-30 Wim Taymans <wim@fluendo.com>
10879 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10880 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10881 (gst_pad_configure_sink), (gst_pad_configure_src),
10882 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10883 (gst_pad_start_task):
10884 Propagate errors from _set_caps() in configure_src/sink
10885 functions instead of returning TRUE.
10886 FLUSH events can travel up and downstream
10889 2005-05-30 Wim Taymans <wim@fluendo.com>
10891 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10892 (gst_basesink_activate):
10893 Handle EOS in preroll.
10895 2005-05-30 Wim Taymans <wim@fluendo.com>
10897 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10898 (gst_queue_loop), (gst_queue_handle_src_event):
10899 Remove old pieces of code
10900 Flushing the queue in an upstream event is a very bad idea.
10902 2005-05-26 Andy Wingo <wingo@pobox.com>
10904 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10905 gst_value_set_mini_object so as to add a ref on the object (which
10906 will be removed when the value is unset).
10908 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10909 arg type in ::handoff.
10911 * gst/gstelement.c (gst_element_change_state): Also deactivate
10912 pads in READY->NULL, just in case the element didn't make it to
10913 PAUSED. Wingo tested, Wim approved.
10915 2005-05-26 Wim Taymans <wim@fluendo.com>
10917 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10918 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10919 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10920 A flushing pad cannot be used to alloc_buffer from.
10922 2005-05-26 Wim Taymans <wim@fluendo.com>
10924 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10925 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10926 (gst_bus_source_dispatch), (gst_bus_source_finalize),
10927 (gst_bus_create_watch), (gst_bus_add_watch_full):
10929 Implement a real GSource and use g_main_context_wakeup() to
10930 signal new messages instead of the socketpair.
10932 2005-05-25 Wim Taymans <wim@fluendo.com>
10934 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10935 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10936 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10937 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10938 (gst_pad_send_event), (gst_pad_start_task):
10939 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10940 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10941 (gst_queue_sink_activate), (gst_queue_src_activate),
10942 (gst_queue_change_state):
10944 Fix state changes for non sinks. We now change sinks, then elements
10945 with unconnected srcpads, then the rest.
10946 More efficient queue unlocking in flush and state changes.
10947 Set the pad activate mode even if it does not have an activate
10950 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10952 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10953 Don't go in pull mode for non-seekable sources.
10954 * gst/elements/gsttypefindelement.h:
10955 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10956 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10957 (free_entry), (stop_typefinding),
10958 (gst_type_find_element_handle_event), (find_peek),
10959 (gst_type_find_element_chain), (do_pull_typefind),
10960 (gst_type_find_element_change_state):
10961 Allow typefinding (w/o seeking) in push-mode, simplified version
10962 of what was in 0.8.
10963 * gst/gstutils.c: (gst_buffer_join):
10965 gst_buffer_join() from 0.8.
10967 2005-05-25 Wim Taymans <wim@fluendo.com>
10969 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10970 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10971 (gst_pad_send_event), (gst_pad_start_task):
10972 Disable attempt at mode switching until it is figured out.
10974 2005-05-25 Wim Taymans <wim@fluendo.com>
10976 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10977 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10978 (gst_basesink_finish_preroll), (gst_basesink_chain),
10979 (gst_basesink_loop), (gst_basesink_activate),
10980 (gst_basesink_change_state):
10981 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10982 (gst_basesrc_get_range), (gst_basesrc_loop),
10983 (gst_basesrc_activate):
10984 * gst/elements/gsttee.c: (gst_tee_sink_activate):
10985 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10986 (gst_real_pad_init), (gst_real_pad_set_property),
10987 (gst_real_pad_get_property), (gst_pad_set_active),
10988 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10989 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10990 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10991 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10992 (gst_pad_event_default_dispatch), (gst_pad_event_default),
10993 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10994 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10995 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10996 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10997 (gst_pad_stop_task):
10999 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11000 (gst_queue_loop), (gst_queue_src_activate):
11001 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11002 (gst_task_get_state):
11004 * gst/schedulers/threadscheduler.c:
11005 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11006 Implement gst_pad_pause/start/stop_task(), take STREAM lock
11008 Remove ACTIVE pad flag, use FLUSHING everywhere
11009 Added _pad_chain(), _pad_get_range() to call chain/getrange
11011 Add locks around IS_FLUSHING when reading.
11012 Take STREAM lock in chain(), get_range() functions so plugins
11013 don't need to take it anymore.
11017 2005-05-25 Wim Taymans <wim@fluendo.com>
11019 * tools/gst-launch.c: (event_loop):
11020 Unref message after using its contents instead of
11023 2005-05-24 Wim Taymans <wim@fluendo.com>
11025 * docs/design/draft-ghostpads.txt:
11026 * docs/design/draft-push-pull.txt:
11027 * docs/design/draft-query.txt:
11028 * docs/design/part-overview.txt:
11029 Docs updates, added general overview doc.
11031 2005-05-21 David Schleef <ds@schleef.org>
11033 * docs/gst/tmpl/old/GstBin.sgml:
11034 * docs/gst/tmpl/old/GstBuffer.sgml:
11035 * docs/gst/tmpl/old/GstCaps.sgml:
11036 * docs/gst/tmpl/old/GstClock.sgml:
11037 * docs/gst/tmpl/old/GstCompat.sgml:
11038 * docs/gst/tmpl/old/GstData.sgml:
11039 * docs/gst/tmpl/old/GstElement.sgml:
11040 * docs/gst/tmpl/old/GstEvent.sgml:
11041 * docs/gst/tmpl/old/GstIndex.sgml:
11042 * docs/gst/tmpl/old/GstStructure.sgml:
11043 * docs/gst/tmpl/old/GstTag.sgml:
11044 * docs/gst/tmpl/old/cothreads.sgml:
11045 * docs/gst/tmpl/old/cothreads_compat.sgml:
11046 * docs/gst/tmpl/old/gettext.sgml:
11047 * docs/gst/tmpl/old/gobject2gtk.sgml:
11048 * docs/gst/tmpl/old/grammar.tab.sgml:
11049 * docs/gst/tmpl/old/gst-i18n-app.sgml:
11050 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11051 * docs/gst/tmpl/old/gst_private.sgml:
11052 * docs/gst/tmpl/old/gstaggregator.sgml:
11053 * docs/gst/tmpl/old/gstarch.sgml:
11054 * docs/gst/tmpl/old/gstatomic_impl.sgml:
11055 * docs/gst/tmpl/old/gstbufferstore.sgml:
11056 * docs/gst/tmpl/old/gstdata_private.sgml:
11057 * docs/gst/tmpl/old/gstdisksink.sgml:
11058 * docs/gst/tmpl/old/gstdisksrc.sgml:
11059 * docs/gst/tmpl/old/gstelementfactory.sgml:
11060 * docs/gst/tmpl/old/gstextratypes.sgml:
11061 * docs/gst/tmpl/old/gstfakesink.sgml:
11062 * docs/gst/tmpl/old/gstfakesrc.sgml:
11063 * docs/gst/tmpl/old/gstfdsink.sgml:
11064 * docs/gst/tmpl/old/gstfdsrc.sgml:
11065 * docs/gst/tmpl/old/gstfilesink.sgml:
11066 * docs/gst/tmpl/old/gstfilesrc.sgml:
11067 * docs/gst/tmpl/old/gsthttpsrc.sgml:
11068 * docs/gst/tmpl/old/gstidentity.sgml:
11069 * docs/gst/tmpl/old/gstindexfactory.sgml:
11070 * docs/gst/tmpl/old/gstmarshal.sgml:
11071 * docs/gst/tmpl/old/gstmd5sink.sgml:
11072 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11073 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11074 * docs/gst/tmpl/old/gstpadtemplate.sgml:
11075 * docs/gst/tmpl/old/gstpipefilter.sgml:
11076 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11077 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11078 * docs/gst/tmpl/old/gstshaper.sgml:
11079 * docs/gst/tmpl/old/gstspider.sgml:
11080 * docs/gst/tmpl/old/gstspideridentity.sgml:
11081 * docs/gst/tmpl/old/gststatistics.sgml:
11082 * docs/gst/tmpl/old/gsttee.sgml:
11083 * docs/gst/tmpl/old/gsttimecache.sgml:
11084 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11085 * docs/gst/tmpl/old/gstxmlregistry.sgml:
11086 * docs/gst/tmpl/old/gthread-cothreads.sgml:
11087 * docs/gst/tmpl/old/types.sgml:
11088 I didn't intend to add these or check them in.
11090 2005-05-19 David Schleef <ds@schleef.org>
11092 * configure.ac: Use -no-common everywhere. In a sane world, it
11093 would be the default in libtool, because without it, you can't
11094 build DLLs on Windows.
11095 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11096 * docs/gst/gstreamer-sections.txt:
11097 * docs/gst/tmpl/gstcpu.sgml:
11098 * docs/gst/tmpl/gstdata.sgml:
11099 * docs/gst/tmpl/gstthread.sgml:
11101 2005-05-19 David Schleef <ds@schleef.org>
11103 * gst/gstminiobject.c: (gst_value_set_mini_object),
11104 (gst_value_take_mini_object), (gst_value_get_mini_object):
11105 * gst/gstminiobject.h: Add GValue set/get functions.
11107 2005-05-19 Wim Taymans <wim@fluendo.com>
11109 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11110 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11111 (gst_subbuffer_init), (gst_buffer_is_span_fast):
11113 * gst/gstbus.c: (gst_bus_post):
11114 * gst/gstelement.c: (gst_element_get_random_pad):
11115 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11116 Make subbufer unref the parent in finalize.
11117 some more debugging info.
11120 2005-05-19 Wim Taymans <wim@fluendo.com>
11122 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11123 (gst_basesink_init), (gst_basesink_finalize),
11124 (gst_basesink_activate), (gst_basesink_change_state):
11125 Don't free preroll queue too early.
11127 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11131 Hi, I'm outdated. Please shoot me.
11133 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11135 * gst/gstpipeline.c: (gst_pipeline_send_event):
11136 Do not access variables after they have been deleted.
11138 2005-05-19 Wim Taymans <wim@fluendo.com>
11140 * tools/gst-inspect.c: (print_plugin_features):
11141 A plugin feature does unfortunatly not use the
11144 2005-05-18 Wim Taymans <wim@fluendo.com>
11146 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11147 Port _span() functions to new subbuffers.
11149 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11151 * gst/gstbin.c: (gst_bin_add_func):
11152 Fix clock settery in bins when adding kids after the clock has
11155 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11157 * gst/elements/gstidentity.c: (gst_identity_class_init):
11158 Workaround until signals support GstMiniObject.
11160 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
11163 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11165 2005-05-18 Wim Taymans <wim@fluendo.com>
11167 * gst/base/Makefile.am:
11168 * gst/base/gstadapter.c: (gst_adapter_base_init),
11169 (gst_adapter_class_init), (gst_adapter_init),
11170 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11171 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11172 (gst_adapter_flush), (gst_adapter_available),
11173 (gst_adapter_available_fast):
11174 * gst/base/gstadapter.h:
11175 Ported and added adapter to the base classes.
11177 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11180 * gst/gstmessage.c:
11181 Make sure the class is reffed/unreffed once before threads can be
11182 used. Fixes #304551.
11184 2005-05-17 Wim Taymans <wim@fluendo.com>
11186 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11187 (gst_basesink_chain_unlocked), (gst_basesink_activate):
11188 * gst/gstminiobject.c: (gst_mini_object_get_type),
11189 (gst_mini_object_free):
11190 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11191 (gst_pad_push), (gst_pad_push_event):
11192 * gst/gstqueue.c: (gst_queue_change_state):
11193 Don't queue buffers in basesink when we are flushing.
11194 Unref buffer when flushing in basesink.
11195 Flush queue when going to READY
11196 Unref buffer when _push() returns an error.
11197 Don't free MiniObject instance when refcount is incremented
11198 in _finalize() so that we can recover objects.
11200 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
11202 * docs/manual/advanced-schedulers.xml:
11203 * docs/manual/appendix-checklist.xml:
11204 * docs/pwg/advanced-clock.xml:
11205 * docs/pwg/advanced-interfaces.xml:
11206 * docs/pwg/advanced-request.xml:
11207 * docs/pwg/advanced-types.xml:
11208 * docs/pwg/intro-preface.xml:
11209 * examples/plugins/example.c: (gst_example_get_type),
11210 (gst_example_class_init), (gst_example_chain),
11211 (gst_example_set_property), (gst_example_get_property),
11212 (gst_example_change_state), (plugin_init):
11213 * examples/plugins/example.h:
11216 2005-05-17 Wim Taymans <wim@fluendo.com>
11218 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11219 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11220 * gst/gstqueue.c: (gst_queue_change_state):
11221 Clear queue when going to READY.
11222 Remove IN_SETCAPS flag too.
11224 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
11226 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11227 Remove implicit cast from gboolean to GstElementStateReturn;
11228 make sure we still return failure in paused => ready case if
11229 the parent class fails to change state and our own stop
11232 2005-05-17 Wim Taymans <wim@fluendo.com>
11234 * tools/gst-launch.c: (event_loop):
11235 Message was unreffed too soon.
11237 2005-05-16 Andy Wingo <wingo@pobox.com>
11239 * gst/gstbin.c (sink_iterator_filter): Err... um...
11241 * check/gst/gstbin.c (test_ghost_pads): New test for the
11242 ghosting-if-elements-not-in-same-bin behavior.
11244 2005-05-16 David Schleef <ds@schleef.org>
11246 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11247 accessing refcount directly.
11249 2005-05-15 David Schleef <ds@schleef.org>
11251 * check/Makefile.am: remove GstData checks
11252 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11253 * gst/Makefile.am: add miniobject, remove data
11254 * gst/gst.h: add miniobject, remove data
11255 * gst/gstdata.c: remove
11256 * gst/gstdata.h: remove
11257 * gst/gstdata_private.h: remove
11258 * gst/gsttypes.h: remove GstEvent and GstMessage
11259 * gst/gstelement.c: (gst_element_post_message): fix for API changes
11260 * gst/gstmarshal.list: change BOXED -> OBJECT
11262 Implement GstMiniObject.
11263 * gst/gstminiobject.c:
11264 * gst/gstminiobject.h:
11266 Modify to be subclasses of GstMiniObject.
11267 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11268 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11269 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11270 (gst_subbuffer_get_type), (gst_subbuffer_init),
11271 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11274 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11275 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11276 (_gst_event_copy), (gst_event_new):
11278 * gst/gstmessage.c: (_gst_message_initialize),
11279 (gst_message_get_type), (gst_message_class_init),
11280 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11281 (gst_message_new), (gst_message_new_error),
11282 (gst_message_new_warning), (gst_message_new_tag),
11283 (gst_message_new_state_changed), (gst_message_new_application):
11284 * gst/gstmessage.h:
11285 * gst/gstprobe.c: (gst_probe_perform),
11286 (gst_probe_dispatcher_dispatch):
11288 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11289 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11290 (_gst_query_copy), (gst_query_new):
11292 Update elements for GstData -> GstMiniObject changes
11294 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11295 (gst_queue_chain), (gst_queue_loop):
11296 * gst/elements/gstbufferstore.c:
11297 (gst_buffer_store_add_buffer_func),
11298 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11299 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11300 (gst_fakesink_render):
11301 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11302 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11303 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11304 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11305 (gst_filesrc_create_read):
11306 * gst/elements/gstidentity.c: (gst_identity_class_init):
11307 * gst/elements/gsttypefindelement.c:
11308 (gst_type_find_element_src_event), (free_entry_buffers),
11309 (gst_type_find_element_handle_event):
11310 * libs/gst/dataprotocol/dataprotocol.c:
11311 (gst_dp_header_from_buffer):
11312 * libs/gst/dataprotocol/dataprotocol.h:
11313 * libs/gst/dataprotocol/dp-private.h:
11315 2005-05-15 David Schleef <ds@schleef.org>
11317 * gst/elements/gstelements.c: Don't include headers that were
11320 2005-05-15 David Schleef <ds@schleef.org>
11322 * gst/elements/Makefile.am: Remove some elements that don't
11323 need to be in the core (or even exist at all).
11324 * gst/elements/gstaggregator.c:
11325 * gst/elements/gstaggregator.h:
11326 * gst/elements/gstmd5sink.c:
11327 * gst/elements/gstmd5sink.h:
11328 * gst/elements/gstmultifilesrc.c:
11329 * gst/elements/gstmultifilesrc.h:
11330 * gst/elements/gstpipefilter.c:
11331 * gst/elements/gstpipefilter.h:
11332 * gst/elements/gstshaper.c:
11333 * gst/elements/gstshaper.h:
11334 * gst/elements/gststatistics.c:
11335 * gst/elements/gststatistics.h:
11336 * po/POTFILES.in: Remove above files.
11338 2005-05-14 Andy Wingo <wingo@pobox.com>
11340 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11341 so as to get the refs right.
11342 (sink_iterator_filter): New function, wraps bin_element_is_sink,
11343 unreffing objects that don't pass the filter.
11345 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11346 gst_element_set_bus.
11347 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11348 normal cases, this will destroy the bus.
11350 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11353 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11356 2005-05-13 Andy Wingo <wingo@pobox.com>
11358 * gst/gstutils.c (gst_element_link_pads): Instead of calling
11359 gst_pad_link, call pad_link_maybe_ghosting,
11360 (pad_link_maybe_ghosting): Links pads, making sure that the
11361 elements being linked are in the same bin.
11362 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11363 Helpers for pad_link_maybe_ghosting.
11365 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11368 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11370 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11372 * docs/design/part-element-source.txt:
11375 2005-05-12 Wim Taymans <wim@fluendo.com>
11377 * gst/base/gstbasesink.c: (gst_basesink_init),
11378 (gst_basesink_activate):
11379 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11380 (gst_basesrc_is_seekable):
11381 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11382 (bin_element_is_sink), (gst_bin_change_state):
11383 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11384 * gst/gstelement.h:
11385 Identify sinks by their flag to avoid overly complicated
11387 Do state changes even for elements not reachable from the
11389 BaseSink is a sink now :)
11390 Some more debugging info in the basesrc.
11393 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11395 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11396 Implement _query on a bin, similar to _send_event.
11398 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
11400 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11401 Discont event offset format should be GST_FORMAT_BYTES,
11402 not GST_FORMAT_TIME.
11404 2005-05-12 Wim Taymans <wim@fluendo.com>
11406 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11407 Same fix as Ronald's but without the signal.
11409 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11411 * gst/gstutils.c: (gst_element_query_position):
11412 No, an element is not a pad.
11414 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11416 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11417 (gst_bin_get_state):
11418 If a child is removed from a bin while we remove the child from
11419 the bin and while we're retrieving its state, signal this to the
11420 get_state function so we abort the wait (instead of waiting for
11421 a timeout) and can immediately re-iterate over all other elements.
11423 2005-05-12 Wim Taymans <wim@fluendo.com>
11425 * gst/base/Makefile.am:
11426 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11427 (gst_basesrc_start):
11428 * gst/base/gstbasesrc.h:
11429 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11430 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11431 (gst_pushsrc_init), (gst_pushsrc_create):
11432 * gst/base/gstpushsrc.h:
11433 Added is_seekable to BaseSrc
11434 Added simple PushSrc.
11436 2005-05-11 Wim Taymans <wim@fluendo.com>
11438 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11439 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11440 (gst_element_link_pads), (gst_element_query_position),
11441 (gst_element_query_convert), (intersect_caps_func),
11442 (gst_pad_query_position), (gst_pad_query_convert):
11443 Fix refcounting in utils function.
11444 No point in trying to activate a pad when it's added, it could
11445 be added from the state change function and then we deadlock, the
11446 element has to decide what to do.
11448 2005-05-10 Andy Wingo <wingo@pobox.com>
11450 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11451 *all* the arguments.
11453 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11454 stream lock if it's a FLUSH_DONE; normal flushes don't get the
11455 lock (according to the docs -- if this is wrong change the docs).
11457 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11458 flush messages in the NULL state.
11460 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11461 message immediately and return.
11462 (gst_bus_set_flushing): New function. If a bus is flushing, it
11463 flushes out any queued messages and immediately unrefs new
11464 messages. This is so when an element goes to NULL, all of the
11465 unhandled messages coming from it can be freed, and their
11466 references to the element dropped. In other words: message source
11467 ref considered harmful :P
11469 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11470 we're finished with it.
11472 * gst/gstmessage.c (gst_message_new_state_changed):
11474 2005-05-10 Wim Taymans <wim@fluendo.com>
11476 * gst/gstvalue.c: (gst_value_compare_flags),
11477 (gst_value_serialize_flags), (gst_value_deserialize_flags),
11478 (_gst_value_initialize):
11479 Added flags serialize/deserialize/compare code.
11481 2005-05-09 Andy Wingo <wingo@pobox.com>
11483 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11484 Intersect the peer's caps with our caps.
11486 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11488 * gst/base/gsttypefindhelper.c: (helper_find_peek):
11489 * gst/elements/gsttypefindelement.c: (find_peek):
11490 Handle negative offsets better. Fixes decodebin.
11492 2005-05-09 Wim Taymans <wim@fluendo.com>
11494 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11495 (gst_base_transform_event):
11496 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11497 Implement accept_caps.
11498 Fix silly lock/unlock mismatch in base class.
11500 2005-05-09 Wim Taymans <wim@fluendo.com>
11502 * docs/design/draft-push-pull.txt:
11503 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11504 * gst/elements/gstfilesink.c: (gst_filesink_init),
11505 (gst_filesink_query):
11506 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11507 (gst_type_find_handle_src_query), (find_element_get_length):
11508 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11509 * gst/gstelement.h:
11510 * gst/gstmessage.c:
11511 * gst/gstmessage.h:
11512 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11513 (gst_real_pad_get_caps_unlocked),
11514 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11515 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11516 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11517 (gst_real_pad_dispose), (gst_real_pad_finalize),
11518 (gst_pad_load_and_link), (gst_pad_save_thyself),
11519 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11520 (gst_pad_check_pull_range), (gst_pad_pull_range),
11521 (gst_pad_template_get_type), (gst_pad_template_class_init),
11522 (gst_pad_template_init), (gst_pad_template_dispose),
11523 (name_is_valid), (gst_static_pad_template_get),
11524 (gst_pad_template_new), (gst_static_pad_template_get_caps),
11525 (gst_pad_template_get_caps), (gst_pad_set_element_private),
11526 (gst_pad_get_element_private), (gst_pad_start_task),
11527 (gst_pad_pause_task), (gst_pad_stop_task),
11528 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11529 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11530 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11531 (gst_ghost_pad_new):
11533 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11534 (gst_query_new_position), (gst_query_set_position),
11535 (gst_query_parse_position), (gst_query_new_convert),
11536 (gst_query_set_convert), (gst_query_parse_convert):
11538 * gst/gstqueryutils.c:
11539 * gst/gstqueryutils.h:
11540 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11541 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11542 (gst_queue_handle_src_query):
11543 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11544 (gst_element_query_position), (gst_element_query_convert),
11545 (intersect_caps_func), (gst_pad_query_position),
11546 (gst_pad_query_convert):
11548 * tools/gst-inspect.c: (print_pad_info):
11549 * tools/gst-xmlinspect.c: (print_element_info):
11550 Remove old query functions. Ported old code.
11551 Added position/convert helper functions to gstutils.
11552 Reordered gstpad.c code, grouping relevant things.
11553 Remove gst_message_new(), always need to speficy a specific
11557 2005-05-09 Andy Wingo <wingo@pobox.com>
11559 * gst/gstiterator.h: Add some includes.
11561 * gst/gstqueryutils.h: Include more headers.
11564 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11565 some uses of gst_pad_query.
11567 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11568 NULL out parameters.
11569 (gst_query_new_position): New proc, allocates a new position
11572 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11573 gstqueryutils.c to the build.
11575 * gst/gststructure.c (gst_structure_set_valist): Implement with
11576 the generic G_VALUE_COLLECT.
11578 2005-05-08 Edward Hervey <bilboed@bilboed.com>
11580 * gst/Makefile.am: (gst_headers):
11581 Added gstqueryutils.h to the list of headers to install, that was
11582 a 'nachty' move wingo :)
11584 2005-05-06 Andy Wingo <wingo@pobox.com>
11587 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11588 GstData, init a memchunk.
11589 (standard_definitions): Add a few query types, deprecate a few.
11590 (gst_query_get_type): New proc.
11591 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11593 (gst_query_new_application, gst_query_get_structure): New public
11596 * docs/design/draft-query.txt: Removed LINKS from the query types,
11597 because all the rest can be dispatched to other pads -- seemed
11598 ugly to have a query that couldn't be dispatched. internal_links
11599 is fine as a pad method.
11601 * gst/gstpad.h: Add query2 as a pad method, add the new functions
11602 in gstpad.c, but maintain binary compatibility for the moment.
11603 Will fix before 0.9 is out.
11605 * gst/gstqueryutils.c:
11606 * gst/gstqueryutils.h: New files, implement 3 methods for each
11607 query type: parse_query, parse_response, and set. Probably need an
11610 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11612 * gst/elements/gstfilesink.c (gst_filesink_query2):
11613 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11614 query_types, and formats methods.
11616 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11617 (gst_pad_set_query2_function): New functions.
11618 (gst_real_pad_init): Set query2_default as the default query2
11619 function. Basically just dispatches to internally linked pads.
11623 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11624 without using the atomic operations. Only one thread can possibly
11625 be accessing the data at this point. Changed so as to avoid
11626 gst_atomic operations.
11628 2005-05-06 Wim Taymans <wim@fluendo.com>
11630 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11631 Also set caps if we use the fallback buffer alloc.
11633 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
11635 * docs/gst/Makefile.am:
11636 * docs/gst/gstreamer-docs.sgml:
11637 * docs/gst/gstreamer-sections.txt:
11638 * docs/gst/tmpl/gstatomic.sgml:
11639 * docs/gst/tmpl/gstmemchunk.sgml:
11640 * testsuite/elements/struct_i386.h:
11641 * win32/GStreamer.vcproj:
11643 Purge GstAtomic stuff from docs and win32 makefiles as well
11645 2005-05-06 Wim Taymans <wim@fluendo.com>
11647 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11648 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11649 * gst/gstpad.c: (gst_pad_peer_get_caps):
11650 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11651 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11652 (gst_queue_src_activate), (gst_queue_change_state):
11654 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11655 (intersect_caps_func):
11656 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11657 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11658 Some fixes for the peer_get_caps() change.
11660 2005-05-06 Wim Taymans <wim@fluendo.com>
11662 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11663 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11664 (gst_basesink_activate):
11665 Actually do something with error codes returned from the push
11668 2005-05-06 Wim Taymans <wim@fluendo.com>
11670 * docs/design/part-element-sink.txt:
11671 * docs/design/part-element-source.txt:
11672 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11673 (gst_basesink_event), (gst_basesink_activate):
11674 * gst/base/gstbasesink.h:
11675 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11676 (gst_basesrc_activate):
11677 * gst/base/gstbasesrc.h:
11678 * gst/gstelement.c: (gst_element_pads_activate):
11679 Some more documentation.
11680 Fixed scheduling decision in _pads_activate().
11682 2005-05-05 Andy Wingo <wingo@pobox.com>
11684 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11687 2005-05-05 Wim Taymans <wim@fluendo.com>
11689 * gst/base/Makefile.am:
11690 * gst/base/gstbasesink.h:
11691 * gst/base/gstbasesrc.c: (gst_basesrc_init),
11692 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11693 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11694 (gst_collectpads_class_init), (gst_collectpads_init),
11695 (gst_collectpads_finalize), (gst_collectpads_new),
11696 (gst_collectpads_set_function), (gst_collectpads_add_pad),
11697 (find_pad), (gst_collectpads_remove_pad),
11698 (gst_collectpads_is_active), (gst_collectpads_collect),
11699 (gst_collectpads_collect_range), (gst_collectpads_start),
11700 (gst_collectpads_stop), (gst_collectpads_peek),
11701 (gst_collectpads_pop), (gst_collectpads_available),
11702 (gst_collectpads_read), (gst_collectpads_flush),
11703 (gst_collectpads_chain):
11704 * gst/base/gstcollectpads.h:
11705 * gst/elements/Makefile.am:
11706 * gst/elements/gstelements.c:
11707 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11708 (gst_fakesink_get_times), (gst_fakesink_event),
11709 (gst_fakesink_preroll), (gst_fakesink_render):
11710 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11711 (gst_filesink_init), (gst_filesink_set_location),
11712 (gst_filesink_open_file), (gst_filesink_close_file),
11713 (gst_filesink_pad_query), (gst_filesink_event),
11714 (gst_filesink_render), (gst_filesink_change_state):
11715 * gst/elements/gstfilesink.h:
11716 Added object to help in making collect pad based elements.
11718 Make event function in sink baseclass return gboolean.
11720 2005-05-05 Wim Taymans <wim@fluendo.com>
11722 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11723 (gst_bin_get_by_name):
11725 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11726 (gst_clock_finalize):
11727 * gst/gstdata.c: (gst_data_replace):
11729 * gst/gstelement.c: (gst_element_request_pad),
11730 (gst_element_pads_activate):
11731 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11732 (gst_object_unref):
11733 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11734 (gst_pad_set_checkgetrange_function),
11735 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11736 (gst_pad_check_pull_range), (gst_pad_pull_range),
11737 (gst_static_pad_template_get_caps), (gst_pad_start_task),
11738 (gst_pad_pause_task), (gst_pad_stop_task):
11739 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11740 (gst_element_request_pad), (gst_pad_proxy_getcaps):
11741 Fix name lookup in GstBin.
11742 Added _data_replace() function and _buffer_replace()
11743 Use finalize method to clean up clock.
11744 Fix refcounting on request pads.
11745 Fix pad schedule mode error.
11746 Some more object refcounting debug info,
11749 2005-05-04 Andy Wingo <wingo@pobox.com>
11751 * check/Makefile.am:
11752 * docs/gst/tmpl/gstatomic.sgml:
11753 * docs/gst/tmpl/gstplugin.sgml:
11754 * gst/base/gstbasesink.c: (gst_basesink_activate):
11755 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11756 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11757 (gst_basesrc_query), (gst_basesrc_set_property),
11758 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11759 (gst_basesrc_activate):
11760 * gst/base/gstbasesrc.h:
11761 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11762 (gst_base_transform_src_activate):
11763 * gst/elements/gstelements.c:
11764 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11765 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11766 * gst/elements/gsttee.c: (gst_tee_sink_activate):
11767 * gst/elements/gsttypefindelement.c: (find_element_get_length),
11768 (gst_type_find_element_checkgetrange),
11769 (gst_type_find_element_activate):
11770 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11771 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11772 (gst_caps_load_thyself):
11773 * gst/gstelement.c: (gst_element_pads_activate),
11774 (gst_element_save_thyself), (gst_element_restore_thyself):
11775 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11776 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11778 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11779 (gst_xml_parse_file), (gst_xml_parse_memory),
11780 (gst_xml_get_element), (gst_xml_make_element):
11781 * gst/indexers/gstfileindex.c: (gst_file_index_load),
11782 (_file_index_id_save_xml), (gst_file_index_commit):
11783 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11784 (read_enum), (load_pad_template), (load_feature), (load_plugin),
11786 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11787 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11788 * tools/gst-complete.c: (main):
11789 * tools/gst-compprep.c: (main):
11790 * tools/gst-inspect.c: (print_element_properties_info):
11791 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11792 * tools/gst-xmlinspect.c: (print_element_properties):
11795 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
11797 * gst/gstplugin.c: (gst_plugin_check_module),
11798 (gst_plugin_check_file), (gst_plugin_load_file):
11799 apply patch from #172526 to make register work on MacOSX
11801 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11803 * docs/gst/tmpl/gstconfig.sgml:
11804 * gst/gstconfig.h.in:
11805 move documentation for some symbols. Add doc for GST_PTR_FORMAT
11806 * testsuite/debug/printf_extension.c: (main):
11807 Do not use GST_PTR_FORMAT on pointers to types with
11808 sizeof < sizeof(gpointer). Fixes test on 64-bit
11809 * testsuite/elements/property.h:
11810 use correct printf format
11812 2005-05-02 Wim Taymans <wim@fluendo.com>
11814 * docs/design/draft-push-pull.txt:
11815 * docs/design/draft-query.txt:
11816 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11817 (gst_basesrc_start):
11818 Added draft for new query API.
11819 Added draft for better selecting scheduling methods.
11820 Make basesrc ignore length if the subclass does not support
11823 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11826 possible fixes for automake-1.5 - _LIBADD is reserved
11828 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11830 * docs/faq/Makefile.am:
11831 * docs/manual/Makefile.am:
11832 * docs/manuals.mak:
11833 * docs/pwg/Makefile.am:
11835 possible fixes for automake-1.5
11837 2005-04-28 Wim Taymans <wim@fluendo.com>
11839 * gst/base/gstbasesink.c: (gst_basesink_base_init),
11840 (gst_basesink_pad_getcaps), (gst_basesink_init),
11841 (gst_basesink_do_sync):
11842 * gst/gstclock.c: (gst_clock_entry_new):
11843 * gst/gstevent.c: (gst_event_discont_get_value):
11844 * gst/gstpipeline.c: (pipeline_bus_handler),
11845 (gst_pipeline_change_state):
11846 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11847 Better debugging of clocking info.
11848 Allow NULL values when getting discont values.
11850 2005-04-27 Wim Taymans <wim@fluendo.com>
11852 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11853 * check/gst/gstpad.c: (gst_pad_suite):
11854 Increase timeout for checks.
11856 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11858 * check/Makefile.am:
11859 fix the broken rule for cleanup. Apparently this rule is
11860 only needed on FC2, so maybe this warrants further autotool
11863 2005-04-26 Wim Taymans <wim@fluendo.com>
11865 * gst/gsttrashstack.h:
11866 Ooohh. a nasty one! After having a failed pop() from the stack,
11867 it's possible that the stack is empty. In that case, don't
11868 follow the NULL pointer.
11870 2005-04-25 Wim Taymans <wim@fluendo.com>
11872 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11873 (gst_pad_set_checkgetrange_function),
11874 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11875 (gst_pad_check_pull_range), (gst_pad_pull_range),
11876 (gst_static_pad_template_get_caps), (gst_pad_start_task),
11877 (gst_pad_pause_task), (gst_pad_stop_task):
11878 * gst/gstplugin.c: (gst_plugin_load):
11880 Remove gst_library_load as it does more harm than good with
11881 the new g_module flags.
11882 Revert bogus caps template check in pad linking, pad caps
11883 are important when linking not the template, which is more
11884 general than the current caps.
11886 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11888 * gst/autoplug/.cvsignore:
11889 * gst/autoplug/Makefile.am:
11890 * gst/autoplug/gstsearchfuncs.c:
11891 * gst/autoplug/gstsearchfuncs.h:
11892 * gst/autoplug/gstspider.c:
11893 * gst/autoplug/gstspider.h:
11894 * gst/autoplug/gstspideridentity.c:
11895 * gst/autoplug/gstspideridentity.h:
11896 * gst/autoplug/spidertest.c:
11899 2005-04-25 Wim Taymans <wim@fluendo.com>
11901 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11902 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11903 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11904 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11906 Added stubs for unimplemented functions.
11908 2005-04-24 David Schleef <ds@schleef.org>
11910 * gst/gstpad.h: Disable some unimplemented functions. Wim,
11913 2005-04-24 David Schleef <ds@schleef.org>
11915 Convert everything from GstAtomicInt to g_atomic_int_*, and
11920 * gst/gstatomic_impl.h:
11928 * gst/gstdata_private.h:
11932 * gst/gstmessage.c:
11935 * gst/gststructure.c:
11936 * gst/gststructure.h:
11937 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11940 2005-04-24 David Schleef <ds@schleef.org>
11942 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11943 make the regressions tests work. Remove some code that is no
11945 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11946 Disable warning for pads without templates.
11948 2005-04-24 David Schleef <ds@schleef.org>
11950 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
11951 functions that handle filtered links.
11952 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11954 * gst/gstutils.c: Fix/remove utility functions that handle
11957 * gst/gstvalue.c: Add serialization/deserialization of caps
11958 * gst/parse/grammar.y: Ignore filtered caps when linking. This
11959 requires fixing so that the filter caps notation creates
11960 a capsfilter element and sets the filter_caps property. I
11961 think everyone probably wants to keep the shorthand notation.
11962 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11963 * docs/gst/tmpl/gstpad.sgml:
11965 * gst/elements/gstelements.c: Register capsfilter element.
11966 * gst/Makefile.am: fix spacing
11967 * docs/random/ds/0.9-suggested-changes: random
11969 2005-04-23 David Schleef <ds@schleef.org>
11971 * gst/elements/Makefile.am:
11972 * gst/elements/gstcapsfilter.c: New element that acts like an
11973 identity, but filters caps. Will eventually replace filtered
11974 caps in pad linking.
11975 * gst/gstutils.c: (gst_element_create_all_pads): New function
11976 to create all the ALWAYS pads that are registered with an
11977 element class. This functionality should eventually be
11978 merged in with GstElement initialization.
11980 * testsuite/trigger/README: part of trigger test code that should
11981 have been checked in a long time ago.
11983 2005-04-23 David Schleef <ds@schleef.org>
11985 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
11986 needed with new versions of libtool (nobody will confirm this),
11987 and hard to carry around.
11988 * gst/autoplug/Makefile.am:
11989 * gst/base/Makefile.am:
11990 * gst/elements/Makefile.am:
11991 * gst/indexers/Makefile.am:
11992 * gst/schedulers/Makefile.am:
11993 * libs/gst/bytestream/Makefile.am:
11994 * libs/gst/control/Makefile.am:
11995 * libs/gst/dataprotocol/Makefile.am:
11996 * libs/gst/getbits/Makefile.am:
11998 2005-04-21 Wim Taymans <wim@fluendo.com>
12000 * docs/design/draft-push-pull.txt:
12001 * docs/design/part-MT-refcounting.txt:
12002 * docs/design/part-TODO.txt:
12003 * docs/design/part-caps.txt:
12004 * docs/design/part-events.txt:
12005 * docs/design/part-gstbus.txt:
12006 * docs/design/part-gstpipeline.txt:
12007 * docs/design/part-messages.txt:
12008 * docs/design/part-push-pull.txt:
12009 * docs/design/part-query.txt:
12012 2005-04-21 Wim Taymans <wim@fluendo.com>
12014 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12015 (gst_message_new), (gst_message_new_error),
12016 (gst_message_new_warning), (gst_message_new_tag),
12017 (gst_message_new_state_changed), (gst_message_new_application),
12018 (gst_message_get_structure):
12019 * gst/gstmessage.h:
12020 * gst/gststructure.c: (gst_structure_set_parent_refcount),
12021 (gst_structure_copy_conditional):
12022 Use parent refcount in GstMessage to ensure GstStructure
12024 Cleaned up headers a bit.
12027 2005-04-20 Wim Taymans <wim@fluendo.com>
12029 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12030 (gst_basesink_pad_getcaps), (gst_basesink_init),
12031 (gst_basesink_chain_unlocked):
12032 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12033 (gst_type_find_helper):
12034 * gst/elements/gsttypefindelement.c:
12035 (gst_type_find_element_have_type), (gst_type_find_element_init),
12036 (stop_typefinding), (gst_type_find_element_handle_event),
12037 (find_suggest), (gst_type_find_element_chain),
12038 (gst_type_find_element_checkgetrange),
12039 (gst_type_find_element_getrange), (do_typefind),
12040 (gst_type_find_element_activate):
12041 * gst/gstbuffer.c: (_gst_buffer_sub_free),
12042 (gst_buffer_default_free), (gst_buffer_default_copy),
12043 (gst_buffer_set_caps):
12044 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12045 (gst_caps_replace):
12046 * gst/gstmessage.c: (gst_message_new),
12047 (gst_message_new_state_changed):
12048 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12049 (gst_pad_set_checkgetrange_function),
12050 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12051 (gst_pad_set_caps), (gst_pad_check_pull_range),
12052 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12054 * gst/gsttypefind.c: (gst_type_find_register):
12055 Make gst_caps_replace() work like other _replace() functions.
12056 Use _caps_replace() where possible.
12057 Make sure _message_new() initialises its field.
12058 Add gst_static_pad_template_get_caps()
12061 2005-04-18 Andy Wingo <wingo@pobox.com>
12063 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12064 on the peer, not the pad. I think that was a typo. Pass an extra
12065 arg to see if random access is possible. Activate the pads as
12066 PULL_RANGE if possible.
12068 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12070 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
12071 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12074 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12076 * docs/faq/using.xml:
12077 Add note on gstreamer-properties (#154996).
12079 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12081 * docs/random/bbb/optional-properties:
12082 Some analysis on optional properties.
12084 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12086 * docs/gst/tmpl/gstelementfactory.sgml:
12087 * gst/gstelement.h:
12088 * gst/gstelementfactory.c: (gst_element_factory_init),
12089 (gst_element_factory_cleanup), (gst_element_register),
12090 (__gst_element_factory_add_static_pad_template),
12091 (gst_element_factory_get_static_pad_templates),
12092 (gst_element_factory_can_src_caps),
12093 (gst_element_factory_can_sink_caps):
12094 * gst/registries/Makefile.am:
12095 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12096 (gst_xml_registry_class_init), (gst_xml_registry_init),
12097 (gst_xml_registry_new), (gst_xml_registry_set_property),
12098 (gst_xml_registry_get_property), (get_time), (make_dir),
12099 (gst_xml_registry_get_perms_func),
12100 (plugin_times_older_than_recurse), (plugin_times_older_than),
12101 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12102 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12103 (add_to_char_array), (read_string), (read_uint), (read_enum),
12104 (load_pad_template), (load_feature), (load_plugin), (load_paths),
12105 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12106 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12107 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12108 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12109 (gst_xml_registry_rebuild):
12110 * gst/registries/gstlibxmlregistry.h:
12111 * tools/gst-compprep.c: (main):
12112 * tools/gst-inspect.c: (print_pad_templates_info):
12113 * tools/gst-xmlinspect.c: (print_element_info):
12114 Use libxml2 for registry parsing, use staticpadtemplates in
12115 elementfactories. Makes gst_init() +/- 10x faster.
12117 2005-04-12 Wim Taymans <wim@fluendo.com>
12119 * gst/base/Makefile.am:
12120 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12121 (gst_basesink_pad_getcaps), (gst_basesink_init),
12122 (gst_basesink_event), (gst_basesink_change_state):
12123 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12124 (gst_basesrc_init), (gst_basesrc_query),
12125 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12126 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12127 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12128 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12129 (gst_basesrc_stop), (gst_basesrc_activate),
12130 (gst_basesrc_change_state):
12131 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12132 (helper_find_suggest), (gst_type_find_helper):
12133 * gst/base/gsttypefindhelper.h:
12134 * gst/elements/Makefile.am:
12135 * gst/elements/gstelements.c:
12136 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12137 (gst_fakesink_get_times), (gst_fakesink_event),
12138 (gst_fakesink_preroll), (gst_fakesink_render):
12139 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12140 (gst_fakesrc_init), (gst_fakesrc_event_handler),
12141 (gst_fakesrc_get_property), (gst_fakesrc_create),
12142 (gst_fakesrc_start), (gst_fakesrc_stop):
12143 * gst/elements/gstfakesrc.h:
12144 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12145 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12146 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12147 (gst_filesrc_create_read), (gst_filesrc_create),
12148 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12149 (gst_filesrc_start):
12150 * gst/elements/gsttypefindelement.c:
12151 (gst_type_find_element_have_type), (gst_type_find_element_init),
12152 (start_typefinding), (stop_typefinding), (push_buffer_store),
12153 (gst_type_find_element_handle_event),
12154 (gst_type_find_element_chain),
12155 (gst_type_find_element_checkgetrange),
12156 (gst_type_find_element_getrange), (do_typefind),
12157 (gst_type_find_element_activate),
12158 (gst_type_find_element_change_state):
12159 * gst/elements/gsttypefindelement.h:
12160 * gst/gstpipeline.c: (pipeline_bus_handler):
12161 Added typefind helper.
12162 Small preroll fix in the base sink.
12163 Disable typefind code in basesrc.
12164 Crude port of typefindelement.
12168 2005-04-11 Wim Taymans <wim@fluendo.com>
12170 * check/gst/gstbus.c: (gstbus_suite):
12171 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12172 * check/gstcheck.h:
12173 Fix up the timeout so that the test does not fail.
12175 2005-04-06 Wim Taymans <wim@fluendo.com>
12178 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12179 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12180 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12181 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12182 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12183 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12184 (gst_basesrc_stop), (gst_basesrc_activate),
12185 (gst_basesrc_change_state), (basesrc_find_peek),
12186 (basesrc_find_suggest), (gst_basesrc_type_find):
12187 * gst/base/gstbasesrc.h:
12188 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12189 (gst_filesrc_class_init), (gst_filesrc_init),
12190 (gst_filesrc_finalize), (gst_filesrc_set_location),
12191 (gst_filesrc_set_property), (gst_filesrc_get_property),
12192 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12193 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12194 (gst_filesrc_create_read), (gst_filesrc_create),
12195 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12196 * gst/elements/gstfilesrc.h:
12197 * gst/gstelement.c: (gst_element_get_state_func),
12198 (gst_element_lost_state), (gst_element_pads_activate):
12199 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12200 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12201 (gst_pad_pull_range):
12203 More work on the generic source base class, implement seeking,
12205 Make filesrc extend the base source class.
12206 Added gst_pad_set_checkgetrange_function to GstPad.
12208 2005-04-06 Andy Wingo <wingo@pobox.com>
12210 * pkgconfig/gstreamer-base.pc.in:
12211 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12213 * pkgconfig/Makefile.am:
12214 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12216 2005-04-04 Wim Taymans <wim@fluendo.com>
12218 * gst/base/Makefile.am:
12220 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12221 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12222 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12223 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12224 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12225 (gst_basesrc_base_init), (gst_basesrc_class_init),
12226 (gst_basesrc_init), (gst_basesrc_get_formats),
12227 (gst_basesrc_get_query_types), (gst_basesrc_query),
12228 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12229 (gst_basesrc_set_property), (gst_basesrc_get_property),
12230 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12231 (gst_basesrc_loop), (gst_basesrc_activate),
12232 (gst_basesrc_change_state):
12233 * gst/base/gstbasesrc.h:
12234 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12235 (gst_fakesrc_class_init), (gst_fakesrc_init),
12236 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12237 (gst_fakesrc_get_property), (gst_fakesrc_create):
12238 * gst/elements/gstfakesrc.h:
12239 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12240 (gst_filesrc_open_file), (gst_filesrc_loop),
12241 (gst_filesrc_activate), (filesrc_find_peek),
12242 (gst_filesrc_type_find):
12243 Made base source class, make fakesrc extend it.
12244 Add comments to basesink class.
12245 Some filesrc cleanup.
12247 2005-03-31 David Schleef <ds@schleef.org>
12249 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12250 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12251 expected to link against libgstreamer.
12252 * gst/base/Makefile.am: link against libgstreamer
12253 * gst/elements/Makefile.am: same
12255 2005-03-31 Andy Wingo <wingo@pobox.com>
12257 * tests/instantiate/Makefile.am:
12258 * tests/instantiate/caps.c: Add test to test speed of caps copy
12261 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12262 GMemChunk to be fair.
12264 * gst/gsttrashstack.h: Remove warning about using the fallback
12265 trash stack implementation, it's still faster than malloc.
12267 2005-03-30 Andy Wingo <wingo@pobox.com>
12269 * tests/complexity.c: Add a copyright.
12271 2005-03-31 Wim Taymans <wim@fluendo.com>
12273 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12274 (gst_base_transform_class_init), (gst_base_transform_init),
12275 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12276 (gst_base_transform_get_property),
12277 (gst_base_transform_sink_activate),
12278 (gst_base_transform_src_activate),
12279 (gst_base_transform_change_state):
12280 * gst/base/gstbasetransform.h:
12281 * gst/elements/gstidentity.c: (gst_identity_class_init),
12282 (gst_identity_event), (gst_identity_check_perfect),
12283 (gst_identity_transform), (gst_identity_start),
12284 (gst_identity_stop):
12285 Added start/stop methods to transform base class so subclasses
12286 don't need to deal with state changes even.
12288 2005-03-31 Wim Taymans <wim@fluendo.com>
12290 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12291 (gst_event_new_discontinuous), (gst_event_discont_get_value):
12293 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12294 (gst_pad_pull_range):
12295 Added rate to the discont event to prepare for variable speed
12296 and reverse playback.
12298 2005-03-29 David Schleef <ds@schleef.org>
12301 * testsuite/trigger/Makefile.am:
12302 * testsuite/trigger/trigger.c: A little example program to show
12303 how trigger-based elements can work.
12305 2005-03-29 Wim Taymans <wim@fluendo.com>
12307 * gst/base/Makefile.am:
12309 * gst/base/gstbasesink.c: (gst_basesink_get_type),
12310 (gst_basesink_base_init), (gst_basesink_class_init),
12311 (gst_basesink_pad_getcaps), (gst_basesink_init),
12312 (gst_basesink_activate), (gst_basesink_change_state):
12313 * gst/base/gstbasesink.h:
12314 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12315 (gst_base_transform_base_init), (gst_base_transform_finalize),
12316 (gst_base_transform_class_init), (gst_base_transform_init),
12317 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12318 (gst_base_transform_event), (gst_base_transform_getrange),
12319 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12320 (gst_base_transform_set_property),
12321 (gst_base_transform_get_property),
12322 (gst_base_transform_sink_activate),
12323 (gst_base_transform_src_activate),
12324 (gst_base_transform_change_state):
12325 * gst/base/gstbasetransform.h:
12326 * gst/elements/gstidentity.c: (gst_identity_finalize),
12327 (gst_identity_class_init), (gst_identity_init),
12328 (gst_identity_event), (gst_identity_check_perfect),
12329 (gst_identity_transform), (gst_identity_set_property),
12330 (gst_identity_get_property), (gst_identity_change_state):
12331 * gst/elements/gstidentity.h:
12332 * gst/gstelement.c: (gst_element_get_state_func),
12333 (gst_element_lost_state), (gst_element_pads_activate):
12334 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12335 (gst_pad_check_pull_range), (gst_pad_pull_range):
12337 Simplify pad activation.
12338 Added function to check if pull_range can be performed.
12339 Error out when pulling inactive or flushing pads.
12340 Removed const from refcounted types as it does not make sense.
12341 Simplify pad templates in basesink
12342 Added base class for simple 1-to-1 transforms.
12343 Make identity subclass the base transform.
12345 2005-03-29 Andy Wingo <wingo@pobox.com>
12347 * docs/libs/gstreamer-libs-overrides.txt:
12348 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12349 really don't understand what's going on, but like whatever. I want
12352 * docs/gst/Makefile.am:
12353 * docs/libs/Makefile.am: Dist the overrides files.
12355 * check/Makefile.am (clean-local): Remove .libs directories.
12357 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12358 elements to EXTRA_DIST, so po/ files are happy.
12360 * po/POTFILES.in: Er, remove it here.
12362 * po/POTFILES: Remove gstspider.c.
12364 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12366 * docs/libs/gstreamer-libs-docs.sgml:
12367 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12370 * tests/complexity.c (main): Set the length of the preroll queue
12371 on the sinks to prevent a lockup.
12373 * libs/gst/dataprotocol/Makefile.am:
12374 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12375 the same as the one in check/gst-libs/gdp.c.
12377 * po/, docs/gst/: Commit automatic changes to docs and po files.
12379 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12380 the versioned libgstbase.
12382 * check/Makefile.am: Depend on an unversioned gst-register, seems
12383 to make autoconf happier.
12385 * gst/base/Makefile.am: Make libgstbase a versioned lib.
12387 2005-03-28 Wim Taymans <wim@fluendo.com>
12390 * docs/design/part-gstelement.txt:
12391 * docs/design/part-negotiation.txt:
12392 * docs/design/part-preroll.txt:
12393 * docs/design/part-scheduling.txt:
12394 * docs/design/part-states.txt:
12396 * gst/base/Makefile.am:
12398 * gst/base/gstbasesink.c: (gst_basesink_get_template),
12399 (gst_basesink_base_init), (gst_basesink_class_init),
12400 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12401 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12402 (gst_basesink_set_pad_functions),
12403 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12404 (gst_basesink_set_property), (gst_basesink_get_property),
12405 (gst_base_sink_get_template), (gst_base_sink_get_caps),
12406 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12407 (gst_basesink_preroll_queue_push),
12408 (gst_basesink_preroll_queue_empty),
12409 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12410 (gst_basesink_event), (gst_basesink_get_times),
12411 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12412 (gst_basesink_chain_unlocked), (gst_basesink_chain),
12413 (gst_basesink_loop), (gst_basesink_activate),
12414 (gst_basesink_change_state):
12415 * gst/base/gstbasesink.h:
12416 * gst/elements/Makefile.am:
12417 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12418 (gst_fakesink_class_init), (gst_fakesink_init),
12419 (gst_fakesink_set_property), (gst_fakesink_get_property),
12420 (gst_fakesink_get_times), (gst_fakesink_event),
12421 (gst_fakesink_preroll), (gst_fakesink_render),
12422 (gst_fakesink_change_state):
12423 * gst/elements/gstfakesink.h:
12424 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12425 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12426 * gst/gstelement.c: (gst_element_add_pad),
12427 (gst_element_get_state_func), (gst_element_abort_state),
12428 (gst_element_commit_state), (gst_element_lost_state),
12429 (gst_element_set_state), (gst_element_pads_activate):
12430 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12431 * gst/gstpipeline.c: (gst_pipeline_send_event),
12432 (gst_pipeline_change_state):
12433 Added state change code.
12434 Added/updated docs.
12435 Added sink base class, make fakesink extend the base class.
12436 Small cleanups in GstPipeline.
12438 2005-03-26 David Schleef <ds@schleef.org>
12440 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
12441 is broken and should be implemented in a different library.
12442 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12443 * gst/gst.h: remove gstcpu.h
12444 * gst/gstcpu.c: remove
12445 * gst/gstcpu.h: remove
12446 * gst/Makefile.am.future: Remove this file. It's ancient.
12448 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12450 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12451 (gst_bin_send_event):
12452 Add default event/set_manager handlers. The set_manager handler
12453 takes care that the manager is distributed over kids that were
12454 already in the bin before the manager was set. The event handler
12455 is a utility virtual function that sends the event over all sinks,
12456 so that gst_element_send_event (bin, event); has the expected
12458 * gst/gstpad.c: (gst_pad_event_default):
12459 Re-install default event handling for discontinuities, so that
12460 seeking works without requiring hacks in applications or extra
12462 * gst/gstpipeline.c: (gst_pipeline_class_init),
12463 (gst_pipeline_send_event):
12464 Half hack, half utility: set a pipeline to PAUSED for seek events,
12465 since that is the only way we can guarantee a/v sync. Means that
12466 you can do gst_element_seek (pipeline, method, pos); on a pipeline
12467 and it "just works".
12469 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12471 * gst/gstpipeline.c: (gst_pipeline_use_clock):
12472 Lock/unlock mismatch.
12474 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
12476 * docs/faq/gst-uninstalled:
12477 add gst-plugins-base
12478 * docs/gst/Makefile.am:
12479 don't error out until docs are fixed
12480 * docs/gst/gstreamer.types:
12483 2005-03-22 Wim Taymans <wim@fluendo.com>
12485 * check/Makefile.am:
12486 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12487 * gst/gststructure.c: (gst_structure_set_valist),
12488 (gst_structure_copy_conditional):
12489 Activated more tests.
12490 Added message test.
12491 Added G_TYPE_POINTER to GstStructure.
12494 2005-03-22 Wim Taymans <wim@fluendo.com>
12496 * docs/design/part-TODO.txt:
12497 * docs/design/part-events.txt:
12498 * docs/design/part-gstbin.txt:
12499 * docs/design/part-gstbus.txt:
12500 * docs/design/part-gstpipeline.txt:
12501 * docs/design/part-messages.txt:
12503 * gst/gstmessage.c:
12506 2005-03-21 Wim Taymans <wim@fluendo.com>
12508 * gst/gstbus.c: (gst_bus_post):
12509 Fix copy-and-paste error.
12511 2005-03-21 Wim Taymans <wim@fluendo.com>
12513 * check/Makefile.am:
12515 * gst/elements/Makefile.am:
12516 * gst/elements/gstelements.c:
12517 * gst/elements/gstfakesink.c: (gst_fakesink_init),
12518 (gst_fakesink_event), (gst_fakesink_chain):
12519 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12520 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12521 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12522 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12523 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12524 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12525 (gst_fakesrc_loop), (gst_fakesrc_activate),
12526 (gst_fakesrc_change_state):
12527 * gst/elements/gstfakesrc.h:
12528 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12529 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12530 (gst_filesrc_open_file), (gst_filesrc_loop),
12531 (gst_filesrc_activate), (gst_filesrc_change_state),
12532 (filesrc_find_peek), (filesrc_find_suggest),
12533 (gst_filesrc_type_find):
12534 * gst/elements/gstidentity.c: (gst_identity_finalize),
12535 (gst_identity_class_init), (gst_identity_init),
12536 (gst_identity_proxy_getcaps), (identity_queue_push),
12537 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12538 (gst_identity_getrange), (gst_identity_chain),
12539 (gst_identity_sink_loop), (gst_identity_src_loop),
12540 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12541 (gst_identity_set_property), (gst_identity_get_property),
12542 (gst_identity_change_state):
12543 * gst/elements/gstidentity.h:
12544 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12545 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12546 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12547 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12548 (gst_tee_sink_activate):
12549 * gst/elements/gsttee.h:
12550 * gst/gst.c: (gst_register_core_elements), (init_post):
12552 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12553 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12554 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12555 (gst_bin_change_state):
12557 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12558 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12559 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12560 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12561 (gst_bus_set_sync_handler), (gst_bus_create_watch),
12562 (bus_watch_callback), (bus_watch_destroy),
12563 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12564 (poll_timeout), (gst_bus_poll):
12568 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12569 (gst_element_post_message), (gst_element_message_full),
12570 (gst_element_get_state_func), (gst_element_get_state),
12571 (gst_element_abort_state), (gst_element_commit_state),
12572 (gst_element_lost_state), (gst_element_set_state),
12573 (gst_element_pads_activate), (gst_element_change_state),
12574 (gst_element_dispose), (gst_element_set_manager_func),
12575 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12576 (gst_element_set_manager), (gst_element_get_manager),
12577 (gst_element_set_bus), (gst_element_get_bus),
12578 (gst_element_set_scheduler), (gst_element_get_scheduler):
12579 * gst/gstelement.h:
12580 * gst/gstevent.c: (gst_event_new_segment_seek),
12581 (gst_event_new_flush):
12583 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12584 (_gst_message_free), (gst_message_get_type), (gst_message_new),
12585 (gst_message_new_eos), (gst_message_new_error),
12586 (gst_message_new_warning), (gst_message_new_tag),
12587 (gst_message_new_state_changed), (gst_message_new_application),
12588 (gst_message_get_structure), (gst_message_parse_tag),
12589 (gst_message_parse_state_changed), (gst_message_parse_error),
12590 (gst_message_parse_warning):
12591 * gst/gstmessage.h:
12592 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12593 (gst_real_pad_set_property), (gst_pad_set_active),
12594 (gst_pad_is_active), (gst_pad_set_blocked_async),
12595 (gst_pad_set_blocked), (gst_pad_is_blocked),
12596 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12597 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12598 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12599 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12600 (gst_pad_link_filtered), (gst_pad_relink_filtered),
12601 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12602 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12603 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12604 (gst_pad_set_caps), (gst_pad_configure_sink),
12605 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12606 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12607 (gst_real_pad_dispose), (gst_real_pad_finalize),
12608 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12609 (gst_pad_event_default_dispatch), (gst_pad_event_default),
12610 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12612 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12613 (pipeline_bus_handler), (gst_pipeline_change_state),
12614 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12615 * gst/gstpipeline.h:
12617 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12618 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12619 (gst_queue_link_src), (gst_queue_bufferalloc),
12620 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12621 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12622 (gst_queue_loop), (gst_queue_handle_src_event),
12623 (gst_queue_handle_src_query), (gst_queue_src_activate),
12624 (gst_queue_change_state):
12626 * gst/gstscheduler.c: (gst_scheduler_init),
12627 (gst_scheduler_dispose), (gst_scheduler_create_task),
12628 (gst_scheduler_factory_create):
12629 * gst/gstscheduler.h:
12630 * gst/gststructure.c: (gst_structure_get_type),
12631 (gst_structure_copy_conditional):
12632 * gst/gststructure.h:
12633 * gst/gsttaginterface.h:
12634 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12635 (gst_task_init), (gst_task_dispose), (gst_task_create),
12636 (gst_task_get_state), (gst_task_start), (gst_task_stop),
12642 * gst/schedulers/Makefile.am:
12643 * gst/schedulers/cothreads_compat.h:
12644 * gst/schedulers/entryscheduler.c:
12645 * gst/schedulers/faircothreads.c:
12646 * gst/schedulers/faircothreads.h:
12647 * gst/schedulers/fairscheduler.c:
12648 * gst/schedulers/gstbasicscheduler.c:
12649 * gst/schedulers/gstoptimalscheduler.c:
12650 * gst/schedulers/gthread-cothreads.h:
12651 * gst/schedulers/threadscheduler.c:
12652 (gst_thread_scheduler_task_get_type),
12653 (gst_thread_scheduler_task_class_init),
12654 (gst_thread_scheduler_task_init),
12655 (gst_thread_scheduler_task_start),
12656 (gst_thread_scheduler_task_stop),
12657 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12658 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12659 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12660 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12662 * libs/gst/Makefile.am:
12663 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12664 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12665 (gst_file_pad_parent_set):
12666 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12667 (gst_dp_event_from_packet):
12668 * tests/complexity.c: (main):
12669 * tests/mass_elements.c: (main):
12670 * testsuite/states/locked.c: (message_received), (main):
12671 * testsuite/states/parent.c: (main):
12672 * tools/gst-inspect.c: (print_element_flag_info),
12673 (print_implementation_info), (print_pad_info):
12674 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12676 * tools/gst-md5sum.c: (event_loop), (main):
12677 * tools/gst-typefind.c: (main):
12678 * tools/gst-xmlinspect.c: (print_element_info):
12680 Added GstBus for mainloop integration.
12681 Added GstMessage for sending notifications on the bus.
12682 Added GstTask as an abstraction for pipeline entry points.
12684 Removed Schedulers.
12685 Simplified GstQueue for multithreaded core.
12686 Made _link threadsafe, removed old capsnego.
12687 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12688 Added pad blocking functions.
12689 Reworked scheduling functions in GstPad to prepare for
12690 scheduling updates soon.
12691 Moved events out of data stream.
12692 Simplified GstEvent types.
12693 Added return values to push/pull.
12694 Removed clocking from GstElement.
12695 Added prototypes for state change function for next merge.
12696 Removed iterate from bins and state change management.
12697 Fixed some elements, disabled others for now.
12698 Fixed -inspect and -launch.
12699 Added check for GstBus.
12701 2005-03-10 Wim Taymans <wim@fluendo.com>
12703 * docs/design/part-MT-refcounting.txt:
12704 * docs/design/part-clocks.txt:
12705 * docs/design/part-gstelement.txt:
12706 * docs/design/part-gstobject.txt:
12707 * docs/design/part-standards.txt:
12708 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12709 (gst_bin_remove_func), (gst_bin_remove):
12713 * testsuite/clock/clock1.c: (main):
12714 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12716 * testsuite/dlopen/loadgst.c: (do_test):
12717 * testsuite/refcounting/bin.c: (add_remove_test1),
12718 (add_remove_test2), (main):
12719 * testsuite/refcounting/element.c: (main):
12720 * testsuite/refcounting/element_pad.c: (main):
12721 * testsuite/refcounting/pad.c: (main):
12722 * tools/gst-launch.c: (sigint_handler_sighandler):
12723 * tools/gst-typefind.c: (main):
12725 Added doc about clock.
12726 removed gst_bin_iterate_recurse_up(), marked methods
12728 Fix more testsuites.
12730 2005-03-09 Wim Taymans <wim@fluendo.com>
12732 * gst/gstpad.c: (gst_pad_get_direction),
12733 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12734 (gst_pad_collect_valist):
12735 * testsuite/bins/interface.c: (main):
12736 * testsuite/caps/audioscale.c: (test_caps):
12737 * testsuite/caps/caps.c: (test1), (test2), (test3):
12738 * testsuite/caps/deserialize.c: (main):
12739 * testsuite/caps/enumcaps.c: (main):
12740 * testsuite/caps/filtercaps.c: (main):
12741 * testsuite/caps/intersect2.c: (main):
12742 * testsuite/caps/random.c: (main):
12743 * testsuite/caps/renegotiate.c: (my_fixate), (main):
12744 * testsuite/caps/sets.c: (check_caps):
12745 * testsuite/caps/simplify.c: (check_caps), (main):
12746 * testsuite/caps/subtract.c: (check_caps):
12747 Fix _pad_get_direction wrt ghostpads.
12748 Fix caps testsuite.
12750 2005-03-09 Wim Taymans <wim@fluendo.com>
12752 * check/Makefile.am:
12753 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12754 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12755 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12756 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12757 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12758 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12759 (gst_bin_remove), (gst_bin_iterate_recurse_up),
12760 (bin_element_is_sink), (gst_bin_iterate_sinks),
12761 (gst_bin_iterate_all_by_interface):
12763 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12764 (gst_element_change_state), (gst_element_dispose),
12765 (gst_element_finalize), (gst_element_set_loop_function):
12766 * gst/gstelement.h:
12767 * gst/gstiterator.c: (find_custom_fold_func):
12768 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12769 (gst_pad_collectv), (gst_pad_collect_valist),
12770 (gst_pad_template_new):
12771 * gst/gstpipeline.c: (gst_pipeline_class_init),
12772 (gst_pipeline_dispose), (gst_pipeline_set_property),
12773 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12774 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12775 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12777 * gst/schedulers/entryscheduler.c:
12778 * gst/schedulers/gstbasicscheduler.c:
12779 (gst_basic_scheduler_cothreaded_chain),
12780 (gst_basic_scheduler_chain_add_element):
12781 * testsuite/bins/interface.c: (main):
12783 Added GstSystemClock test.
12784 Implemented clock distribution code in GstBin.
12785 Implemented iterate sinks method for future use.
12786 Rearranged gstelement.h
12787 Fix GstIterator comparison bug.
12788 Moved some code to GstPipeline, mostly clocking related.
12790 2005-03-09 Wim Taymans <wim@fluendo.com>
12793 * gst/gst_private.h:
12794 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12795 (gst_bin_remove_func), (gst_bin_remove),
12796 (gst_bin_get_by_name_recurse_up):
12797 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12798 (gst_clock_id_compare_func), (gst_clock_id_wait),
12799 (gst_clock_id_wait_async), (gst_clock_init),
12800 (gst_clock_adjust_unlocked), (gst_clock_get_time):
12801 * gst/gstelement.h:
12802 * gst/gstinfo.c: (_gst_debug_init):
12804 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12805 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12807 Bump version number, we're now 0.9.0
12808 Add future debugging category.
12809 Fix NULL _unref() in _get_by_name_recurse_up
12810 Rearrange gstpad.h.
12813 2005-03-08 Wim Taymans <wim@fluendo.com>
12815 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12816 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12817 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12818 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12819 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12820 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12821 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12822 * gst/elements/gstidentity.c: (gst_identity_class_init):
12823 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12824 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12825 * gst/elements/gstshaper.c: (gst_shaper_class_init):
12826 * gst/elements/gststatistics.c: (gst_statistics_class_init):
12827 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12829 * gst/gstelement.c: (gst_element_class_init),
12830 (gst_element_base_class_init), (gst_element_init),
12831 (gst_element_get_random_pad), (gst_element_wait_state_change),
12832 (gst_element_change_state), (gst_element_dispose),
12833 (gst_element_finalize), (gst_element_set_loop_function):
12834 * gst/gstelement.h:
12835 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12836 * gst/gstthread.c: (gst_thread_class_init),
12837 (gst_thread_release_children_locks), (gst_thread_change_state):
12838 * gst/schedulers/gstbasicscheduler.c:
12839 (gst_basic_scheduler_loopfunc_wrapper),
12840 (gst_basic_scheduler_chain_wrapper),
12841 (gst_basic_scheduler_src_wrapper),
12842 (gst_basic_scheduler_remove_element):
12843 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12844 Remove threadsafe properties. Fix elements because GObject
12845 complains when installing a property before declaring a
12846 set/get_property handler.
12847 Rearrange gstelement.h file, use STATE macros for state locks.
12848 Free mutexes in the finalize method instead of dispose.
12850 2005-03-08 Wim Taymans <wim@fluendo.com>
12852 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12853 * gst/gstthread.c: (gst_thread_release_children_locks):
12854 Added parentage check.
12855 Fix build og GstThread again.
12857 2005-03-08 Wim Taymans <wim@fluendo.com>
12859 * docs/design/part-MT-refcounting.txt:
12860 * docs/design/part-conventions.txt:
12861 * docs/design/part-gstobject.txt:
12862 * docs/design/part-relations.txt:
12863 * docs/design/part-standards.txt:
12864 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12865 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12866 (gst_bin_get_by_name), (gst_bin_get_by_interface),
12867 (gst_bin_iterate_all_by_interface):
12870 * gst/gstelement.c: (gst_element_class_init),
12871 (gst_element_change_state), (gst_element_set_loop_function):
12872 * gst/gstelement.h:
12873 * gst/gstiterator.c:
12874 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12875 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12876 (gst_object_dispatch_properties_changed), (gst_object_set_name),
12877 (gst_object_set_parent), (gst_object_unparent),
12878 (gst_object_check_uniqueness):
12880 Docs updates, clean up some headers.
12882 2005-03-07 Wim Taymans <wim@fluendo.com>
12884 * check/.cvsignore:
12885 * check/Makefile.am:
12886 * check/gst-libs/.cvsignore:
12887 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12888 * check/gst/.cvsignore:
12889 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12890 (START_TEST), (gstbus_suite), (main):
12891 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12892 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12893 (gst_data_suite), (main):
12894 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12895 (add_fold_func), (gstiterator_suite), (main):
12896 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12897 (thread_name_object), (thread_name_object_default),
12898 (gst_object_name_compare), (gst_object_suite), (main):
12899 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12900 (gst_pad_suite), (main):
12901 * check/gstcheck.c: (gst_check_log_message_func),
12902 (gst_check_log_critical_func), (gst_check_init):
12903 * check/gstcheck.h:
12904 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12905 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12908 2005-03-07 Wim Taymans <wim@fluendo.com>
12910 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12911 (gst_list_iterator_next), (gst_list_iterator_resync),
12912 (gst_list_iterator_free), (gst_iterator_new_list),
12913 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12914 (gst_iterator_free), (gst_iterator_push), (filter_next),
12915 (filter_resync), (filter_uninit), (filter_free),
12916 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12917 (gst_iterator_foreach), (find_custom_fold_func),
12918 (gst_iterator_find_custom):
12919 * gst/gstiterator.h:
12920 Added missing files.
12922 2005-03-07 Wim Taymans <wim@fluendo.com>
12926 * docs/design/part-MT-refcounting.txt:
12927 * docs/design/part-conventions.txt:
12928 * docs/design/part-gstobject.txt:
12929 * docs/design/part-relations.txt:
12930 * examples/mixer/mixer.c: (main):
12931 * examples/thread/thread.c: (eos), (main):
12933 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12934 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12935 (gst_spider_plug_from_srcpad):
12936 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12937 (gst_spider_identity_change_state),
12938 (gst_spider_identity_sink_loop_type_finding):
12939 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12940 * gst/elements/gstidentity.c: (gst_identity_init):
12941 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12942 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12943 * gst/elements/gsttypefindelement.c: (free_entry):
12946 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12947 (gst_bin_set_clock_func), (gst_bin_auto_clock),
12948 (gst_bin_set_index), (gst_bin_set_element_sched),
12949 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12950 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12951 (gst_bin_iterate_elements), (iterate_child_recurse),
12952 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12953 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12954 (compare_interface), (gst_bin_get_by_interface),
12955 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12957 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12958 (gst_buffer_default_free), (gst_buffer_default_copy),
12959 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12960 (gst_buffer_create_sub):
12962 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12963 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12964 (gst_caps_unref), (gst_static_caps_get),
12965 (gst_caps_remove_and_get_structure), (gst_caps_append),
12966 (gst_caps_append_structure), (gst_caps_remove_structure),
12967 (gst_caps_copy_nth), (gst_caps_set_simple),
12968 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12969 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12970 (gst_caps_structure_intersect_field), (gst_caps_intersect),
12971 (gst_caps_structure_subtract_field), (gst_caps_subtract),
12972 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12973 (gst_caps_structure_figure_out_union),
12974 (gst_caps_switch_structures), (gst_caps_do_simplify),
12975 (gst_caps_replace), (gst_caps_from_string),
12976 (gst_caps_copy_conditional):
12978 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12979 (_gst_clock_id_free), (gst_clock_id_unref),
12980 (gst_clock_id_compare_func), (gst_clock_id_wait),
12981 (gst_clock_id_wait_async), (gst_clock_class_init),
12982 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12983 (gst_clock_get_time), (gst_clock_set_time_adjust),
12984 (gst_clock_set_property), (gst_clock_get_property):
12987 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12988 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12990 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12991 (gst_element_requires_clock), (gst_element_provides_clock),
12992 (gst_element_set_clock), (gst_element_clock_wait),
12993 (gst_element_wait), (gst_element_set_time_delay),
12994 (gst_element_is_indexable), (gst_element_add_pad),
12995 (gst_element_add_ghost_pad), (gst_element_remove_pad),
12996 (pad_compare_name), (gst_element_get_static_pad),
12997 (gst_element_request_pad), (gst_element_get_request_pad),
12998 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12999 (gst_element_class_get_pad_template_list),
13000 (gst_element_class_get_pad_template), (gst_element_error_func),
13001 (gst_element_get_random_pad), (gst_element_get_event_masks),
13002 (gst_element_send_event), (gst_element_seek),
13003 (gst_element_get_query_types), (gst_element_query),
13004 (gst_element_get_formats), (gst_element_convert),
13005 (gst_element_is_locked_state), (gst_element_set_locked_state),
13006 (gst_element_sync_state_with_parent), (gst_element_change_state),
13007 (gst_element_finalize), (gst_element_yield),
13008 (gst_element_interrupt), (gst_element_set_scheduler),
13009 (gst_element_get_scheduler), (gst_element_set_loop_function):
13010 * gst/gstelement.h:
13012 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13013 (gst_format_get_by_nick), (gst_format_get_details),
13014 (gst_format_iterate_definitions):
13016 * gst/gstindex.c: (gst_index_gtype_resolver):
13019 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13020 (gst_mem_chunk_free):
13021 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13022 (gst_object_ref), (gst_object_unref), (gst_object_sink),
13023 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13024 (gst_object_dispatch_properties_changed),
13025 (gst_object_set_name_default), (gst_object_set_name),
13026 (gst_object_get_name), (gst_object_set_name_prefix),
13027 (gst_object_get_name_prefix), (gst_object_set_parent),
13028 (gst_object_get_parent), (gst_object_unparent),
13029 (gst_object_check_uniqueness), (gst_object_save_thyself),
13030 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13031 (gst_object_set_property), (gst_object_get_property),
13032 (gst_object_get_path_string):
13034 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13035 (gst_real_pad_init), (gst_real_pad_get_property),
13036 (gst_pad_custom_new), (gst_pad_get_direction),
13037 (gst_pad_set_active), (gst_pad_is_active),
13038 (gst_pad_set_event_function), (gst_pad_is_linked),
13039 (gst_pad_link_free), (gst_pad_link_intersect),
13040 (gst_pad_link_fixate), (gst_pad_set_caps),
13041 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13042 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13043 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13044 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13045 (gst_pad_get_caps), (gst_pad_peer_get_caps),
13046 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13047 (gst_pad_realize), (gst_pad_get_allowed_caps),
13048 (gst_real_pad_dispose), (gst_real_pad_finalize),
13049 (gst_pad_collectv), (gst_pad_collect_valist),
13050 (gst_pad_template_dispose), (gst_pad_template_new),
13051 (gst_pad_get_internal_links):
13053 * gst/gstpipeline.c: (gst_pipeline_dispose),
13054 (gst_pipeline_change_state):
13055 * gst/gstpipeline.h:
13057 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13058 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13059 * gst/gstpluginfeature.h:
13060 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13061 * gst/gstquery.c: (_gst_query_type_initialize),
13062 (gst_query_type_register), (gst_query_type_get_by_nick),
13063 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13065 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13066 * gst/gstscheduler.c: (gst_scheduler_add_element),
13067 (gst_scheduler_factory_create):
13068 * gst/gststructure.c: (gst_structure_set_parent_refcount),
13069 (gst_structure_free), (gst_structure_set_name),
13070 (gst_structure_id_set_value), (gst_structure_set_value),
13071 (gst_structure_set_valist), (gst_structure_remove_field),
13072 (gst_structure_remove_fields),
13073 (gst_structure_remove_fields_valist),
13074 (gst_structure_remove_all_fields), (gst_structure_foreach),
13075 (gst_structure_map_in_place),
13076 (gst_caps_structure_fixate_field_nearest_int),
13077 (gst_caps_structure_fixate_field_nearest_double):
13078 * gst/gststructure.h:
13079 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13080 (gst_system_clock_init), (gst_system_clock_dispose),
13081 (gst_system_clock_async_thread),
13082 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13083 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13084 * gst/gstsystemclock.h:
13085 * gst/gsttag.c: (gst_tag_list_add_value_internal),
13086 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13087 * gst/gsttaginterface.c:
13088 * gst/gstthread.c: (gst_thread_dispose),
13089 (gst_thread_release_children_locks), (gst_thread_change_state),
13090 (gst_thread_main_loop):
13091 * gst/gsttrashstack.h:
13092 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13094 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13095 (gst_element_request_pad), (gst_element_get_pad_from_template),
13096 (gst_element_request_compatible_pad),
13097 (gst_element_get_compatible_pad_filtered),
13098 (gst_element_get_compatible_pad), (gst_element_state_get_name),
13099 (gst_element_link_pads_filtered), (gst_element_link_filtered),
13100 (gst_element_link_many), (gst_element_link),
13101 (gst_element_link_pads), (gst_element_unlink_pads),
13102 (gst_element_unlink_many), (gst_element_unlink),
13103 (gst_pad_can_link_filtered), (gst_pad_can_link),
13104 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13105 (gst_object_default_error), (gst_bin_add_many),
13106 (gst_bin_remove_many), (gst_element_populate_std_props),
13107 (gst_element_class_install_std_props), (gst_buffer_merge),
13108 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13109 (link_fold_func), (gst_pad_proxy_setcaps):
13111 * gst/gstvalue.c: (gst_value_deserialize_string):
13112 * gst/parse/grammar.y:
13113 * gst/schedulers/gstbasicscheduler.c:
13114 (gst_basic_scheduler_cothreaded_chain),
13115 (gst_basic_scheduler_chain_recursive_add),
13116 (gst_basic_scheduler_pad_link):
13117 * gst/schedulers/gstoptimalscheduler.c:
13118 (get_group_schedule_function),
13119 (gst_opt_scheduler_state_transition),
13120 (gst_opt_scheduler_add_element), (element_get_reachables_func):
13121 * libs/gst/bytestream/bytestream.c:
13122 * libs/gst/dataprotocol/dataprotocol.c:
13123 (gst_dp_header_from_buffer):
13126 * tests/threadstate/threadstate2.c: (eos):
13127 * tools/gst-compprep.c: (main):
13128 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13129 (print_pad_info), (print_children_info):
13130 * tools/gst-launch.c: (idle_func), (main):
13131 * tools/gst-md5sum.c: (idle_func), (main):
13132 * tools/gst-xmlinspect.c: (print_element_info):
13133 First THREADED backport attempt, focusing on adding locks and
13134 making sure the API is threadsafe. Needs more work. More docs
13137 2005-02-24 Andy Wingo <wingo@pobox.com>
13139 * tests/bench-complexity.scm:
13140 * tests/complexity.gnuplot: New files, good for running complexity
13143 * tests/Makefile.am:
13144 * tests/complexity.c: New test, sets up N elements, at each level
13145 teeing into M streams per element. Eeeenteresting.
13147 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13148 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13149 running bench-mass_elements.scm.
13151 * tests/bench-mass_elements.scm: New script, runs mass_elements
13152 for various numbers of identities, outputting the results to a
13153 file. Requires guile 1.6. Just for testing.
13155 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
13157 * gst/schedulers/fairscheduler.c:
13158 compile with debug disabled
13160 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
13163 hunting season on 0.9 is now OPEN