1 2005-12-12 Stefan Kost <ensonic@users.sf.net>
4 enable the examples even more
6 2005-12-12 Andy Wingo <wingo@pobox.com>
8 * libs/gst/net/gstnettimeprovider.c
9 (gst_net_time_provider_class_init, gst_net_time_provider_init)
10 (gst_net_time_provider_set_property)
11 (gst_net_time_provider_get_property): Export "active" as a GObject
13 (gst_net_time_provider_thread): Only respond to time queries if
14 the time provider is active.
16 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
17 NetTimeProvider, preserving binary compat.
19 2005-12-12 Stefan Kost <ensonic@users.sf.net>
21 * tests/examples/controller/audio-example.c: (main):
22 * tests/examples/launch/Makefile.am:
23 convert comments again
25 2005-12-12 Wim Taymans <wim@fluendo.com>
27 * libs/gst/base/gstpushsrc.c:
30 2005-12-12 Wim Taymans <wim@fluendo.com>
32 * docs/libs/gstreamer-libs-sections.txt:
33 Added new symbol to docs.
35 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
36 (gst_base_src_init), (gst_base_src_set_format),
37 (gst_base_src_default_query), (gst_base_src_query),
38 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
39 (gst_base_src_perform_seek), (gst_base_src_send_event),
40 (gst_base_src_default_event), (gst_base_src_event_handler),
41 (gst_base_src_set_property), (gst_base_src_get_property),
42 (gst_base_src_wait), (gst_base_src_do_sync),
43 (gst_base_src_update_length), (gst_base_src_get_range),
44 (gst_base_src_check_get_range), (gst_base_src_loop),
45 (gst_base_src_default_negotiate), (gst_base_src_start),
46 (gst_base_src_activate_push), (gst_base_src_activate_pull),
47 (gst_base_src_change_state):
48 * libs/gst/base/gstbasesrc.h:
49 Implement seeking to other formats than _BYTES.
50 Implement more seeking methods correctly.
53 Added do_seek vmethod to make life easier for subclasses
55 API addition: gst_base_src_set_format()
57 2005-12-12 Stefan Kost <ensonic@users.sf.net>
59 * tests/examples/Makefile.am:
62 2005-12-12 Stefan Kost <ensonic@users.sf.net>
65 * docs/random/ensonic/media-device-daemon.txt:
66 * tests/examples/controller/.cvsignore:
67 * tests/examples/controller/Makefile.am:
68 * tests/examples/controller/audio-example.c: (main):
69 * tests/examples/helloworld/.cvsignore:
70 * tests/examples/helloworld/Makefile.am:
71 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
72 * tests/examples/launch/.cvsignore:
73 * tests/examples/launch/Makefile.am:
74 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
75 * tests/examples/metadata/.cvsignore:
76 * tests/examples/metadata/Makefile.am:
77 * tests/examples/metadata/read-metadata.c: (message_loop),
78 (make_pipeline), (print_tag), (main):
79 * tests/examples/queue/.cvsignore:
80 * tests/examples/queue/Makefile.am:
81 * tests/examples/queue/queue.c: (event_loop), (main):
82 * tests/examples/typefind/.cvsignore:
83 * tests/examples/typefind/Makefile.am:
84 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
86 * tests/examples/xml/.cvsignore:
87 * tests/examples/xml/Makefile.am:
88 * tests/examples/xml/createxml.c: (object_saved), (main):
89 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
90 * tests/old/examples/Makefile.am:
91 * tests/old/examples/TODO:
92 * tests/old/examples/controller/.cvsignore:
93 * tests/old/examples/controller/Makefile.am:
94 * tests/old/examples/controller/audio-example.c:
95 * tests/old/examples/helloworld/.cvsignore:
96 * tests/old/examples/helloworld/Makefile.am:
97 * tests/old/examples/helloworld/helloworld.c:
98 * tests/old/examples/launch/.cvsignore:
99 * tests/old/examples/launch/Makefile.am:
100 * tests/old/examples/launch/mp3parselaunch.c:
101 * tests/old/examples/launch/mp3play:
102 * tests/old/examples/manual/Makefile.am:
103 * tests/old/examples/metadata/Makefile.am:
104 * tests/old/examples/metadata/read-metadata.c:
105 * tests/old/examples/queue/.cvsignore:
106 * tests/old/examples/queue/Makefile.am:
107 * tests/old/examples/queue/queue.c:
108 * tests/old/examples/typefind/.cvsignore:
109 * tests/old/examples/typefind/Makefile.am:
110 * tests/old/examples/typefind/typefind.c:
111 * tests/old/examples/xml/.cvsignore:
112 * tests/old/examples/xml/Makefile.am:
113 * tests/old/examples/xml/createxml.c:
114 * tests/old/examples/xml/runxml.c:
115 applied some simple fixing to some examples
116 re-enabled the working examples
118 2005-12-12 Wim Taymans <wim@fluendo.com>
120 * gst/gstsegment.c: (gst_segment_init),
121 (gst_segment_set_last_stop), (gst_segment_set_seek),
122 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
123 (gst_segment_to_running_time):
124 Added more documentation.
125 Make sure the last_pos value is updated properly.
126 Make sure to_stream_time and to_running_time don't
127 operate on wrong values.
129 * tests/check/gst/gstsegment.c: (GST_START_TEST):
132 2005-12-12 Michael Smith <msmith@fluendo.com>
134 * plugins/elements/gsttypefindelement.c: (free_entry),
135 (gst_type_find_element_chain):
136 Now that we're not leaking factories, make sure we keep references
137 to them while we need them.
139 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
141 * tests/check/gst/struct_i386.h:
142 ifdef out the XML structs
144 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
146 * gst/gstvalue.c: (gst_value_transform_double_fraction):
147 floor is not needed, F is always positive; this obviates the
148 need for adding -lm when building without libxml
150 2005-12-12 Wim Taymans <wim@fluendo.com>
152 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
153 Take current playback rate into account when reporting
156 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
158 * docs/manual/mime-world.fig:
159 Let's try this again, this time with a file that is
160 actually in XFig format.
162 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
164 * docs/manual/mime-world.fig:
165 Add audioconvert element to diagram so that it
166 matches the text and the code (fixes #319526).
168 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
170 * docs/pwg/building-chainfn.xml:
171 * docs/pwg/building-pads.xml:
172 * docs/pwg/building-state.xml:
173 * docs/pwg/other-source.xml:
174 Update state change stuff for 0.10 (fixes #322969).
176 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
178 * docs/manual/advanced-dataaccess.xml:
179 * docs/manual/appendix-checklist.xml:
180 * docs/manual/appendix-programs.xml:
181 * docs/manual/basics-pads.xml:
182 * docs/manual/highlevel-components.xml:
183 * docs/manual/manual.xml:
184 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
185 add converters in front of pipelines; remove curly
186 brackets for threads stuff, they no longer exist; use
187 GST_TYPE_FRACTION for framerates; update some pieces of
188 code to 0.10, but there's plenty more to do.
190 * docs/manual/appendix-porting.xml:
191 Expand on asynchroneous state changes; s/0.9/0.10/;
192 mention disappearance of gst_init_get_popt_table()
195 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
197 * docs/faq/using.xml:
198 Spider no longer exists, and neither does gst-launch-ext.
199 Update examples to use decodebin and playbin and put
200 converters in front of sinks (fixes #323726).
202 2005-12-09 Michael Smith <msmith@fluendo.com>
204 * plugins/elements/gsttypefindelement.c: (find_peek),
205 (gst_type_find_element_chain):
206 Fix leaking element factories in typefinding.
207 Fix problem where we forgot about a probable type on non-seekable
208 files, and thus later mis-typefound it.
210 2005-12-09 Michael Smith <msmith@fluendo.com>
212 * common/m4/gst-makecontext.m4:
213 * common/m4/gst-mcsc.m4:
215 * win32/common/config.h:
216 * win32/common/config.h.in:
217 Remove makecontext stuff; not used in 0.10 and causes problems on
218 HPUX according to bug #322441
220 2005-12-07 Wim Taymans <wim@fluendo.com>
222 * tests/check/Makefile.am:
223 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
225 * tests/check/libs/struct_i386.h:
226 Added ABI check for libs
228 2005-12-07 Wim Taymans <wim@fluendo.com>
230 * tests/check/Makefile.am:
231 And add the struct_i386.h to dist.
233 2005-12-07 Wim Taymans <wim@fluendo.com>
235 * tests/check/Makefile.am:
236 * tests/check/gst/.cvsignore:
237 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
239 * tests/check/gst/struct_i386.h:
240 Added check for ABI compatibility.
242 2005-12-07 Wim Taymans <wim@fluendo.com>
244 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
245 (gst_fake_src_get_times), (gst_fake_src_create):
246 Fix broken sync option, fixes #323259
248 2005-12-07 Wim Taymans <wim@fluendo.com>
253 * gst/gstcaps.c: (gst_caps_is_equal):
254 Don't assert on NULL <--> X. Fixes #323260
256 * gst/gstminiobject.c: (gst_mini_object_replace):
257 If we're doing atomic operations, we might just as well use
258 the proper way to get an atomic pointer.
260 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
263 2005-12-07 Michael Smith <msmith@fluendo.com>
265 * gst/parse/grammar.y:
266 Remove handling of { } for threads.
268 2005-12-06 David Schleef <ds@schleef.org>
270 * libs/gst/base/gstbasetransform.c: speling fix.
272 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
274 * docs/libs/tmpl/gstdataprotocol.sgml:
275 * docs/random/omega/testing/gstobject.c:
279 * gst/gstelementfactory.c:
284 * gst/gstpadtemplate.c:
285 * gst/gstregistryxml.c:
287 * gst/gsttagsetter.c:
290 * libs/gst/base/gstbasesrc.c:
291 * libs/gst/net/gstnetclientclock.c:
292 * libs/gst/net/gstnettimeprovider.c:
293 * plugins/elements/gstfakesrc.c:
294 * plugins/elements/gstfdsrc.c:
295 * plugins/elements/gstfilesrc.c:
296 * plugins/elements/gstidentity.c:
297 * plugins/elements/gstqueue.c:
298 * plugins/elements/gsttypefindelement.c:
299 * plugins/indexers/gstfileindex.c:
300 * plugins/indexers/gstmemindex.c:
301 * tests/check/gst/gsttag.c:
302 * tests/old/examples/cutter/cutter.c:
303 * tests/old/examples/mixer/mixer.c:
304 * tests/old/examples/xml/runxml.c: (main):
305 * tests/old/testsuite/caps/normalisation.c:
306 * tests/old/testsuite/debug/global.c:
307 * tests/old/testsuite/parse/parse1.c:
308 * tools/gst-xmlinspect.c:
309 * win32/common/dirent.c:
312 === release 0.10.0 ===
314 2005-12-05 <thomas (at) apestaart (dot) org>
317 releasing 0.10.0, "Maroilles"
319 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
321 submitted by: Funda Wang <fundawang@linux.net.cn>
325 added Chinese (Traditional) translation
327 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
329 * docs/gst/gstreamer-sections.txt:
330 * docs/libs/tmpl/gstdataprotocol.sgml:
331 * docs/random/thomasvs/TODO:
336 2005-12-05 Andy Wingo <wingo@pobox.com>
338 patch by: Wim Taymans <wim@fluendo.com>
340 * libs/gst/base/gstbasetransform.c
341 (gst_base_transform_prepare_output_buf)
342 (gst_base_transform_buffer_alloc):
343 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
344 alloc_buffer_and_set_caps.
346 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
347 set_caps on the source pad.
348 (gst_pad_alloc_buffer_and_set_caps): New function, does what
349 alloc_buffer used to do. Fixes #322874.
351 * docs/gst/gstreamer-sections.txt:
352 * docs/design/part-negotiation.txt:
353 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
356 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
358 patch by: Sebastien Moutte
361 * win32/common/config.h.in:
362 * win32/vs6/libgstcontroller.dsp:
365 2005-12-05 Wim Taymans <wim@fluendo.com>
367 * gst/gstcaps.c: (gst_caps_is_equal):
368 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
369 (gst_fake_src_create):
370 Back out previous code changes, leave doc updates, file bugs
373 2005-12-05 Wim Taymans <wim@fluendo.com>
375 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
376 (gst_fake_src_get_times), (gst_fake_src_create):
377 * plugins/elements/gstfakesrc.h:
378 Fix broken sync code.
380 2005-12-05 Wim Taymans <wim@fluendo.com>
382 * gst/gstcaps.c: (gst_caps_is_equal):
383 Comparing NULL against !NULL yields different caps, not a
386 2005-12-05 Wim Taymans <wim@fluendo.com>
389 Fix small typo in docs.
391 2005-12-05 Andy Wingo <wingo@pobox.com>
393 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
395 * gst/gst.c (init_post): remove hard-coded 0.9 location for
396 registries/plugins with a MAJORMINOR one.
397 (plugin_desc): Rename library from gstcoreleements to
398 staticelements. Fixes #323222.
400 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
402 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
403 Change debug category to 'collectpads' from 'collect_pads'
406 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
408 patch by: Sebastien Moutte
410 * libs/gst/controller/gstinterpolation.c:
411 use convert function for uint64/double
412 * win32/vs6/libgstcontroller.dsp:
415 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
417 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
418 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
420 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
421 add tests that seem to show that the guint64/gdouble conversions
424 2005-12-02 Wim Taymans <wim@fluendo.com>
426 * gst/gstregistry.c: (gst_registry_add_path):
428 * gst/gstregistryxml.c:
431 2005-12-02 Wim Taymans <wim@fluendo.com>
433 * gst/gstutils.c: (gst_util_uint64_scale_int64),
434 (gst_util_uint64_scale_int):
437 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
440 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
443 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
446 * win32/common/config.h:
447 * win32/vs6/gstreamer.dsw:
448 * win32/vs6/libgstcoreelements.dsp:
449 * win32/vs6/libgstelements.dsp:
450 renamed core elements plugin
452 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
454 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
456 do piece-wise major/minor comparison so 0.9 < 0.10
457 also allow .exe extensions for tools
459 2005-12-02 Michael Smith <msmith@fluendo.com>
462 Escape a % to make gtkdoc happier; bug 322958.
464 === release 0.9.7 ===
466 2005-12-01 <thomas (at) apestaart (dot) org>
469 releasing 0.9.7, "My Dog Has No Nose"
471 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
473 * common/gst-xmlinspect.py:
475 * docs/libs/tmpl/gstdataprotocol.sgml:
476 * docs/random/release:
495 * win32/common/config.h:
496 * win32/common/config.h.in:
497 * win32/vs6/gst_inspect.dsp:
498 * win32/vs6/gst_launch.dsp:
499 * win32/vs6/libgstbase.dsp:
500 * win32/vs6/libgstelements.dsp:
501 * win32/vs6/libgstreamer.dsp:
502 * win32/vs7/GStreamer.vcproj:
503 * win32/vs7/gst-inspect.vcproj:
504 * win32/vs7/gst-launch.vcproj:
505 * win32/vs7/libgstbase.vcproj:
506 bump GST_MAJORMINOR to 0.10
507 reset libtool version
509 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
513 Added Bulgarian translation by (Alexander Shopov)
515 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
517 * tests/check/gst/gstplugin.c:
520 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
522 * common/gst-xmlinspect.py:
523 * common/gtk-doc-plugins.mak:
526 * docs/gst/Makefile.am:
527 * docs/gst/gstreamer-docs.sgml:
528 * docs/gst/gstreamer-sections.txt:
529 * docs/gst/gstreamer.types:
530 * docs/gst/gstreamer.types.in:
531 * docs/plugins/Makefile.am:
532 * docs/plugins/gstreamer-plugins-docs.sgml:
533 * docs/plugins/gstreamer-plugins-sections.txt:
534 * docs/plugins/gstreamer-plugins.types:
535 * docs/plugins/inspect.stamp:
536 * docs/plugins/inspect/plugin-coreelements.xml:
537 * docs/plugins/inspect/plugin-coreindexers.xml:
538 * docs/plugins/scanobj-build.stamp:
540 * plugins/elements/Makefile.am:
541 * plugins/elements/gstelements.c:
542 * plugins/elements/gstfakesink.c:
543 * plugins/elements/gstfakesrc.c:
544 * plugins/elements/gstfilesink.c:
545 * plugins/elements/gstfilesrc.c:
546 * plugins/elements/gstqueue.c:
547 * plugins/indexers/Makefile.am:
548 * plugins/indexers/gstindexers.c:
549 document core plugins in a separate document just like all the
551 rename these plugins to something starting with core
553 2005-12-01 Andy Wingo <wingo@pobox.com>
555 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
556 padding here before, but it missed the commit.
558 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
560 * libs/gst/controller/gstinterpolation.c:
561 whitespace prices have crashed, we should feel free to use some now
562 use gst_guint64_to_gdouble
564 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
566 * libs/gst/controller/gstcontroller.c:
567 * libs/gst/controller/gsthelper.c:
568 * libs/gst/controller/gstinterpolation.c:
569 * libs/gst/controller/lib.c:
570 wrap config.h include
572 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
574 * docs/gst/gstreamer-sections.txt:
577 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
579 * plugins/elements/gstelements.c:
580 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
581 (gst_fd_sink__class_init), (gst_fd_sink__init),
582 (gst_fd_sink__chain), (gst_fd_sink__set_property),
583 (gst_fd_sink__get_property):
584 * plugins/elements/gstfdsink.h:
585 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
586 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
587 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
588 (gst_fd_src_unlock), (gst_fd_src_set_property),
589 (gst_fd_src_get_property), (gst_fd_src_create),
590 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
591 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
592 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
593 (gst_fd_src_uri_handler_init):
594 * plugins/elements/gstfdsrc.h:
595 * plugins/elements/gstqueue.c: (gst_queue_get_type):
598 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
600 * docs/gst/Makefile.am:
601 * docs/gst/gstreamer.types.in:
605 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
612 * tests/benchmarks/complexity.c:
613 * tests/benchmarks/mass-elements.c:
614 * tests/check/Makefile.am:
616 * tools/gst-inspect.c:
617 * tools/gst-xmlinspect.c:
618 various fixes to make
619 --disable-nls --disable-registry --disable-loadsave
620 --disable-parse --disable-gst-debug
621 work and get the core .so down to 360444 bytes after stripping
623 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
628 * docs/random/thomasvs/TODO:
633 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
635 * win32/GStreamer.vcproj:
638 * win32/Makefile.inspect:
639 * win32/Makefile.launch:
640 * win32/Makefile.register:
642 * win32/gst-inspect.vcproj:
643 * win32/gst-launch.vcproj:
644 * win32/gst-register.vcproj:
645 * win32/gstelements.vcproj:
646 * win32/gstgetbits.def:
647 * win32/gstgetbits.vcproj:
648 * win32/gstreamer-dbg.def:
649 * win32/gstreamer.def:
650 * win32/libgstbase.def:
651 * win32/libgstbase.vcproj:
652 * win32/link_oldruntime.c:
657 move even more stuff, win32/ is nice and clean now
659 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
661 * libs/gst/control/.cvsignore:
666 * win32/gstbytestream.def:
667 * win32/gstbytestream.vcproj:
669 * win32/gstenumtypes.c:
670 * win32/gstenumtypes.h:
671 * win32/gstoptimalscheduler.vcproj:
672 * win32/gstversion.h:
674 * win32/testsuite/bins.vcproj:
675 * win32/testsuite/bytestream.vcproj:
676 * win32/testsuite/caps.vcproj:
677 * win32/testsuite/cleanup.vcproj:
678 * win32/testsuite/clock.vcproj:
679 * win32/testsuite/debug.vcproj:
680 * win32/testsuite/dlopen.vcproj:
681 * win32/testsuite/dynparams.vcproj:
682 * win32/testsuite/elements.vcproj:
683 * win32/testsuite/ghostpads.vcproj:
684 * win32/testsuite/indexers.vcproj:
685 * win32/testsuite/negotiation.vcproj:
686 * win32/testsuite/parse.vcproj:
687 * win32/testsuite/plugin.vcproj:
688 * win32/testsuite/refcounting.vcproj:
689 * win32/testsuite/schedulers.vcproj:
690 * win32/testsuite/states.vcproj:
691 * win32/testsuite/tags.vcproj:
692 * win32/testsuite/threads.vcproj:
693 remove old win32 stuff that isn't maintained and should be
696 2005-11-30 Andy Wingo <wingo@pobox.com>
698 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
699 loading the gst.interfaces python module bork.
701 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
702 available since GLib 2.2. Fixes #318031.
704 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
709 * check/elements/.cvsignore:
710 * check/elements/fakesrc.c:
711 * check/elements/fdsrc.c:
712 * check/elements/identity.c:
713 * check/generic/.cvsignore:
714 * check/generic/states.c:
715 * check/gst-libs/.cvsignore:
716 * check/gst-libs/controller.c:
717 * check/gst-libs/gdp.c:
718 * check/gst/.cvsignore:
719 * check/gst/capslist.h:
721 * check/gst/gstbin.c:
722 * check/gst/gstbuffer.c:
723 * check/gst/gstbus.c:
724 * check/gst/gstcaps.c:
725 * check/gst/gstelement.c:
726 * check/gst/gstevent.c:
727 * check/gst/gstghostpad.c:
728 * check/gst/gstiterator.c:
729 * check/gst/gstmessage.c:
730 * check/gst/gstminiobject.c:
731 * check/gst/gstobject.c:
732 * check/gst/gstpad.c:
733 * check/gst/gstpipeline.c:
734 * check/gst/gstplugin.c:
735 * check/gst/gstsegment.c:
736 * check/gst/gststructure.c:
737 * check/gst/gstsystemclock.c:
738 * check/gst/gsttag.c:
739 * check/gst/gstutils.c:
740 * check/gst/gstvalue.c:
741 * check/net/.cvsignore:
742 * check/net/gstnetclientclock.c:
743 * check/net/gstnettimeprovider.c:
744 * check/pipelines/.cvsignore:
745 * check/pipelines/cleanup.c:
746 * check/pipelines/simple_launch_lines.c:
747 * check/pipelines/stress.c:
748 * check/states/.cvsignore:
749 * check/states/sinks.c:
751 * examples/Makefile.am:
752 * examples/appreader/.cvsignore:
753 * examples/appreader/Makefile.am:
754 * examples/appreader/appreader.c:
755 * examples/controller/.cvsignore:
756 * examples/controller/Makefile.am:
757 * examples/controller/audio-example.c:
758 * examples/cutter/.cvsignore:
759 * examples/cutter/Makefile.am:
760 * examples/cutter/cutter.c:
761 * examples/cutter/cutter.h:
762 * examples/events/Makefile.am:
763 * examples/events/seek.c:
764 * examples/helloworld/.cvsignore:
765 * examples/helloworld/Makefile.am:
766 * examples/helloworld/helloworld.c:
767 * examples/helloworld2/.cvsignore:
768 * examples/helloworld2/Makefile.am:
769 * examples/helloworld2/helloworld2.c:
770 * examples/launch/.cvsignore:
771 * examples/launch/Makefile.am:
772 * examples/launch/mp3parselaunch.c:
773 * examples/launch/mp3play:
774 * examples/manual/.cvsignore:
775 * examples/manual/Makefile.am:
776 * examples/manual/extract.pl:
777 * examples/metadata/Makefile.am:
778 * examples/metadata/read-metadata.c:
779 * examples/mixer/.cvsignore:
780 * examples/mixer/Makefile.am:
781 * examples/mixer/mixer.c:
782 * examples/mixer/mixer.h:
783 * examples/pingpong/.cvsignore:
784 * examples/pingpong/Makefile.am:
785 * examples/pingpong/pingpong.c:
786 * examples/plugins/.cvsignore:
787 * examples/plugins/Makefile.am:
788 * examples/plugins/example.c:
789 * examples/plugins/example.h:
790 * examples/pwg/.cvsignore:
791 * examples/pwg/Makefile.am:
792 * examples/pwg/extract.pl:
793 * examples/queue/.cvsignore:
794 * examples/queue/Makefile.am:
795 * examples/queue/queue.c:
796 * examples/queue2/.cvsignore:
797 * examples/queue2/Makefile.am:
798 * examples/queue2/queue2.c:
799 * examples/queue3/.cvsignore:
800 * examples/queue3/Makefile.am:
801 * examples/queue3/queue3.c:
802 * examples/queue4/.cvsignore:
803 * examples/queue4/Makefile.am:
804 * examples/queue4/queue4.c:
805 * examples/retag/.cvsignore:
806 * examples/retag/Makefile.am:
807 * examples/retag/retag.c:
808 * examples/retag/transcode.c:
809 * examples/thread/.cvsignore:
810 * examples/thread/Makefile.am:
811 * examples/thread/thread.c:
812 * examples/typefind/.cvsignore:
813 * examples/typefind/Makefile.am:
814 * examples/typefind/typefind.c:
815 * examples/xml/.cvsignore:
816 * examples/xml/Makefile.am:
817 * examples/xml/createxml.c:
818 * examples/xml/runxml.c:
820 * tests/check/Makefile.am:
821 * testsuite/.cvsignore:
822 * testsuite/Makefile.am:
824 * testsuite/caps/.cvsignore:
825 * testsuite/caps/Makefile.am:
826 * testsuite/caps/app_fixate.c:
827 * testsuite/caps/audioscale.c:
828 * testsuite/caps/caps.c:
829 * testsuite/caps/caps.h:
830 * testsuite/caps/caps_strings:
831 * testsuite/caps/compatibility.c:
832 * testsuite/caps/deserialize.c:
833 * testsuite/caps/enumcaps.c:
834 * testsuite/caps/eratosthenes.c:
835 * testsuite/caps/filtercaps.c:
836 * testsuite/caps/fixed.c:
837 * testsuite/caps/fraction-convert.c:
838 * testsuite/caps/fraction-multiply-and-zero.c:
839 * testsuite/caps/intersect2.c:
840 * testsuite/caps/intersection.c:
841 * testsuite/caps/normalisation.c:
842 * testsuite/caps/random.c:
843 * testsuite/caps/renegotiate.c:
844 * testsuite/caps/sets.c:
845 * testsuite/caps/simplify.c:
846 * testsuite/caps/string-conversions.c:
847 * testsuite/caps/structure.c:
848 * testsuite/caps/subtract.c:
849 * testsuite/caps/union.c:
850 * testsuite/debug/.cvsignore:
851 * testsuite/debug/Makefile.am:
852 * testsuite/debug/category.c:
853 * testsuite/debug/commandline.c:
854 * testsuite/debug/global.c:
855 * testsuite/debug/output.c:
856 * testsuite/debug/printf_extension.c:
857 * testsuite/dlopen/.cvsignore:
858 * testsuite/dlopen/Makefile.am:
859 * testsuite/dlopen/dlopen_gst.c:
860 * testsuite/dlopen/loadgst.c:
861 * testsuite/elements/.cvsignore:
862 * testsuite/elements/Makefile.am:
863 * testsuite/elements/gst-inspect-check.in:
864 * testsuite/elements/struct_i386.h:
865 * testsuite/elements/struct_size.c:
866 * testsuite/indexers/.cvsignore:
867 * testsuite/indexers/Makefile.am:
868 * testsuite/indexers/cache1.c:
869 * testsuite/indexers/indexdump.c:
870 * testsuite/parse/.cvsignore:
871 * testsuite/parse/Makefile.am:
872 * testsuite/parse/parse1.c:
873 * testsuite/parse/parse2.c:
874 * testsuite/plugin/.cvsignore:
875 * testsuite/plugin/Makefile.am:
876 * testsuite/plugin/README:
877 * testsuite/plugin/dynamic.c:
878 * testsuite/plugin/linked.c:
879 * testsuite/plugin/loading.c:
880 * testsuite/plugin/registry.c:
881 * testsuite/plugin/static.c:
882 * testsuite/plugin/static2.c:
883 * testsuite/plugin/testplugin.c:
884 * testsuite/plugin/testplugin2.c:
885 * testsuite/plugin/testplugin2_s.c:
886 * testsuite/plugin/testplugin_s.c:
887 * testsuite/refcounting/.cvsignore:
888 * testsuite/refcounting/Makefile.am:
889 * testsuite/refcounting/bin.c:
890 * testsuite/refcounting/element.c:
891 * testsuite/refcounting/element_pad.c:
892 * testsuite/refcounting/mainloop.c:
893 * testsuite/refcounting/mem.c:
894 * testsuite/refcounting/mem.h:
895 * testsuite/refcounting/object.c:
896 * testsuite/refcounting/pad.c:
897 * testsuite/refcounting/sched.c:
898 * testsuite/refcounting/thread.c:
899 * testsuite/states/.cvsignore:
900 * testsuite/states/Makefile.am:
901 * testsuite/states/bin.c:
902 * testsuite/states/locked.c:
903 * testsuite/states/parent.c:
904 * testsuite/threads/.cvsignore:
905 * testsuite/threads/159566.c:
906 * testsuite/threads/159852.c:
907 * testsuite/threads/Makefile.am:
908 * testsuite/threads/queue.c:
909 * testsuite/threads/signals.c:
910 * testsuite/threads/staticrec.c:
911 * testsuite/threads/thread.c:
912 * testsuite/threads/threadb.c:
913 * testsuite/threads/threadc.c:
914 * testsuite/threads/threadd.c:
915 * testsuite/threads/threade.c:
916 * testsuite/threads/threadf.c:
917 * testsuite/threads/threadg.c:
918 * testsuite/threads/threadh.c:
919 * testsuite/threads/threadi.c:
920 move all of these under tests
922 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
928 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
930 * docs/gst/gstreamer-sections.txt:
931 * tests/sched/.cvsignore:
932 * tests/sched/Makefile.am:
933 * tests/sched/cases/(fs-fs).xml:
934 * tests/sched/cases/(fs-i-fs).xml:
935 * tests/sched/cases/(fs-i-i-fs).xml:
936 * tests/sched/cases/(fs-i-q[i-fs]).xml:
937 * tests/sched/dynamic-pipeline.c:
938 * tests/sched/interrupt1.c:
939 * tests/sched/interrupt2.c:
940 * tests/sched/interrupt3.c:
941 * tests/sched/runtestcases:
942 * tests/sched/runxml.c:
943 * tests/sched/sched-stress.c:
944 * tests/sched/sort.c:
945 * tests/sched/testcases:
946 * tests/sched/testcases1.tc:
947 * tests/seeking/.cvsignore:
948 * tests/seeking/Makefile.am:
949 * tests/seeking/seeking1.c:
950 * tests/threadstate/.cvsignore:
951 * tests/threadstate/Makefile.am:
952 * tests/threadstate/test1.c:
953 * tests/threadstate/test2.c:
954 * tests/threadstate/threadstate1.c:
955 * tests/threadstate/threadstate2.c:
956 * tests/threadstate/threadstate3.c:
957 * tests/threadstate/threadstate4.c:
958 * tests/threadstate/threadstate5.c:
959 remove obsolete tests
961 * tests/bench-complexity.scm:
962 * tests/bench-mass_elements.scm:
963 * tests/complexity.c:
964 * tests/complexity.gnuplot:
965 * tests/instantiate/.cvsignore:
966 * tests/instantiate/Makefile.am:
967 * tests/instantiate/caps.c:
968 * tests/mass_elements.c:
969 * tests/network-clock-utils.scm:
970 * tests/network-clock.scm:
972 First pass at cleaning up tests/ dir before moving the rest
973 Combined with CVS surgery
975 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
978 queue has moved, update
980 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
982 * docs/gst/gstreamer-sections.txt:
983 remove double entries from the docs
985 * gst/gstinfo.c: (_gst_debug_init):
986 remove the THREAD debug category
990 * docs/gst/gstreamer.types:
991 * plugins/elements/gstqueue.c: (gst_queue_get_type),
992 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
993 completely move queue and fix up debugging categories
995 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
997 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
998 make initialization portable, using LL is not
1000 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1002 * win32/common/gstconfig.h:
1005 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1007 * win32/common/libgstreamer.def:
1008 rename symbols; sort base section
1010 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1012 * gst/gstclock.c: (do_linear_regression):
1013 remove crack non-portable handrolled DEBUG macro
1015 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1017 * docs/random/release:
1019 * win32/common/gstenumtypes.c: (register_gst_object_flags),
1020 (gst_object_flags_get_type), (register_gst_bin_flags),
1021 (gst_bin_flags_get_type), (register_gst_buffer_flag),
1022 (gst_buffer_flag_get_type), (register_gst_bus_flags),
1023 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1024 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1025 (gst_caps_flags_get_type), (register_gst_clock_return),
1026 (gst_clock_return_get_type), (register_gst_clock_entry_type),
1027 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1028 (gst_clock_flags_get_type), (register_gst_state),
1029 (gst_state_get_type), (register_gst_state_change_return),
1030 (gst_state_change_return_get_type), (register_gst_state_change),
1031 (gst_state_change_get_type), (register_gst_element_flags),
1032 (gst_element_flags_get_type), (register_gst_core_error),
1033 (gst_core_error_get_type), (register_gst_library_error),
1034 (gst_library_error_get_type), (register_gst_resource_error),
1035 (gst_resource_error_get_type), (register_gst_stream_error),
1036 (gst_stream_error_get_type), (register_gst_event_type_flags),
1037 (gst_event_type_flags_get_type), (register_gst_event_type),
1038 (gst_event_type_get_type), (register_gst_seek_type),
1039 (gst_seek_type_get_type), (register_gst_seek_flags),
1040 (gst_seek_flags_get_type), (register_gst_format),
1041 (gst_format_get_type), (register_gst_index_certainty),
1042 (gst_index_certainty_get_type), (register_gst_index_entry_type),
1043 (gst_index_entry_type_get_type),
1044 (register_gst_index_lookup_method),
1045 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1046 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1047 (gst_index_resolver_method_get_type), (register_gst_index_flags),
1048 (gst_index_flags_get_type), (register_gst_debug_level),
1049 (gst_debug_level_get_type), (register_gst_debug_color_flags),
1050 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1051 (gst_iterator_result_get_type), (register_gst_iterator_item),
1052 (gst_iterator_item_get_type), (register_gst_message_type),
1053 (gst_message_type_get_type), (register_gst_mini_object_flags),
1054 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1055 (gst_pad_link_return_get_type), (register_gst_flow_return),
1056 (gst_flow_return_get_type), (register_gst_activate_mode),
1057 (gst_activate_mode_get_type), (register_gst_pad_direction),
1058 (gst_pad_direction_get_type), (register_gst_pad_flags),
1059 (gst_pad_flags_get_type), (register_gst_pad_presence),
1060 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1061 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1062 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1063 (gst_plugin_error_get_type), (register_gst_plugin_flags),
1064 (gst_plugin_flags_get_type), (register_gst_rank),
1065 (gst_rank_get_type), (register_gst_query_type),
1066 (gst_query_type_get_type), (register_gst_tag_merge_mode),
1067 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1068 (gst_tag_flag_get_type), (register_gst_task_state),
1069 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1070 (gst_alloc_trace_flags_get_type),
1071 (register_gst_type_find_probability),
1072 (gst_type_find_probability_get_type), (register_gst_uri_type),
1073 (gst_uri_type_get_type), (register_gst_parse_error),
1074 (gst_parse_error_get_type):
1075 * win32/common/gstenumtypes.h:
1076 * win32/common/gstversion.h:
1077 update visual studio generated files
1079 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1081 * win32/vs6/libgstbase.dsp:
1082 * win32/vs6/libgstelements.dsp:
1083 update project files for new locations
1085 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
1090 reinstate and update
1095 * docs/random/LICENSE:
1098 2005-11-30 Edward Hervey <edward@fluendo.com>
1100 * gst/gsttypefind.c: (gst_type_find_register):
1101 * gst/gsttypefind.h:
1102 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1103 (gst_type_find_factory_dispose):
1104 * gst/gsttypefindfactory.h:
1105 Fix memory leak in GstTypeFindFactory.
1107 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1110 * plugins/elements/Makefile.am:
1111 * plugins/elements/gstelements.c:
1112 * plugins/elements/gstqueue.c:
1113 move queue from core to the elements plugin
1115 2005-11-29 Andy Wingo <wingo@pobox.com>
1117 * libs/gst/base/gstbasetransform.h:
1118 * libs/gst/base/gstbasesrc.h:
1119 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1121 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1122 of pointers by which to pad very extensible base classes (like the
1123 ones in libs/gst/base).
1125 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1127 * docs/gst/gstreamer-docs.sgml:
1128 * docs/gst/gstreamer-sections.txt:
1129 * docs/libs/gstreamer-libs-docs.sgml:
1130 * docs/libs/gstreamer-libs-sections.txt:
1131 moving documentation from core to lib
1133 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1135 * check/Makefile.am:
1137 * docs/gst/Makefile.am:
1139 * gst/base/.cvsignore:
1140 * gst/base/Makefile.am:
1142 * gst/base/gstadapter.c:
1143 * gst/base/gstadapter.h:
1144 * gst/base/gstbasesink.c:
1145 * gst/base/gstbasesink.h:
1146 * gst/base/gstbasesrc.c:
1147 * gst/base/gstbasesrc.h:
1148 * gst/base/gstbasetransform.c:
1149 * gst/base/gstbasetransform.h:
1150 * gst/base/gstcollectpads.c:
1151 * gst/base/gstcollectpads.h:
1152 * gst/base/gstpushsrc.c:
1153 * gst/base/gstpushsrc.h:
1154 * gst/base/gsttypefindhelper.c:
1155 * gst/base/gsttypefindhelper.h:
1156 * gst/check/Makefile.am:
1157 * gst/check/gstcheck.c:
1158 * gst/check/gstcheck.h:
1159 * gst/net/Makefile.am:
1161 * gst/net/gstnetclientclock.c:
1162 * gst/net/gstnetclientclock.h:
1163 * gst/net/gstnettimepacket.c:
1164 * gst/net/gstnettimepacket.h:
1165 * gst/net/gstnettimeprovider.c:
1166 * gst/net/gstnettimeprovider.h:
1167 * libs/gst/Makefile.am:
1168 * libs/gst/base/Makefile.am:
1169 * libs/gst/base/gstbasetransform.c:
1170 * libs/gst/check/Makefile.am:
1171 * plugins/elements/Makefile.am:
1173 CVS surgery + support to move base, check, and net out of gst
1176 2005-11-29 Andy Wingo <wingo@pobox.com>
1178 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1180 * gst/gststructure.h (struct _GstStructure): Only one pointer of
1183 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1185 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1187 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1189 * gst/gstobject.h: (struct _GstObject): Only one pointer of
1190 padding; reduces object size by about 30%. We don't expect
1191 anything else to go into gstobject.
1193 * gst/gstminiobject.h (struct _GstMiniObject)
1194 (struct _GstMiniObjectClass): Only one pointer of padding; the
1195 payload is only a pointer and two ints anyway. For the class there
1196 are only two methods as well.
1198 * gst/gstelement.h (struct _GstElementClass): Removed
1199 the state_changed signal callback, it is not used.
1201 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1203 * docs/gst/gstreamer.types:
1204 fix includes, though they are a little dinky
1206 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1208 * check/Makefile.am:
1209 look in the right place for elements, a lot more chance of
1212 remove indexers and elements subdirs
1213 * plugins/Makefile.am:
1214 make indexers conditional
1216 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1220 * plugins/elements/Makefile.am:
1221 * plugins/elements/gstcapsfilter.c:
1222 * plugins/elements/gstfilesink.c:
1223 * plugins/elements/gstfilesrc.c:
1224 * plugins/elements/gstidentity.c:
1225 * plugins/indexers/Makefile.am:
1226 do CVS surgery and related build fixery to move elements
1227 and indexers in a new gstreamer/plugins directory, out of the
1230 2005-11-29 Andy Wingo <wingo@pobox.com>
1232 * check/Makefile.am:
1233 * pkgconfig/gstreamer-net-uninstalled.pc.in:
1234 * pkgconfig/gstreamer-net.pc.in:
1235 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1238 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1240 * tools/Makefile.am:
1241 * tools/gst-complete.1.in:
1242 * tools/gst-complete.c:
1243 * tools/gst-compprep.1.in:
1244 * tools/gst-compprep.c:
1245 removing -compprep and -complete
1247 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
1249 * gst/gstevent.c: (gst_event_new_new_segment),
1250 (gst_event_parse_new_segment):
1252 fix #320529 - clean up new_segment API and structure.
1253 Let's hope everyone was using the methods, and not the structure.
1255 2005-11-29 Edward Hervey <edward@fluendo.com>
1257 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1258 (gst_base_sink_event), (gst_base_sink_do_sync),
1259 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1260 Properly handle non GST_FORMAT_TIME segment
1261 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1262 Properly handle non GST_FORMAT_TIME segment
1264 This function is valid if the accumulator is 0 and the format
1265 is different from the requested format.
1267 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
1269 * docs/gst/gstreamer-sections.txt:
1270 Add gst_query_new_seeking and gst_query_parse_seeking to the
1273 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
1275 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1276 Treat a pad alloc with new caps the same as if we were not
1277 negotiated, in order to allow a changing upstream output
1278 to produce a new format of data.
1280 2005-11-29 Edward Hervey <edward@fluendo.com>
1282 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1283 (gst_base_transform_event), (gst_base_transform_eventfunc):
1284 The event virtual method is now properly implemented, with a default
1286 Sub classes should call the parent_class event method. They should
1287 return FALSE if they had a problem handling the given event, or don't
1288 want GstBaseTransform to send that even downstream
1289 * gst/elements/gstidentity.c: (gst_identity_class_init),
1290 (gst_identity_init), (gst_identity_event),
1291 (gst_identity_transform_ip), (gst_identity_set_property),
1292 (gst_identity_get_property):
1293 * gst/elements/gstidentity.h:
1294 Added the single-segment boolean property.
1295 If set to TRUE, it will output a single segment of data, starting from
1296 0, will eat up all incoming newsegment, and modify the timestamp of the
1299 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
1301 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1302 Don't ref NULL target pad (#322751). Improve docs.
1304 2005-11-29 Michael Smith <msmith@fluendo.com>
1306 * gst/gstregistryxml.c: (load_plugin):
1307 Don't crash if we failed to load a feature from a plugin.
1309 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1311 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1313 use more check API and less GLib API
1315 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1318 don't run checks if we don't have check
1320 remove the registry when running make torture
1321 * docs/gst/gstreamer-sections.txt:
1322 remove second multiply
1323 * gst/gstqueue.c: (gst_queue_loop):
1324 fix a compile warning when disabling debug
1326 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1329 Hey! Let's print the pad name if the pointer != NULL instead
1330 of when it == NULL :-)
1332 2005-11-28 Wim Taymans <wim@fluendo.com>
1334 * check/gst/gstutils.c: (GST_START_TEST):
1335 Updated check, add some scaling accuracy checking code.
1337 * gst/gstutils.c: (gst_util_div128_64),
1338 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1339 (gst_util_uint64_scale_int):
1340 Fix 6 times faster division code. Optimize for common
1341 1/1 and less common X/1 cases.
1343 2005-11-28 Wim Taymans <wim@fluendo.com>
1345 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1348 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1349 (do_linear_regression), (gst_clock_add_observation):
1351 Release lock when the clock cannot be slaved.
1352 Catch the case where the regression returned an invalid denominator.
1354 * gst/gstutils.c: (gst_util_div128_64_iterate),
1355 (gst_util_div128_64), (gst_util_uint64_scale_int64),
1356 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1357 Add protentially more performant non-iterative 128/64 divide function
1358 that unfortunatly does not work yet.
1359 Shortcut the trivial 0/X = 0 case.
1360 Remove the warnings on overflow.
1362 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1364 * gst/gstplugin.c: (gst_plugin_register_func):
1365 everything causing a plugin not to load should be at least a WARNING
1367 2005-11-28 Stefan Kost <ensonic@users.sf.net>
1369 * docs/random/ensonic/dparams.txt:
1370 some TODOs for the next dev cycle
1371 * libs/gst/controller/gstcontroller.c:
1372 (gst_controlled_property_set_interpolation_mode),
1373 (gst_controlled_property_new):
1374 * libs/gst/controller/gstcontroller.h:
1375 use base type to assign acccessor functions
1377 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1379 * check/Makefile.am:
1380 Oops, that should have been top_srcdir
1382 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
1384 * check/Makefile.am:
1385 * check/elements/fdsrc.c: (GST_START_TEST):
1386 Use a cmdline define to specify the location of a file to use for
1387 testing, to avoid breaking distcheck.
1389 2005-11-28 Andy Wingo <wingo@pobox.com>
1391 * gst/gstpad.c (fixate_value): Use array functions for arrays.
1393 2005-11-28 Edward Hervey <edward@fluendo.com>
1395 * tools/gst-launch.c: (main):
1396 Clarify the output strings, makes it easier to translate.
1399 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
1402 don't try and build net if we don't even have <sys/socket.h>
1404 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
1406 * check/Makefile.am:
1407 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1408 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1409 Add tests for fdsrc seekability
1411 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1412 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1413 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1414 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1415 * gst/elements/gstfdsrc.h:
1416 fdsrc should not be a 'live' source.
1417 Implement seeking on seekable fd's.
1419 * gst/gstquery.c: (gst_query_new_seeking),
1420 (gst_query_parse_seeking):
1422 Implement SEEKING query functions:
1423 *_new_seeking and *_parse_seeking
1425 2005-11-27 Stefan Kost <ensonic@users.sf.net>
1427 * gst/gstelement.c: (gst_element_dispose):
1430 * gst/gstiterator.c:
1431 * gst/gststructure.c:
1434 * libs/gst/controller/gstcontroller.c:
1435 (gst_controlled_property_set_interpolation_mode):
1436 * libs/gst/controller/gstcontroller.h:
1437 * libs/gst/controller/gstinterpolation.c:
1438 (interpolate_none_get_enum_value_array):
1439 support controlling enums
1441 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1444 Improve documentation for gst_value_union().
1447 Change return value for union, intersect and subtract functions
1448 from gint to gboolean.
1450 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
1452 * gst/gstvalue.c: (gst_value_serialize_any_list),
1453 (gst_value_transform_any_list_string),
1454 (gst_value_deserialize_list), (gst_value_deserialize_array),
1455 (gst_value_set_int_range), (gst_value_deserialize_int_range),
1456 (gst_value_set_double_range), (gst_value_deserialize_double_range),
1457 (gst_value_set_fraction_range_full),
1458 (gst_value_deserialize_fraction_range),
1459 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1460 (gst_value_deserialize_boolean),
1461 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1462 (gst_value_serialize_float), (gst_value_deserialize_float),
1463 (gst_string_wrap), (gst_value_deserialize_string),
1464 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1465 (gst_value_union_int_range_int_range),
1466 (gst_value_intersect_int_range_int_range),
1467 (gst_value_intersect_double_range_double_range),
1468 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1469 (gst_value_subtract_int_range_int_range),
1470 (gst_value_subtract_double_double_range),
1471 (gst_value_subtract_double_range_double_range),
1472 (gst_value_deserialize_fraction):
1474 Use gint, gdouble and gchar in our API instead of int, double and
1475 char (and make usage in gstvalue.c more consistent).
1477 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1479 * check/Makefile.am:
1480 * libs/gst/controller/Makefile.am:
1481 * libs/gst/dataprotocol/Makefile.am:
1482 fix up Makefile.am and remove GST_ENABLE_NEW
1484 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1488 * gst/base/Makefile.am:
1489 * gst/check/Makefile.am:
1490 * gst/elements/Makefile.am:
1491 * gst/net/Makefile.am:
1492 update LDFLAGS use some more
1494 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
1496 * common/m4/gst-doc.m4:
1499 2005-11-26 Edward Hervey <edward@fluendo.com>
1501 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1502 This shouldn't issue a g_warning since it returns NULL if it
1503 couldn't find the plugin, and all functions using this behave
1504 properly on a NULL return. Switching to a GST_WARNING.
1506 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
1508 * gst/gstbin.c: (gst_bin_handle_message_func):
1509 Don't leak clock messages.
1511 2005-11-25 Wim Taymans <wim@fluendo.com>
1513 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1514 (gst_util_uint64_scale_int):
1515 Optimisations, remove unneeded vars.
1517 2005-11-25 Wim Taymans <wim@fluendo.com>
1519 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1520 Added more checks for the high precision uint64 cases.
1522 * gst/gstutils.c: (gst_util_uint64_scale_int64),
1523 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1524 Implement high precision (guint64 * guint64) / guint64.
1526 2005-11-24 Wim Taymans <wim@fluendo.com>
1528 * gst/base/gstbasesrc.c: (gst_base_src_query):
1529 Fix wrong percentage query.
1531 * gst/gstutils.c: (gst_util_uint64_scale),
1532 (gst_util_uint64_scale_int):
1533 Add some more common cases that can be handled
1534 efficiently to _scale.
1536 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1538 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1539 (gst_mini_object_suite):
1540 don't use check calls from threads; check probably isn't
1541 threadsafe and using a lock to make it threadsafe would
1542 defeat the purpose of this check
1543 * gst/check/gstcheck.c:
1544 * gst/check/gstcheck.h:
1545 use GST_DEBUG some more
1547 2005-11-24 Wim Taymans <wim@fluendo.com>
1549 * gst/gstutils.c: (gst_util_uint64_scale),
1550 (gst_util_uint64_scale_int):
1551 Chain trivial case to _scale_int.
1553 2005-11-24 Wim Taymans <wim@fluendo.com>
1555 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1556 Added test for scaling.
1561 * gst/gstutils.c: (gst_util_uint64_scale_int):
1562 Implemented high precision scaling code.
1564 2005-11-24 Stefan Kost <ensonic@users.sf.net>
1567 do not crash on pad==NULL
1569 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
1571 Patch by: Stefan Kost
1573 * common/gtk-doc.mak:
1574 * docs/gst/Makefile.am:
1575 * docs/libs/Makefile.am:
1576 Fix distcheck issues for the libraries docs build
1579 2005-11-24 Michael Smith <msmith@fluendo.com>
1581 * docs/manual/basics-helloworld.xml:
1582 Fix bug #315027: memory leak in example code in docs.
1584 2005-11-24 Michael Smith <msmith@fluendo.com>
1586 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1587 Unlock the PREROLL_LOCK in a failure case.
1589 2005-11-24 Wim Taymans <wim@fluendo.com>
1591 * docs/gst/gstreamer-sections.txt:
1592 * gst/base/gstadapter.h:
1593 * gst/base/gstbasesink.h:
1594 * gst/base/gstbasesrc.h:
1595 * gst/base/gstbasetransform.h:
1596 * gst/base/gstpushsrc.h:
1597 * gst/elements/gstfakesink.h:
1598 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1599 * gst/elements/gstfakesrc.h:
1600 * gst/elements/gstfilesink.h:
1601 * gst/elements/gstfilesrc.h:
1604 * gst/gstbuffer.c: (_gst_buffer_copy):
1607 * gst/gstchildproxy.c:
1610 * gst/gstelementfactory.c:
1611 * gst/gstelementfactory.h:
1613 * gst/gstghostpad.h:
1615 * gst/gstinterface.h:
1616 * gst/gstminiobject.c:
1617 * gst/gstminiobject.h:
1620 * gst/gstpadtemplate.h:
1621 * gst/gstpipeline.h:
1622 * gst/gstpluginfeature.h:
1627 * gst/gsttagsetter.c:
1628 * gst/gsttagsetter.h:
1631 * gst/gsttypefind.h:
1634 * gst/net/gstnetclientclock.c:
1635 * gst/net/gstnetclientclock.h:
1636 * gst/net/gstnettimepacket.c:
1637 * gst/net/gstnettimeprovider.c:
1638 * gst/net/gstnettimeprovider.h:
1641 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1643 * configure.ac: back to HEAD
1645 === release 0.9.6 ===
1647 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1650 releasing 0.9.6, "Always On Time"
1652 2005-11-23 Wim Taymans <wim@fluendo.com>
1654 * docs/gst/gstreamer-sections.txt:
1655 * gst/glib-compat.c:
1656 * gst/gsttagsetter.c:
1658 * gst/net/gstnetclientclock.c:
1659 * gst/net/gstnettimepacket.h:
1662 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
1664 * docs/faq/using.xml:
1665 * docs/libs/tmpl/gstcontrol.sgml:
1666 * docs/manual/advanced-dparams.xml:
1667 * docs/manual/appendix-checklist.xml:
1668 * docs/manual/basics-elements.xml:
1669 * docs/pwg/other-source.xml:
1670 * docs/random/moving-plugins:
1672 * tools/gst-launch.1.in:
1673 remove mentions of sinesrc
1675 2005-11-23 Michael Smith <msmith@fluendo.com>
1677 * docs/gst/gstreamer-sections.txt:
1678 Update for new API and API changes.
1680 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1682 Documentation typo fix.
1683 * gst/net/gstnettimepacket.c:
1684 Documentation fixes for arguments.
1686 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
1688 * gst/gststructure.c: (gst_structure_get_fraction),
1689 (gst_structure_parse_value),
1690 (gst_structure_fixate_field_nearest_fraction):
1691 * gst/gststructure.h:
1692 * gst/gstutils.c: (gst_util_uint64_scale_int):
1694 * scripts/update-funcnames:
1696 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1697 Make gst_structure_fixate_field_nearest_fraction take a numerator
1698 and denominator argument instead of a GValue
1699 add gst_structure_get_fraction helper function.
1701 2005-11-23 Wim Taymans <wim@fluendo.com>
1703 * docs/design/part-TODO.txt:
1706 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1707 * gst/net/gstnetclientclock.h:
1708 Use parent fields for timeout and window_size.
1710 2005-11-23 Andy Wingo <wingo@pobox.com>
1712 * check/net/gstnetclientclock.c (test_functioning): Adjust to
1713 rate_num/rate_denom change.
1715 * gst/net/gstnetclientclock.c
1716 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1717 OBJECT_LOCK. Don't call add_observation with the lock.
1719 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1721 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1723 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1724 deal with rate as a fraction whose numerator and denominator are
1725 GstClockTime values.
1726 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1727 master; the other fields are protected by the SLAVE_LOCK.
1728 (do_linear_regression): Note that this must be called with the
1730 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1731 OBJECT_LOCK. Call set_calibration instead of touching the
1733 (gst_clock_set_property, gst_clock_get_property): Protect
1734 master/slave parameters with the SLAVE_LOCK.
1736 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1737 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1738 note that all of the instance variables that add_observation and
1739 the set_master functions use are protected by that lock and not
1741 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1743 * gst/gstclock.c (gst_clock_add_observation): No longer requires
1744 the caller to take the object lock.
1746 2005-11-23 Wim Taymans <wim@fluendo.com>
1748 * gst/gsterror.c: (_gst_core_errors_init):
1750 Add error for clock stuff.
1752 * gst/gstpipeline.c: (gst_pipeline_change_state),
1753 (gst_pipeline_set_clock):
1754 Post clock error when clock cannot be used in a pipeline.
1756 2005-11-23 Stefan Kost <ensonic@users.sf.net>
1758 * docs/gst/gstreamer-sections.txt:
1759 make two symbols from gstinfo private for the docs
1760 * gst/base/gstcollectpads.h:
1762 fix doc typos, update docs
1764 2005-11-22 Wim Taymans <wim@fluendo.com>
1766 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1767 (gst_base_sink_wait), (gst_base_sink_do_sync),
1768 (gst_base_sink_handle_event):
1769 * gst/base/gstbasesink.h:
1770 No need to store the clock, the parent element class already
1773 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1774 Updates for clock_set returning a gboolean
1776 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1777 (gst_clock_id_wait_async), (gst_clock_class_init),
1778 (gst_clock_init), (gst_clock_finalize),
1779 (gst_clock_get_internal_time), (gst_clock_get_time),
1780 (gst_clock_slave_callback), (gst_clock_set_master),
1781 (gst_clock_get_master), (do_linear_regression),
1782 (gst_clock_add_observation), (gst_clock_set_property),
1783 (gst_clock_get_property):
1785 Implement master/slave. When setting a clock as a slave, a
1786 periodic timeout is scheduled to sample master and slave times.
1787 Then the slave clock is recalibrated to match offset and rate
1788 of the master clock.
1789 Update logging a bit.
1790 Add flag so that a clock can state that is cannot be slaved to
1793 * gst/gstelement.c: (gst_element_set_clock):
1795 The set clock returns a gboolean for when an element cannot
1796 deal with the selected clock in the pipeline.
1798 * gst/gstpipeline.c: (gst_pipeline_change_state),
1799 (gst_pipeline_set_clock):
1800 * gst/gstpipeline.h:
1801 Handle the case where the selected clock cannot be set on
1804 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1805 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1806 (gst_net_client_clock_set_property),
1807 (gst_net_client_clock_get_property),
1808 (gst_net_client_clock_observe_times):
1809 * gst/net/gstnetclientclock.h:
1810 Use regression code in GstClock parent, remove duplicated
1813 2005-11-22 Michael Smith <msmith@fluendo.com>
1815 * gst/gstutils.c: (gst_util_clock_time_scale):
1817 * docs/gst/gstreamer-sections.txt:
1818 Rename method to have extra underscore.
1820 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
1822 * gst/elements/Makefile.am:
1823 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1824 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1825 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1826 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1827 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1828 * gst/elements/gstfakesrc.h:
1829 * gst/gstqueue.c: (queue_leaky_get_type):
1830 correctly fix GEnumValues so that nick is the short lowercase
1832 * tools/gst-inspect.c: (print_element_properties_info):
1833 also show the nick, since it's useful to use from parse_launch
1837 2005-11-22 Michael Smith <msmith@fluendo.com>
1839 * gst/gstutils.c: (gst_util_clocktime_scale):
1841 * docs/gst/gstreamer-sections.txt:
1842 Add util method for scaling a clocktime by a fraction. Useful
1843 implementation is left as an exercise for the reader.
1845 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1847 * gst/gstvalue.c: (gst_value_collect_fraction_range):
1848 If needed, allocate storage in the destination value during
1851 2005-11-22 Edward Hervey <edward@fluendo.com>
1853 * docs/gst/gstreamer-sections.txt:
1858 * gst/gstutils.c: (gst_util_set_object_arg):
1859 * tools/gst-compprep.c: (main):
1860 * tools/gst-inspect.c: (print_element_properties_info):
1861 Removed GstURI, closes bug #321061
1863 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1865 * check/gst/gststructure.c: (GST_START_TEST):
1866 * gst/gststructure.c: (gst_structure_parse_value):
1867 Oops, broke automatic string type parsing.
1868 Add a test to catch it in future.
1870 2005-11-22 Andy Wingo <wingo@pobox.com>
1872 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
1873 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1874 Actually rename the function implementations. Grr.
1876 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1878 * check/gst/capslist.h:
1880 * check/gst/gststructure.c: (GST_START_TEST),
1881 (gst_structure_suite):
1882 Test automatic value type detection in gst_structure_from_string.
1883 * gst/gststructure.c: (gst_structure_parse_value):
1884 Add fraction as a type we try and guess automatically in
1885 caps/structure strings.
1887 2005-11-22 Andy Wingo <wingo@pobox.com>
1889 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1891 * gst/gsttagsetter.h:
1892 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1893 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1894 (gst_tag_setter_add_tag_valist)
1895 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1896 _add_values, _add_valist, and _add_valist_values. Since this is an
1897 interface the function suffixes should be more explicit so
1898 language binding don't end up with element.add_valist ->
1899 gst_tag_setter_add_valist, for example. Fixes #322069.
1901 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1903 * check/gst/gstcaps.c: (GST_START_TEST):
1904 Extend caps string tests to check that a caps to string
1905 conversion is reversible and produces the same caps.
1907 * gst/gststructure.c: (gst_structure_value_get_generic_type):
1908 Output "fraction" as the generic type fraction range, so caps
1909 serialisation and deserialisation works.
1910 * check/gst/capslist.h:
1911 * gst/gstvalue.c: (gst_value_deserialize_fraction):
1912 Support 'MIN' and 'MAX' for deserialising fractions.
1914 2005-11-22 Andy Wingo <wingo@pobox.com>
1916 * gst/gstevent.h (gst_event_new_new_segment)
1917 (gst_event_parse_new_segment, gst_event_new_buffer_size)
1918 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1919 Renamed from *_newsegment, *_buffersize, *_notarget.
1921 * scripts/update-funcnames: New script, performs the changes
1924 2005-11-22 Wim Taymans <wim@fluendo.com>
1926 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1927 Make sure the GstFlowReturn is returned.
1929 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1930 (gst_bus_add_signal_watch):
1932 add gst_bus_add_signal_watch_full.
1934 * gst/gstplugin.c: (gst_plugin_load_file):
1935 Small style cleanup.
1937 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1939 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1940 Block the fakesrc srcpad when we send an event, to avoid
1941 contention on the stream_lock causing random test failures.
1943 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1945 * check/gst/gstvalue.c: (GST_START_TEST):
1946 * gst/gstvalue.c: (gst_value_fraction_subtract):
1949 2005-11-22 Stefan Kost <ensonic@users.sf.net>
1952 include "gstchildproxy.h"
1953 * gst/gstchildproxy.h:
1954 * libs/gst/controller/gstcontroller.h:
1955 use G_GNUC_NULL_TERMINATED
1957 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1959 * check/gst/capslist.h:
1960 * check/gst/gstcaps.c: (GST_START_TEST):
1961 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1962 * gst/gststructure.c: (gst_structure_parse_range),
1963 (gst_structure_fixate_field_nearest_fraction):
1964 * gst/gststructure.h:
1965 * gst/gstvalue.c: (gst_value_init_fraction_range),
1966 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1967 (gst_value_collect_fraction_range),
1968 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1969 (gst_value_set_fraction_range_full),
1970 (gst_value_get_fraction_range_min),
1971 (gst_value_get_fraction_range_max),
1972 (gst_value_serialize_fraction_range),
1973 (gst_value_transform_fraction_range_string),
1974 (gst_value_compare_fraction_range),
1975 (gst_value_deserialize_fraction_range),
1976 (gst_value_intersect_fraction_fraction_range),
1977 (gst_value_intersect_fraction_range_fraction_range),
1978 (gst_value_subtract_fraction_fraction_range),
1979 (gst_value_subtract_fraction_range_fraction),
1980 (gst_value_subtract_fraction_range_fraction_range),
1981 (gst_value_collect_fraction), (gst_value_fraction_multiply),
1982 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1983 (gst_value_transform_string_fraction), (_gst_value_initialize):
1985 Implement fraction ranges and extend GstFraction to support
1986 arithmetic subtraction, as well as deserialization from integer
1987 strings such as "100"
1988 Add a testsuite as for int and double range set operations
1990 2005-11-21 Andy Wingo <wingo@pobox.com>
1994 * gst/gststructure.h: Add glib-compat.h.
1996 2005-11-21 Wim Taymans <wim@fluendo.com>
1998 * gst/gstbin.c: (gst_bin_change_state_func):
2001 2005-11-21 Wim Taymans <wim@fluendo.com>
2004 And add a nice define too.
2006 2005-11-21 Wim Taymans <wim@fluendo.com>
2008 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2009 (gst_segment_new), (gst_segment_free), (gst_segment_init),
2010 (gst_segment_set_duration), (gst_segment_set_last_stop),
2011 (gst_segment_set_seek), (gst_segment_set_newsegment),
2012 (gst_segment_to_stream_time), (gst_segment_to_running_time),
2015 Make binding friendly.
2017 2005-11-21 Andy Wingo <wingo@pobox.com>
2019 * gst/gsttagsetter.h:
2021 * gst/gststructure.h:
2023 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2026 * gst/gsterror.c (_gst_core_errors_init):
2027 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2030 * gst/Makefile.am (gst_headers): Add glib-compat.h.
2031 (noinst_HEADERS): noinst the -private.
2033 2005-11-21 Michael Smith <msmith@fluendo.com>
2036 * gst/gstregistry.h:
2037 Remove unimplemented declarations for which we can see no sensible
2040 2005-11-21 Andy Wingo <wingo@pobox.com>
2042 * gst/gst.h: Include glib-compat.h.
2044 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2046 * gst/glib-compat.c: Include the public and the private header.
2048 * gst/glib-compat-private.h: Copied here from glib-compat.h.
2052 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2054 * check/gst/gstevent.c (create_custom_events): Check that
2055 FLUSH_STOP is serialized.
2057 * check/elements/identity.c (event_func):
2058 * check/elements/fakesrc.c (event_func): No stream lock, the core
2061 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2062 stream lock taking, yay.
2064 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2065 ensure that core takes the stream lock.
2067 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2070 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2071 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2072 it already. For the flush start we do take it though so we get the
2073 right preroll state change messages.
2075 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2076 the stream lock here, the core does it for us.
2078 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2079 GST_STREAM_GET_LOCK.
2080 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
2081 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
2082 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2083 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2084 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
2085 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2087 * gst/gstpad.c: Update for stream lock name change.
2089 * gst/base/gstbasesink.c: Update for preroll lock name change.
2091 2005-11-21 Wim Taymans <wim@fluendo.com>
2093 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2094 (gst_clock_get_master):
2096 * gst/gstsystemclock.c: (gst_system_clock_init):
2097 Convert Clock flags to object flags.
2098 Added methods to manage master/slave clocks.
2100 2005-11-21 Wim Taymans <wim@fluendo.com>
2102 * check/gst/gstsegment.c: (GST_START_TEST):
2103 * docs/design/part-TODO.txt:
2104 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2105 (gst_base_sink_event), (gst_base_sink_do_sync),
2106 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2107 (gst_base_sink_query), (gst_base_sink_change_state):
2108 * gst/base/gstbasesink.h:
2109 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2110 (gst_base_src_default_newsegment),
2111 (gst_base_src_configure_segment), (gst_base_src_do_seek),
2112 (gst_base_src_get_range), (gst_base_src_loop),
2113 (gst_base_src_change_state):
2114 * gst/base/gstbasesrc.h:
2115 * gst/base/gstbasetransform.c:
2116 (gst_base_transform_prepare_output_buf),
2117 (gst_base_transform_event), (gst_base_transform_change_state):
2118 * gst/base/gstbasetransform.h:
2119 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2120 (gst_collect_pads_event):
2121 * gst/base/gstcollectpads.h:
2122 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2123 (gst_fake_src_create):
2124 * gst/elements/gstfakesrc.h:
2125 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2126 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2127 (gst_segment_set_last_stop), (gst_segment_set_seek),
2128 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2129 (gst_segment_to_running_time), (gst_segment_clip):
2131 More segment updates, replace code in plugins with segment
2134 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2136 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2137 Don't ignore sscanf results
2139 2005-11-21 Andy Wingo <wingo@pobox.com>
2141 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2144 * *.c: Ran scripts/update-macros. Oh yes.
2146 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2147 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2150 * scripts/update-macros: New script. Run it on your files to
2151 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2154 2005-11-21 Stefan Kost <ensonic@users.sf.net>
2156 * docs/gst/Makefile.am:
2157 * docs/gst/gstreamer-docs.sgml:
2158 * docs/gst/gstreamer-sections.txt:
2159 * docs/gst/gstreamer.types:
2161 more docs fixes, add new api to the docs
2163 2005-11-21 Andy Wingo <wingo@pobox.com>
2165 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2166 state_broadcast call.
2168 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2170 2005-11-21 Julien MOUTTE <julien@moutte.net>
2172 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2173 function calls for arrays.
2175 2005-11-21 Stefan Kost <ensonic@users.sf.net>
2177 * docs/random/ensonic/media-device-daemon.txt:
2178 wild idea, can this be done?
2179 * docs/gst/gstreamer-sections.txt:
2184 * gst/gstpluginfeature.c:
2188 doc fixes and additions
2190 2005-11-21 Andy Wingo <wingo@pobox.com>
2192 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
2193 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
2194 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
2195 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2196 private to the basesrc implementation.
2198 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2199 behalf of event function if necessary. It should no longer be
2200 necessary to take the stream lock in pad's event functions. Fixes
2203 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2204 * docs/gst/gstreamer-sections.txt:
2205 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2206 (gst_structure_fixate_field_nearest_double),
2207 (gst_structure_fixate_field_boolean):
2208 * gst/gststructure.h:
2209 * win32/common/libgstreamer.def:
2210 * win32/gstreamer.def:
2212 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2215 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
2217 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2218 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2219 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2220 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2221 (gst_fdsrc_uri_handler_init):
2222 * gst/elements/gstfdsrc.h:
2223 Port fd:// URI handler from 0.8 to fdsrc
2225 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2227 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2228 (gst_value_serialize_fourcc):
2230 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2231 consistent with our other format defines (#320324).
2233 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2235 * gst/gstvalue.c: (gst_value_is_fixed):
2236 Revert previous commit. Value lists are by definition
2237 not fixed, as they are a list of possible values.
2239 2005-11-21 Andy Wingo <wingo@pobox.com>
2241 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2242 during the stable series if we need it. Fixes #319178.
2244 * gst/gstevent.c (gst_event_new_filler): Removed.
2246 * check/gst/gstevent.c: Update comment about filler events.
2248 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2250 * gst/gstvalue.c: (gst_value_is_fixed):
2251 Should handle both value arrays and value lists.
2253 2005-11-21 Andy Wingo <wingo@pobox.com>
2255 patch by: Alessandro Dessina <alessandro nnva org>
2257 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2258 functions to access arrays. Fixes #321962.
2260 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2262 * docs/gst/gstreamer.types:
2263 gst_collectpads_get_type => gst_collect_pads_get_type.
2265 * gst/base/gstbasetransform.c:
2266 Remove unused SIGNAL_HANDOFF enum.
2268 2005-11-21 Andy Wingo <wingo@pobox.com>
2270 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2271 the event type (upstream, downstream, serialized). Renamed
2272 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2273 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2274 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2276 * gst/gstevent.c: Update for new CUSTOM event names.
2278 * check/gst/gstevent.c: Update check for new CUSTOM event names.
2281 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2284 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2286 * docs/gst/gstreamer-sections.txt:
2287 * win32/common/libgstbase.def:
2288 * win32/libgstbase.def:
2289 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2290 (gst_collect_pads_class_init), (gst_collect_pads_init),
2291 (gst_collect_pads_finalize), (gst_collect_pads_new),
2292 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2293 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2294 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2295 (gst_collect_pads_start), (gst_collect_pads_stop),
2296 (gst_collect_pads_peek), (gst_collect_pads_pop),
2297 (gst_collect_pads_available), (gst_collect_pads_read),
2298 (gst_collect_pads_flush), (gst_collect_pads_event),
2299 (gst_collect_pads_chain):
2300 * gst/base/gstcollectpads.h:
2301 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2302 unimplemented functions as unimplemented. Add padding to
2303 GstCollectData. (#320766, #320423)
2305 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
2308 Improve docs for DURATION message (usage of duration parameter)
2311 2005-11-20 Wim Taymans <wim@fluendo.com>
2313 * check/Makefile.am:
2314 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2318 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2319 (gst_segment_set_seek), (gst_segment_set_newsegment),
2320 (gst_segment_to_stream_time), (gst_segment_to_running_time),
2323 Added segment helper structure and methods. Not fully implemented
2325 Added segment check.
2327 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
2329 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2330 Add a deserialisation test for fractions
2331 * examples/metadata/read-metadata.c: (message_loop),
2332 (make_pipeline), (main):
2333 Fix up metadata reading sample.
2334 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2336 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2337 Don't try and fixate empty caps
2338 * gst/gst_private.h:
2339 Wrap in G_BEGIN_DECLS/G_END_DECLS
2340 * gst/gstvalue.c: (gst_value_collect_fraction),
2341 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2342 (gst_value_transform_string_fraction),
2343 (gst_value_compare_fraction):
2344 Add some extra guards to ensure that we don't end up
2345 with an invalid denominator of 0 in a gstfraction and
2346 that fractions always get reduced.
2348 2005-11-20 Wim Taymans <wim@fluendo.com>
2350 * docs/gst/gstreamer-sections.txt:
2361 2005-11-20 Wim Taymans <wim@fluendo.com>
2363 * docs/design/part-TODO.txt:
2365 Make a proper enum of the flag.
2367 2005-11-19 Wim Taymans <wim@fluendo.com>
2369 * docs/design/part-TODO.txt:
2370 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2371 (gst_format_to_quark), (gst_format_register):
2373 * gst/gstquery.c: (_gst_query_initialize),
2374 (gst_query_type_get_name), (gst_query_type_to_quark),
2375 (gst_query_type_register):
2377 Add type to quark and type to string conversions.
2379 2005-11-19 Andy Wingo <wingo@pobox.com>
2381 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2384 2005-11-19 Wim Taymans <wim@fluendo.com>
2386 * docs/design/part-TODO.txt:
2387 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2388 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2389 (gst_bin_handle_message_func):
2391 Make message handling overridable.
2393 2005-11-19 Andy Wingo <wingo@pobox.com>
2395 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2398 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2400 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2401 is a GstClockTime. Fixes #321710.
2403 * gst/gstclock.h (GstClock): Remove offset property. Add
2404 internal_calibration and external_calibration. Fix padding. Pad
2405 also by GstClockTime so we don't run into problems.
2407 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2408 (gst_clock_get_rate_offset): Remove.
2409 (gst_clock_set_time_adjust): Remove. Fixes #321712.
2412 * gst/gstutils.c (g_static_rec_cond_wait)
2413 (g_static_rec_cond_timed_wait): Removed, no longer needed.
2415 * gst/gstbin.c: Remove terrible continue_state prototype.
2417 * gst/gstelement.h (gst_element_continue_state): Make public.
2420 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2421 by continue_state. Fixes #319389.
2423 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2424 Really fixes #168438. However I don't see anywhere where the
2425 filter function is called... stupid GStreamer...
2427 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2428 don't have a dispose function, so it won't get called when the
2429 object is unreffed, but oh well!
2431 * gst/gstindex.c (gst_index_set_filter_full): New API function,
2432 allows a destroy function to be set so user_data can be freed.
2434 (gst_index_set_filter): Call gst_index_set_filter_full.
2436 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2438 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2439 string should produce an error, given the lack of a way to
2440 represent NULL strings. Fixes #165650.
2443 * gst/gstvalue.c (gst_value_array_append_value)
2444 (gst_value_array_prepend_value, gst_value_array_get_size)
2445 (gst_value_array_get_value): New API, copied from
2446 gst_value_list_*, only operates on arrays.
2447 (gst_value_list_append_value, gst_value_list_prepend_value)
2448 (gst_value_list_concat, gst_value_list_get_size)
2449 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2451 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2452 init_list, because it works on both.
2453 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2454 (gst_value_copy_list_or_array): Renamed from copy_list.
2455 (gst_value_free_list_or_array): Renamed from free_list.
2456 (gst_value_collect_list_or_array): Renamed from collect_list.
2457 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2458 (gst_value_list_or_array_peek_pointer): Renamed from
2460 (_gst_value_array_value_table, _gst_value_list_value_table):
2461 Update value table functions.
2462 (gst_value_compare_list_or_array): Renamed from compare_list.
2464 * gsttaglist.h: Whoops, foreach function returns void. Also fix
2468 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2469 GstTagList*. Fixes #143472.
2471 * gst/gststructure.h: Clarify what the foreach/map functions can
2472 or can't do to their arguments.
2474 2005-11-18 Wim Taymans <wim@fluendo.com>
2476 * gst/gstclock.c: (gst_clock_set_calibration),
2477 (gst_clock_get_calibration):
2479 Calibration can be set with internal time equal to current
2482 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
2488 2005-11-18 Andy Wingo <wingo@pobox.com>
2491 * pkgconfig/gstreamer-net.pc.in:
2492 * pkgconfig/gstreamer-net-uninstalled.pc.in:
2493 * pkgconfig/Makefile.am: Add net pkgconfig files.
2495 2005-11-18 Stefan Kost <ensonic@users.sf.net>
2498 * gst/gstghostpad.c:
2504 2005-11-18 Andy Wingo <wingo@pobox.com>
2506 * gst/net/gstnetclientclock.c: Turn off debugging.
2508 * check/net/gstnetclientclock.c (test_functioning): Assert that the
2509 times connverge somewhat. Can't make a real test.
2511 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2512 integer arithmetic. Return the minimum of the domain, which can be
2513 set as "internal" for gst_clock_set_calibration.
2514 (gst_net_client_clock_observe_times): Call _set_calibration.
2515 (gst_net_client_clock_new): Call _set_calibration instead of
2518 * check/net/gstnetclientclock.c (test_functioning): Use the right
2522 * gst/gstclock.c (gst_clock_get_calibration)
2523 (gst_clock_set_calibration): New functions, obsolete the ones I
2524 added yesterday. Doh. Precision issues mean we have to extrapolate
2525 from a point in the more recent past than 1970.
2526 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2528 (gst_clock_adjust_unlocked): Use the right calibration data.
2530 2005-11-18 Edward Hervey <edward@fluendo.com>
2532 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2533 Also reset the ->current_* values in READY->PAUSED
2535 2005-11-18 Andy Wingo <wingo@pobox.com>
2537 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2538 Whoops, check the right fd. Also add some debugging.
2539 (gst_net_client_clock_observe_times): Adjust for int64 offset.
2540 (do_linear_regression): Add a crapload of debugging. Subtract off
2541 the minimum values from the input series to discard unneeded bits.
2542 Use only int arithmetic. There is still double arithmetic when
2543 calculating the intercept that needs fixing. Return boolean to
2544 indicate success; FALSE would mean the domain or range is too
2545 great. Still needs fixes.
2547 2005-11-18 Wim Taymans <wim@fluendo.com>
2549 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2550 For the current position in stream time, we need to subtract
2553 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2554 Release lock before calling the callback function of async
2557 2005-11-18 Andy Wingo <wingo@pobox.com>
2559 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2560 Port goes all the way to MAXUINT16.
2562 * gst/net/gstnettimeprovider.c: Make the port range the same as
2563 for the kernel: 0 assigns, otherwise ports are less than
2566 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2569 * check/net/gstnetclientclock.c (test_functioning): Add the start
2572 2005-11-18 Wim Taymans <wim@fluendo.com>
2574 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2575 (gst_bin_remove_func), (bin_bus_handler):
2577 Removing a clock provider from a bin, triggers a clock lost message
2578 so that a new clock will be selected.
2579 Adding a clock to a bin triggers a clock provider message.
2580 Make sure we reselect a clock when we received a clock lost message.
2581 Keep a reference to the element that provided the clock.
2583 2005-11-18 Andy Wingo <wingo@pobox.com>
2585 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2586 the clock initially so it produces values around the base time.
2587 (gst_net_client_clock_class_init): Typo fix.
2588 (gst_net_client_clock_thread): Add note on when the socket gets
2591 2005-11-17 Wim Taymans <wim@fluendo.com>
2593 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2594 Free remote and local time arrays.
2596 2005-11-17 Wim Taymans <wim@fluendo.com>
2598 * gst/net/gstnetclientclock.c: (do_linear_regression),
2599 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2600 Fix compilation, uninitialized vars and a forgotten continue.
2602 2005-11-17 Andy Wingo <wingo@pobox.com>
2604 * check/Makefile.am (check_PROGRAMS):
2605 * check/net/gstnetclientclock.c: Add a most minimal test for the
2606 net client clock. More to come later.
2609 * gst/net/Makefile.am: Add netclientclock.
2611 * gst/net/gstnetclientclock.h:
2612 * gst/net/gstnetclientclock.c: New files, implement an untested
2613 GstClock that takes its time from a network time provider.
2614 Implements the algorithm in network-clock.scm.
2616 * tests/network-clock.scm (*window-size*): Rename from
2618 * tests/network-clock.scm (network-time):
2619 * tests/network-clock-utils.scm (q-push): Update callers.
2621 2005-11-17 Wim Taymans <wim@fluendo.com>
2623 * gst/gstbin.c: (gst_bin_provide_clock_func),
2624 (gst_bin_sort_iterator_new):
2625 And unref the child too..
2627 2005-11-17 Wim Taymans <wim@fluendo.com>
2629 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2630 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2631 Refactor the sort iterator so it can be used while holding the
2633 Make clock selection select a clock closest to the source.
2635 2005-11-17 Michael Smith <msmith@fluendo.com>
2637 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2638 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2640 Anonymous structs are a gcc (and some other compilers) extension, so
2641 don't use them. Since this is only for ABI-compatibility, and our
2642 API/ABI freeze is over in a few days, this whole thing will only
2643 last a few days, so don't bother trying to think up a meaningful
2644 name for the struct.
2646 2005-11-17 Andy Wingo <wingo@pobox.com>
2648 * gst/gstclock.h (GstClock): Add rate and offset properties,
2649 preserving ABI stability. Add rate/offset accessors. Will file bug
2650 for the freeze break.
2652 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2653 and offset, trying to keep precision and avoiding
2655 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2656 functions. Make gst_clock_set_time_adjust obsolete.
2657 (gst_clock_set_time_adjust): Note that this function is obsolete.
2660 * gst/base/gstbasetransform.h: Make the ABI-stability hack
2661 greppable by using GST_PADDING-1+1.
2663 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
2665 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2667 * gst/gstmessage.c: (gst_message_parse_clock_lost):
2668 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2670 * gst/gstpadtemplate.h:
2671 * gst/gstpluginfeature.h:
2672 Don't use c++ style comments in headers (#321638).
2674 2005-11-16 Andy Wingo <wingo@pobox.com>
2676 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2679 * check/net/gstnettimeprovider.c: Check to see that the time
2680 provider actually provides times. Works, yo!
2682 2005-11-16 Wim Taymans <wim@fluendo.com>
2684 * check/Makefile.am:
2687 * check/elements/fakesrc.c: (GST_START_TEST):
2688 Set element to NULL before disposing it.
2690 2005-11-16 Andy Wingo <wingo@pobox.com>
2692 * gst/net/Makefile.am:
2694 * gst/net/gstnettimeprovider.c:
2695 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2696 provider, include it from gstnet.h, and add it to the build.
2698 * gst/net/gstnettimepacket.h:
2699 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2700 sending and receiving.
2702 2005-11-16 Wim Taymans <wim@fluendo.com>
2704 * check/Makefile.am:
2705 Enable valgrind check.
2707 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2708 (gst_fake_src_alloc_buffer):
2711 2005-11-16 Wim Taymans <wim@fluendo.com>
2713 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2714 Call parent finalize too.
2716 2005-11-16 Wim Taymans <wim@fluendo.com>
2718 * check/Makefile.am:
2719 Enable valgrind check that should work fine now.
2721 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2722 * gst/gstqueue.c: (gst_queue_init):
2723 Fix memleaks in pad allocation.
2725 2005-11-16 Andy Wingo <wingo@pobox.com>
2727 * gst/net/Makefile.am:
2728 * gst/net/gstnet.h: New part of core to hold network elements and
2729 objects. Put in core because it exposes API that applications want
2730 to use. The library is named libgstnet-tempname right now because
2731 of the existing libgstnet in gst-plugins-base. Solution is
2732 probably to rename the one in plugins-base; will file a bug for
2735 * gst/net/gstnettimeprovider.c:
2736 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2737 get_time call over the network.
2740 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2742 * check/Makefile.am:
2743 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2744 get additions shortly.
2746 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2748 * gst/gstpad.c: (gst_pad_new_from_static_template):
2750 add gst_pad_new_from_static_template functions
2751 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2752 (gst_check_setup_sink_pad):
2753 * gst/elements/gsttee.c: (gst_tee_init):
2756 2005-11-16 Wim Taymans <wim@fluendo.com>
2758 * gst/gstpad.c: (gst_pad_pause_task):
2759 Removed warning, it's not really an error either.
2761 2005-11-16 Wim Taymans <wim@fluendo.com>
2763 * gst/base/gstbasetransform.c:
2764 (gst_base_transform_prepare_output_buf),
2765 (gst_base_transform_event):
2766 Check if the caps are NULL, this can happen if the element
2767 is shutting down and the pad caps are set to NULL.
2769 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2771 * gst/elements/gsttee.c: (gst_tee_init):
2772 fix pad template leak in tee
2774 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2776 * gst/glib-compat.c: (g_value_dup_gst_object):
2777 * gst/glib-compat.h:
2778 * gst/gstpad.c: (gst_pad_set_property):
2779 use gst_object_ref when setting the pad template; this will
2780 trigger the pad template leaks on GLib 2.6 and the slaves
2782 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2784 * gst/glib-compat.c: (gst_flags_get_first_value):
2785 * gst/glib-compat.h:
2786 * gst/gstregistryxml.c:
2787 remove functions copied from GLib 2.6
2789 2005-11-16 Michael Smith <msmith@fluendo.com>
2792 Don't link against VALGRIND_LIBS. That was always the wrong thing to
2793 do, but only breaks with newer valgrind versions. We're not a
2794 valgrind tool, we have no link-time dependencies on libcoregrind.
2796 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2798 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2803 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2805 * gst/base/gstbasesrc.c: (gst_base_src_init):
2806 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2807 * gst/gstqueue.c: (gst_queue_init):
2808 * gst/gstregistryxml.c: (load_feature):
2809 Revert all these unrefs, they don't even pass make check !
2811 2005-11-15 Johan Dahlin <johan@gnome.org>
2813 * gst/base/gstbasesrc.c: (gst_base_src_init):
2814 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2815 * gst/gstqueue.c: (gst_queue_init):
2816 Free pad templates, fixes a couple of leaks.
2818 2005-11-15 Daniel Fischer <dan at f3c dot com>
2820 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2822 * gst/gstpad.c: (gst_pad_get_property):
2823 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2824 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2827 2005-11-15 Wim Taymans <wim@fluendo.com>
2832 2005-11-15 Andy Wingo <wingo@pobox.com>
2834 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2836 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2837 using GST_CLOCK_TIME_NONE to disable base time management.
2838 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2839 time if it was NONE before.
2840 (gst_pipeline_change_state): Only munge the base time if
2841 stream_time != GST_CLOCK_TIME_NONE.
2843 * check/gst/gstpipeline.c (test_base_time): Punt around the
2844 problem of the probe not being called, because that's not the
2845 issue I'm looking at. Add a check that setting stream_time to NONE
2846 disables base time management.
2848 2005-11-15 Wim Taymans <wim@fluendo.com>
2850 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2851 segment_stop == -1 at startup.
2853 * gst/base/gstbasetransform.c: (gst_base_transform_event),
2854 (gst_base_transform_change_state):
2855 Init segment values at start.
2857 2005-11-15 Wim Taymans <wim@fluendo.com>
2859 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2860 0 segment values are 0 in any format.
2862 * gst/base/gstbasetransform.c: (gst_base_transform_event):
2863 * gst/base/gstbasetransform.h:
2864 Parse newsegment correctly in basetransform
2866 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2867 Sync to clock using updated segment values.
2869 2005-11-15 Andy Wingo <wingo@pobox.com>
2871 * check/gst/gstpipeline.c (test_base_time): Add check that the
2872 base time and stream time are reset correctly.
2874 2005-11-15 Wim Taymans <wim@fluendo.com>
2876 * docs/design/part-TODO.txt:
2877 Some more TODO items.
2879 2005-11-15 Andy Wingo <wingo@pobox.com>
2881 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2882 error if the user selected "no clock" as the clocking method.
2884 * check/gst/gstpipeline.c (test_base_time): New test for buffer
2885 timestamps with live capture.
2887 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2888 is 0 but we are a live source, timestamp the buffers using the
2891 2005-11-14 Stefan Kost <ensonic@users.sf.net>
2893 * docs/gst/gstreamer-sections.txt:
2895 * gst/gstghostpad.c:
2900 2005-11-14 Wim Taymans <wim@fluendo.com>
2903 add suppressions from Wim's Debian machine
2905 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
2908 add suppressions from Andy's AMD64 Ubuntu machine
2910 2005-11-14 Andy Wingo <wingo@pobox.com>
2912 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2913 STATE_LOCK not necessary. Fixes #311489.
2915 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2918 * gst/gstindex.c (gst_index_add_object): Note in the docs that
2919 this function is not implemented.
2921 2005-11-14 Julien MOUTTE <julien@moutte.net>
2923 * gst/base/gstbasetransform.c:
2924 (gst_base_transform_prepare_output_buf):
2925 Ref the source pad caps while we need them.
2928 2005-11-11 Wim Taymans <wim@fluendo.com>
2930 * docs/gst/gstreamer-sections.txt:
2931 Added some docs for GstCollectData.
2933 * gst/base/gstadapter.c:
2934 Some small code example fix.
2936 * gst/base/gstcollectpads.c:
2937 * gst/base/gstcollectpads.h:
2940 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2942 * configure.ac: back to HEAD
2944 === release 0.9.5 ===
2946 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2949 releasing 0.9.5, "Bike Lunch Day"
2951 2005-11-11 Wim Taymans <wim@fluendo.com>
2953 * gst/gstbuffer.c: (_gst_buffer_copy):
2956 * gst/gstcaps.c: (gst_caps_is_equal):
2958 Make _is_equal fast in the trivial cases.
2960 * gst/gstminiobject.c:
2961 * gst/gstminiobject.h:
2962 More docs. Spifify .h file.
2967 2005-11-11 Wim Taymans <wim@fluendo.com>
2969 * gst/base/gstbasetransform.c:
2970 (gst_base_transform_prepare_output_buf),
2971 (gst_base_transform_handle_buffer):
2973 If we're processing a buffer and need to allocate an output
2974 buffer, we cannot accept a format change. If we did get a
2975 format change, we have to alloc a buffer ourselves of the
2978 2005-11-11 Wim Taymans <wim@fluendo.com>
2980 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2981 While checking the flag for reentrancy in the gstcaps function
2982 is nice to detect recursive invocations, it also makes it
2983 impossible to call getcaps from multiple threads, which must be
2984 possible. So, checking for recursive calls has to go.
2986 2005-11-11 Michael Smith <msmith@fluendo.com>
2988 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2989 Don't sync on buffers that fall partially outside our current
2990 segment. Prevents an assertion failure/abort playing some files.
2992 2005-11-10 Andy Wingo <wingo@pobox.com>
2994 * check/gst/gstbin.c (test_message_state_changed_children): Style
2997 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2998 gst_bus_poll with the signal watch. Ensures that poll and a signal
2999 watch see the same messages.
3001 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3002 a poll and a watch at the same time get the same messages.
3004 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
3006 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3007 * gst/gstcaps.c: (gst_caps_intersect):
3008 Don't call gst_caps_do_simplify - it doesn't respect order of caps
3009 and it's not needed.
3011 2005-11-10 Wim Taymans <wim@fluendo.com>
3013 * docs/design/part-TODO.txt:
3016 2005-11-10 Wim Taymans <wim@fluendo.com>
3018 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3019 * gst/base/gstbasesrc.c: (gst_base_src_wait),
3020 (gst_base_src_do_sync), (gst_base_src_get_range):
3021 Implement clock sync in base class.
3023 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
3025 patch by: Tim-Philipp Müller <tim at centricular dot net>
3027 * gst/gststructure.c: (gst_structure_parse_field),
3028 (gst_structure_from_string):
3029 Forward-port a 0.8 patch to handle escaped spaces in structure string,
3030 so that gst_parse_launch() can deal with spaces in filtered link
3031 caps (fixes #164479)
3032 * check/gst/capslist.h:
3033 * check/gst/gststructure.c: (GST_START_TEST):
3034 add unit tests for this change
3036 2005-11-10 Wim Taymans <wim@fluendo.com>
3038 * docs/gst/gstreamer-sections.txt:
3041 Fix docs, move some STATE macros to private.
3043 2005-11-10 Wim Taymans <wim@fluendo.com>
3045 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3046 Added check for bug #317341
3050 Some more spiffifying.
3052 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3053 Call peer linkfunction if we are a source pad. Totally fixes
3057 Update docs, source pads should call the peer linkfunction
3058 so they can atomically perform the pad link.
3060 2005-11-09 Wim Taymans <wim@fluendo.com>
3064 Uber-spiffy-spiffify some more.
3066 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
3068 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3069 * gst/elements/gstfilesink.c: (gst_file_sink_init):
3070 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3071 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3072 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3073 * gst/gstpad.c: (gst_pad_init):
3074 Use GST_DEBUG_FUNCPTR() more extensively.
3076 2005-11-09 Wim Taymans <wim@fluendo.com>
3078 * gst/gstobject.c: (gst_object_class_init):
3080 Documentation fixes.
3082 2005-11-09 Edward Hervey <edward@fluendo.com>
3084 * gst/gsttypefindfactory.c:
3087 2005-11-09 Edward Hervey <edward@fluendo.com>
3089 * gst/base/gsttypefindhelper.c:
3090 * gst/gsttypefind.c:
3091 * gst/gsttypefind.h:
3094 2005-11-09 Wim Taymans <wim@fluendo.com>
3096 * gst/gstiterator.c:
3103 2005-11-09 Wim Taymans <wim@fluendo.com>
3109 2005-11-09 Wim Taymans <wim@fluendo.com>
3111 * docs/gst/gstreamer-sections.txt:
3112 Moved the message async delivery private lock and cond
3113 to the private section.
3119 2005-11-09 Edward Hervey <edward@fluendo.com>
3121 * docs/gst/gstreamer-sections.txt:
3124 Document GstURIHandler
3126 2005-11-09 Wim Taymans <wim@fluendo.com>
3128 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3129 (gst_iterator_find_custom):
3130 * gst/gstiterator.h:
3133 2005-11-09 Wim Taymans <wim@fluendo.com>
3136 Document another field.
3138 * gst/gststructure.c:
3139 * gst/gststructure.h:
3142 2005-11-09 Wim Taymans <wim@fluendo.com>
3147 2005-11-09 Wim Taymans <wim@fluendo.com>
3149 * docs/gst/gstreamer-sections.txt:
3150 Added some new macros.
3157 2005-11-09 Wim Taymans <wim@fluendo.com>
3159 * docs/design/part-TODO.txt:
3160 Some more items for the TODO
3166 2005-11-09 Andy Wingo <wingo@pobox.com>
3168 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3169 to work on something else now tho...
3171 * gst/base/gstadapter.c: More adapter docs.
3173 * gst/elements/gstfilesink.c (gst_file_sink_start)
3174 (gst_file_sink_stop): New functions, replace the state change
3176 (gst_file_sink_class_init): Hook up the start and stop functions.
3177 (gst_file_sink_base_init): Don't set the state change handler any
3178 more. It was a bit ugly too, being set from here...
3179 (gst_file_sink_get_property, gst_file_sink_set_property):
3181 (gst_file_sink_set_location): More robust check that doesn't call
3184 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
3186 * gst/base/gstbasetransform.c: (gst_base_transform_event):
3187 Hold STREAM_LOCK while pushing newsegment or tag events as well.
3189 2005-11-08 Wim Taymans <wim@fluendo.com>
3191 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3192 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3193 (gst_base_sink_chain), (gst_base_sink_change_state):
3194 * gst/base/gstbasesink.h:
3195 * gst/base/gstbasesrc.h:
3198 Avoid excessive typechecking in macros.
3200 * gst/gstminiobject.c: (gst_mini_object_get_type),
3201 (gst_mini_object_init), (gst_mini_object_new),
3202 (gst_mini_object_free):
3203 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3204 (gst_object_finalize):
3205 Remove cruft code, optimize alloc_trace.
3207 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
3209 * docs/faq/gst-uninstalled:
3210 fix up PS1 for systems that try to reset it
3212 2005-11-07 Wim Taymans <wim@fluendo.com>
3214 * gst/base/gstbasesrc.c: (gst_base_src_init),
3215 (gst_base_src_get_range):
3216 Set the segment_end to -1 initially. Fixed typefind.
3218 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
3220 * gst/base/gstadapter.c:
3221 Debug category should be 'adapter', not 'GstAdapter'.
3223 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3224 (gst_collectpads_class_init), (gst_collectpads_init),
3225 (gst_collectpads_peek), (gst_collectpads_pop),
3226 (gst_collectpads_event), (gst_collectpads_chain):
3227 Add debug category and some debugging output. Use boilerplate
3228 macros. Remove some extraneous words from docs.
3230 2005-11-05 Andy Wingo <wingo@pobox.com>
3232 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3235 2005-11-04 Stefan Kost <ensonic@users.sf.net>
3237 * docs/gst/gstreamer-sections.txt:
3240 * gst/gstminiobject.h:
3245 2005-11-04 Wim Taymans <wim@fluendo.com>
3247 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3248 Small update to stop at the configured segment_end
3251 2005-11-04 Stefan Kost <ensonic@users.sf.net>
3253 * gst/gstregistry.c:
3254 * gst/gstregistry.h:
3257 2005-11-04 Edward Hervey <edward@fluendo.com>
3259 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3260 Check if we are doing a segment seek and have arrived at the
3261 end of that segment.
3263 2005-11-04 Wim Taymans <wim@fluendo.com>
3265 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3266 Don't leak a mutex unlock in case of an error.
3271 2005-11-04 Wim Taymans <wim@fluendo.com>
3273 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3275 Get the context to wake up only once.
3277 2005-11-03 Wim Taymans <wim@fluendo.com>
3279 * check/states/sinks.c: (GST_START_TEST):
3280 Uncomment fixed check.
3282 * docs/design/part-TODO.txt:
3285 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3286 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3287 (gst_base_sink_get_position):
3288 If we are going to PLAYING, post the right pending state
3289 when we post the intermediate paused message.
3291 * gst/gstelement.c: (gst_element_continue_state),
3292 (gst_element_set_state_func), (gst_element_change_state):
3293 Don't post state changes that were between the same state
3296 2005-11-03 Stefan Kost <ensonic@users.sf.net>
3298 * docs/gst/gstreamer-sections.txt:
3301 * gst/gstminiobject.h:
3304 more docs and doc style fixes
3306 2005-11-03 Stefan Kost <ensonic@users.sf.net>
3308 * docs/gst/gstreamer-sections.txt:
3310 * gst/gstminiobject.c:
3313 2005-11-03 Andy Wingo <wingo@pobox.com>
3315 * check/states/sinks.c (test_livesrc_sink): Add checks that the
3316 state-changed messages actually have the right order and the right
3319 2005-11-03 Wim Taymans <wim@fluendo.com>
3321 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3322 Added some more checks. Specifically the case where NO_PREROLL
3323 elements are in the pipeline.
3325 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3326 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3327 (gst_base_sink_get_position):
3328 Post READY->PAUSED state change messages too.
3329 Fix bug where VOID was posted as pending state...
3331 * gst/gstbin.c: (gst_bin_recalc_state):
3332 use _element_continue_state() to continue the state change.
3334 * gst/gstelement.c: (gst_element_continue_state),
3335 (gst_element_commit_state), (gst_element_set_state_func),
3336 (gst_element_change_state), (gst_element_change_state_func):
3337 Lots of state change cleanups, assign the STATE_RETURN in
3338 a new continue_state() function that also propagates the
3339 last return value from a state change to the app.
3340 Update some debug statements with proper category.
3342 2005-11-03 Wim Taymans <wim@fluendo.com>
3344 * docs/design/part-events.txt:
3345 * docs/design/part-gstpipeline.txt:
3346 * docs/design/part-messages.txt:
3347 * docs/design/part-overview.txt:
3348 * docs/design/part-seeking.txt:
3349 * docs/design/part-states.txt:
3350 * docs/design/part-trickmodes.txt:
3351 * docs/manual/advanced-position.xml:
3355 People think !! is ugly, this looks better.
3357 * gst/gstpad.c: (gst_pad_set_blocked_async):
3358 Remove !! since it's fixed elsewhere now.
3360 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3362 * gst/gstminiobject.h:
3364 Add !! to _FLAG_IS_SET macros to make the result boolean.
3366 2005-11-03 Edward Hervey <edward@fluendo.com>
3368 * gst/gstpad.c: (gst_pad_set_blocked_async):
3369 comparing a flag and a gboolean rarely returns coherent results...
3370 Added two characters (!!) to make that work correctly.
3372 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3374 * gst/gstbus.c: (gst_bus_class_init):
3377 * gst/gstqueue.c: (gst_queue_loop):
3378 Don't assume a miniobject that isn't a buffer is an
3379 event (it could be that there is a refcounting
3380 problem somewhere and the pointer is stale and
3381 refers to an already destroyed miniobject).
3383 2005-11-03 Julien MOUTTE <julien@moutte.net>
3385 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3387 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
3389 * docs/manual/advanced-position.xml:
3390 Update seek example and explanations to current 0.9 API.
3392 * gst/elements/gsttypefindelement.c:
3393 (gst_type_find_element_activate):
3394 Remove FIXME comment now that the found caps
3397 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
3399 * gst/gstregistryxml.c: (load_feature):
3400 Add another GST_STR_NULL instance
3402 2005-11-02 Edward Hervey <edward@fluendo.com>
3404 * gst/gstpad.c: (handle_pad_block):
3405 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3407 2005-11-02 Wim Taymans <wim@fluendo.com>
3412 * gst/gstelement.c: (gst_element_commit_state):
3413 Remove unused value.
3415 * gst/gstiterator.c:
3416 Mention that the returned element is reffed in the docs.
3418 2005-11-02 Wim Taymans <wim@fluendo.com>
3420 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3421 (gst_pad_push), (gst_pad_push_event):
3422 Unlock blocked pads when they are flushed.
3424 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3427 * docs/gst/gstreamer-sections.txt:
3430 * gst/gstregistry.c: (gst_registry_scan_path_level):
3431 fix for a nasty little missed situation where an installed plug-in
3432 which was in the cache did not get overridden by an uninstalled one
3433 which was earlier in the plugin path because the newly created plugin
3434 for the uninstalled one (not in the registry) didn't get its
3435 ->registered set to TRUE
3437 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3439 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3440 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3441 (gst_collectpads_is_active), (gst_collectpads_collect),
3442 (gst_collectpads_collect_range), (gst_collectpads_start),
3443 (gst_collectpads_stop), (gst_collectpads_peek),
3444 (gst_collectpads_pop), (gst_collectpads_available),
3445 (gst_collectpads_read), (gst_collectpads_flush):
3446 Guard public API with assertions.
3449 Fix docs for gst_pad_set_link_function().
3451 2005-11-02 Johan Dahlin <johan@gnome.org>
3453 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
3454 Unref found_caps after we used it.
3456 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
3458 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3459 Don't try to ref NULL.
3461 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3463 * win32/common/config.h.in:
3464 provide a GST_FUNCTION that just gives a string for now
3466 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
3468 * win32/common/gstenumtypes.c: (register_gst_object_flags),
3469 (gst_object_flags_get_type), (register_gst_bin_flags),
3470 (gst_bin_flags_get_type), (register_gst_buffer_flag),
3471 (gst_buffer_flag_get_type), (register_gst_bus_flags),
3472 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3473 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3474 (gst_clock_return_get_type), (register_gst_clock_entry_type),
3475 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3476 (gst_clock_flags_get_type), (register_gst_state),
3477 (gst_state_get_type), (register_gst_state_change_return),
3478 (gst_state_change_return_get_type), (register_gst_state_change),
3479 (gst_state_change_get_type), (register_gst_element_flags),
3480 (gst_element_flags_get_type), (register_gst_core_error),
3481 (gst_core_error_get_type), (register_gst_library_error),
3482 (gst_library_error_get_type), (register_gst_resource_error),
3483 (gst_resource_error_get_type), (register_gst_stream_error),
3484 (gst_stream_error_get_type), (register_gst_event_type),
3485 (gst_event_type_get_type), (register_gst_seek_type),
3486 (gst_seek_type_get_type), (register_gst_seek_flags),
3487 (gst_seek_flags_get_type), (register_gst_format),
3488 (gst_format_get_type), (register_gst_index_certainty),
3489 (gst_index_certainty_get_type), (register_gst_index_entry_type),
3490 (gst_index_entry_type_get_type),
3491 (register_gst_index_lookup_method),
3492 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3493 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3494 (gst_index_resolver_method_get_type), (register_gst_index_flags),
3495 (gst_index_flags_get_type), (register_gst_debug_level),
3496 (gst_debug_level_get_type), (register_gst_debug_color_flags),
3497 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3498 (gst_iterator_result_get_type), (register_gst_iterator_item),
3499 (gst_iterator_item_get_type), (register_gst_message_type),
3500 (gst_message_type_get_type), (register_gst_mini_object_flags),
3501 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3502 (gst_pad_link_return_get_type), (register_gst_flow_return),
3503 (gst_flow_return_get_type), (register_gst_activate_mode),
3504 (gst_activate_mode_get_type), (register_gst_pad_direction),
3505 (gst_pad_direction_get_type), (register_gst_pad_flags),
3506 (gst_pad_flags_get_type), (register_gst_pad_presence),
3507 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3508 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3509 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3510 (gst_plugin_error_get_type), (register_gst_plugin_flags),
3511 (gst_plugin_flags_get_type), (register_gst_rank),
3512 (gst_rank_get_type), (register_gst_query_type),
3513 (gst_query_type_get_type), (register_gst_tag_merge_mode),
3514 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3515 (gst_tag_flag_get_type), (register_gst_task_state),
3516 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3517 (gst_alloc_trace_flags_get_type),
3518 (register_gst_type_find_probability),
3519 (gst_type_find_probability_get_type), (register_gst_uri_type),
3520 (gst_uri_type_get_type), (register_gst_parse_error),
3521 (gst_parse_error_get_type):
3522 * win32/common/gstversion.h:
3525 2005-11-01 Luca Ognibene <luogni@tin.it>
3528 fix docs. popt is dead, long live GOption.
3530 2005-10-31 Wim Taymans <wim@fluendo.com>
3535 2005-10-31 Andy Wingo <wingo@pobox.com>
3539 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3541 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3542 need to serialize property notifications on GLib 2.8. GLib 2.6 has
3543 the possibility of deadlocks here if code calling notify() or
3544 set() has a lock that can be taken in another notify handler (ABBA
3545 with class lock and e.g. python GIL state lock).
3547 2005-10-28 Julien MOUTTE <julien@moutte.net>
3549 * gst/gstbus.c: Doc updates.
3551 2005-10-28 Wim Taymans <wim@fluendo.com>
3553 * docs/design/part-TODO.txt:
3554 * gst/gstiterator.c:
3555 * gst/gstsystemclock.c:
3556 * gst/gstsystemclock.h:
3559 2005-10-28 Edward Hervey <edward@fluendo.com>
3561 * docs/gst/gstreamer-docs.sgml:
3562 * docs/gst/gstreamer-sections.txt:
3563 the GstURIType documentation page is private, it only defines GstURIType
3564 which should be defined in the GstURIHandler page
3566 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
3568 * gst/gstbin.c: (gst_bin_class_init):
3571 Documentation updates.
3573 2005-10-28 Wim Taymans <wim@fluendo.com>
3575 * docs/gst/gstreamer-sections.txt:
3578 Documented the clocks.
3580 2005-10-28 Stefan Kost <ensonic@users.sf.net>
3582 * docs/gst/gstreamer-sections.txt:
3583 move some macros to private sections
3584 * gst/gstminiobject.c:
3585 * gst/gstminiobject.h:
3586 add descriptions provided by ds and some more
3588 mark macro as to be removed
3590 2005-10-28 Wim Taymans <wim@fluendo.com>
3592 * docs/design/part-TODO.txt:
3593 Add an item to TODO.
3595 * gst/gstiterator.c: (gst_iterator_fold),
3596 (gst_iterator_find_custom):
3597 * gst/gstiterator.h:
3600 2005-10-28 Wim Taymans <wim@fluendo.com>
3602 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3603 (gst_base_transform_init):
3606 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3607 An EOS event marks the queue as completely filled.
3609 2005-10-27 Wim Taymans <wim@fluendo.com>
3611 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3612 (gst_base_sink_do_sync), (gst_base_sink_get_position):
3613 Some more debugging.
3615 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3616 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3617 (gst_base_transform_event), (gst_base_transform_getrange),
3618 (gst_base_transform_chain):
3619 * gst/base/gstbasetransform.h:
3621 Protect transform and concurrent buffer alloc with a new lock.
3622 Try not to break ABI/API.
3624 2005-10-27 Wim Taymans <wim@fluendo.com>
3626 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3627 (gst_base_src_init), (gst_base_src_query),
3628 (gst_base_src_default_newsegment),
3629 (gst_base_src_configure_segment), (gst_base_src_do_seek),
3630 (gst_base_src_send_event), (gst_base_src_event_handler),
3631 (gst_base_src_pad_get_range), (gst_base_src_loop),
3632 (gst_base_src_unlock), (gst_base_src_default_negotiate),
3633 (gst_base_src_start), (gst_base_src_deactivate),
3634 (gst_base_src_activate_push), (gst_base_src_change_state):
3635 Move some stuff around and cleanup things.
3637 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
3639 * gst/base/gstbasesrc.c: (gst_base_src_query):
3640 Add missing break statements.
3642 2005-10-27 Wim Taymans <wim@fluendo.com>
3644 * check/gst/gstbin.c: (GST_START_TEST):
3645 An extra refcount is taken in basesrc.
3647 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3648 (gst_base_src_get_range), (gst_base_src_pad_get_range),
3649 (gst_base_src_loop):
3650 Small cleanups, check for flushing after being unlocked from the
3651 LIVE_LOCK. take refcounts correctly (not yet everywhere).
3652 Don't send out EOS when going to READY.
3654 2005-10-27 Wim Taymans <wim@fluendo.com>
3656 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3657 (gst_base_sink_get_position):
3660 * gst/gstbin.c: (message_check), (bin_replace_message),
3661 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3662 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3663 (bin_query_duration_init), (bin_query_duration_fold),
3664 (bin_query_duration_done), (bin_query_generic_fold),
3666 * tools/gst-launch.c: (main):
3669 2005-10-26 Stefan Kost <ensonic@users.sf.net>
3671 * examples/controller/audio-example.c: (main):
3672 * examples/queue/queue.c: (event_loop):
3673 * gst/base/gstbasetransform.h:
3674 * gst/gstelement.c: (gst_element_send_event):
3676 * gst/gstpad.c: (gst_pad_send_event):
3679 changing log priority in error situations
3681 2005-10-25 Wim Taymans <wim@fluendo.com>
3683 * gst/gstbin.c: (message_check), (bin_replace_message),
3684 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3685 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3686 (bin_query_duration_init), (bin_query_duration_fold),
3687 (bin_query_duration_done), (bin_query_generic_fold),
3689 Some doc and debug updates.
3690 Cache previously requested query DURATION for speed. invalidate
3691 cached duration if element posts a DURATION message.
3693 2005-10-25 Wim Taymans <wim@fluendo.com>
3695 * docs/design/part-TODO.txt:
3698 * gst/gstbin.c: (message_check), (bin_replace_message),
3699 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3700 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3701 (bin_query_duration_init), (bin_query_duration_fold),
3702 (bin_query_duration_done), (bin_query_generic_fold),
3704 Handle SEGMENT_START/DONE messages correctly.
3705 More evolved query algorithm that handles duration queries
3708 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3709 (gst_element_get_state_func), (gst_element_abort_state),
3710 (gst_element_commit_state), (gst_element_lost_state):
3711 Some more debugging.
3716 2005-10-25 Wim Taymans <wim@fluendo.com>
3718 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3719 Don't use invalid stream_time.
3721 * gst/gstevent.c: (gst_event_new_newsegment):
3722 stream_time in newsegment cannot be undefined.
3724 2005-10-24 Wim Taymans <wim@fluendo.com>
3729 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3731 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3733 2005-10-24 Stefan Kost <ensonic@users.sf.net>
3735 * docs/libs/tmpl/gstdparam.sgml:
3736 * docs/libs/tmpl/gstdplinint.sgml:
3737 * docs/libs/tmpl/gstdpman.sgml:
3738 * docs/libs/tmpl/gstdpsmooth.sgml:
3739 * docs/libs/tmpl/gstunitconvert.sgml:
3742 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
3747 === release 0.9.4 ===
3749 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3752 releasing 0.9.4, "Tyrannosaurus Rex"
3754 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
3756 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3757 (gst_file_sink_get_current_offset):
3758 Use fseeko() and ftello() if available. When falling back on
3759 lseek() to get the current offset, fflush() first to make sure
3760 everything is up-to-date and we get the right offset.
3762 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3764 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3765 * gst/base/gstbasesrc.c: (gst_base_src_loop):
3766 * gst/gsterror.c: (_gst_stream_errors_init):
3768 * gst/gstqueue.c: (gst_queue_loop):
3770 remove prematurely added error category and clean up the instances
3772 2005-10-21 Wim Taymans <wim@fluendo.com>
3774 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3775 (gst_base_sink_get_position), (gst_base_sink_query),
3776 (gst_base_sink_change_state):
3777 Simply set the right flag when going to playing, that's all
3778 we need to do instead of calling a function inside the object
3779 lock (that could take the lock as well and deadlock)
3781 2005-10-21 Wim Taymans <wim@fluendo.com>
3783 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3784 (gst_base_src_loop):
3785 Don't warn, the peer element knows what to do best when
3786 the seek failed, it might try something else.
3788 2005-10-21 Wim Taymans <wim@fluendo.com>
3790 * gst/base/gstbasesrc.c: (gst_base_src_init),
3791 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3794 2005-10-21 Wim Taymans <wim@fluendo.com>
3796 * docs/design/part-segments.txt:
3799 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3800 Correctly set caps, even on the subbufer.
3802 2005-10-21 Wim Taymans <wim@fluendo.com>
3804 * docs/gst/gstreamer-docs.sgml:
3805 * docs/gst/gstreamer-sections.txt:
3812 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3816 And 2% more doc coverage.
3818 2005-10-21 Andy Wingo <wingo@pobox.com>
3820 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3823 2005-10-20 Wim Taymans <wim@fluendo.com>
3825 * gst/gsterror.c: (gst_error_get_message):
3828 * gst/gststructure.c:
3833 2005-10-20 Wim Taymans <wim@fluendo.com>
3838 Another 1% more coverage.
3840 2005-10-20 Wim Taymans <wim@fluendo.com>
3842 * docs/gst/gstreamer-sections.txt:
3843 * gst/gstelement.c: (gst_element_get_state_func),
3844 (gst_element_abort_state), (gst_element_commit_state),
3845 (gst_element_lost_state):
3847 * gst/gstquery.c: (gst_query_set_position),
3848 (gst_query_parse_position), (gst_query_set_duration),
3849 (gst_query_parse_duration), (gst_query_new_convert):
3851 Yay! 1% more docs coverage.
3853 2005-10-20 Wim Taymans <wim@fluendo.com>
3856 * gst/gstquery.c: (gst_query_set_position),
3857 (gst_query_parse_position), (gst_query_set_duration),
3858 (gst_query_parse_duration), (gst_query_new_convert):
3860 * gst/gstutils.c: (gst_element_query_convert):
3862 Docs and consistency fixes.
3864 2005-10-20 Wim Taymans <wim@fluendo.com>
3870 2005-10-20 Wim Taymans <wim@fluendo.com>
3872 * gst/gstbin.c: (message_check), (bin_replace_message),
3873 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3874 (update_degree), (gst_bin_sort_iterator_next),
3875 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3876 Reworked the message handling a bit, cache the messages instead of
3877 only the senders. alows us to do more in the future.
3879 2005-10-20 Wim Taymans <wim@fluendo.com>
3881 * docs/design/part-TODO.txt:
3884 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3885 (gst_base_sink_query):
3886 Don't use clock time to report position when in EOS.
3888 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
3890 * tools/gst-inspect.c: (print_interfaces),
3891 (print_element_properties_info), (print_element_info):
3892 Fix interface output with gst-inspect -a; don't print
3893 newlines after double/float properties.
3895 2005-10-20 Wim Taymans <wim@fluendo.com>
3897 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3898 (gst_base_sink_query):
3899 Speed up current position calculation.
3901 * gst/base/gstbasesrc.c: (gst_base_src_query),
3902 (gst_base_src_default_newsegment):
3903 Correctly set stream position in newsegment.
3905 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3906 (update_degree), (gst_bin_sort_iterator_next),
3907 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3908 * gst/gstmessage.c: (gst_message_new_custom):
3909 Clean up debugging info
3911 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3912 (gst_queue_loop), (gst_queue_handle_src_query):
3915 2005-10-19 Wim Taymans <wim@fluendo.com>
3917 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3918 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3919 Fix query handling again.
3921 2005-10-19 Wim Taymans <wim@fluendo.com>
3923 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3924 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3925 * gst/base/gstbasesrc.c: (gst_base_src_query):
3926 * gst/elements/gstfilesink.c: (gst_file_sink_query):
3927 * gst/elements/gsttypefindelement.c:
3928 (gst_type_find_handle_src_query), (find_element_get_length),
3929 (gst_type_find_element_activate):
3932 * gst/gstquery.c: (gst_query_new_position),
3933 (gst_query_set_position), (gst_query_parse_position),
3934 (gst_query_new_duration), (gst_query_set_duration),
3935 (gst_query_parse_duration), (gst_query_set_segment),
3936 (gst_query_parse_segment):
3938 Bundling query position/duration is not a good idea since duration
3939 does not change much and we don't want to recalculate it for every
3940 position query, so they are separated again..
3941 Base value in segment query is not needed.
3943 * gst/gstqueue.c: (gst_queue_handle_src_query):
3944 * gst/gstutils.c: (gst_element_query_position),
3945 (gst_element_query_duration), (gst_pad_query_position),
3946 (gst_pad_query_duration):
3948 Updates for query API change.
3949 Added some docs here and there.
3951 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
3953 * check/gst/gstbin.c: (GST_START_TEST):
3954 * check/gst/gstghostpad.c: (GST_START_TEST):
3955 * check/pipelines/cleanup.c: (GST_START_TEST):
3956 wait on thread to die so we can check refcount correctly
3958 2005-10-18 Wim Taymans <wim@fluendo.com>
3960 * check/pipelines/stress.c: (GST_START_TEST):
3961 Make check a little more time consuming.
3963 2005-10-18 Wim Taymans <wim@fluendo.com>
3965 * check/Makefile.am:
3966 * check/pipelines/stress.c: (GST_START_TEST),
3967 (simple_launch_lines_suite), (main):
3968 Small state change torture test.
3970 * docs/design/part-states.txt:
3971 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3972 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3973 (gst_base_sink_change_state):
3974 Never take state lock from streaming thread, clean up ugly
3975 hacks. Unfortunatly core does not yet support nice ways to
3978 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3980 Start state recalc if a STATE_DIRTY message is posted, but only
3981 on the toplevel bin.
3983 * gst/gstelement.c: (gst_element_sync_state_with_parent),
3984 (gst_element_get_state_func), (gst_element_abort_state),
3985 (gst_element_commit_state), (gst_element_lost_state),
3986 (gst_element_set_state_func), (gst_element_change_state):
3988 State variables are now protected with the LOCK, the state
3989 lock is only used to serialize _set_state().
3991 2005-10-18 Wim Taymans <wim@fluendo.com>
3993 * check/gst/gstbin.c: (GST_START_TEST):
3994 * check/gst/gstmessage.c: (GST_START_TEST):
3995 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3996 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3998 * gst/gstelement.c: (gst_element_abort_state),
3999 (gst_element_commit_state), (gst_element_lost_state):
4000 * gst/gstmessage.c: (gst_message_new_state_changed),
4001 (gst_message_new_state_dirty), (gst_message_new_segment_start),
4002 (gst_message_new_segment_done), (gst_message_new_duration),
4003 (gst_message_parse_state_changed),
4004 (gst_message_parse_segment_start),
4005 (gst_message_parse_segment_done), (gst_message_parse_duration):
4007 * tools/gst-launch.c: (event_loop):
4008 Seriously, this is better than a previous commit as we only need
4009 to notify the fact that an element changed state in a streaming
4010 thread, marking the state of the parents dirty, hence the
4011 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4014 2005-10-18 Wim Taymans <wim@fluendo.com>
4016 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4017 (gst_bin_recalc_func):
4018 * gst/gstelement.c: (gst_element_set_clock),
4019 (gst_element_abort_state), (gst_element_lost_state):
4020 Cleanups, prepare for state change fixes.
4022 2005-10-18 Wim Taymans <wim@fluendo.com>
4025 * gst/gstelement.c: (gst_element_class_init),
4026 (gst_element_set_state), (gst_element_set_state_func):
4028 Pending ABI changes.
4029 GThreadPool in GstBinClass to monitor async state changes.
4030 state_cookie in GstElement to detect concurrent gst/set state.
4031 set_state is now virtual too in case a very complicated element
4032 has to be constructed.
4034 2005-10-18 Wim Taymans <wim@fluendo.com>
4036 * check/gst/gstbin.c: (GST_START_TEST):
4037 * check/gst/gstmessage.c: (GST_START_TEST):
4038 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4039 * gst/gstbin.c: (bin_bus_handler):
4040 * gst/gstelement.c: (gst_element_commit_state),
4041 (gst_element_lost_state):
4042 * gst/gstmessage.c: (gst_message_new_state_changed),
4043 (gst_message_new_segment_start), (gst_message_new_segment_done),
4044 (gst_message_new_duration), (gst_message_parse_state_changed),
4045 (gst_message_parse_segment_start),
4046 (gst_message_parse_segment_done), (gst_message_parse_duration):
4048 * tools/gst-launch.c: (event_loop):
4049 Make messages future proof.
4050 state-change gets a flag if it was a message comming from the
4052 segment-start/stop can also be specified in other formats.
4053 A message to notify an app that a pipeline changed playback
4055 Also fix a GstMessage leak in -launch
4057 2005-10-18 Andy Wingo <wingo@pobox.com>
4059 * gst/gstelement.c (gst_element_dispose): More helpful message.
4061 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
4063 reviewed by: <delete if not using a buddy>
4065 * common/gtk-doc.mak:
4067 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
4069 * gst/gstregistry.c: (gst_registry_scan_path_level):
4070 unref a plug-in we get that was already initialized
4072 2005-10-18 Stefan Kost <ensonic@users.sf.net>
4074 * docs/gst/gstreamer-sections.txt:
4075 * docs/libs/gstreamer-libs-sections.txt:
4080 2005-10-17 Andy Wingo <wingo@pobox.com>
4082 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4085 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4087 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4089 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4090 (gst_element_get_state_func): Better debug message.
4091 (gst_element_commit_state): s/INFO/DEBUG/.
4092 (gst_element_lost_state, gst_element_change_state):
4094 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4095 (gst_message_new_custom): s/INFO/LOG/.
4097 2005-10-17 Michael Smith <msmith@fluendo.com>
4099 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4100 Check if end time is valid using end time, not start time.
4102 2005-10-17 Stefan Kost <ensonic@users.sf.net>
4104 * check/gst-libs/controller.c: (GST_START_TEST),
4105 (gst_controller_suite):
4106 * libs/gst/controller/gstcontroller.c:
4107 (gst_controlled_property_set_interpolation_mode):
4108 * libs/gst/controller/gstcontroller.h:
4109 * libs/gst/controller/gstinterpolation.c:
4110 * testsuite/controller/.cvsignore:
4111 * testsuite/controller/Makefile.am:
4112 * testsuite/controller/interpolator.c:
4113 merge controller testsuites
4115 remove mem-chunk from docs
4117 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
4119 * gst/gstmemchunk.c:
4120 * gst/gstmemchunk.h:
4121 * gst/gsttrashstack.c:
4122 * gst/gsttrashstack.h:
4123 out. get out. you're fired. to the Attic !
4125 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
4127 * gst/gstcaps.c: (gst_caps_intersect):
4128 fix signedness issues in a (hopefully) correct way
4129 * gst/gstelement.c: (gst_element_pads_activate):
4131 * gst/gstobject.c: (gst_object_set_parent):
4134 2005-10-17 Julien MOUTTE <julien@moutte.net>
4136 * gst/gstvalue.h: Fix prototypes.
4138 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4140 * docs/gst/gstreamer-sections.txt:
4141 * gst/gst.c: (gst_version_string):
4143 * gst/gstversion.h.in:
4144 * win32/common/libgstreamer.def:
4145 add gst_version_string ()
4147 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4151 * gst/gst.c: (init_post):
4152 * win32/common/config.h.in:
4154 * gst/gstcaps.c: (gst_caps_intersect):
4155 use gint64, the range could be bigger than a guint
4157 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4160 document potential problem in 2038
4162 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4164 * gst/gstcaps.c: (gst_caps_intersect):
4165 Fix guint j diving under 0
4167 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4170 * win32/common/config.h:
4171 * win32/common/config.h.in:
4172 check for process.h, declares getpid() on Windows
4174 include process.h if we have it
4175 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4176 * gst/gstmemchunk.h:
4177 fix signedness issues
4178 * win32/common/libgstreamer.def:
4181 2005-10-16 Julien MOUTTE <julien@moutte.net>
4183 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4184 fix. Because of unsigned ints, caps intersection was going nuts and
4185 trying to access structures with G_MAXUINT index. That fixes
4186 videotestsrc ! ffmpegcolorspace ! fakesink
4187 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4190 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4193 use the gettext macro
4194 * gst/elements/gstelements.c:
4196 * gst/indexers/gstindexers.c:
4197 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4198 * win32/common/config.h:
4200 * win32/common/config.h.in:
4201 add the template to generate config.h
4202 * win32/common/gstenumtypes.c:
4203 * win32/common/gstversion.h:
4206 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
4208 * gst/gst.c: (gst_version):
4209 * gst/gstversion.h.in:
4212 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
4215 Oops, add missing closing bracket.
4217 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4220 use common m4's for argument checking
4222 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
4224 * docs/gst/gstreamer-sections.txt:
4226 Add GST_EVENT_TYPE_NAME() macro.
4228 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4231 * gst/gstpluginfeature.c:
4233 privatize more symbols
4235 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4238 add srcdir, builddir includes to GST_ALL_CFLAGS, since
4239 everything that uses GStreamer API should have the includes
4241 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4243 * docs/gst/gstreamer-sections.txt:
4244 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4246 give each value a _get_type, removes the DATA exports
4248 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4252 remove _gst_registry_auto_load, not used anymore
4253 * gst/gstbin.c: (gst_bin_get_type):
4255 * gst/gstelement.c: (gst_element_get_type):
4257 * gst/gstobject.c: (gst_object_get_type):
4259 * gst/gstpad.c: (gst_pad_get_type):
4261 make _get_type functions similar, fixes data export from library
4263 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4266 correctly make conditionals
4267 * gst/elements/Makefile.am:
4268 * gst/elements/gstelements.c:
4269 fix typo causing fdsrc not to build
4271 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4273 * testsuite/Makefile.am:
4274 * testsuite/bytestream/.cvsignore:
4275 * testsuite/bytestream/Makefile.am:
4276 * testsuite/bytestream/filepadsink.c:
4277 * testsuite/bytestream/gstbstest.c:
4278 * testsuite/bytestream/test1.c:
4279 * testsuite/bytestream/testfile1:
4280 * testsuite/caps/normalisation.c:
4281 * testsuite/caps/random.c: (main):
4282 * testsuite/cleanup/.cvsignore:
4283 * testsuite/cleanup/Makefile.am:
4284 * testsuite/cleanup/cleanup1.c:
4285 * testsuite/cleanup/cleanup2.c:
4286 * testsuite/cleanup/cleanup3.c:
4287 * testsuite/cleanup/cleanup4.c:
4288 * testsuite/cleanup/cleanup5.c:
4289 * testsuite/controller/interpolator.c:
4290 * testsuite/debug/printf_extension.c: (main):
4291 * testsuite/elements/tee.c:
4292 * testsuite/negotiation/.cvsignore:
4293 * testsuite/negotiation/Makefile.am:
4294 * testsuite/negotiation/pad_link.c:
4295 * testsuite/pad/Makefile.am:
4296 * testsuite/pad/chainnopull.c:
4297 * testsuite/pad/getnopush.c:
4298 * testsuite/pad/link.c:
4299 * testsuite/refcounting/sched.c: (create_pipeline):
4300 * testsuite/registry/Makefile.am:
4301 * testsuite/registry/gst-print-formats.c:
4302 * testsuite/schedulers/.cvsignore:
4303 * testsuite/schedulers/142183-2.c:
4304 * testsuite/schedulers/142183.c:
4305 * testsuite/schedulers/143777-2.c:
4306 * testsuite/schedulers/143777.c:
4307 * testsuite/schedulers/147713.c:
4308 * testsuite/schedulers/147819.c:
4309 * testsuite/schedulers/147894-2.c:
4310 * testsuite/schedulers/147894.c:
4311 * testsuite/schedulers/Makefile.am:
4312 * testsuite/schedulers/group_link.c:
4313 * testsuite/schedulers/queue_link.c:
4314 * testsuite/schedulers/relink.c:
4315 * testsuite/schedulers/unlink.c:
4316 * testsuite/schedulers/unref.c:
4317 * testsuite/schedulers/useless_iteration.c:
4318 * testsuite/states/bin.c:
4319 clean out/remove some stuff from the testsuite directories
4321 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4324 check for some headers
4325 * gst/elements/Makefile.am:
4326 * gst/elements/gstelements.c:
4327 don't compile fdsrc without sys/socket.h
4328 * gst/indexers/Makefile.am:
4329 * gst/indexers/gstindexers.c: (plugin_init):
4330 don't compile fileindex without mmap
4332 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
4339 * check/Makefile.am:
4340 * docs/gst/Makefile.am:
4341 * examples/helloworld/Makefile.am:
4343 * gst/base/Makefile.am:
4344 * gst/check/Makefile.am:
4345 * gst/elements/Makefile.am:
4346 * gst/indexers/Makefile.am:
4347 * gst/parse/Makefile.am:
4348 * libs/gst/controller/Makefile.am:
4349 * libs/gst/dataprotocol/Makefile.am:
4350 * examples/helloworld/helloworld.c: (event_loop):
4351 compile fixes, though it's not being compiled currently
4353 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4355 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4356 Add some simple tests for the new taglist date API.
4358 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4360 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4361 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4362 Beautify 'last-message' output: print 'none' for buffer timestamps
4363 and durations if none is set; improve alignment with next messages.
4365 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
4367 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4368 * gst/gstpluginfeature.h:
4369 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4370 * gst/gstregistry.h:
4371 * docs/gst/gstreamer-sections.txt:
4372 Add new API to check plugin feature version requirements.
4374 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4375 Some basic tests for the above.
4377 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4379 * gst/gststructure.c: (gst_structure_to_string):
4380 guard against NULL printf - happens when for example
4381 a message structure with GstClock gets serialized
4383 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4385 * gst/base/gstcollectpads.c: (gst_collectpads_event):
4386 Fix presumable copy'n'pasto.
4388 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4390 * gst/elements/gstfakesrc.h:
4391 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4392 * gst/elements/gsttypefindelement.c:
4394 * gst/elements/gstfilesink.c: (gst_file_sink_render):
4395 I wonder if this could actually write +2GB files before
4397 2005-10-13 Andy Wingo <wingo@pobox.com>
4399 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4400 Fix Timmeke Waymans bug.
4401 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4402 string of the proper length to gst_caps_from_string. There's a
4403 potential for, before this fix, that this could cause someone
4404 connecting over the network to cause a segfault if the payload is
4407 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4409 * docs/design/draft-push-pull.txt:
4410 * docs/design/part-overview.txt:
4411 * docs/random/TODO-pre-0.9:
4412 * docs/random/old/ChangeLog.gstreamer:
4413 * gst/base/gstpushsrc.c:
4417 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4419 * gst/glib-compat.c: (gst_flags_get_first_value):
4420 * gst/glib-compat.h:
4421 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4422 (gst_value_compare_double), (gst_value_serialize_flags):
4423 GLib 2.6 g_flags_get_first_value has a bug that triggers an
4426 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4428 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4429 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4431 * tools/gst-launch.c: (event_loop):
4432 print out clock nicely
4434 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
4436 * docs/gst/gstreamer-sections.txt:
4438 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4439 (gst_tag_list_get_date_index):
4440 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4441 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4443 2005-10-13 Julien MOUTTE <julien@moutte.net>
4445 * gst/base/gstcollectpads.c: (gst_collectpads_event),
4446 (gst_collectpads_chain):
4447 * gst/base/gstcollectpads.h: Handle newsegment and store informations
4450 2005-10-13 Stefan Kost <ensonic@users.sf.net>
4452 * docs/gst/gstreamer-sections.txt:
4455 * tools/gst-inspect.c: (main):
4456 * tools/gst-launch.c: (main):
4457 * tools/gst-run.c: (main):
4458 * tools/gst-xmlinspect.c: (main):
4459 fix GOption context leaks
4462 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
4466 * win32/common/config.h:
4468 * win32/vs6/grammar.dsp:
4469 * win32/vs6/libgstelements.dsp:
4470 * win32/vs6/libgstreamer.dsp:
4473 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4475 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4476 * gst/base/gstbasesrc.c: (gst_base_src_query):
4477 fix more guint64<->gdouble conversions
4479 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4482 add win32-update target
4483 * win32/common/gstconfig.h:
4484 * win32/common/gstenumtypes.c:
4485 * win32/common/gstenumtypes.h:
4486 * win32/common/gstversion.h:
4487 add files that visual studio can't generate
4489 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
4492 add a win32-update target
4495 2005-10-12 Wim Taymans <wim@fluendo.com>
4497 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4498 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4499 * gst/gstelement.c: (gst_element_commit_state),
4500 (gst_element_set_state):
4501 Protect flags with proper lock.
4502 unref provided cached clock in dispose.
4504 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4507 * gst/gstminiobject.h:
4509 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4510 removed unused flags from miniobject
4513 2005-10-12 Wim Taymans <wim@fluendo.com>
4515 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4516 (gst_file_sink_event), (gst_file_sink_render):
4517 Flush before seeking.
4519 2005-10-12 Andy Wingo <wingo@pobox.com>
4521 * gst/gst.c (gst_init_check): Ignore unknown options, as has
4522 always been the case.
4524 2005-10-12 Stefan Kost <ensonic@users.sf.net>
4526 * check/gst/gstbin.c: (GST_START_TEST):
4527 * docs/gst/gstreamer-sections.txt:
4528 * gst/base/gstbasesink.c: (gst_base_sink_init):
4529 * gst/base/gstbasesrc.c: (gst_base_src_init),
4530 (gst_base_src_get_range), (gst_base_src_check_get_range),
4531 (gst_base_src_start), (gst_base_src_stop):
4532 * gst/base/gstbasesrc.h:
4533 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4534 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4535 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4539 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4541 * gst/gstelement.c: (gst_element_is_locked_state),
4542 (gst_element_set_locked_state), (gst_element_commit_state),
4543 (gst_element_set_state):
4545 * gst/gstindex.c: (gst_index_init):
4547 * gst/gstminiobject.h:
4548 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4549 (gst_object_set_parent):
4551 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4552 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4554 * gst/gstpadtemplate.h:
4555 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4556 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4557 * gst/gstpipeline.h:
4558 * gst/indexers/gstfileindex.c: (gst_file_index_load),
4559 (gst_file_index_commit):
4560 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4561 * testsuite/pad/link.c: (gst_test_src_init),
4562 (gst_test_filter_init), (gst_test_sink_init):
4563 * testsuite/states/locked.c: (main):
4564 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4565 moved bitshift from macro to enum definition
4567 2005-10-12 Wim Taymans <wim@fluendo.com>
4569 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4570 * gst/elements/gstfilesink.c: (gst_file_sink_event),
4571 (gst_file_sink_render):
4572 Some more debugging info.
4574 2005-10-12 Wim Taymans <wim@fluendo.com>
4576 * docs/design/part-states.txt:
4577 * tools/gst-launch.c: (main):
4579 Revert non-intentional change.
4581 2005-10-12 Wim Taymans <wim@fluendo.com>
4583 * check/gst/gstbin.c: (GST_START_TEST):
4584 * check/gst/gstelement.c: (GST_START_TEST):
4585 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4586 * check/gst/gstghostpad.c: (GST_START_TEST):
4587 * check/gst/gstpipeline.c: (GST_START_TEST):
4588 * check/pipelines/simple_launch_lines.c: (run_pipeline):
4589 * check/states/sinks.c: (GST_START_TEST):
4590 * gst/elements/gsttypefindelement.c: (stop_typefinding):
4591 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4592 (gst_bin_remove_func), (gst_bin_get_state_func),
4593 (gst_bin_recalc_state), (gst_bin_change_state_func),
4595 * gst/gstelement.c: (gst_element_get_state_func),
4596 (gst_element_get_state), (gst_element_abort_state),
4597 (gst_element_commit_state), (gst_element_set_state),
4598 (gst_element_change_state), (gst_element_change_state_func):
4600 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4601 (gst_pipeline_provide_clock_func):
4602 * gst/gstutils.c: (gst_element_link_pads_filtered):
4603 * tools/gst-launch.c: (main):
4604 * tools/gst-typefind.c: (main):
4605 Use GstClockTime in _get_state() instead of GTimeVal.
4606 Remove old code in gstutils.c
4608 2005-10-12 Andy Wingo <wingo@pobox.com>
4610 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4613 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4614 there is no task. Shouldn't affect any code, as nothing in our
4615 plugins checks this return value.
4616 (gst_pad_stop_task): Also take the stream lock if the pad has no
4619 2005-10-12 Wim Taymans <wim@fluendo.com>
4621 * gst/gstpad.c: (pre_activate), (post_activate),
4622 (gst_pad_activate_pull), (gst_pad_activate_push):
4623 Cleanup activation code. Reset old state if
4626 2005-10-12 Wim Taymans <wim@fluendo.com>
4628 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4629 (gst_base_sink_change_state):
4630 No need to prerol after receiving EOS.
4632 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4633 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4634 * gst/elements/gstidentity.c: (gst_identity_event):
4635 Print events more verbosely.
4637 2005-10-12 Wim Taymans <wim@fluendo.com>
4639 * check/Makefile.am:
4640 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4641 * check/states/sinks2.c:
4642 Moved sinks2 testcode in sinks check.
4644 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4645 (gst_bin_remove_func), (gst_bin_recalc_state),
4646 (gst_bin_change_state_func), (bin_bus_handler):
4647 Fix potential race condition when _get_state() iterated over an
4648 ASYNC element right before it posted a state completion.
4651 Do proper cast here.
4653 * gst/gstevent.c: (gst_event_new_newsegment),
4654 (gst_event_parse_newsegment):
4655 A playback rate of 0.0 is not allowed.
4657 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4659 * win32/common/config.h:
4660 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4661 (_trewinddir), (_ttelldir), (_tseekdir):
4662 * win32/common/dirent.h:
4663 * win32/common/gtchar.h:
4664 * win32/common/libgstbase.def:
4665 * win32/common/libgstreamer.def:
4666 * win32/vs6/grammar.dsp:
4667 * win32/vs6/gst_inspect.dsp:
4668 * win32/vs6/gst_launch.dsp:
4669 * win32/vs6/gstreamer.dsw:
4670 * win32/vs6/libgstbase.dsp:
4671 * win32/vs6/libgstelements.dsp:
4672 * win32/vs6/libgstreamer.dsp:
4673 Visual Studio 6 project files, and a new common directory.
4676 2005-10-11 Wim Taymans <wim@fluendo.com>
4678 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4679 (gst_base_sink_do_sync), (gst_base_sink_query),
4680 (gst_base_sink_change_state):
4681 * gst/base/gstbasesink.h:
4682 Correctly parse newsegment info.
4684 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4686 * gst/gst.c: (init_post):
4687 split plugin paths correctly
4689 2005-10-11 Wim Taymans <wim@fluendo.com>
4691 * check/gst/gstevent.c: (GST_START_TEST):
4692 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4693 (gst_base_sink_change_state):
4694 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4695 * gst/base/gstbasetransform.c: (gst_base_transform_event):
4696 * gst/elements/gstfilesink.c: (gst_file_sink_event):
4697 * gst/gstevent.c: (gst_event_new_newsegment),
4698 (gst_event_parse_newsegment):
4700 Added extra flag to newsegment for future API freeze.
4701 Updated check and base elements.
4703 2005-10-11 Julien MOUTTE <julien@moutte.net>
4705 * gst/base/gstcollectpads.c: (gst_collectpads_init),
4706 (gst_collectpads_add_pad), (gst_collectpads_pop),
4707 (gst_collectpads_event), (gst_collectpads_chain):
4708 * gst/base/gstcollectpads.h: Handle EOS correctly.
4710 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4712 * tools/gst-launch.c: (main):
4713 more null protecting
4715 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4717 * gst/gst-i18n-lib.h:
4718 check for ENABLE_NLS, not GETTEXT_PACKAGE
4719 * gst/gstregistry.c: (gst_registry_add_plugin),
4720 (gst_registry_scan_path_level),
4721 (_gst_registry_remove_cache_plugins):
4722 protect possibly NULL strings
4723 * gst/parse/types.h:
4724 config.h already included before
4725 * tools/gst-inspect.c: (main):
4726 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4727 check for ENABLE_NLS, not GETTEXT_PACKAGE
4728 * tools/gst-launch.c: (main):
4729 check for ENABLE_NLS, not GETTEXT_PACKAGE
4731 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4734 if we don't have glib, fail before testing 2.8
4735 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4736 fix a leak, should fix plugins-base testsuite
4738 2005-10-11 Andy Wingo <wingo@pobox.com>
4740 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4741 take the mode we're going to as an arg. Go head and set the mode
4742 and flushing flags now, so that if the activate function starts a
4743 thread all the flags will be in the right state.
4744 (post_activate): Renamed also. Just handle making sure streaming
4745 finishes for the deactivation case, and setting the deactivated
4747 (gst_pad_set_active): Complain loudly if deactivation fails.
4748 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4749 (gst_pad_activate_push): Adapt to pre/post_activate changes,
4750 remove the terrible hack.
4752 2005-10-11 Wim Taymans <wim@fluendo.com>
4754 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4755 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4756 (gst_bin_recalc_state), (gst_bin_change_state_func),
4757 (gst_bin_dispose), (bin_bus_handler):
4759 Prepare to make current EOS message queue more generic.
4762 * gst/gstevent.c: (gst_event_new_newsegment),
4763 (gst_event_parse_newsegment):
4765 Rename base to stream_time.
4770 2005-10-11 Wim Taymans <wim@fluendo.com>
4772 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4773 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4774 (gst_bin_change_state_func), (bin_bus_handler):
4776 Work on proper clock selection.
4778 2005-10-11 Edward Hervey <edward@fluendo.com>
4780 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
4781 * libs/gst/controller/gstcontroller.h:
4782 Added GList* version of _remove_properties() in order to be able to wrap
4785 2005-10-11 Wim Taymans <wim@fluendo.com>
4787 * docs/design/part-states.txt:
4790 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4791 (gst_bin_change_state_func), (bin_bus_handler):
4792 Doc updates. Don't distribute the same clock over and over again.
4798 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4799 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4800 (gst_pad_send_event):
4802 Make probe emission threadsafe again.
4803 Register quarks and move _get_name() from utils.
4806 * gst/gstpipeline.c: (gst_pipeline_class_init),
4807 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4808 Only redistribute the clock of it changed.
4810 * gst/gstsystemclock.h:
4815 Moved the _flow_get_name() to GstPad.
4817 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4819 * check/gst-libs/gdp.c: (GST_START_TEST):
4820 * check/gst/gstcaps.c: (GST_START_TEST):
4821 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4822 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4823 (gst_dp_packet_from_caps):
4824 fix more valgrind warnings before turning up the heat
4826 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4828 * gst/parse/grammar.y:
4829 some cleanup before the hacking
4831 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4833 * gst/base/gstbasesrc.c: (gst_base_src_query):
4835 * gst/gstutils.c: (gst_guint64_to_gdouble),
4836 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4838 externalize, basesrc uses it
4839 obviously the implementation needs testing
4841 2005-10-10 Wim Taymans <wim@fluendo.com>
4843 * tests/sched/Makefile.am:
4844 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4845 (make_pipeline3), (make_pipeline4), (print_elem), (main):
4847 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4849 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4850 apparently converting from guint64 to double is not implemented
4853 2005-10-10 Wim Taymans <wim@fluendo.com>
4855 * check/Makefile.am:
4856 * check/generic/states.c: (GST_START_TEST):
4857 * check/gst/gstbin.c: (GST_START_TEST):
4858 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4859 * check/states/sinks.c: (GST_START_TEST):
4860 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4862 Check fixes, use API as stated in design docs, remove hacks.
4864 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4865 (gst_base_sink_change_state):
4866 Catch stopping our task while we're shutting down.
4868 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4869 (gst_bin_remove_func), (gst_bin_get_state_func),
4870 (gst_bin_recalc_state), (gst_bin_change_state_func),
4873 * gst/gstelement.c: (gst_element_init),
4874 (gst_element_get_state_func), (gst_element_abort_state),
4875 (gst_element_commit_state), (gst_element_lost_state),
4876 (gst_element_set_state), (gst_element_change_state),
4877 (gst_element_change_state_func):
4879 New state change algorithm (see #318116)
4881 * gst/gstpipeline.c: (gst_pipeline_class_init),
4882 (gst_pipeline_init), (gst_pipeline_set_property),
4883 (gst_pipeline_get_property), (do_pipeline_seek),
4884 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4885 * gst/gstpipeline.h:
4886 Remove crude state change hacks.
4891 * tools/gst-launch.c: (main):
4892 Fixes for state change. Needs some more work to fully use the
4895 2005-10-10 Andy Wingo <wingo@pobox.com>
4897 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4899 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4900 this flag, but it's not even in GLib 2.6. Odd. Hack around the
4903 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4905 * gst/gstiterator.c: (gst_iterator_new):
4906 Fix my previous commit: GTypes passed to gst_iterator_new()
4907 can be fundamental types.
4909 2005-10-10 Wim Taymans <wim@fluendo.com>
4911 * gst/gstelement.c: (gst_element_iterate_pad_list),
4912 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4913 (gst_element_iterate_sink_pads):
4914 Use src/sink pads lists for the respective iterators instead
4917 2005-10-10 Andy Wingo <wingo@pobox.com>
4919 Merged in popt removal + GOption addition patch from Ronald, bug
4922 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4923 GstElement macros around, remove popt-related symbols, add goption
4926 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4928 * docs/gst/Makefile.am:
4929 * docs/libs/Makefile.am: No POPT_CFLAGS.
4931 * examples/manual/Makefile.am:
4932 * docs/manual/basics-init.xml: Doc updates with an example.
4934 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4935 (gst_init), (parse_one_option), (parse_goption_arg):
4936 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4937 bit of hand merging and debugging to get the GOption stuff working
4940 * tests/Makefile.am:
4941 * tools/Makefile.am:
4942 * tools/gst-inspect.c: (main):
4943 * tools/gst-launch.c: (main):
4944 * tools/gst-run.c: (main):
4945 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4947 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4949 * gst/gstiterator.c: (gst_iterator_new):
4950 Add assertions to make sure passed GType is likely to really
4951 be a GType (as the compiler won't catch it if the size and
4952 GType arguments get mixed up, see #318447).
4954 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
4956 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4958 * gst/gstbin.c: (gst_bin_iterate_sorted):
4959 Pass GType and size arguments to gst_iterator_new() in the right
4960 order (maybe we should make _new() take the GType as first argument
4961 just like _new_list()?) (#318447).
4964 2005-10-10 Wim Taymans <wim@fluendo.com>
4966 * gst/gstelement.c: (gst_element_finalize):
4967 And free the GStaticRecMutex too
4969 2005-10-10 Andy Wingo <wingo@pobox.com>
4971 * gst/gstelement.c (gst_element_init, gst_element_finalize):
4972 Allocate and free the mutex properly.
4974 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4976 (GstElement): The state_lock is now recursive. Rebuild your
4977 plugins, suckers. Old macros adapted.
4979 * docs/gst/gstreamer-sections.txt: Doc updates.
4982 * gst/gstutils.c (g_static_rec_cond_timed_wait)
4983 (g_static_rec_cond_wait): Ported from state changes patch, while
4984 we wait on bug #317802 to be solved in a well-distributed GLib.
4986 * gst/gstelement.c (gst_element_change_state_func): Renamed from
4987 gst_element_change_state, variable name changes.
4988 (gst_element_change_state): Split out of gst_element_set_state in
4989 preparation for the state change merge. Doesn't pay attention to
4990 the 'transition' argument.
4991 (gst_element_set_state): Updates, hopefully purely cosmetic.
4992 (gst_element_sync_state_with_parent): MT-safety. Ported from the
4994 (gst_element_get_state_func): Renamed from get_state, cosmetic
4997 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4999 * gst/elements/gstelements.c:
5000 * win32/GStreamer.vcproj:
5002 * win32/dirent.c: (_tseekdir):
5003 * win32/gst-inspect.vcproj:
5004 * win32/gst-launch.vcproj:
5005 * win32/gstconfig.h:
5006 * win32/gstelements.vcproj:
5007 * win32/gstenumtypes.c: (gst_object_flags_get_type):
5008 * win32/gstreamer.def:
5010 updates for the win32 build (patch from Sebastien Moutte)
5012 2005-10-10 Andy Wingo <wingo@pobox.com>
5014 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5015 gst_bin_get_state, cleaned up (but no logic changes).
5016 (bin_element_is_sink): Comment updates.
5017 (sink_iterator_filter): Remove needless cast.
5018 (gst_bin_iterate_sinks): Doc update.
5019 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5020 cleaned up (but no logic changes).
5022 * check/states/sinks.c (test_src_sink): Cleanups from the state
5024 (test_livesrc_sink): Sync on the state.
5026 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5027 the state change patch.
5029 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5032 * check/gst/gstbin.c: Merge in some style fixes and additional
5033 checks from Wim's state change patch.
5035 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
5037 * gst/base/gsttypefindhelper.c: (helper_find_peek),
5038 (gst_type_find_helper):
5039 Check whether we have the requested data already in our list of
5040 cached buffers before pulling a new buffer; also make the buffer
5041 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5043 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
5048 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5049 don't use long long, it's not portable. Replacing with
5050 gint64 seems to work; let's hope no skeletons fall out of the closet.
5052 2005-10-10 Andy Wingo <wingo@pobox.com>
5054 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5056 2005-10-09 Stefan Kost <ensonic@users.sf.net>
5058 * docs/gst/gstreamer-sections.txt:
5063 * gst/gstmessage.c: (gst_message_parse_state_changed):
5066 more docs, fix compilation
5068 2005-10-09 Philippe Khalaf <burger@speedy.org>
5070 Fixed a few forgotten variables on previous commit
5072 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
5074 * gst/base/gsttypefindhelper.c: (helper_find_peek):
5075 Fix evil typefind crasher: getrange() might return a short
5076 buffer at the end of a file, but gst_type_find_peek() must
5077 either return the full data as requested or NULL, but
5078 never a short buffer.
5080 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
5082 * gst/gstmessage.c: (gst_message_new_state_changed),
5083 (gst_message_parse_state_changed):
5085 don't use "new", it's a C++ keyword
5087 2005-10-08 Wim Taymans <wim@fluendo.com>
5089 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5090 * gst/gstelement.c: (gst_element_post_message):
5091 * gst/gstpipeline.c: (gst_pipeline_change_state):
5092 Small docs and debug updates.
5094 2005-10-08 Stefan Kost <ensonic@users.sf.net>
5096 * docs/gst/gstreamer-sections.txt:
5097 * gst/gstelementfactory.c:
5102 2005-10-08 Wim Taymans <wim@fluendo.com>
5104 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5105 (gst_bin_dispose), (bin_bus_handler):
5106 Fix typos, add comments.
5107 Clear EOS list when going to PAUSED from any direction and do it
5108 in a threadsafe way.
5109 Get base time in a threadsafe way too.
5110 Fix confusing debug in the change_state function.
5111 Various other small cleanups.
5113 * gst/gstelement.c: (gst_element_post_message):
5114 Fix very verbose bus posting code.
5116 * gst/gstpipeline.c: (gst_pipeline_class_init),
5117 (gst_pipeline_set_property), (gst_pipeline_get_property),
5118 (gst_pipeline_change_state):
5119 Small ARG_ -> PROP_ cleanup
5121 2005-10-08 Wim Taymans <wim@fluendo.com>
5123 * gst/gstbin.c: (is_eos), (bin_bus_handler):
5124 Do a less CPU demanding EOS check because we can.
5126 2005-10-08 Wim Taymans <wim@fluendo.com>
5128 * libs/gst/dataprotocol/dataprotocol.c:
5129 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5130 (gst_dp_packet_from_event):
5131 * libs/gst/dataprotocol/dataprotocol.h:
5132 * libs/gst/dataprotocol/dp-private.h:
5133 It's about time we bump the version number.
5134 Since event types don't fit in the guint8 anymore describing
5135 the payload type, make payload type 16 bits wide.
5137 2005-10-08 Wim Taymans <wim@fluendo.com>
5139 * docs/design/part-TODO.txt:
5140 * docs/design/part-clocks.txt:
5141 * docs/design/part-events.txt:
5142 * docs/design/part-gstbin.txt:
5143 * docs/design/part-gstelement.txt:
5144 * docs/design/part-gstpipeline.txt:
5145 * docs/design/part-live-source.txt:
5146 * docs/design/part-messages.txt:
5147 * docs/design/part-overview.txt:
5148 * docs/design/part-states.txt:
5151 2005-10-08 Wim Taymans <wim@fluendo.com>
5155 Fix event quark registration.
5156 Add some space between events so we can insert them in the
5159 2005-10-08 Wim Taymans <wim@fluendo.com>
5161 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5162 (gst_base_sink_handle_buffer):
5169 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5170 (gst_queue_set_property), (gst_queue_get_property):
5172 Remove old unused properties.
5174 2005-10-08 Stefan Kost <ensonic@users.sf.net>
5175 * docs/gst/gstreamer-sections.txt:
5178 * gst/gstminiobject.c:
5179 * gst/gstminiobject.h:
5183 lots of new docs and doc fixes
5185 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5187 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5189 * gst/gstregistry.c: (gst_registry_lookup_locked),
5190 (gst_registry_scan_path_level):
5191 * gst/gstregistryxml.c: (load_plugin):
5192 Only ever load one plugin for a given plugin basename.
5193 This ensures correct overriding of GST_PLUGIN_PATH over
5194 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5195 system installed plugins.
5197 2005-10-08 Wim Taymans <wim@fluendo.com>
5199 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5200 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5201 Prepare for doing QOS.
5203 2005-10-08 Wim Taymans <wim@fluendo.com>
5205 * check/gst/gstbin.c: (GST_START_TEST):
5206 * check/pipelines/cleanup.c: (GST_START_TEST):
5207 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5208 Allow new clock message too.
5210 2005-10-08 Wim Taymans <wim@fluendo.com>
5212 * gst/gstmessage.c: (gst_message_new_error),
5213 (gst_message_new_warning), (gst_message_new_tag),
5214 (gst_message_new_state_changed), (gst_message_new_clock_provide),
5215 (gst_message_new_clock_lost), (gst_message_new_new_clock),
5216 (gst_message_new_segment_start), (gst_message_new_segment_done),
5217 (gst_message_parse_state_changed),
5218 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5219 (gst_message_parse_new_clock):
5221 Also carry the clock in question.
5223 2005-10-08 Wim Taymans <wim@fluendo.com>
5225 * gst/gstmessage.c: (gst_message_new_custom),
5226 (gst_message_new_eos), (gst_message_new_error),
5227 (gst_message_new_warning), (gst_message_new_tag),
5228 (gst_message_new_state_changed), (gst_message_new_clock_provide),
5229 (gst_message_new_new_clock), (gst_message_new_segment_start),
5230 (gst_message_new_segment_done), (gst_message_parse_state_changed),
5231 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5234 Added clock related messages.
5236 * gst/gstpipeline.c: (gst_pipeline_change_state):
5237 Post message when the clock changed.
5239 * tools/gst-launch.c: (event_loop):
5242 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
5244 * tools/gst-inspect.c: (print_element_properties_info):
5245 Can't pass NULL strings to g_print() on windows.
5247 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5250 * docs/gst/Makefile.am:
5251 * docs/gst/gstreamer-docs.sgml:
5252 * docs/gst/running.xml:
5253 * docs/version.entities.in:
5254 add a chapter on running GStreamer.
5255 document GST_DEBUG and GST_PLUGIN* env vars
5257 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5262 remove PLUGINS_BUILDDIR stuff
5263 * gst/gst.c: (init_post):
5264 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5266 remove, it was condescending and not needed
5268 2005-10-08 Wim Taymans <wim@fluendo.com>
5270 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5271 (gst_base_sink_handle_object), (gst_base_sink_event),
5272 (gst_base_sink_wait), (gst_base_sink_handle_event),
5273 (gst_base_sink_change_state):
5274 * gst/base/gstbasesink.h:
5275 Repost EOS message while going to PLAYING if still EOS.
5276 Make sure that when receiving a FLUSH_START we don't attempt
5277 to sync on the clock anymore.
5279 2005-10-08 Wim Taymans <wim@fluendo.com>
5281 * tools/gst-launch.c: (event_loop):
5282 Better message printout.
5284 2005-10-08 Wim Taymans <wim@fluendo.com>
5286 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5287 (gst_bin_child_proxy_get_children_count):
5288 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5289 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5290 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5291 (gst_child_proxy_set_valist):
5292 * gst/parse/grammar.y:
5293 Make ChildProxy threadsafe and fix mem leaks.
5295 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5297 * gst/gst.c: (init_post):
5298 debug the GST_PLUGIN_ env vars
5300 2005-10-08 Wim Taymans <wim@fluendo.com>
5302 * check/gst/gstbin.c: (GST_START_TEST):
5303 * check/gst/gstmessage.c: (GST_START_TEST):
5304 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5305 * gst/gstelement.c: (gst_element_commit_state),
5306 (gst_element_lost_state):
5307 * gst/gstmessage.c: (gst_message_new_state_changed),
5308 (gst_message_parse_state_changed):
5310 * tools/gst-launch.c: (event_loop):
5311 Added extra field to STATE_CHANGE message with the pending
5312 state, which will be different from the new state soon.
5314 2005-10-08 Wim Taymans <wim@fluendo.com>
5316 * gst/gstbus.c: (gst_bus_pop):
5318 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5319 Small cleanups and doc updates.
5321 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
5323 * gst/gst.c: (init_pre):
5324 * gst/gstbin.c: (gst_bin_add_func):
5325 log distributing clocks and base time
5326 * gst/gstregistry.c: (gst_registry_add_plugin),
5327 (gst_registry_scan_path_level), (gst_registry_scan_path):
5328 clean up the debugging output a little
5329 * gst/gstutils.c: (gst_element_state_get_name):
5330 warn about a memleak (I've actually seen this be used, though
5331 it was probably a bug)
5333 2005-10-07 Wim Taymans <wim@fluendo.com>
5335 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5336 (gst_base_src_init), (gst_base_src_default_newsegment),
5337 (gst_base_src_newsegment), (gst_base_src_do_seek),
5338 (gst_base_src_loop), (gst_base_src_start):
5339 * gst/base/gstbasesrc.h:
5340 Make the newsegment event customizable by subclasses.
5342 2005-10-07 Wim Taymans <wim@fluendo.com>
5344 * gst/gstevent.c: (gst_event_new_buffersize),
5345 (gst_event_parse_buffersize):
5347 New event for future idea.
5349 2005-10-07 Andy Wingo <wingo@pobox.com>
5351 * gst/gstelement.c (gst_element_post_message): Doc update.
5353 * docs/gst/gstreamer-sections.txt: Update.
5355 * gst/gstmessage.c (gst_message_new_application): Made into a
5356 function like honest API calls.
5357 (gst_message_new_element): New message type.
5359 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5361 * check/elements/fakesrc.c (test_no_preroll): New check, checks
5362 that setting a live fakesrc to PAUSED returns NO_PREROLL both
5365 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5366 NO_PREROLL from gst_element_change_state to fall through.
5368 2005-10-07 Wim Taymans <wim@fluendo.com>
5370 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5371 (gst_ghost_pad_do_activate_push):
5372 Activating a ghostpad with no internal pad in push mode
5375 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
5378 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5379 Fixes compilation on Windows.
5381 2005-10-07 Michael Smith <msmith@fluendo.com>
5383 * tools/gst-inspect.c:
5384 Print out feature and plugin count at the end when printing out
5387 2005-10-04 Michael Smith <msmith@fluendo.com>
5389 * gst/gsterror.c: (_gst_stream_errors_init):
5390 Add another error string used in a few existing plugins.
5393 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5394 * tools/gst-inspect.c: (print_element_info):
5395 When a feature disappears from a plugin (and the feature exists in
5396 the cached registry file), things went horribly wrong. This isn't a
5397 complete fix, we should actually be removing the 'missing' features
5398 from the features list when we load the actual plugin. That's not
5401 2005-10-04 Johan Dahlin <johan@gnome.org>
5403 * check/gst/gstiterator.c: (GST_START_TEST):
5404 * gst/gstbin.c: (gst_bin_iterate_elements),
5405 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5406 * gst/gstelement.c: (gst_element_iterate_pads):
5407 * gst/gstformat.c: (gst_format_iterate_definitions):
5408 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5409 (gst_iterator_new_list), (gst_iterator_filter):
5410 * gst/gstiterator.h:
5411 * gst/gstquery.c: (gst_query_type_iterate_definitions):
5412 Add a GType to GstIterator, update callsites and tests.
5414 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5416 * gst/gstpad.c: (gst_pad_event_default_dispatch):
5417 give events a chance to be handled by event probes when the pad
5420 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5422 * gst/gstevent.c: (gst_event_type_get_name),
5423 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5425 add string representations for event types
5427 2005-10-06 Wim Taymans <wim@fluendo.com>
5429 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5430 Don't use NULL pointers.
5432 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5434 * gst/gst_private.h:
5438 * gst/gstpluginfeature.c:
5439 widen the debug category in output to fit the biggest one we have
5440 add a bus category and use it
5441 play with the colors
5442 fix up some categories
5444 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
5446 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5447 add push activation of sink ghost pads.
5448 Andye, please verify
5450 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5452 * gst/gstutils.c: (gst_element_link_pads):
5453 fix a bug in the case where neither element has a pad
5454 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5455 add a test for that case
5457 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
5459 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5460 emit have-data before checking for peers. This allows
5461 for probe handlers to connect elements. This helps autopluggers.
5462 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5464 add six checks, linked/unlinked with no/true/false probe
5466 2005-10-04 Wim Taymans <wim@fluendo.com>
5468 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5469 (gst_fake_sink_event), (gst_fake_sink_preroll),
5470 (gst_fake_sink_render), (gst_fake_sink_change_state):
5471 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5472 (gst_fake_src_get_property), (gst_fake_src_create),
5473 (gst_fake_src_stop):
5474 * gst/elements/gstidentity.c: (gst_identity_stop):
5475 Protect last_message with lock.
5477 2005-10-04 Edward Hervey <edward@fluendo.com>
5480 Added precision in the comments for GST_FORMAT_DEFAULT
5482 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
5484 * tools/gst-launch.c: (main):
5485 Don't try to run erroneous pipelines.
5487 2005-10-04 Julien MOUTTE <julien@moutte.net>
5489 * gst/gstbus.c: We don't need this header.
5491 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5496 === release 0.9.3 ===
5498 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
5502 Releasing 0.9.3, "Unregistered"
5504 2005-10-03 Andy Wingo <wingo@pobox.com>
5506 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5507 whereby calling a pad's activatepush() function can start a thread
5508 that starts to push or pull before the pad gets the FLUSHING flag
5509 unset. Hack around it by holding the stream lock until the flag is
5510 set. Need to replace this with a proper solution. Together with
5511 the ghost pad fixes, this fixes mp3 playing/tagreading.
5513 * docs/design/part-gstghostpad.txt: Add a note about activation of
5514 proxy pads outside of ghost pads.
5516 * gst/gstghostpad.c: Implement the ghost pad activation design.
5518 2005-10-02 Andy Wingo <wingo@pobox.com>
5520 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5521 It is volatile, after all.
5523 * docs/design/part-gstghostpad.txt: Flesh out activation with
5526 * gst/base/gstbasesrc.c (gst_base_src_init): Use
5529 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
5532 Fix (unused) AM_CONDITIONAL tests.
5534 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
5536 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5538 * gst/gstutils.c: (gst_pad_query_convert):
5539 Add assertion that makes sure src_val is >=0, just like
5540 gst_query_new_convert() has. (#315895)
5542 2005-09-30 Edward Hervey <edward@fluendo.com>
5544 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5545 Let's not iterate pads we're not interested in, it avoids getting
5546 sky-high refcounts on sinkpad.
5548 2005-09-30 Wim Taymans <wim@fluendo.com>
5550 * gst/gstelement.c: (gst_element_set_state),
5551 (gst_element_change_state):
5552 Small tweak, element in ASYNC remains ASYNC.
5554 2005-09-30 Wim Taymans <wim@fluendo.com>
5556 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5557 Only error is an error.
5559 * gst/gstbin.c: (gst_bin_change_state):
5562 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5563 Also call pad_block in pad alloc.
5565 * gst/gstutils.c: (gst_flow_get_name):
5568 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5570 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5571 (gst_base_src_get_range):
5572 Fix documentation typos. Add some more debug info.
5574 2005-09-29 David Schleef <ds@schleef.org>
5576 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5577 more end-user friendly.
5578 * tools/gst-inspect.c: (main): Check if command-line argument is
5579 a file and attempt to load that file as a plugin.
5581 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5583 * check/gst/gstbin.c:
5584 * check/states/sinks.c:
5585 fix tests for the new warning
5586 * check/gst/gstpipeline.c:
5587 add a test for pipeline and bus interaction
5589 elements should be NULL if they get disposed; add a warning if not
5591 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5594 for 2.6 refcounting, make debug log more correct by printing
5595 the actual refcounts at the time of swap (Wim)
5597 2005-09-29 Andy Wingo <wingo@pobox.com>
5599 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5600 removes signal watches previously added via
5601 gst_bus_add_signal_watch.
5602 (gst_bus_add_signal_watch): Don't return the source id, just store
5603 it on the bus if there wasn't an id already.
5605 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5606 add_signal_watch and remove_signal_watch.
5608 2005-09-29 Edward Hervey <edward@fluendo.com>
5610 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
5611 Better if we actually iterate the list :)
5613 2005-09-29 Wim Taymans <wim@fluendo.com>
5615 * check/gst/gstbin.c: (GST_START_TEST):
5616 Change for new bus API.
5618 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5619 (send_messages), (GST_START_TEST), (gstbus_suite):
5620 Change for new bus signal API.
5622 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5623 (gst_bus_source_prepare), (gst_bus_source_check),
5624 (gst_bus_create_watch), (gst_bus_add_watch_full),
5625 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5626 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5628 Remove support for multiple GSources operating on different
5629 message types as it is too complex and unneeded when using
5631 Added support for receiving signals from the bus.
5633 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
5635 * docs/libs/tmpl/gstdataprotocol.sgml:
5636 * docs/manual/advanced-dataaccess.xml:
5637 * gst/elements/gstcapsfilter.c:
5639 rename filter-caps to caps property
5641 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5643 * gst/gstvalue.c: (gst_value_deserialize_fraction):
5644 More robust fraction string parsing.
5646 * docs/pwg/appendix-porting.xml:
5647 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5649 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
5651 * gst/gstcaps.c: (gst_caps_do_simplify):
5652 Thou shalt not free a structure and then continue using it
5653 in the next loop iteration.
5655 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5657 Add test case for caps simplification.
5659 2005-09-29 Wim Taymans <wim@fluendo.com>
5661 * check/gst/gstbin.c: (GST_START_TEST):
5664 2005-09-29 Wim Taymans <wim@fluendo.com>
5666 * check/gst/gstbin.c: (GST_START_TEST):
5669 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5670 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5671 (find_element), (gst_bin_sort_iterator_next),
5672 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5673 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5674 (gst_bin_change_state), (gst_bin_dispose):
5675 A bin does not have a bus, it gets the bus from the parent.
5677 * gst/gstelement.c: (gst_element_requires_clock),
5678 (gst_element_provides_clock), (gst_element_is_indexable),
5679 (gst_element_is_locked_state), (gst_element_change_state),
5680 (gst_element_set_bus_func):
5683 * gst/gstpipeline.c: (gst_pipeline_class_init),
5684 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5685 The pipeline provides a bus.
5687 2005-09-28 Johan Dahlin <johan@gnome.org>
5689 * gst/gstmessage.c (gst_message_parse_state_changed): Use
5690 gst_structure_get_enum instead of gst_structure_get_int
5692 * gst/gststructure.c (gst_structure_get_enum): Impl.
5694 * gst/gststructure.h (gst_structure_get_enum): Add
5696 * docs/gst/gstreamer-sections.txt: Ditto
5698 * gst/gstmessage.c (gst_message_new_state_changed): Use
5699 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5700 which does introspection.
5701 Reviewed by Christian Schaller
5703 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5705 * gst/gstinfo.c: (gst_debug_log_default):
5706 don't do dummy g_strdup()s
5707 * libs/gst/controller/gstcontroller.c:
5708 (on_object_controlled_property_changed),
5709 (gst_controlled_property_new), (gst_controller_new_valist),
5710 (gst_controller_new_list),
5711 (gst_controller_remove_properties_valist), (gst_controller_set),
5712 (gst_controller_get), (gst_controller_sync_values),
5713 (gst_controller_get_value_array), (_gst_controller_class_init),
5714 (gst_controller_get_type):
5715 * libs/gst/controller/gstcontroller.h:
5716 * libs/gst/controller/gstinterpolation.c:
5717 (gst_controlled_property_find_timed_value_node):
5718 convert // to /**/ comments
5720 2005-09-28 Wim Taymans <wim@fluendo.com>
5722 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5723 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5724 (gst_bus_sync_signal_handler):
5726 Added async-message and sync-message signals to the bus.
5727 Added helper BusFunc to emit signals for all posted messages.
5729 * gst/gstmessage.c: (gst_message_type_get_name),
5730 (gst_message_type_to_quark), (gst_message_get_type):
5732 Register quarks for message names.
5734 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5736 * docs/libs/gstreamer-libs-sections.txt:
5737 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5738 (gst_controller_new_list):
5739 * libs/gst/controller/gstcontroller.h:
5740 added another constructor for language bindings
5742 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
5744 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5748 * gst/gstinfo.c: (_gst_debug_init):
5749 slightly more readable color for refcount debugging
5751 2005-09-28 Wim Taymans <wim@fluendo.com>
5753 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5754 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5755 (find_element), (gst_bin_sort_iterator_next),
5756 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5757 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5758 (gst_bin_change_state), (gst_bin_dispose):
5759 Small doc fixes. get_clock -> provide_clock.
5761 * gst/gstelement.c: (gst_element_class_init),
5762 (gst_element_provides_clock), (gst_element_provide_clock),
5763 (gst_element_get_clock), (gst_element_commit_state),
5764 (gst_element_lost_state):
5766 Make get/set_clock() symetric. Add provide_clock vmethod since
5767 that is actually what this function does.
5769 * gst/gstpipeline.c: (gst_pipeline_class_init),
5770 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5771 (gst_pipeline_get_clock):
5772 get_clock -> provide_clock.
5774 2005-09-28 Andy Wingo <wingo@pobox.com>
5776 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5777 lieu of real docs...
5779 * gst/elements/gstfdsrc.c: Cleaned up a bit.
5781 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
5783 * gst/elements/gstcapsfilter.c:
5784 * gst/elements/gstfakesink.c:
5785 * gst/elements/gstfakesrc.c:
5786 * gst/elements/gstfdsink.c:
5787 * gst/elements/gstfdsrc.c:
5788 * gst/elements/gstfilesink.c:
5789 * gst/elements/gstfilesrc.c:
5790 * gst/elements/gstidentity.c:
5791 * gst/elements/gsttee.c:
5792 * gst/elements/gsttypefindelement.c:
5793 Make element details static.
5795 2005-09-28 Wim Taymans <wim@fluendo.com>
5797 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5798 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5799 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5800 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5801 (gst_bin_change_state), (gst_bin_dispose):
5802 Some documentation updates.
5803 Clean up dispose handlers.
5805 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5806 * gst/gstpad.c: (gst_pad_dispose):
5807 Clean up dispose handler.
5809 * gst/gstpipeline.c: (gst_pipeline_change_state):
5810 Removed spurious UNLOCK.
5812 2005-09-27 Stefan Kost <ensonic@users.sf.net>
5814 * docs/gst/gstreamer-sections.txt:
5815 * gst/base/gstbasesrc.h:
5820 * gst/gstpipeline.c:
5821 * gst/gstpipeline.h:
5824 added two new functions to the docs
5825 documents all undocumented GstXXXFlags
5826 completed some incomplete docs
5828 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
5830 * gst/gstbin.c: (gst_bin_dispose):
5831 * gst/gstelement.c: (gst_element_dispose):
5832 remove now useless and leaky resurrection code in dispose
5833 * gst/base/gstbasesrc.c: (gst_base_src_init):
5834 * gst/gstelementfactory.c: (gst_element_factory_create):
5835 * gst/gstobject.c: (gst_object_set_parent):
5838 2005-09-27 Wim Taymans <wim@fluendo.com>
5840 * docs/design/part-TODO.txt:
5843 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5844 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5845 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5846 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5847 (gst_bin_change_state):
5849 Remove element variable, we keep element info in the iterator now.
5851 2005-09-27 Andy Wingo <wingo@pobox.com>
5853 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5856 2005-09-27 Wim Taymans <wim@fluendo.com>
5858 * check/gst/gstbin.c: (GST_START_TEST):
5859 Enable check that works now.
5861 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5862 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5863 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5864 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5865 (gst_bin_change_state):
5867 Redid the state change algorithm using a topological sort algo.
5868 Handles all cases correctly.
5869 Exposed iterator for state change order.
5872 Temp storage for state changes. Need to get rid of this soon.
5874 2005-09-27 Wim Taymans <wim@fluendo.com>
5876 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5877 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5878 (link_fold_func), (gst_pad_proxy_setcaps):
5879 Leak fixes, the fold functions need to unref the passed object and
5880 _get_parent_*() returns ref to parent.
5882 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5884 * check/gst/gstbuffer.c: (test_make_writable):
5885 Plug leak in test case and fix 'make check-valgrind'
5887 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5889 * gst/gstbuffer.c: (gst_subbuffer_init):
5890 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5891 works correctly in all circumstances (we could have just copied
5892 the parent buffer's readonly flag, but conceptually it seems
5893 cleaner to mark all subbuffers as read-only). (based on patch
5894 by Alessandro Decina, #314710).
5896 * check/gst/gstbuffer.c: (create_read_only_buffer),
5897 (test_make_writable), (test_subbuffer_make_writable),
5899 Add some tests for gst_buffer_make_writable().
5901 2005-09-27 Wim Taymans <wim@fluendo.com>
5903 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5904 use gst_object_has_ancestor().
5906 * gst/gstobject.c: (gst_object_has_ancestor):
5908 gst_object_has_ancestor() copied from gstbin.c as it is a
5911 * tests/instantiate/create.c: (create_all_elements):
5912 * tests/lat.c: (handoff_src), (handoff_sink):
5913 * tests/sched/runxml.c: (main):
5914 * tests/seeking/seeking1.c: (main):
5915 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5917 Fix compilation of some tests.
5919 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5922 Remove comment. GST_TYPE_G_ERROR is here to stay,
5923 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5926 2005-09-26 Wim Taymans <wim@fluendo.com>
5928 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5929 Added check that shows error in state change order.
5931 2005-09-26 Wim Taymans <wim@fluendo.com>
5933 * gst/gstbin.c: (gst_bin_change_state):
5934 Make state change function use 3 queues again, we were
5935 adding elements in the wrong order.
5937 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5940 * gst/gstpad.c: (gst_pad_dispose):
5941 Added some debug info first.
5943 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
5945 * docs/design/draft-push-pull.txt:
5946 * docs/design/part-events.txt:
5947 * docs/design/part-overview.txt:
5948 * docs/design/part-scheduling.txt:
5949 Replace all _pull_region() with _pull_range()
5951 2005-09-26 Andy Wingo <wingo@pobox.com>
5953 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5955 * check/gst-libs/controller.c: Update for controller api change.
5958 * tests/Makefile.am:
5959 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5960 over by GLib bug 118439.
5962 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5963 routines to a function.
5965 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5967 * libs/gst/controller/gsthelper.c:
5968 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5969 (gst_object_sync_values): Renamed from sink_values. Ugh.
5971 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5973 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5974 Renamed from controller_key, as it is exported.
5976 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5978 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
5983 * gst/gstpadtemplate.h:
5986 * gst/gstqueryutils.c:
5987 * gst/gstqueryutils.h:
5988 remove queryutils headers after moving the two used functions
5989 to gstquery. also fixes build problem for gstsiddec
5991 2005-09-26 Michael Smith <msmith@fluendo.com>
5993 * tools/gst-launch.1.in:
5994 Correct documentation in manpage of debug syntax
5996 2005-09-26 Wim Taymans <wim@fluendo.com>
5998 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5999 (gst_base_src_is_seekable), (gst_base_src_change_state):
6000 Some more debugging info.
6002 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6004 * docs/gst/gstreamer-sections.txt:
6005 * gst/base/gstbasetransform.h:
6009 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6011 * docs/gst/.cvsignore:
6012 * docs/gst/tmpl/.cvsignore:
6013 * docs/gst/tmpl/gstpipeline.sgml:
6014 * docs/gst/tmpl/gstplugin.sgml:
6015 * gst/gstpipeline.c:
6018 inlined the last two docs files
6019 removed the tmpl directory from cvs (no more conflicts here!)
6021 2005-09-25 Stefan Kost <ensonic@users.sf.net>
6023 * docs/gst/gstreamer-sections.txt:
6024 * docs/gst/tmpl/.cvsignore:
6025 * docs/gst/tmpl/gstpad.sgml:
6026 * docs/gst/tmpl/gstpadtemplate.sgml:
6028 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6029 (gst_pad_finalize), (gst_pad_set_pad_template):
6031 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6032 (gst_pad_template_class_init), (gst_pad_template_init),
6033 (gst_pad_template_dispose), (name_is_valid),
6034 (gst_static_pad_template_get), (gst_pad_template_new),
6035 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6036 (gst_pad_template_pad_created):
6037 * gst/gstpadtemplate.h:
6038 inlined two more docs
6039 factored gstpadtemplate out of gstpad
6041 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
6043 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6044 (test_children_state_change_order_semi_sink):
6045 Fix test case: we can't rely on a fixed state change order when
6046 going from READY => PAUSED because the sink might commit its
6047 new state first when the first buffer created by the source
6048 reaches the sink before the source has finished its change state.
6049 (Test case still fails at times, see #316856, comment 5 onwards)
6051 2005-09-24 Wim Taymans <wim@fluendo.com>
6053 * docs/design/part-events.txt:
6054 * docs/design/part-gstbus.txt:
6055 * docs/design/part-gstpipeline.txt:
6056 * docs/design/part-messages.txt:
6057 * docs/design/part-overview.txt:
6058 * docs/design/part-segments.txt:
6065 * gst/gstiterator.c:
6066 Various documentation updates.
6068 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
6071 Well, that's embarassing. Luckily we weren't using
6072 GST_CLOCK_DIFF anywhere.
6074 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6076 * common/gtk-doc.mak:
6077 don't fail on building XML, FC4 slave shows a bunch of doc
6078 missing bits that I don't get
6080 * gst/gstpipeline.c:
6081 * gst/gststructure.c:
6084 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
6086 * docs/design/part-gstbin.txt:
6087 * docs/design/part-gstbus.txt:
6089 Add blurb about how the bus goes into flushing mode and
6090 drops all messages when its bin goes from READY into NULL
6093 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6095 * docs/gst/gstreamer-sections.txt:
6096 * gst/gststructure.c: (gst_structure_get_clock_time):
6097 * gst/gststructure.h:
6098 add a method to get a GstClockTime out of a structure
6100 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
6102 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6103 (test_children_state_change_order_semi_sink), (gst_bin_suite):
6104 Added test to check state change order in bins (can still be made
6105 to fail here under heavy disk load; bails out with 'Push on pad
6106 fakesink:sink0, but it was not activated in push mode').
6108 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6109 Fix state change order when there is only a semi sink (#316856)
6111 * gst/gstbus.c: (gst_bus_class_init):
6112 Use _class_peek_parent(), not _class_ref(); fix docs to say
6113 'default main context' instead of 'mainloop' where that is
6116 * gst/gstelement.c: (gst_element_commit_state),
6117 (gst_element_set_state):
6118 Fix typos in debug messages
6120 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6123 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6124 * gst/gstpluginfeature.c:
6127 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6128 change an assert into an error until it gets fixed properly
6130 2005-09-23 Stefan Kost <ensonic@users.sf.net>
6132 * docs/gst/gstreamer-sections.txt:
6133 * docs/gst/tmpl/.cvsignore:
6134 * docs/gst/tmpl/gstelement.sgml:
6135 * docs/gst/tmpl/gstinfo.sgml:
6136 * docs/gst/tmpl/gstobject.sgml:
6141 * gst/gstobject.c: (gst_object_class_init):
6143 inlined 3 more biiiig doc files and added some missing docs on the fly
6145 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
6147 * check/gst/.cvsignore:
6148 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6149 * gst/gstregistryxml.c: (load_plugin),
6150 (gst_registry_xml_save_plugin):
6151 put back source in registry. add checks for find_plugin.
6152 * testsuite/states/bin.c: (assert_state), (empty_bin),
6153 (test_adding_one_element), (main):
6154 * testsuite/states/locked.c: (main):
6155 some compile/run fixes
6157 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6159 * check/gst/gstvalue.c: (GST_START_TEST):
6160 fix leaks in the test itself
6162 2005-09-22 Wim Taymans <wim@fluendo.com>
6164 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6165 (gst_base_sink_send_event), (gst_base_sink_peer_query),
6166 (gst_base_sink_query):
6167 Prepare for more accurate position reporting and query
6170 * gst/gstelement.c: (gst_element_send_event),
6171 (gst_element_set_state):
6174 2005-09-22 Wim Taymans <wim@fluendo.com>
6176 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6177 (gst_query_parse_segment):
6180 Add segment query for future use.
6182 2005-09-22 Wim Taymans <wim@fluendo.com>
6184 * gst/gstbin.c: (gst_bin_add_func):
6185 Some more debug info.
6187 * gst/gstelement.c: (gst_element_send_event):
6191 Don't know how flags got broken.
6196 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
6198 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6199 Add simplistic test suite for GST_TYPE_DATE serialisation and
6202 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
6204 * docs/gst/gstreamer-sections.txt:
6205 * gst/gststructure.c: (gst_structure_set_valist),
6206 (gst_structure_get_date):
6207 * gst/gststructure.h:
6208 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6209 (gst_date_copy), (gst_value_compare_date),
6210 (gst_value_serialize_date), (gst_value_deserialize_date),
6211 (gst_value_transform_date_string),
6212 (gst_value_transform_string_date), (_gst_value_initialize):
6214 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6215 bunch of utility functions along with a hack that checks that
6216 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6217 is required. Part of the grand scheme in #170777.
6219 2005-09-22 Andy Wingo <wingo@pobox.com>
6221 * gst/gstconfig.h.in: Psych out gtk-doc.
6223 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6225 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6227 * tools/gst-inspect.c (print_element_list): Plug some
6228 inconsequential leaks.
6230 * gst/gstregistry.c (gst_registry_get_default): Doc.
6232 * check/gst/gstplugin.c:
6233 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6234 * gst/gstelementfactory.c (gst_element_factory_create):
6235 * gst/gstindexfactory.c (gst_index_factory_create): Update for
6238 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6239 (gst_plugin_feature_load): Doc, don't eat refs.
6241 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6242 (gst_plugin_list_free): Doc.
6243 (gst_plugin_load_file): Doc updates.
6245 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6246 accessors returning refcounted objects, return a ref.
6248 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6249 accessor for caps. IDEMPOTENCE. Oh yes.
6251 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
6253 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6255 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6256 (_gst_debug_register_funcptr):
6257 Add mutex to serialise access to the hash table with
6258 the function pointer => function name string mapping;
6259 make that hash table static scope (#316809).
6261 * gst/registries/.cvsignore:
6262 Remove left-over file.
6264 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
6266 * docs/pwg/appendix-porting.xml:
6267 And something about newsegment events and caps-on-buffers to
6268 the porting guide (feel free to improve).
6270 2005-09-21 Andy Wingo <wingo@pobox.com>
6272 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6273 data and event probes on the same pad.
6274 (test_buffer_probe_once): Test that removing probes from within
6275 the probe functions works.
6277 2005-09-21 Andy Wingo <wingo@pobox.com>
6279 * check/gst/gstutils.c: New file.
6280 (test_buffer_probe_n_times): A simple buffer probe test. More to
6283 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6284 have-data::buffer, not have-data.
6285 (gst_pad_add_event_probe): Likewise for have-data::event.
6286 (gst_pad_add_data_probe): More docs. The part about 'resolving the
6287 peer' isn't quite right yet though.
6288 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
6289 (gst_pad_remove_data_probe): Change to take the guint handler_id
6290 as their arg, not the function+data, which is more glib-like.
6292 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6293 the signal emission to indicate if the data is a buffer or an
6295 (gst_pad_get_type): Initialize buffer and event quarks.
6296 (gst_pad_class_init): have-data is now a detailed signal, yes it
6299 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
6301 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6302 * gst/gstutils.c: (gst_util_set_value_from_string),
6303 (gst_util_set_object_arg):
6304 Don't put functional code in g_return_if_fail() or
6305 g_return_val_if_fail() statements, otherwise things will
6306 break when G_DISABLE_CHECKS is defined during compilation.
6308 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6310 * docs/gst/tmpl/.cvsignore:
6311 * docs/gst/tmpl/gstvalue.sgml:
6314 inlied another one and added some obvious docs
6316 2005-09-21 Wim Taymans <wim@fluendo.com>
6318 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6319 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6320 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6321 (gst_fdsrc_get_property), (gst_fdsrc_create):
6322 * gst/elements/gstfdsrc.h:
6323 Properly implement fdsrc. Removed signal and timeout,
6324 better implemented somewhere else.
6326 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6328 * docs/gst/tmpl/.cvsignore:
6329 * docs/gst/tmpl/gstimplementsinterface.sgml:
6330 * gst/gstinterface.c:
6333 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6335 * docs/gst/gstreamer-sections.txt:
6336 * docs/gst/tmpl/.cvsignore:
6337 * docs/gst/tmpl/gstenumtypes.sgml:
6338 remove obsolete doc file
6340 2005-09-21 David Schleef <ds@schleef.org>
6342 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6343 little beer, fix a little leak.
6345 2005-09-21 Stefan Kost <ensonic@users.sf.net>
6347 * docs/gst/gstreamer-docs.sgml:
6348 * docs/gst/gstreamer-sections.txt:
6349 * docs/gst/tmpl/.cvsignore:
6354 * gst/gstindex.c: (gst_index_class_init):
6356 * gst/gstindexfactory.c: (gst_index_factory_get_type),
6357 (gst_index_factory_class_init), (gst_index_factory_init),
6358 (gst_index_factory_finalize), (gst_index_factory_new),
6359 (gst_index_factory_destroy), (gst_index_factory_find),
6360 (gst_index_factory_create), (gst_index_factory_make):
6361 * gst/gstindexfactory.h:
6362 * gst/gstpluginfeature.c:
6363 * gst/gstpluginfeature.h:
6364 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6365 more docs inlined, splitted gstindex.{c,h}
6367 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6369 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6372 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6374 * gst/elements/gstfilesink.c: (gst_file_sink_init):
6375 Set sync to FALSE by default.
6377 2005-09-20 Wim Taymans <wim@fluendo.com>
6379 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6380 (gst_base_sink_init):
6381 Make sync property settable from subclass.
6383 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6384 (gst_fake_sink_change_state):
6385 Set sync to FALSE by default.
6387 2005-09-20 Wim Taymans <wim@fluendo.com>
6389 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6390 * tools/gst-launch.c: (main):
6391 The timeout handler should have lower priority than the source
6392 so we don't timeout before popping a message with 0 timeout.
6393 Dump error messages after failed state change.
6395 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
6397 * tools/gst-inspect.c: (print_element_properties_info):
6400 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6402 * check/gst/gstevent.c:
6403 * gst/elements/gstfakesink.c:
6404 * gst/elements/gstfakesink.h:
6405 remove the sync property from fakesink.
6406 has the side effect of setting sync TRUE
6407 for fakesink, which is a change. Anyone who knows how
6408 to fix this nicely in a GObject-y way, feel free.
6410 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6412 * docs/gst/gstreamer-docs.sgml:
6413 remove probe refsection
6415 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6417 * check/Makefile.am:
6418 disable valgrinding the controller test again
6419 * docs/gst/gstreamer-sections.txt:
6420 update for api-changes
6422 2005-09-20 Wim Taymans <wim@fluendo.com>
6424 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6425 (gst_base_sink_set_property), (gst_base_sink_get_property),
6426 (gst_base_sink_do_sync):
6427 * gst/base/gstbasesink.h:
6428 Added sync property to basesink to disable clock sync.
6430 2005-09-20 Andy Wingo <wingo@pobox.com>
6432 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6433 eating the caller's refcount.
6435 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
6436 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6439 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6440 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6441 of GLib 2.8 public, so we can know which refcount to check in
6444 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6445 (gst_object_init): Only set the gst refcount if we're going ahead
6446 with the refcount hack.
6448 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6450 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6451 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6452 more leaks plumbed, added more debug-logging
6456 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6459 remove include of gstmemchunk.h
6461 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6463 * gst/gstclock.c: (_gst_clock_id_free):
6464 Commit from the Political Party For More Atomic CVS Commits,
6465 so that people don't waste too much of their day fishing
6466 out obvious leaks out of massive commits.
6467 Oh, and fix a pretty damn obvious leak in the memchunk
6470 2005-09-20 Stefan Kost <ensonic@users.sf.net>
6472 * check/Makefile.am:
6473 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6474 plug mem-leak, re-add to valgrindable tests
6476 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
6479 unbreak the build for those who have chronic arthritis
6480 and typing "make check" is just too taxing on the hands
6482 2005-09-20 Andy Wingo <wingo@pobox.com>
6484 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6485 really want it out, you should fix plugins at the same time.
6487 2005-09-19 Stefan Kost <ensonic@users.sf.net>
6490 * docs/gst/gstreamer-sections.txt:
6492 added missing symbols to api docs
6493 disable ref-count hack if we have glib >= 2.8
6495 2005-09-19 David Schleef <ds@schleef.org>
6497 * docs/gst/Makefile.am: Ignore a few more internal headers
6498 * docs/gst/gstreamer-docs.sgml: Remove old sections
6499 * docs/gst/gstreamer-sections.txt: Remove old sections
6500 * docs/gst/tmpl/gstobject.sgml: update
6501 * docs/gst/tmpl/gstplugin.sgml: update
6502 * docs/gst/tmpl/gstpluginfeature.sgml: update
6503 * docs/random/ds/0.9-suggested-changes: update.
6504 * gst/Makefile.am: remove memchunk and trashstack, since they're
6506 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6507 * gst/gst.h: don't include some headers
6508 * gst/gstchildproxy.c: add gstmarshal.h
6509 * gst/gstclock.c: Don't use memchunks
6510 * gst/gstminiobject.c: Add some docs
6511 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6512 * gst/gstobject.h: same
6513 * gst/gstplugin.c: include gstmacros.h
6514 * gst/gstplugin.h: don't include gstmacros.h, since it's private
6515 * gst/gstquery.c: don't use memchunks
6516 * gst/gstregistry.c: rename gst_registry_deinit()
6517 * gst/gstregistry.h: same
6519 2005-09-19 David Schleef <ds@schleef.org>
6521 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6522 * docs/libs/gstreamer-libs-sections.txt:
6523 * docs/libs/tmpl/gstgetbits.sgml:
6524 * docs/libs/tmpl/gstputbits.sgml:
6526 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
6528 * win32/gstenumtypes.c:
6529 * win32/gstenumtypes.h:
6532 2005-09-19 Wim Taymans <wim@fluendo.com>
6534 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6535 Automatically PAUSE and RESUME a pipeline when a flushing seek
6538 2005-09-19 Andy Wingo <wingo@pobox.com>
6540 * gst/gstregistry.h: Spacing fixen.
6542 2005-09-19 Wim Taymans <wim@fluendo.com>
6544 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6545 Handle state change failure more correctly.
6547 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6549 * check/Makefile.am:
6550 * check/pipelines/cleanup.c: (run_pipeline):
6551 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6553 enable cleanup again after fixing the leak
6555 some more info on docs
6557 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6559 * check/Makefile.am:
6560 re-enable tests now that leaks are plugged
6562 * check/gst/gstbin.c:
6563 * check/gst/gstpipeline.c:
6564 add some more tests while fixing leaks
6566 make sure binaries are uptodate when valgrinding/gdbing
6568 * gst/gstelementfactory.c:
6569 remove a ref too many, and add a FIXME for when we get
6570 round to disposing of classes
6572 fix the refcounting when loading a plugin from a file and
6573 the code pretends that the pointer is the same even though
6574 of course it can change
6575 * gst/gstpluginfeature.c:
6576 unref plugins marked cached (a bit confusing as a name)
6577 as the docs state should be done
6578 various doc additions to explain refcounting
6579 * gst/gstregistry.c:
6580 * gst/gstregistryxml.c:
6583 2005-09-19 Wim Taymans <wim@fluendo.com>
6585 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6586 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6587 (send_messages), (GST_START_TEST), (gstbus_suite):
6588 * check/gst/gstpipeline.c: (GST_START_TEST):
6589 * check/pipelines/cleanup.c: (run_pipeline):
6590 * check/pipelines/simple_launch_lines.c: (run_pipeline),
6592 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6593 (gst_bus_source_check), (gst_bus_source_dispatch),
6594 (gst_bus_create_watch), (gst_bus_add_watch_full),
6595 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6597 * tools/gst-launch.c: (event_loop):
6598 * tools/gst-md5sum.c: (event_loop):
6599 GstBusHandler -> GstBusFunc, return value has the same meaning as
6600 any other GSource (FALSE == remove source).
6601 _add_watch() and _add_watch_full() now take a MessageType mask to
6602 only handle specific types of messages.
6603 _poll() returns the GstMessage instead of the message type to avoid
6605 _have_pending() takes a MessageType mask now too.
6606 Added testsuite for multiple bus watches.
6607 Fix testsuites and applications for new bus API.
6609 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
6611 * check/Makefile.am:
6612 mark a bunch of the tests as to fix until we fix them
6614 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6617 use GST_PLUGIN settings for valgrind tests as well, so we're
6618 valgrinding the correct thing
6619 * gst/gst.c: (init_post):
6622 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6624 * gst/gst.c: (init_post), (gst_deinit):
6625 * gst/gstelementfactory.c: (gst_element_factory_class_init),
6626 (gst_element_factory_finalize), (gst_element_factory_cleanup):
6627 * gst/gstindex.c: (gst_index_factory_class_init),
6628 (gst_index_factory_finalize):
6629 * gst/gstobject.c: (gst_object_dispose):
6630 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6631 (gst_plugin_load_file), (gst_plugin_desc_free):
6632 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6633 (gst_plugin_feature_finalize):
6634 * gst/gstregistry.c: (gst_registry_class_init),
6635 (gst_registry_init), (gst_registry_finalize),
6636 (gst_registry_get_default), (gst_registry_deinit):
6637 * gst/gstregistry.h:
6638 * gst/gstregistryxml.c: (load_feature), (load_plugin):
6639 various cleanups and memleak plugging. make valgrind is happy now.
6641 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
6644 add a check-valgrind target
6646 2005-09-18 David Schleef <ds@schleef.org>
6648 * tools/gst-inspect.c: Revert the GOption code.
6650 2005-09-17 David Schleef <ds@schleef.org>
6652 * check/Makefile.am: Fix environment variables.
6653 * check/gst/gstplugin.c: Fix for API changes.
6654 * tools/gst-inspect.c: Fix for API changes.
6655 * tools/gst-xmlinspect.c: Fix for API changes.
6656 * gst/gstelementfactory.c:
6659 * gst/gstpluginfeature.c:
6660 * gst/gstpluginfeature.h:
6661 * gst/gstregistry.c:
6662 * gst/gstregistry.h:
6663 * gst/gstregistryxml.c:
6664 * gst/gsttypefind.c:
6665 * gst/gsttypefindfactory.c:
6666 * gst/indexers/gstfileindex.c:
6667 * gst/indexers/gstmemindex.c:
6668 * gst/schedulers/Makefile.am:
6669 Change registry to keep track of both plugins and features,
6670 removing the feature tracking from plugins themselves.
6672 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
6674 * check/Makefile.am:
6675 * tools/gst-register.1.in:
6678 2005-09-15 David Schleef <ds@schleef.org>
6680 * check/gst/gstplugin.c:
6681 * gst/gstelementfactory.c:
6683 * gst/gstpluginfeature.c:
6684 * gst/gstregistry.c:
6685 Getting tired of debugging. Disabled all the unreffing of
6686 plugins and features, which fixes the segfaults, but of
6687 course leaks like crazy. At least playbin works.
6689 2005-09-15 David Schleef <ds@schleef.org>
6691 * check/gst/gstplugin.c: (register_check_elements),
6692 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6694 * gst/elements/gsttypefindelement.c: Fix refcounting.
6695 * gst/gsttypefind.c:
6696 * gst/gsttypefindfactory.c:
6697 * gst/gsttypefindfactory.h:
6699 2005-09-15 David Schleef <ds@schleef.org>
6701 * gst/gstindex.c: get refcounting correct.
6702 * gst/gstregistry.c: Handle the case where a feature/plugin is
6705 2005-09-15 David Schleef <ds@schleef.org>
6707 * check/Makefile.am:
6708 * check/gst/gstplugin.c: Add test
6709 * gst/gstplugin.c: Fix problems noticed by testsuite
6711 * gst/gstregistry.c:
6712 * gst/gstregistry.h:
6714 2005-09-15 David Schleef <ds@schleef.org>
6716 * gst/gstplugin.c: Implement semi-decent recounting and locking
6717 in plugins and plugin features.
6719 * gst/gstpluginfeature.c:
6720 * gst/gstpluginfeature.h:
6721 * gst/gstregistry.c:
6723 2005-09-15 Michael Smith <msmith@fluendo.com>
6725 * gst/gstregistry.c: (gst_registry_get_feature_list):
6726 Implement this. Makes oggdemux work; decodebin still broken.
6728 2005-09-14 David Schleef <ds@schleef.org>
6730 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6732 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6733 * gst/check/Makefile.am:
6734 * libs/gst/controller/Makefile.am:
6735 * libs/gst/dataprotocol/Makefile.am:
6737 2005-09-14 David Schleef <ds@schleef.org>
6739 * configure.ac: Remove getbits library. Nothing uses it, and
6740 it should be in something like liboil if someone did want
6742 * libs/gst/Makefile.am:
6743 * libs/gst/getbits/Makefile.am:
6744 * libs/gst/getbits/gbtest.c:
6745 * libs/gst/getbits/getbits.c:
6746 * libs/gst/getbits/getbits.h:
6747 * libs/gst/getbits/gstgetbits_generic.c:
6748 * libs/gst/getbits/gstgetbits_i386.s:
6749 * libs/gst/getbits/gstgetbits_inl.h:
6751 2005-09-14 David Schleef <ds@schleef.org>
6753 * gst/Makefile.am: Dist glib-compat.h
6755 2005-09-14 David Schleef <ds@schleef.org>
6757 * configure.ac: Remove gst/registries, since it's no longer used.
6758 * gst/registries/Makefile.am:
6759 * gst/registries/gstlibxmlregistry.c:
6760 * gst/registries/gstlibxmlregistry.h:
6761 * gst/registries/gstxmlregistry.c:
6762 * gst/registries/gstxmlregistry.h:
6763 * gst/registries/registrytest.c:
6765 2005-09-14 David Schleef <ds@schleef.org>
6767 * gst/glib-compat.h:
6768 * gst/gstregistryxml.c:
6769 Convergence is near. Seriously.
6771 2005-09-14 David Schleef <ds@schleef.org>
6773 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6774 * gst/glib-compat.h:
6775 Attempt #4 to appease the buildbots.
6777 2005-09-14 David Schleef <ds@schleef.org>
6779 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6782 2005-09-14 David Schleef <ds@schleef.org>
6784 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6787 2005-09-14 David Schleef <ds@schleef.org>
6789 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6792 2005-09-14 David Schleef <ds@schleef.org>
6794 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6795 * gst/glib-compat.h: Add some functions that are in newer versions
6796 of glib than we care to require.
6797 * gst/gstregistryxml.c: Use them.
6799 2005-09-14 David Schleef <ds@schleef.org>
6801 * po/POTFILES.in: remove gst-register.c
6803 2005-09-14 David Schleef <ds@schleef.org>
6805 * docs/gst/gstreamer-docs.sgml:
6806 * docs/gst/gstreamer-sections.txt:
6807 * docs/gst/gstreamer.types:
6808 * docs/gst/tmpl/gstelement.sgml:
6809 * docs/gst/tmpl/gstplugin.sgml:
6810 * docs/gst/tmpl/gstpluginfeature.sgml:
6811 Documentation updates for registry changes.
6813 2005-09-14 David Schleef <ds@schleef.org>
6815 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6816 because we don't require glib-2.8.
6818 2005-09-14 David Schleef <ds@schleef.org>
6820 * gst/gstregistryxml.c: Added. Essentially moved out of the
6821 registries directory.
6823 2005-09-14 David Schleef <ds@schleef.org>
6825 * check/Makefile.am:
6826 * check/generic/states.c:
6830 * gst/gst_private.h:
6831 * gst/gstelementfactory.c:
6836 * gst/gstpluginfeature.c:
6837 * gst/gstpluginfeature.h:
6838 * gst/gstregistry.c:
6839 * gst/gstregistry.h:
6840 * gst/gstregistrypool.c: remove
6841 * gst/gstregistrypool.h: remove
6842 * gst/gsttypefind.c:
6843 * gst/gsttypefindfactory.c:
6845 * tools/Makefile.am:
6846 * tools/gst-compprep.c:
6847 * tools/gst-inspect.c:
6848 * tools/gst-register.c: remove
6849 * tools/gst-xmlinspect.c:
6850 Registry rewrite. Changes registry from being a file created
6851 by a tool into a simple cache file created automatically by
6852 libgstreamer. Removed gst-register (because it's no longer
6853 needed). Remove registry pools, because we only have one
6854 registry implementation (XML). Fix up other subsystems as
6857 2005-09-13 Michael Smith <msmith@fluendo.com>
6859 * gst/gstconfig.h.in:
6860 Don't Use windows linking attributes for MinGW. Fixes #316157
6862 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
6864 * gst/gstutils.c: (set_state_async_thread_func),
6865 (gst_element_set_state_async):
6866 Apparently people think it's better if this function doesn't
6867 try to set the state to whatever state was asked for on the first
6868 call to this function for any object. Seriously.
6870 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6872 * check/gst/gstpipeline.c: (GST_START_TEST):
6873 * docs/gst/gstreamer-sections.txt:
6874 * gst/gstutils.c: (set_state_async_thread_func),
6875 (gst_element_set_state_async):
6877 add a "gst_element_set_state_async" method that
6878 sets the state and starts a thread to make sure the state
6879 change completes as best as it can
6881 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6883 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6884 codify design+behaviour in testsuite after discussion
6886 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6888 * docs/gst/tmpl/gstelement.sgml:
6889 * docs/manual/appendix-quotes.xml:
6891 * gst/gstelement.c: (gst_element_set_state):
6894 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
6896 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6897 (gst_base_transform_prepare_output_buf),
6898 (gst_base_transform_handle_buffer):
6899 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6900 (gst_capsfilter_prepare_buf):
6901 Remove the requirement for sub-classes to call the parent
6902 implementation of prepare_output_buffer with a wrapper function.
6905 * gst/gsttagsetter.h:
6908 2005-09-11 Stefan Kost <ensonic@users.sf.net>
6910 * docs/gst/gstreamer-sections.txt:
6913 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6915 * docs/gst/gstreamer-sections.txt:
6916 * docs/gst/tmpl/gstelement.sgml:
6917 * docs/gst/tmpl/gstplugin.sgml:
6918 * gst/gstminiobject.c:
6920 docs now stop throwing warnings
6922 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6924 * docs/gst/gstreamer-sections.txt:
6925 * docs/gst/gstreamer.types:
6926 * docs/gst/tmpl/gstpad.sgml:
6927 * docs/gst/tmpl/gsttypes.sgml:
6928 * gst/base/gstadapter.h:
6929 * gst/base/gstbasesink.h:
6930 * gst/base/gstbasesrc.h:
6940 * gst/gststructure.c:
6941 * gst/registries/gstlibxmlregistry.h:
6942 various documentation fixes
6944 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6946 * docs/gst/gstreamer-sections.txt:
6947 * docs/gst/tmpl/gstvalue.sgml:
6948 rearrange gstvalue section
6949 * gst/gstutils.c: (gst_element_state_get_name):
6951 * gst/gstvalue.c: (_gst_value_initialize):
6955 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
6957 * check/gst-libs/controller.c:
6959 * gst/base/gstbasetransform.c:
6960 (gst_base_transform_default_prepare_buf),
6961 (gst_base_transform_handle_buffer):
6962 * gst/base/gstbasetransform.h:
6963 Some more basetransform changes and fixes to enable sub-classes
6964 that modify buffer metadata only.
6965 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6966 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6967 (gst_capsfilter_prepare_buf):
6968 If the output pad has fixed allowed caps and input buffers
6969 don't have any, set the fixed caps on outgoing buffers.
6971 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
6972 * check/elements/identity.c: (GST_START_TEST):
6973 Make the error a little clearer when the test fails because
6974 identity made a copy of the buffer.
6975 * docs/gst/gstreamer-sections.txt:
6976 New symbols in gstbasetransform.h
6977 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6978 (gst_base_transform_init), (gst_base_transform_transform_size),
6979 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6980 (gst_base_transform_default_prepare_buf),
6981 (gst_base_transform_get_unit_size),
6982 (gst_base_transform_buffer_alloc),
6983 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6984 (gst_base_transform_change_state),
6985 (gst_base_transform_set_passthrough),
6986 (gst_base_transform_set_in_place),
6987 (gst_base_transform_is_in_place):
6988 * gst/base/gstbasetransform.h:
6989 Change BaseTransform to separate in_place operate from same_caps
6990 output. in_place implies that the element can perform the transform
6991 on incoming buffers in-place, even if the caps on the output are
6993 Sub-class elements can now implement special buffer allocation
6994 methods for outgoing buffers if they wish to.
6995 Big documentation addition.
6996 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6997 * gst/elements/gstelements.c:
6998 Changes for basetransform modifications.
6999 * gst/elements/Makefile.am:
7000 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7001 Compile fix. Extra debug output.
7003 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7005 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7007 add tests for valid pad naming
7008 * gst/check/gstcheck.c: (gst_check_log_message_func),
7009 (gst_check_log_critical_func):
7011 remove printing of code, it is fragile when the code contains
7012 % and the line number is enough info
7013 * gst/check/gstcheck.h:
7014 * gst/gstpad.c: (gst_pad_template_new):
7017 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7020 say what CHECK flags we use
7021 * docs/libs/gstreamer-libs.types:
7022 * libs/gst/controller/Makefile.am:
7023 * libs/gst/controller/gst-controller.c:
7024 * libs/gst/controller/gst-controller.h:
7025 * libs/gst/controller/gst-helper.c:
7026 * libs/gst/controller/gst-interpolation.c:
7027 * libs/gst/controller/gstcontroller.c:
7028 * libs/gst/controller/gsthelper.c:
7029 * libs/gst/controller/gstinterpolation.c:
7030 * tools/gst-inspect.c: (print_plugin_info):
7031 we don't use dashes in header names
7033 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
7035 * check/Makefile.am:
7036 * check/gst/.cvsignore:
7037 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7038 (gst_pipeline_suite), (main):
7039 adding a test for pipelines and state changes
7040 * gst/gstutils.c: (get_state_func):
7042 * gstreamer.spec.in:
7045 2005-09-08 Michael Smith <msmith@fluendo.com>
7047 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7048 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7049 (gst_file_src_is_seekable), (gst_file_src_get_size),
7050 (gst_file_src_start):
7051 * gst/elements/gstfilesrc.h:
7052 Various fixes for unseekable, unmmapable, and non-normal files, so
7053 that fallback to read() rather than mmap() works.
7054 * gst/gstevent.c: (gst_event_new_newsegment):
7055 Allow newsegment events with segment_start == segment_end, as will
7056 correctly happen if you use filesrc on a zero-size file, for
7059 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
7061 * gst/gstplugin.c: (gst_plugin_load_file):
7062 Call g_module_close when we don't load the module
7064 * gst/registries/gstlibxmlregistry.c:
7065 (gst_xml_registry_get_property):
7066 Port leak fix from 0.8
7068 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7070 * docs/gst/gstreamer-docs.sgml:
7071 * docs/gst/tmpl/.cvsignore:
7072 * docs/gst/tmpl/gsttrace.sgml:
7073 * docs/gst/tmpl/gsttrashstack.sgml:
7082 * gst/gsttaginterface.c:
7083 * gst/gsttaginterface.h:
7086 * gst/gsttagsetter.c:
7087 * gst/gsttagsetter.h:
7090 * gst/gsttrashstack.c:
7091 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7092 inlined docs for gsttrace, gsttrashstack
7094 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7097 * gst/elements/gstbufferstore.h:
7098 * gst/elements/gsttypefindelement.c:
7099 * gst/elements/gsttypefindelement.h:
7101 * gst/gsttypefind.c:
7102 * gst/gsttypefind.h:
7103 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7104 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7105 (gst_type_find_factory_dispose),
7106 (gst_type_find_factory_unload_thyself),
7107 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7108 (gst_type_find_factory_get_caps),
7109 (gst_type_find_factory_get_extensions),
7110 (gst_type_find_factory_call_function):
7111 * gst/gsttypefindfactory.h:
7112 * gst/registries/gstlibxmlregistry.c:
7113 * gst/registries/gstxmlregistry.c:
7114 splitted gsttypefind into gsttypefind, gsttypefindfactory
7116 2005-09-07 Andy Wingo <wingo@pobox.com>
7118 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7119 condition whereby the pad's task function is entered before the
7120 pad_mode variable was set.
7122 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
7124 * gst/gstpad.c: (gst_pad_alloc_buffer):
7125 Catch misbehaving pad_alloc functions that don't
7126 set up caps and do it for them.
7128 2005-09-07 Stefan Kost <ensonic@users.sf.net>
7130 * check/pipelines/simple_launch_lines.c: (run_pipeline):
7132 * docs/gst/tmpl/.cvsignore:
7133 * docs/gst/tmpl/gstmemchunk.sgml:
7134 * docs/gst/tmpl/gstparse.sgml:
7135 * docs/gst/tmpl/gsttaglist.sgml:
7136 * docs/gst/tmpl/gsttagsetter.sgml:
7137 * docs/gst/tmpl/gsttypefind.sgml:
7138 * docs/gst/tmpl/gsttypefindfactory.sgml:
7139 * gst/gstmemchunk.c:
7142 * gst/gsttaginterface.c:
7143 * gst/gsttypefind.c:
7144 * gst/gsttypefind.h:
7147 === release 0.9.2 ===
7149 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
7154 releasing 0.9.2, "South"
7156 2005-09-05 Andy Wingo <wingo@pobox.com>
7158 * gst/registries/gstxmlregistry.h:
7159 * gst/registries/gstxmlregistry.c: Um... resurrect...
7161 * gst/registries/gstxmlregistry.h:
7162 * gst/registries/gstxmlregistry.c: and update to newer API.
7163 Incidentally they should be a bit faster now that they don't have
7166 2005-09-05 Andy Wingo <wingo@pobox.com>
7168 * gst/registries/gstxmlregistry.h:
7169 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7170 replaced by the libxml registry a while back
7172 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
7174 * docs/gst/tmpl/gstplugin.sgml:
7175 * gst/elements/gstelements.c:
7177 * gst/gstplugin.c: (gst_plugin_register_func),
7178 (gst_plugin_desc_copy), (gst_plugin_desc_free),
7179 (gst_plugin_get_source):
7181 * gst/registries/gstlibxmlregistry.c: (load_plugin),
7182 (gst_xml_registry_save_plugin):
7183 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7184 (gst_xml_registry_save_plugin):
7185 * tools/gst-inspect.c: (print_plugin_info):
7186 add a "source" plugin description field, to represent the source
7187 module this plugin is a part of. By default GST_PLUGIN_DEFINE
7188 will set it to PACKAGE, which is automake's idea of the name of
7191 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
7197 * docs/faq/Makefile.am:
7198 * docs/gst/tmpl/gstelement.sgml:
7199 * docs/gst/tmpl/gsttypes.sgml:
7200 * docs/htmlinstall.mak:
7201 * docs/manual/Makefile.am:
7202 * docs/pwg/Makefile.am:
7203 reorganize doc build a little
7204 split out docbook and gtk-doc stuff
7205 have two separate --enable's and enable them through autogen
7206 but disable by default in configure (to be similar to other
7208 * gstreamer.spec.in:
7209 clean up docs install
7229 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
7231 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7234 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7235 (gst_fake_sink_change_state):
7236 Make state change function thread-safe.
7238 * gst/gstpad.c: (gst_pad_alloc_buffer):
7239 Set offset on generic buffer allocated by fallback.
7241 2005-09-03 Stefan Kost <ensonic@users.sf.net>
7243 * docs/gst/gstreamer-sections.txt:
7244 * docs/gst/tmpl/gstelement.sgml:
7246 * libs/gst/controller/gst-controller.c:
7247 (gst_controlled_property_set_interpolation_mode),
7248 (gst_controlled_property_new),
7249 (gst_controller_find_controlled_property):
7250 run the wingo-magic script against the docs
7252 2005-09-02 Stefan Kost <ensonic@users.sf.net>
7254 * docs/gst/gstreamer-docs.sgml:
7255 * docs/gst/gstreamer-sections.txt:
7256 * docs/gst/tmpl/.cvsignore:
7257 * docs/gst/tmpl/gstelementdetails.sgml:
7258 * docs/gst/tmpl/gstelementfactory.sgml:
7261 * gst/gstelementfactory.c:
7262 * gst/gstelementfactory.h:
7263 merged elementdetails docs into elementfactory docs
7266 2005-09-02 Andy Wingo <wingo@pobox.com>
7268 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7269 consider this enum an enum and not a flags.
7271 2005-09-02 Stefan Kost <ensonic@users.sf.net>
7273 * docs/gst/gstreamer-docs.sgml:
7274 * docs/gst/tmpl/.cvsignore:
7275 * docs/gst/tmpl/gstghostpad.sgml:
7276 * docs/gst/tmpl/gstiterator.sgml:
7277 * docs/gst/tmpl/gstmacros.sgml:
7278 * docs/gst/tmpl/gstrealpad.sgml:
7279 * docs/gst/tmpl/gstregistry.sgml:
7280 * docs/gst/tmpl/gstregistrypool.sgml:
7281 * docs/gst/tmpl/gststructure.sgml:
7282 * docs/gst/tmpl/gstsystemclock.sgml:
7283 * docs/gst/tmpl/gsttrace.sgml:
7284 * gst/gstghostpad.c:
7286 * gst/gstmemchunk.c:
7287 * gst/gstmemchunk.h:
7289 * gst/gstregistry.c:
7290 * gst/gstregistrypool.c:
7291 * gst/gststructure.c:
7292 * gst/gstsystemclock.c:
7295 2005-09-02 Andy Wingo <wingo@pobox.com>
7297 * gst/gstelement.h (GstState): Renamed from GstElementState,
7298 changed to be a normal enum instead of flags.
7299 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7300 munged to be GST_STATE_CHANGE_*.
7301 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7302 work with the new state representation.
7303 (GstStateChange): New enumeration of possible state transitions.
7304 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7305 (GstElementClass::change_state): Pass the GstStateChange along as
7306 an argument. Helps language bindings, so they don't have to use
7307 tricky lock-needing macros like GST_STATE_CHANGE ().
7309 * scripts/update-states (file): New script. Run it on a file to
7310 update it for state naming and API changes. Updates files in
7313 * All files updated for the new API.
7315 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
7317 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7318 * gst/gstutils.c: (gst_util_set_value_from_string),
7319 (gst_util_set_object_arg):
7320 fix a bunch of unchecked return values
7321 * tools/gst-complete.c: (main):
7322 * gstreamer.spec.in:
7325 2005-09-01 Wim Taymans <wim@fluendo.com>
7327 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7328 (gst_base_sink_event), (gst_base_sink_do_sync),
7329 (gst_base_sink_handle_event):
7330 * gst/base/gstbasesink.h:
7331 Handle newsegments more correctly.
7336 * gst/gstevent.c: (gst_event_new_newsegment):
7337 A newsegment cannot have a start_time of -1
7339 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
7341 * win32/gstenumtypes.c:
7342 * win32/gstenumtypes.h:
7345 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7347 * libs/gst/controller/gst-controller.c:
7348 (gst_controlled_property_set_interpolation_mode),
7349 (gst_controlled_property_new):
7352 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
7354 * docs/faq/gst-uninstalled:
7359 * gst/gstutils.c: (gst_element_link_filtered):
7361 add gst_element_link_filtered
7363 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7365 * docs/gst/gstreamer-docs.sgml:
7366 * docs/gst/gstreamer-sections.txt:
7367 * docs/gst/tmpl/.cvsignore:
7368 * docs/gst/tmpl/gsterror.sgml:
7369 * docs/gst/tmpl/gstfilter.sgml:
7370 * docs/gst/tmpl/gsturihandler.sgml:
7371 * docs/gst/tmpl/gsturitype.sgml:
7372 * docs/gst/tmpl/gstutils.sgml:
7373 * docs/gst/tmpl/gstxml.sgml:
7381 inlined more docs, fixed double id-ref
7383 2005-08-31 Wim Taymans <wim@fluendo.com>
7385 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7386 (gst_base_transform_handle_buffer):
7387 Passthrough elements don't need the caps as they don't care.
7389 2005-08-31 Wim Taymans <wim@fluendo.com>
7391 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7392 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7393 Don't leak refcounts on buffers.
7395 2005-08-31 Wim Taymans <wim@fluendo.com>
7397 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7398 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7399 (gst_base_transform_chain), (gst_base_transform_change_state):
7400 * gst/base/gstbasetransform.h:
7401 Handle the case where we are not negotiated more gracefully.
7403 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
7405 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7406 (gst_file_src_map_region):
7407 Set READONLY flag on mmap'ed buffers, otherwise
7408 gst_buffer_make_writable() won't work properly (#314708).
7410 2005-08-31 Wim Taymans <wim@fluendo.com>
7412 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7413 passthrough elements can even do inplace on non writable
7414 buffers (as they don't touch them).
7416 2005-08-31 Stefan Kost <ensonic@users.sf.net>
7418 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7419 (gst_test_mono_source_set_property),
7420 (gst_test_mono_source_class_init), (GST_START_TEST),
7421 (gst_controller_suite):
7422 more tests (hehe I have the most)
7424 describe popping messages whenusing mulltiple sources
7425 * libs/gst/controller/gst-controller.c:
7426 (gst_controlled_property_set_interpolation_mode),
7427 (gst_controlled_property_new):
7428 * libs/gst/controller/gst-controller.h:
7429 * libs/gst/controller/gst-interpolation.c:
7430 implement boolean properties
7432 2005-08-31 Wim Taymans <wim@fluendo.com>
7434 * gst/gstminiobject.c: (gst_mini_object_ref):
7435 Cannot assert that the refcount has to be positive
7436 since a disposed object can be resurrected.
7438 2005-08-31 Wim Taymans <wim@fluendo.com>
7440 * gst/gstpad.c: (gst_pad_init):
7441 Revert change, need to first fix badly behaving
7444 2005-08-30 Wim Taymans <wim@fluendo.com>
7446 * check/elements/fakesrc.c: (setup_fakesrc):
7447 * check/elements/identity.c: (setup_identity):
7448 Activate pads before using them.
7450 2005-08-30 Wim Taymans <wim@fluendo.com>
7452 * gst/base/gstadapter.c: (gst_adapter_flush):
7453 Flushing out 0 bytes is ok for this function.
7455 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7456 no newsegment gives a warning and sets the start/stop to
7459 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7460 (gst_base_transform_set_passthrough):
7463 * gst/gstminiobject.c: (gst_mini_object_ref):
7464 Check refcount here too.
7466 * gst/gstpad.c: (gst_pad_init):
7467 Pads are initially flushing and refusing data.
7469 * gst/gstutils.c: (gst_element_link_pads_filtered):
7470 When adding a capsfilter element make sure it has the
7471 same state as the parent bin.
7473 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7475 * docs/gst/tmpl/.cvsignore:
7476 * docs/gst/tmpl/gstformat.sgml:
7477 * docs/gst/tmpl/gstversion.sgml:
7481 * gst/gstversion.h.in:
7482 more docs and two more inlined
7484 2005-08-30 Wim Taymans <wim@fluendo.com>
7486 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7487 Don't sync to clock.
7489 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7491 * docs/gst/gstreamer-sections.txt:
7492 ultral33t func10ns deserve to appear in the docs actually
7493 * docs/gst/tmpl/.cvsignore:
7494 * docs/gst/tmpl/gstcompat.sgml:
7495 * docs/gst/tmpl/gstconfig.sgml:
7496 * gst/check/gstcheck.c:
7498 * gst/gstconfig.h.in:
7501 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7503 * docs/gst/tmpl/.cvsignore:
7504 * docs/gst/tmpl/gstquery.sgml:
7505 * docs/gst/tmpl/gstutils.sgml:
7508 inlined and extended docs
7510 2005-08-30 Stefan Kost <ensonic@users.sf.net>
7512 * check/gst-libs/controller.c: (GST_START_TEST),
7513 (gst_controller_suite):
7515 * docs/gst/tmpl/gstutils.sgml:
7516 * docs/libs/gstreamer-libs-sections.txt:
7517 * docs/libs/tmpl/gstdataprotocol.sgml:
7519 * examples/controller/audio-example.c: (main):
7520 controller example works now
7523 * tools/gst-inspect.c: (print_element_properties_info):
7524 show param spec flags
7526 2005-08-29 Andy Wingo <wingo@pobox.com>
7528 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7530 2005-08-28 Andy Wingo <wingo@pobox.com>
7532 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7533 as having two arguments instead of just one. Allows superclasses
7534 to access information on subclasses -- see the terrible for() loop
7535 in gtype.c:g_type_create_instance for the reason why. All callers
7538 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7540 * docs/design/part-messages.txt:
7542 * docs/gst/tmpl/.cvsignore:
7543 * docs/gst/tmpl/gstcaps.sgml:
7544 * docs/gst/tmpl/gstclock.sgml:
7551 added descriptions for bus and message
7552 inline caps and clock docs
7554 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7560 2005-08-27 Stefan Kost <ensonic@users.sf.net>
7562 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7565 2005-08-26 Andy Wingo <wingo@pobox.com>
7567 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7568 element_set_state's return val.
7569 (test_2_elements): Add test that's been disabled for months.
7571 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7572 can-activate-pull properties.
7574 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7575 can-activate-pull properties. Implement is_seekable so fakesrc can
7576 operate in pull mode.
7578 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7580 (gst_base_sink_activate, gst_base_sink_activate_pull)
7581 (gst_base_sink_activate_push): Make activation mode choosing work.
7583 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7584 is right. Make pull mode work. Post an eos before pausing in pull
7586 (gst_base_sink_change_state): Pay attention to the core's
7587 change_state() return val.
7589 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7590 has-getrange properties. Cleanups.
7592 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7593 has_getrange and replace with can_activate_pull and
7596 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7597 locking comments. Remove has_loop, has_chain and replace with
7598 can_activate_pull and can_activate_push.
7600 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
7603 * examples/Makefile.am:
7604 * examples/metadata/Makefile.am:
7605 * examples/metadata/read-metadata.c: (message_loop),
7606 (have_pad_handler), (make_pipeline), (print_tag), (main):
7607 Add metadata reading example that loops over a list of filenames,
7608 dumping any tags found.
7610 * gst/gstbus.c: (gst_bus_dispose):
7611 * gst/gstelement.c: (gst_element_dispose):
7612 Release a few potentially-held references in dispose.
7614 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7616 * docs/gst/tmpl/gstminiobject.sgml:
7617 do *not* add tmpl/*.sgml files to CVS!
7619 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7621 * libs/gst/bytestream/.cvsignore:
7622 * libs/gst/bytestream/Makefile.am:
7623 * libs/gst/bytestream/adapter.c:
7624 * libs/gst/bytestream/adapter.h:
7625 * libs/gst/bytestream/bytestream.c:
7626 * libs/gst/bytestream/bytestream.h:
7627 * libs/gst/bytestream/filepad.c:
7628 * libs/gst/bytestream/filepad.h:
7629 removing obsolete files
7631 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7633 * docs/gst/gstreamer-docs.sgml:
7634 * docs/libs/gstreamer-libs-docs.sgml:
7635 disabed additional index entries again, as this makes docs-gen just
7636 slow and they aren't useful yet
7637 * docs/libs/gstreamer-libs-sections.txt:
7638 little -section.txt cleanup for libs
7640 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
7642 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7643 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7644 fix up some debugging
7645 (gst_base_transform_get_unit_size),
7646 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7647 (gst_base_transform_handle_buffer):
7648 * gst/base/gstbasetransform.h:
7649 handle and store timed NEWSEGMENT events so that subclasses that
7650 calculate time by counting samples have a segment_start time they
7651 need to add to their timestamps - see audioresample
7653 2005-08-26 Stefan Kost <ensonic@users.sf.net>
7656 removed ';' from the end of macro defs
7657 * docs/gst/gstreamer-docs.sgml:
7658 * docs/gst/gstreamer-sections.txt:
7659 * docs/gst/tmpl/.cvsignore:
7661 * gst/gstelement.c: (gst_element_class_init),
7662 (gst_element_set_state), (activate_pads),
7663 (gst_element_save_thyself):
7664 * gst/gstevent.c: (gst_event_new_newsegment):
7666 * gst/gstiterator.c:
7667 * gst/gstiterator.h:
7670 * gst/gstutils.c: (gst_pad_query_convert):
7672 fixed parameter name mismatches between source, header and docs
7673 added some more docs, resolved the last batch of unused elements in
7674 docs (now someone needs to doc them)
7676 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7678 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7679 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7680 don't walk through the plugins backwards. Where is all this
7681 reversed logic coming from ?
7683 2005-08-25 Wim Taymans <wim@fluendo.com>
7685 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7686 (gst_base_transform_transform_size),
7687 (gst_base_transform_configure_caps),
7688 (gst_base_transform_get_unit_size),
7689 (gst_base_transform_buffer_alloc),
7690 (gst_base_transform_change_state):
7691 * gst/base/gstbasetransform.h:
7692 Cache caps unit_size.
7693 Make sure we cannot negotiate up and downstream at the
7696 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7698 * gst/gst.c: (init_pre), (init_post):
7699 register the installed plugin path after the env var
7700 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7701 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7702 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7703 directories, so the tests can prefer uninstalled over installed
7705 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7707 * gst/base/gstbasetransform.h:
7712 2005-08-25 Wim Taymans <wim@fluendo.com>
7714 * gst/gstbin.c: (bin_bus_handler):
7715 Be a bit more conservative about the posted message.
7717 * gst/gstbus.c: (gst_bus_post):
7718 Some cleanups, warn wrong return values.
7720 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
7722 * check/gst/gstbin.c: (GST_START_TEST):
7723 * gst/gstbin.c: (bin_bus_handler):
7724 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7725 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7726 (gst_message_new_warning), (gst_message_new_tag),
7727 (gst_message_new_state_changed), (gst_message_new_segment_start),
7728 (gst_message_new_segment_done), (gst_message_new_custom):
7730 * tools/gst-launch.c: (event_loop):
7731 * tools/gst-md5sum.c: (event_loop):
7732 Revert unpopular change for GST_MESSAGE_SRC to GObject.
7734 2005-08-25 Wim Taymans <wim@fluendo.com>
7736 * check/generic/states.c: (GST_START_TEST):
7737 Cleanup can be done at the end.
7739 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7740 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7741 (gst_task_get_state), (gst_task_start), (gst_task_pause):
7742 Oh boy.. Thanks for finding this, Thomas.
7744 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7746 * docs/gst/gstreamer.types:
7749 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7751 * docs/gst/gstreamer-docs.sgml:
7752 * docs/gst/gstreamer-sections.txt:
7753 * docs/gst/tmpl/.cvsignore:
7755 * gst/gstiterator.c:
7757 * gst/registries/gstxmlregistry.h:
7758 added missing classes and symbols (123 more to go)
7759 removed removed symbols from section file
7760 fixed many doc-comments
7762 2005-08-24 Wim Taymans <wim@fluendo.com>
7764 * check/generic/states.c: (GST_START_TEST):
7765 Make sure all tasks are stopped.
7767 * check/gst/gstbin.c: (GST_START_TEST):
7768 Unref after usage for proper valgrinding.
7770 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7771 Really wait for the task to stop before destroying the
7774 * gst/gstqueue.c: (gst_queue_sink_activate_push),
7775 (gst_queue_src_activate_push):
7776 Small cleanups. Don't stop the task when we did not start
7779 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7780 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7781 (gst_task_get_state), (gst_task_start), (gst_task_pause),
7784 Protect the stream lock with the object lock.
7785 Disallow setting the stream lock when running.
7786 Add cleanup_all to wait for the threadpool to finish.
7787 Remove code to autoallocate a mutex if none was provided.
7788 Add _join() to wait for a task to stop.
7789 Protect the thread pool with a global lock.
7791 2005-08-24 Wim Taymans <wim@fluendo.com>
7793 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7794 (gst_base_sink_get_times), (gst_base_sink_do_sync),
7795 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7796 * gst/base/gstbasesink.h:
7797 Handle newsegment events correctly.
7798 Drop buffers out of the segment range.
7800 2005-08-22 Andy Wingo <wingo@pobox.com>
7802 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7803 macro, implements an interface and gstimplementsinterface for a
7806 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7808 * check/Makefile.am:
7809 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7810 add a test that does a bunch of state changes on elements
7811 needs some fixing for valgrind
7812 * check/states/sinks.c: (gst_object_suite):
7815 add prototype for gst_caps_is_equal_fixed
7817 * gst/gstregistrypool.c:
7820 2005-08-24 Andy Wingo <wingo@pobox.com>
7822 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7823 convert a negative value. Doesn't make much sense. Mostly this is
7824 here to force callers to ensure -1 maps to -1.
7826 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7828 * docs/pwg/advanced-types.xml:
7829 Well done to Michael for catching my deliberate introduction
7830 of this spelling mistake.
7831 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7833 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7834 unlink pads before removing the element from the bin.
7836 2005-08-24 Andy Wingo <wingo@pobox.com>
7838 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7839 the same thing as GST_DEBUG=*:4.
7840 (parse_debug_level, parse_debug_category): New helper parsers.
7842 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7844 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7845 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7846 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7847 (gst_base_transform_buffer_alloc),
7848 (gst_base_transform_handle_buffer):
7849 use gboolean return values and pointers to size so we can use the
7850 full GST_BUFFER_SIZE range (guint) for buffer sizes
7851 use GstPadDirection for transform_caps
7852 * gst/base/gstbasetransform.h:
7853 rename get_size to get_unit_size since that's what it is
7854 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7855 use GstPadDirection for transform_caps
7856 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7858 cleanup and debugging
7860 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7862 * gst/gstelement.c: (gst_element_class_init),
7863 (gst_element_set_state), (activate_pads),
7864 (gst_element_save_thyself):
7865 * tools/gst-compprep.c: (main):
7866 * tools/gst-inspect.c: (print_element_properties_info):
7867 * tools/gst-xmlinspect.c: (print_element_properties):
7868 Fixed long standing mem-leak
7870 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7872 * check/gst/gstbin.c: (GST_START_TEST):
7873 * gst/gstbin.c: (bin_bus_handler):
7874 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7875 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7876 (gst_message_new_warning), (gst_message_new_tag),
7877 (gst_message_new_state_changed), (gst_message_new_segment_start),
7878 (gst_message_new_segment_done), (gst_message_new_custom):
7880 * tools/gst-launch.c: (event_loop):
7881 * tools/gst-md5sum.c: (event_loop):
7882 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7883 that applications can sensibly post custom messages with references
7884 to their own objects.
7886 2005-08-24 Andy Wingo <wingo@pobox.com>
7888 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7891 2005-08-24 Wim Taymans <wim@fluendo.com>
7893 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7894 (gst_base_transform_transform_caps),
7895 (gst_base_transform_transform_size),
7896 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7897 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7898 (gst_base_transform_handle_buffer):
7899 * gst/base/gstbasetransform.h:
7900 Many fixes and new features added by Thomas. Can now also do
7901 transforms with variable sizes and a custom fixate_caps function.
7903 2005-08-24 Wim Taymans <wim@fluendo.com>
7905 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7909 Cast to ClockTime before formatting to time.
7914 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7916 * check/gst-libs/controller.c: (GST_START_TEST),
7917 (gst_controller_suite):
7918 * docs/gst/tmpl/gstcaps.sgml:
7919 * docs/gst/tmpl/gstghostpad.sgml:
7920 * docs/gst/tmpl/gstquery.sgml:
7921 * docs/gst/tmpl/gstutils.sgml:
7922 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7923 (gst_object_sink_values), (gst_object_get_value_arrays),
7924 (gst_object_get_value_array):
7925 gracefully handle helper method calls to objects that are not beeing
7926 controlled, added test case for that
7928 2005-08-23 Wim Taymans <wim@fluendo.com>
7930 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7931 (gst_event_new_newsegment), (gst_event_parse_newsegment),
7932 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7933 (gst_event_parse_qos), (gst_event_new_seek),
7934 (gst_event_parse_seek):
7936 Some more debugging output and doc cleanups.
7938 * gst/gstqueue.c: (gst_queue_handle_sink_event):
7939 Fix possible deadlock.
7941 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7943 * docs/gst/gstreamer-docs.sgml:
7944 * docs/gst/gstreamer-sections.txt:
7945 * docs/gst/gstreamer.types:
7946 * docs/gst/tmpl/.cvsignore:
7951 added 100 symbols from gstreamer-unused.txt to the right sections
7952 fixed more broken comments
7953 added GstBus to docs
7955 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7957 * docs/gst/gstreamer-sections.txt:
7958 * docs/gst/tmpl/.cvsignore:
7959 * docs/gst/tmpl/gstbin.sgml:
7960 * docs/gst/tmpl/gstbuffer.sgml:
7961 * gst/base/gstbasesrc.c:
7962 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7965 * tools/gst-launch.1.in:
7966 inlined more doc comments, added missing comments and fixed comments
7969 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
7971 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7975 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7977 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7978 * gst/gststructure.h:
7979 add a fixate function for booleans; add a FIXME that these func
7980 names should probably be gst_structure_fixate_*
7982 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7984 * docs/gst/gstreamer-docs.sgml:
7985 * docs/gst/gstreamer-sections.txt:
7987 * gst/gstbin.c: (gst_bin_get_type),
7988 (gst_bin_child_proxy_get_child_by_index),
7989 (gst_bin_child_proxy_get_children_count),
7990 (gst_bin_child_proxy_init):
7991 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7992 (gst_child_proxy_get_child_by_index),
7993 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7994 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7995 (gst_child_proxy_get), (gst_child_proxy_set_property),
7996 (gst_child_proxy_set_valist), (gst_child_proxy_set),
7997 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7998 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7999 * gst/gstchildproxy.h:
8000 * gst/parse/grammar.y:
8001 * tools/gst-inspect.c: (print_interfaces),
8002 (print_element_properties_info), (print_element_info):
8003 ported gstchildproxy over from 0.8
8004 ported gst-inspect fixes and enhancements over from 0.8
8006 2005-08-22 Wim Taymans <wim@fluendo.com>
8008 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8009 (gst_base_transform_handle_buffer):
8010 Also call the transform function if we have ANY caps.
8012 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8015 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
8017 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8018 Don't pretend to handle seek events if the source is not seekable
8020 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
8022 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8023 Remove extra parameter to debug output
8025 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8026 (gst_base_src_do_seek), (gst_base_src_activate_push):
8027 Fix seek event handling.
8029 * gst/gstpipeline.c: (gst_pipeline_change_state):
8030 * gst/gstqueue.c: (gst_queue_handle_sink_event),
8031 (gst_queue_src_activate_push):
8032 Don't start the src pad task on FLUSH_STOP if the pad
8036 2005-08-22 Wim Taymans <wim@fluendo.com>
8038 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8039 Added check for gst_static_caps_get() refcounting.
8041 2005-08-22 Wim Taymans <wim@fluendo.com>
8043 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8044 Make _static_caps_get() refcounting sane.
8046 * gst/gstelement.c: (gst_element_set_state):
8047 Add g_return_val_if_fail() to protect against segfaults.
8049 2005-08-22 Stefan Kost <ensonic@users.sf.net>
8051 * docs/gst/tmpl/gstevent.sgml:
8054 inlined remaining docs, added missing doc comments
8056 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
8058 * check/gst/gstbin.c: (GST_START_TEST):
8059 since we don't know when preroll is done, use refcount range
8061 * gst/check/gstcheck.h:
8062 add macro for checking refcount range
8064 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
8066 * check/Makefile.am:
8067 clean up environment for when registry gets built versus
8068 when actual tests are run; valgrind seems to not report
8069 leaks if GST_PLUGIN_PATH is set to some specific values
8070 * check/gst/gstbin.c: (GST_START_TEST):
8071 add more refcounting checks; maybe this exposes a
8074 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8075 * gst/check/gstcheck.h:
8076 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8077 (gst_bin_change_state):
8078 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8079 add/fix debugging/whitespace
8081 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
8083 * check/gst/gstevent.c: (event_probe), (test_event),
8085 Er, don't call gst_bin_watch_for_state_change you idiot.
8087 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
8089 * check/Makefile.am:
8090 Use CHECK_CFLAGS and CHECK_LIBS
8091 * check/gst/gstevent.c: (event_probe), (test_event),
8094 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8095 (gst_base_src_start), (gst_base_src_stop),
8096 (gst_base_src_activate_push), (gst_base_src_activate_pull),
8097 (gst_base_src_change_state):
8098 Sprinkle gst_base_src_stop liberally around error paths to fix
8099 problems reusing a source after failed state changes.
8100 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8101 (helper_find_suggest), (gst_type_find_helper):
8102 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8104 * docs/gst/tmpl/gstevent.sgml:
8105 Migrate part of the docs from the SGML file. Wait for ensonic to
8106 tell me how I did it wrong ;)
8107 * tools/gst-typefind.c: (main):
8108 Extra robustness to state changes between files.
8110 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
8112 * check/Makefile.am:
8113 don't valgrind the controller test - it's leaking - Stefan, HELP
8114 * gst/check/gstcheck.c: (gst_check_message_error),
8115 (gst_check_chain_func), (gst_check_setup_element),
8116 (gst_check_teardown_element), (gst_check_setup_src_pad),
8117 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8118 (gst_check_teardown_sink_pad):
8119 * gst/check/gstcheck.h:
8120 add a bunch of methods to set up elements, and src and sink pads
8121 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8122 * check/elements/identity.c: (setup_identity), (cleanup_identity),
8127 whitespace/doc fixes
8129 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8132 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8133 be handled by the application and not always printed as well
8135 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8137 * check/Makefile.am:
8139 * gst/check/gstcheck.c: (gst_check_message_error):
8140 * gst/check/gstcheck.h:
8141 add a fail_unless_equals_int
8142 add fail_unless for error messages
8144 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8146 * check/Makefile.am:
8148 * common/Makefile.am:
8151 factor out some of the common stuff so we can use it
8153 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8155 * check/Makefile.am:
8156 * check/gst/gstiterator.c: (GST_START_TEST):
8157 * check/gst/gstsystemclock.c: (GST_START_TEST),
8158 (gst_systemclock_suite):
8159 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8163 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
8165 * check/elements/.cvsignore:
8166 * check/elements/gstfakesrc.c:
8167 rename to name of element
8168 * check/elements/identity.c: (chain_func), (event_func),
8169 (setup_identity), (cleanup_identity), (GST_START_TEST),
8170 (identity_suite), (main):
8171 add a test for identity
8172 * check/Makefile.am:
8173 * pkgconfig/Makefile.am:
8174 * pkgconfig/gstreamer-check.pc.in:
8175 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8179 move the check stuff to a library that gets installed
8180 * check/gst-libs/controller.c: (GST_START_TEST):
8181 * check/gst-libs/gdp.c:
8182 * check/gst/gst.c: (GST_START_TEST):
8183 * check/gst/gstbin.c:
8184 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8185 * check/gst/gstbus.c:
8186 * check/gst/gstcaps.c: (GST_START_TEST):
8187 * check/gst/gstelement.c:
8188 * check/gst/gstghostpad.c:
8189 * check/gst/gstiterator.c:
8190 * check/gst/gstmessage.c:
8191 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8192 * check/gst/gstobject.c:
8193 * check/gst/gstpad.c: (GST_START_TEST):
8194 * check/gst/gststructure.c: (GST_START_TEST):
8195 * check/gst/gstsystemclock.c: (GST_START_TEST),
8196 (gst_systemclock_suite):
8197 * check/gst/gsttag.c: (gst_tag_suite):
8198 * check/gst/gstvalue.c:
8199 * check/pipelines/cleanup.c:
8200 * check/pipelines/simple_launch_lines.c:
8201 * check/states/sinks.c:
8202 change include statement
8204 * docs/gst/gstreamer-sections.txt:
8205 * docs/gst/tmpl/gstpad.sgml:
8206 document more pad stuff
8207 * gst/gstminiobject.c: (gst_mini_object_ref),
8208 (gst_mini_object_unref):
8211 2005-08-19 Stefan Kost <ensonic@users.sf.net>
8213 * docs/gst/tmpl/gst.sgml:
8215 eliminate another tmpl file, fix spelling in the long-description
8217 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8219 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8220 (test_event), (timediff), (gstevents_suite):
8221 Should fix build on 64-bit arch's
8223 2005-08-18 Andy Wingo <wingo@pobox.com>
8225 Make sure that when a pipeline goes to PLAYING, that data has
8226 actually hit the sink.
8228 * check/states/sinks.c (test_sink): A sink that doesn't get any
8229 data shouldn't return SUCCESS for going to either PLAYING or
8230 PAUSED. Test also the return values on the way back down.
8232 * gst/gstelement.c (gst_element_set_state): When changing the
8233 state of an element currently changing state asynchronously, go to
8234 lost-state after commiting the pending state. Makes future calls
8235 to get_state continue to return ASYNC.
8237 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8238 ASYNC when going to PLAYING if we still don't have preroll, as can
8239 happen with live sources.
8241 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8243 * docs/pwg/advanced-types.xml:
8244 Hack long paragraph into 2 chunks as a workaround for buggy
8245 jadetex version in sid and breezy that loops infinitely and
8248 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8250 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8251 (test_event), (timediff), (gstevents_suite):
8252 Provide more error margin in clock measurements to allow for
8253 g_get_current_time inaccuracies.
8255 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8257 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8258 (test_event), (timediff), (gstevents_suite):
8259 Fix error message output so I might be able to tell why the
8260 test works here but fails on the build farm.
8262 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
8264 * check/Makefile.am:
8265 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8266 (test_event), (timediff), (gstevents_suite), (main):
8269 * docs/design/part-seeking.txt:
8272 * docs/gst/tmpl/gstevent.sgml:
8273 * docs/gst/tmpl/gstfakesrc.sgml:
8276 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8277 Treat a buffer-without-newsegment the same as a receiving
8278 a newsegment not in time format, and disable syncing to the clock
8281 * gst/gstbus.c: (gst_bus_set_sync_handler):
8282 Assert if anyone tries to replace the existing sync_handler for bus,
8283 as only the owner should be setting it.
8286 Have a fixed set of custom event enums with events identified by
8287 their structure name (as in 0.8), rather than a free-for-all
8288 allowing collisions between enum values from different plugins.
8290 * gst/gstpad.c: (gst_pad_class_init):
8293 * gst/gstqueue.c: (gst_queue_handle_sink_event):
8294 Handle out-of-band downstream events from the sending thread.
8296 2005-08-17 Andy Wingo <wingo@pobox.com>
8298 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8299 play-timeout==0 to mean no timeout at all. In that case, don't
8300 bother with a get_state or a warning, just return directly, even
8303 * gst/base/gstbasetransform.c: Debug changes.
8306 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8307 ensure bins post state change messages. A bit of a hack but I can't
8308 think of a way to avoid it.
8310 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8312 2005-08-16 Andy Wingo <wingo@pobox.com>
8314 * gst/base/gstadapter.h:
8315 * gst/base/gstadapter.c (gst_adapter_take): New function, like
8316 peek() but you own the data. Not terribly efficient atm.
8318 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8320 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8321 (gst_element_found_tags):
8323 Add two utility functions for tag handling.
8325 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8327 * docs/manual/advanced-dataaccess.xml:
8328 * docs/manual/basics-helloworld.xml:
8329 Fix docs to use _bin_add() before _link(), which fixes the examples
8330 with recent core versions (reported by Madhan Raj M
8331 <raj_madan@rediffmail.com>, #313199).
8333 2005-08-16 Wim Taymans <wim@fluendo.com>
8335 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8336 Added subtract checks.
8338 * docs/design/part-events.txt:
8339 Some more docs about newsegment
8341 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8344 * gst/gstcaps.c: (gst_caps_to_string):
8345 Add comments, cleanups.
8347 * gst/gstelement.c: (gst_element_save_thyself):
8350 * gst/gstvalue.c: (gst_value_collect_int_range),
8351 (gst_string_unwrap), (gst_value_union_int_int_range),
8352 (gst_value_union_int_range_int_range),
8353 (gst_value_intersect_int_int_range),
8354 (gst_value_intersect_int_range_int_range),
8355 (gst_value_intersect_double_double_range),
8356 (gst_value_intersect_double_range_double_range),
8357 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8358 (gst_value_subtract_int_range_int),
8359 (gst_value_subtract_double_range_double),
8360 (gst_value_subtract_double_range_double_range),
8361 (gst_value_subtract_from_list), (gst_value_subtract_list),
8362 (gst_value_can_compare), (gst_value_compare_fraction):
8363 Cleanups, add comments, remove unneeded asserts.
8365 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8367 * tools/gst-launch.c: (event_loop):
8368 don't convert NULL structures to strings
8370 2005-08-15 Stefan Kost <ensonic@users.sf.net>
8372 * docs/gst/gstreamer-sections.txt:
8373 made some defines private
8374 * docs/gst/tmpl/gstconfig.sgml:
8375 * docs/gst/tmpl/gstqueue.sgml:
8376 * docs/gst/tmpl/gsttaglist.sgml:
8377 * docs/gst/tmpl/gsttypes.sgml:
8378 * docs/gst/tmpl/gstutils.sgml:
8379 * docs/pwg/appendix-porting.xml:
8380 * gst/base/gstbasesink.h:
8381 * gst/base/gstbasesrc.c:
8382 * gst/base/gstbasesrc.h:
8383 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8384 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8385 * gst/gstelement.c: (gst_element_class_init):
8386 * gst/gstpad.c: (gst_pad_class_init):
8387 * gst/gstqueue.c: (gst_queue_class_init):
8388 * gst/gstxml.c: (gst_xml_class_init):
8389 documented all undocumented signal inline
8390 * libs/gst/controller/gst-controller.h:
8393 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8395 * docs/pwg/appendix-porting.xml:
8396 Document _set_link_function -> _set_setcaps_function.
8398 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
8400 * check/Makefile.am:
8401 add a .check target for running the check
8402 * check/gst-libs/controller.c: (GST_START_TEST):
8404 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8405 complete checks for gstbuffer; would be nice if I could get the
8406 gcov stuff to work so I can see if I actually completed gstbuffer.c
8408 add ASSERT_BUFFER_REFCOUNT
8410 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
8412 * docs/gst/gstreamer-sections.txt:
8413 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8415 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8416 spew out a warning if a tag that is already registered
8417 is re-registered, unless it is re-registered with a
8418 different type (#308438).
8420 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
8422 * docs/pwg/appendix-porting.xml:
8423 * docs/pwg/building-state.xml:
8424 Add some paragraphs about state changes in 0.9 to the PWG
8425 and the porting guide, in particular about the new meaning
8426 of GST_STATE_PAUSED and how to write state change functions
8427 with concurrent access by multiple threads in mind.
8429 2005-08-11 Stefan Kost <ensonic@users.sf.net>
8431 * docs/gst/gstreamer-docs.sgml:
8432 * docs/libs/gstreamer-libs-docs.sgml:
8433 added deprecation and since indexes
8434 * libs/gst/controller/gst-controller.c:
8435 * libs/gst/controller/gst-helper.c:
8439 2005-08-11 Wim Taymans <wim@fluendo.com>
8441 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8442 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8443 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8444 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8445 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8446 (gst_ghost_pad_set_target):
8447 Actually implement (re)setting the target on a ghostpad
8448 as described in the docs.
8450 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8452 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8453 Check whether GST_DEBUG_NO_COLOR environment variable is
8454 set and disable coloured debug output if that is the case.
8456 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
8458 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8459 (gst_type_find_helper):
8460 The memory returned by gst_type_find_peek() needs to
8461 stay valid until the end of a typefind function, and
8462 typefind functions may keep results from different
8463 offsets around, so we can't just unref the buffer from
8464 the previous _peek(), but have to save all buffers
8465 returned by _peek() until typefinding is done and only
8468 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
8470 * docs/gst/gstreamer-sections.txt:
8472 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8474 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8476 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8477 Fix a pretty good memleak.
8479 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8481 * gst/gstiterator.h:
8482 Fix wrong include and 'make distcheck'.
8484 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8486 * gst/gstbin.c: (bin_bus_handler):
8487 Use gst_element_post_message() instead.
8489 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
8491 * gst/base/gstadapter.h:
8492 * gst/base/gstbasesink.h:
8493 * gst/base/gstbasesrc.h:
8494 * gst/base/gstbasetransform.h:
8495 * gst/base/gstcollectpads.h:
8496 * gst/base/gstpushsrc.h:
8497 * gst/gstiterator.h:
8498 Add padding to our base elements' class and instance structs and
8499 to GstIterator (you will need to rebuild all plugins and apps!)
8501 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8503 * gst/gstbin.c: (bin_bus_handler):
8504 Make default message forwarding from child->bus to bin->bus
8505 threadsafe and make it not emit warnings if the parent has no bus.
8507 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8509 * gst/gstelement.c: (activate_pads):
8510 On paused->ready, set pad->caps to NULL, as is the documented
8511 behaviour in this state change. Fixes playback of series of
8512 media files when visualization is enabled in Totem.
8514 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8516 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8517 Allow NULL as filter-caps (which means "any").
8519 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8521 * docs/libs/gstreamer-libs-sections.txt:
8522 * libs/gst/controller/gst-controller.c:
8523 * libs/gst/controller/gst-controller.h:
8524 * libs/gst/controller/gst-helper.c:
8525 adding more entries to the docs and fix small doc-bugs
8527 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8529 * docs/gst/gstreamer-docs.sgml:
8530 * docs/gst/gstreamer-sections.txt:
8531 * docs/gst/gstreamer.types:
8532 * docs/gst/tmpl/gstbasesink.sgml:
8533 * docs/gst/tmpl/gstbasesrc.sgml:
8534 * docs/gst/tmpl/gstbasetransform.sgml:
8535 * docs/gst/tmpl/gstfakesrc.sgml:
8536 * gst/base/gstcollectpads.c:
8537 * gst/base/gstcollectpads.h:
8538 * libs/gst/controller/gst-controller.c:
8539 * libs/gst/controller/gst-controller.h:
8540 * libs/gst/controller/gst-helper.c:
8541 * libs/gst/controller/gst-interpolation.c:
8542 * libs/gst/controller/lib.c:
8543 added long/short desc for controller docs
8544 added collectpads base class docs
8545 added correct includes to base-class docs
8547 2005-08-05 Stefan Kost <ensonic@users.sf.net>
8549 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8550 (gst_test_mono_source_set_property),
8551 (gst_test_mono_source_class_init), (GST_START_TEST),
8552 (gst_controller_suite):
8553 * docs/gst/gstreamer-docs.sgml:
8554 * docs/gst/gstreamer-sections.txt:
8555 * docs/gst/gstreamer.types:
8556 * docs/libs/gstreamer-libs-docs.sgml:
8557 * docs/libs/gstreamer-libs-sections.txt:
8558 * gst/base/gstadapter.c:
8559 * libs/gst/controller/gst-controller.c:
8560 (gst_controlled_property_new), (gst_controlled_property_free),
8561 (gst_controller_new_valist),
8562 (gst_controller_remove_properties_valist),
8563 (gst_controller_sink_values), (_gst_controller_finalize):
8564 * libs/gst/controller/gst-controller.h:
8565 * libs/gst/controller/gst-helper.c:
8566 (gst_object_control_properties), (gst_object_uncontrol_properties),
8567 (gst_object_get_controller), (gst_object_set_controller),
8568 (gst_object_sink_values), (gst_object_get_value_arrays),
8569 (gst_object_get_value_array):
8570 more tests (and fixes) for the controller
8571 more docs for the controller
8572 integrated companies docs for the adapter
8574 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
8576 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8577 (GST_START_TEST), (fakesrc_suite):
8578 add tests for sizetype
8580 2005-08-04 Andy Wingo <wingo@pobox.com>
8582 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8583 fixes buffer_alloc proxying among other things.
8585 * gst/base/gstbasetransform.c:
8586 * gst/base/gstbasetransform.h:
8587 Revert patch to gstbasetransform from 7-28 removing
8590 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8591 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8592 Semantics changed, should return not the size of the output buffer
8593 but the byte size of a buffer with a given caps.
8595 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8597 (gst_base_transform_configure_caps): Don't set out_size here: (in,
8598 out) are not the pad caps until setcaps finishes.
8599 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8600 not-in-place case as well. Deal with changing from in-place to
8601 not-in-place within calling pad_alloc_buffer. Still a bit
8602 concerned about the overhead here...
8604 2005-08-03 Andy Wingo <wingo@pobox.com>
8606 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8607 fixating is an error.
8609 2005-08-04 Edward Hervey <edward@fluendo.com>
8611 * gst/base/gstadapter.h:
8612 Added gst_adapter_get_type() to the header
8614 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8616 * check/Makefile.am:
8617 * check/gst-libs/controller.c:
8618 * libs/gst/controller/gst-controller.c:
8619 (gst_controller_new_valist):
8620 added check test suite for the controller
8621 * gst/base/gstpushsrc.c:
8624 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8626 * docs/gst/Makefile.am:
8627 * docs/gst/gstreamer-docs.sgml:
8628 * docs/gst/gstreamer-sections.txt:
8629 * docs/gst/gstreamer.types:
8630 * docs/gst/tmpl/gstfakesrc.sgml:
8632 * gst/base/gstbasesink.c:
8633 * gst/base/gstbasesink.h:
8634 * gst/base/gstbasesrc.c:
8635 * gst/base/gstbasesrc.h:
8636 * gst/base/gstbasetransform.c:
8637 * gst/base/gstpushsrc.c:
8638 * gst/base/gstpushsrc.h:
8639 add short/long description docs to base classes
8640 add pushsrc to the docs
8641 remove consolidated doc fragments
8643 2005-08-03 Stefan Kost <ensonic@users.sf.net>
8646 * docs/libs/Makefile.am:
8647 * docs/libs/gstreamer-libs-docs.sgml:
8648 * docs/libs/gstreamer-libs-sections.txt:
8649 * docs/libs/gstreamer-libs.types:
8650 * examples/Makefile.am:
8651 * examples/controller/.cvsignore:
8652 * examples/controller/Makefile.am:
8653 * examples/controller/audio-example.c: (main):
8654 * libs/gst/Makefile.am:
8655 * libs/gst/controller/.cvsignore:
8656 * libs/gst/controller/Makefile.am:
8657 * libs/gst/controller/gst-controller.c:
8658 (on_object_controlled_property_changed), (gst_timed_value_compare),
8659 (gst_timed_value_find),
8660 (gst_controlled_property_set_interpolation_mode),
8661 (gst_controlled_property_new), (gst_controlled_property_free),
8662 (gst_controller_find_controlled_property),
8663 (gst_controller_new_valist), (gst_controller_new),
8664 (gst_controller_remove_properties_valist),
8665 (gst_controller_remove_properties), (gst_controller_set),
8666 (gst_controller_set_from_list), (gst_controller_unset),
8667 (gst_controller_get), (gst_controller_get_all),
8668 (gst_controller_sink_values), (gst_controller_get_value_arrays),
8669 (gst_controller_get_value_array),
8670 (gst_controller_set_interpolation_mode),
8671 (_gst_controller_finalize), (_gst_controller_init),
8672 (_gst_controller_class_init), (gst_controller_get_type):
8673 * libs/gst/controller/gst-controller.h:
8674 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8675 (g_object_uncontrol_properties), (g_object_get_controller),
8676 (g_object_set_controller), (g_object_sink_values),
8677 (g_object_get_value_arrays), (g_object_get_value_array):
8678 * libs/gst/controller/gst-interpolation.c:
8679 (gst_controlled_property_find_timed_value_node),
8680 (interpolate_none_get), (interpolate_trigger_get),
8681 (interpolate_trigger_get_value_array):
8682 * libs/gst/controller/lib.c: (gst_controller_init):
8683 * pkgconfig/Makefile.am:
8684 * pkgconfig/gstreamer-control-uninstalled.pc.in:
8685 * pkgconfig/gstreamer-control.pc.in:
8686 * testsuite/Makefile.am:
8687 * testsuite/controller/.cvsignore:
8688 * testsuite/controller/Makefile.am:
8689 * testsuite/controller/interpolator.c: (main):
8690 added controller code
8691 removed dparam pc files
8693 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8694 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8695 (gst_collectpads_stop):
8696 Broadcast the condition when shutting down, to make sure we wake all
8697 threads up. Shut down pads on finalize, for safety.
8699 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8700 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8701 (gst_base_transform_handle_buffer),
8702 (gst_base_transform_change_state):
8703 Handle PAUSED->READY->PAUSED transition after negotiation
8705 * gst/gstmessage.c: (gst_message_init):
8706 Extra piece of debug for new messages.
8708 2005-08-01 Stefan Kost <ensonic@users.sf.net>
8711 * docs/gst/tmpl/gstbasesrc.sgml:
8712 * docs/gst/tmpl/gstelement.sgml:
8713 * docs/gst/tmpl/gstevent.sgml:
8714 * docs/gst/tmpl/gstfakesrc.sgml:
8715 * docs/gst/tmpl/gstformat.sgml:
8716 * docs/gst/tmpl/gstghostpad.sgml:
8717 * docs/gst/tmpl/gstpad.sgml:
8718 * docs/gst/tmpl/gstquery.sgml:
8719 * docs/gst/tmpl/gststructure.sgml:
8720 * docs/gst/tmpl/gsttaglist.sgml:
8721 * docs/gst/tmpl/gstvalue.sgml:
8722 * docs/libs/gstreamer-libs-docs.sgml:
8723 * docs/libs/gstreamer-libs-sections.txt:
8724 * docs/libs/gstreamer-libs.types:
8725 * libs/gst/Makefile.am:
8726 * libs/gst/control/.cvsignore:
8727 * libs/gst/control/Makefile.am:
8728 * libs/gst/control/control.c:
8729 * libs/gst/control/control.h:
8730 * libs/gst/control/dparam.c:
8731 * libs/gst/control/dparam.h:
8732 * libs/gst/control/dparam_smooth.c:
8733 * libs/gst/control/dparam_smooth.h:
8734 * libs/gst/control/dparamcommon.h:
8735 * libs/gst/control/dparammanager.c:
8736 * libs/gst/control/dparammanager.h:
8737 * libs/gst/control/dplinearinterp.c:
8738 * libs/gst/control/dplinearinterp.h:
8739 * libs/gst/control/unitconvert.c:
8740 * libs/gst/control/unitconvert.h:
8741 * testsuite/Makefile.am:
8742 * testsuite/dynparams/.cvsignore:
8743 * testsuite/dynparams/Makefile.am:
8744 * testsuite/dynparams/dparamstest.c:
8745 * tools/Makefile.am:
8746 * tools/gst-inspect.c: (print_element_info), (main):
8747 * tools/gst-xmlinspect.c: (print_element_info), (main):
8748 deactivate and remove dparams (libgstcontrol)
8750 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8752 * gst/elements/gsttypefindelement.c:
8753 (gst_type_find_element_have_type), (gst_type_find_element_init),
8754 (stop_typefinding), (gst_type_find_element_handle_event),
8755 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8756 * gst/elements/gsttypefindelement.h:
8757 Set caps on all outgoing buffers, not just the first one.
8759 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8761 * gst/elements/gsttypefindelement.c:
8762 (gst_type_find_element_have_type),
8763 (gst_type_find_element_check_set_buffer_caps),
8764 (gst_type_find_element_init), (stop_typefinding),
8765 (gst_type_find_element_handle_event),
8766 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8767 * gst/elements/gsttypefindelement.h:
8768 Set caps on first outgoing buffer when we've found the type.
8770 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8772 * docs/gst/gstreamer-docs.sgml:
8773 * docs/gst/gstreamer-sections.txt:
8774 * docs/gst/tmpl/gstscheduler.sgml:
8775 * docs/gst/tmpl/gstschedulerfactory.sgml:
8776 Remove some old cruft from docs.
8778 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
8781 Fix inline docs for GstPadLinkReturn.
8783 * gst/gststructure.c: (gst_structure_has_name):
8784 * gst/gststructure.h:
8785 * docs/gst/gstreamer-sections.txt:
8786 New API: gst_structure_has_name().
8788 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
8791 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8792 and _LARGEFILE_SOURCE in config.h as required. Do not
8793 export those flags in our .pc files any longer (#142209).
8795 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8797 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8798 (gst_file_sink_do_seek), (gst_file_sink_event),
8799 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8800 Redo seek/tell calls with large file support in mind; add some
8801 debugging messages; add log message that tells us when large
8802 file support is unavailable or not enabled for some reason.
8804 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8805 Add log message that tells us when large file support
8806 is unavailable or not enabled for some reason.
8808 2005-07-29 Wim Taymans <wim@fluendo.com>
8810 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8811 Added test for removing an element with ghostpad from a bin.
8812 Fixed test as current implementation does the right thing.
8814 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8815 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8816 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8817 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8818 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8819 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8820 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8821 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8822 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8823 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8824 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8825 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8826 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8827 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8828 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8829 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8830 * gst/gstghostpad.h:
8831 Clean up ghostpads, remove properties for internal stuff.
8834 Prepare for switching targets, not all use cases work yet.
8836 2005-07-29 Wim Taymans <wim@fluendo.com>
8838 * docs/design/part-gstghostpad.txt:
8841 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8842 (gst_bin_remove_func):
8843 Unlinking pads while holding the bin LOCK is not a good
8846 * gst/gstpad.c: (gst_pad_class_init),
8847 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8848 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8849 No prob setting template after creating the pad.
8851 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
8853 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8854 (gst_bus_peek), (gst_bus_source_dispatch),
8855 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8856 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8857 gst_bus_poll may be called from other threads. Handle
8858 this nicely by not making poll_data disappear off the
8859 stack once gst_bus_poll returns.
8860 gst_bus_peek now increments the refcount on the returned
8863 2005-07-29 Wim Taymans <wim@fluendo.com>
8865 * docs/design/part-gstghostpad.txt:
8866 Overview of current GhostPad datastructures and use
8867 cases for changing the target.
8869 2005-07-28 Wim Taymans <wim@fluendo.com>
8871 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8872 Added checks for hierarchy consistency whan adding linked
8875 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8876 Added check to test element scheduling without bin/pipeline.
8878 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8879 First add elements to bin, then link.
8881 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8882 (gst_bin_remove_func):
8883 Unlink pads from elements added/removed from bin to maintain
8884 hierarchy consistency.
8886 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8888 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8889 (gst_base_transform_handle_buffer):
8890 * gst/base/gstbasetransform.h:
8891 Remove broken delay_configure (fixes renegotiation of software
8892 scaling pipelines); remove some leftover printf()s.
8894 2005-07-28 Wim Taymans <wim@fluendo.com>
8896 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8897 Added some more tests for wrong hierarchy
8899 * docs/design/part-overview.txt:
8902 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8905 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8906 (gst_element_dispose):
8909 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8910 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8911 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8912 (gst_pad_set_caps), (gst_pad_send_event):
8913 Check for correct hierarchy when linking pads. Moving to
8914 strict requirement for ghostpads when linking elements in
8918 Clean ups. Added WRONG_HIERARCHY return value.
8920 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8922 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8923 Better debug if no transform is possible.
8925 2005-07-27 Wim Taymans <wim@fluendo.com>
8927 * docs/random/wtay/network-transp:
8930 2005-07-27 Wim Taymans <wim@fluendo.com>
8932 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8933 (gst_dp_event_from_packet):
8934 Fix serialization of seek events.
8936 2005-07-27 Wim Taymans <wim@fluendo.com>
8938 * check/gst-libs/gdp.c: (GST_START_TEST):
8939 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8940 Fix compilation and fix event serialization.
8942 2005-07-27 Wim Taymans <wim@fluendo.com>
8945 * docs/design/part-TODO.txt:
8946 * docs/design/part-events.txt:
8949 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8950 (gst_base_sink_event), (gst_base_sink_do_sync),
8951 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8952 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8953 (gst_base_src_do_seek), (gst_base_src_event_handler),
8954 (gst_base_src_loop):
8955 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8956 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8957 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8958 (gst_base_transform_event), (gst_base_transform_handle_buffer),
8959 (gst_base_transform_set_passthrough),
8960 (gst_base_transform_is_passthrough):
8961 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8962 * gst/elements/gstfilesink.c: (gst_file_sink_event):
8968 * gst/gstelement.c: (gst_element_seek):
8970 Update gst_element_seek.
8972 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8973 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8974 (gst_event_new_flush_start), (gst_event_new_flush_stop),
8975 (gst_event_new_eos), (gst_event_new_newsegment),
8976 (gst_event_parse_newsegment), (gst_event_new_tag),
8977 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8978 (gst_event_parse_qos), (gst_event_new_seek),
8979 (gst_event_parse_seek), (gst_event_new_navigation):
8981 Make GstEvent use GstStructure. Add parsing code, make sure the
8982 API is sufficiently generic.
8983 Mark possible directions of events and serialization.
8985 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8986 (_gst_message_copy), (gst_message_new_segment_start),
8987 (gst_message_new_segment_done), (gst_message_new_custom),
8988 (gst_message_parse_segment_start),
8989 (gst_message_parse_segment_done):
8992 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8993 (gst_pad_set_caps), (gst_pad_send_event):
8994 Update for new events.
8995 Catch events sent in wrong directions.
8997 * gst/gstqueue.c: (gst_queue_link_src),
8998 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8999 (gst_queue_handle_src_query):
9004 Remove event code from this file.
9006 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9007 (gst_dp_event_from_packet):
9010 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9012 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9013 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9014 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9015 Make debugging actually useful.
9017 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9019 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9020 (gst_pad_fixate_caps):
9021 Implement default fixation once again, so that gst_pad_fixate()
9022 actually does anything at all. This probably needs to be some
9023 sort of a last resort, and use profile-based fixation first, but
9024 since that doesn't exist yet, this is the best we have. Fixes
9025 visualization in Totem.
9027 2005-07-22 Wim Taymans <wim@fluendo.com>
9029 * docs/design/part-events.txt:
9032 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9033 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9034 (gst_base_sink_activate_pull):
9037 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9038 (gst_fake_src_create):
9039 Fix handoff marshall.
9041 * gst/elements/gstidentity.c: (gst_identity_class_init),
9042 (gst_identity_transform_ip):
9043 We're a real inplace element.
9045 * gst/gstbus.c: (gst_bus_post):
9046 Added some comments.
9048 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9049 * tests/muxing/case1.c: (main):
9050 * tests/sched/dynamic-pipeline.c: (main):
9051 * tests/sched/interrupt1.c: (main):
9052 * tests/sched/interrupt2.c: (main):
9053 * tests/sched/interrupt3.c: (main):
9054 * tests/sched/runxml.c: (main):
9055 * tests/sched/sched-stress.c: (main):
9056 * tests/seeking/seeking1.c: (event_received), (main):
9057 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9059 * tests/threadstate/threadstate3.c: (main):
9060 * tests/threadstate/threadstate4.c: (main):
9061 * tests/threadstate/threadstate5.c: (main):
9064 2005-07-21 Wim Taymans <wim@fluendo.com>
9066 * docs/design/part-seeking.txt:
9067 Some small additions.
9069 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9070 (gst_base_sink_get_times), (gst_base_sink_do_sync),
9071 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9072 * gst/base/gstbasesink.h:
9073 discont values are gint64, handle the math correctly.
9075 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9076 Make the basesrc report error if the source pad is not linked.
9078 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9079 (gst_queue_loop), (gst_queue_handle_src_query),
9080 (gst_queue_src_activate_push):
9081 Make queue collect data even if the srcpad is not linked.
9082 Start pushing out data as soon as it is linked.
9084 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9086 Added gst_flow_get_name() to ease error reporting.
9088 2005-07-20 Wim Taymans <wim@fluendo.com>
9090 * gst/gstmessage.c: (gst_message_new_segment_start),
9091 (gst_message_new_segment_done), (gst_message_parse_segment_start),
9092 (gst_message_parse_segment_done):
9094 Added a bunch of messages for advanced seeking.
9096 * gst/parse/grammar.y:
9097 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9098 (gst_dpman_state_changed):
9099 Fix some new-pad -> pad-added signals
9101 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9103 * docs/manual/appendix-porting.xml:
9104 * docs/pwg/appendix-porting.xml:
9105 Document new-pad/state-change signal renames and the FixedList
9108 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9110 * docs/manual/advanced-autoplugging.xml:
9111 * docs/manual/basics-helloworld.xml:
9112 * docs/manual/basics-pads.xml:
9113 * docs/random/ds/0.9-suggested-changes:
9114 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9119 * gst/gststructure.c: (gst_structure_value_get_generic_type),
9120 (gst_structure_parse_array), (gst_structure_parse_value):
9121 * gst/gstvalue.c: (gst_type_is_fixed),
9122 (gst_value_list_prepend_value), (gst_value_list_append_value),
9123 (gst_value_list_get_size), (gst_value_list_get_value),
9124 (gst_value_transform_array_string), (gst_value_serialize_array),
9125 (gst_value_deserialize_array), (gst_value_intersect_array),
9126 (gst_value_is_fixed), (_gst_value_initialize):
9128 GstElement::new-pad -> pad-added, GstElement::state-change ->
9129 state-changed, GstValueFixedList -> GstValueArray, add format and
9130 flags as their own arguments in gst_element_seek() (should improve
9131 "bindeability"), remove function generators since they don't work
9132 under a whole bunch of compilers (they were deprecated already
9135 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9137 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9138 (_gst_debug_register_funcptr):
9140 Fix illegal cast on some platforms (#309253).
9142 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9144 * gst/gstmessage.c: (gst_message_new_custom):
9146 Add _new_custom, make _new_application a macro to _new_custom.
9148 2005-07-20 Wim Taymans <wim@fluendo.com>
9150 * gst/base/gstbasesrc.c: (gst_base_src_init),
9151 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9152 * gst/base/gstbasesrc.h:
9153 Add a gboolean to decide when to push out a discont.
9155 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9156 (gst_queue_loop), (gst_queue_handle_src_query),
9157 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9158 (gst_queue_set_property), (gst_queue_get_property):
9161 * tests/threadstate/threadstate1.c: (main):
9162 Make a thread test compile and run... very silly..
9165 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9167 * docs/manual/appendix-porting.xml:
9168 Mention removal of libgstgconf-0.9.la and existence of gconf
9171 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9173 * docs/pwg/advanced-clock.xml:
9174 * docs/pwg/appendix-porting.xml:
9175 * docs/pwg/intro-preface.xml:
9176 * docs/pwg/other-base.xml:
9177 * docs/pwg/other-manager.xml:
9178 * docs/pwg/other-nton.xml:
9179 * docs/pwg/other-ntoone.xml:
9180 * docs/pwg/other-oneton.xml:
9182 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9183 demuxer), remove n-to-n (was never written), fix some code examples
9184 and links and update the porting section to include all this.
9186 2005-07-19 Wim Taymans <wim@fluendo.com>
9188 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9189 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9190 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9191 (gst_queue_src_activate_push), (gst_queue_change_state),
9192 (gst_queue_get_property):
9194 Propagate GstFlowReturn more intelligently upstream and output
9195 an ERROR/EOS when streaming stopped due to fatal error.
9197 2005-07-19 Wim Taymans <wim@fluendo.com>
9199 * tools/gst-launch.c: (check_intr), (event_loop), (main):
9200 Don't block forever for the state change to complete, the
9201 pipeline already did with a sensible timeout.
9203 2005-07-19 Wim Taymans <wim@fluendo.com>
9205 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9206 Make sure we never call the create function is we
9209 2005-07-19 Andy Wingo <wingo@pobox.com>
9211 * gst/parse/parse.l: Attempt to solve bug #172815.
9213 2005-07-19 Wim Taymans <wim@fluendo.com>
9215 * docs/design/part-clocks.txt:
9216 * docs/design/part-events.txt:
9217 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9219 Only update the seeking values when we are not
9222 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
9224 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9225 Oops, ignore the result of gst_pad_push_event here.
9227 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
9229 * gst/base/gstbasesrc.c: (gst_base_src_loop),
9230 (gst_base_src_activate_push):
9231 Send discont event from the loop function, as pads
9232 aren't activated yet in the activate_push handler.
9234 * gst/gstbin.c: (bin_bus_handler):
9235 Don't leak element name.
9237 2005-07-18 Andy Wingo <wingo@pobox.com>
9239 * configure.ac: Use AS_LIBTOOL_TAGS.
9241 2005-07-18 Wim Taymans <wim@fluendo.com>
9243 * docs/gst/gstreamer.types:
9244 Remove deleted types.
9246 2005-07-18 Wim Taymans <wim@fluendo.com>
9248 * check/elements/gstfakesrc.c: (GST_START_TEST):
9251 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9252 (init_popt_callback):
9254 * gst/gst_private.h:
9255 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9256 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9259 * gst/gstconfig.h.in:
9260 * gst/gstelement.c: (gst_element_class_init),
9261 (gst_element_set_base_time), (gst_element_get_base_time),
9262 (iterator_fold_with_resync), (gst_element_change_state),
9263 (gst_element_dispose), (gst_element_get_bus):
9265 * gst/gstelementfactory.h:
9266 * gst/gsterror.c: (_gst_core_errors_init):
9269 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9271 * gst/gstinfo.c: (_gst_debug_init):
9272 * gst/gstmessage.c: (_gst_message_copy):
9274 * gst/gstminiobject.h:
9277 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9278 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9281 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9282 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9283 (gst_pipeline_get_last_stream_time):
9284 * gst/gstpipeline.h:
9285 * gst/gstpluginfeature.h:
9287 * gst/gstscheduler.c:
9288 * gst/gstscheduler.h:
9289 * gst/gststructure.h:
9290 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9291 (gst_task_finalize), (gst_task_func), (gst_task_create),
9292 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9293 (gst_task_stop), (gst_task_pause):
9295 * gst/gsttypefind.h:
9297 * gst/registries/gstlibxmlregistry.c: (load_feature),
9298 (gst_xml_registry_load), (gst_xml_registry_save_feature):
9299 * gst/registries/gstxmlregistry.c:
9300 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9301 * gst/schedulers/threadscheduler.c:
9302 * libs/gst/control/dparammanager.h:
9303 * tools/gst-inspect.c: (print_element_list),
9304 (print_plugin_features), (print_element_features):
9305 * tools/gst-xmlinspect.c: (print_element_list),
9306 (print_plugin_info), (main):
9307 Removed plugable schedulers.
9308 Removed Scheduler/Manager from elements.
9309 Removed gsttypes.h, rearranged includes.
9310 Removed dependency pad<->element, element<>pipeline, and
9311 various others, fix includes.
9312 implement gst_pad_get_parent() with gst_object_get_parent()
9313 Make GstTask sefcontained.
9314 Fix _get_state() on GstBin, it did not return ASYNC with a 0
9316 Fix endless loop in iterator_fold_with_resync.
9319 2005-07-18 Wim Taymans <wim@fluendo.com>
9325 2005-07-18 Wim Taymans <wim@fluendo.com>
9330 2005-07-18 Wim Taymans <wim@fluendo.com>
9336 2005-07-18 Wim Taymans <wim@fluendo.com>
9338 * docs/design/part-dynamic.txt:
9339 * docs/design/part-events.txt:
9340 * docs/design/part-seeking.txt:
9341 Some more docs in the works.
9343 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9344 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9345 (gst_base_transform_setcaps), (gst_base_transform_get_size),
9346 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9347 (gst_base_transform_handle_buffer),
9348 (gst_base_transform_sink_activate_push),
9349 (gst_base_transform_src_activate_pull),
9350 (gst_base_transform_set_passthrough),
9351 (gst_base_transform_is_passthrough):
9354 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9357 * gst/gstevent.c: (gst_event_finalize):
9360 * gst/gstutils.c: (gst_element_unlink),
9361 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9362 (gst_pad_proxy_setcaps):
9364 Add _get_parent_element() to get a pads parent as an element.
9366 2005-07-18 Wim Taymans <wim@fluendo.com>
9368 * check/gst/gstbin.c: (GST_START_TEST):
9371 2005-07-18 Wim Taymans <wim@fluendo.com>
9373 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9374 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9375 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9376 (gst_base_sink_event), (gst_base_sink_do_sync),
9377 (gst_base_sink_chain), (gst_base_sink_loop),
9378 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9379 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9381 Fix logic for returning ASYNC when not prerolled.
9383 2005-07-18 Wim Taymans <wim@fluendo.com>
9385 * gst/gstqueue.c: (gst_queue_handle_sink_event):
9386 Fix nasty refcount bug.
9388 2005-07-16 Philippe Khalaf <burger@speedy.org>
9390 * gst/elements/gstfdsrc.c:
9391 * gst/elements/gstfdsrc.h:
9392 * gst/elements/gstelements.c:
9393 * gst/elements/Makefile.am:
9394 Ported fdsrc to 0.9.
9396 2005-07-16 Wim Taymans <wim@fluendo.com>
9398 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9399 (gst_base_sink_do_sync):
9402 2005-07-16 Wim Taymans <wim@fluendo.com>
9404 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9405 (gst_base_sink_event), (gst_base_sink_get_times),
9406 (gst_base_sink_do_sync), (gst_base_sink_change_state):
9407 * gst/base/gstbasesink.h:
9408 Store and use discont values when syncing buffers as described
9411 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9412 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9413 (gst_base_src_activate_push):
9414 Push discont event when starting.
9416 * gst/elements/gstidentity.c: (gst_identity_transform):
9419 * gst/gstbin.c: (gst_bin_change_state):
9420 Small cleanups in base_time distribution.
9422 * gst/gstelement.c: (gst_element_set_base_time),
9423 (gst_element_get_base_time), (gst_element_change_state):
9425 Added methods for the base_time of the element.
9428 * gst/gstpipeline.c: (gst_pipeline_send_event),
9429 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9430 (gst_pipeline_get_last_stream_time):
9431 * gst/gstpipeline.h:
9433 Handle seeking as described in design doc, remove stream_time
9435 Cleanups clock and stream_time selection code. Added accessors
9436 for the stream_time.
9439 2005-07-16 Andy Wingo <wingo@pobox.com>
9441 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9444 2005-07-16 Wim Taymans <wim@fluendo.com>
9446 * check/gst/gstbin.c: (GST_START_TEST):
9447 Make elements silent as the deep_notify refs the
9448 parent, which might make the test fail.
9450 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9451 Don't hold the lock for too long.
9453 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
9455 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9456 Don't unref the caps we passed to gst_caps_make_writable() after
9457 passing them. gst_caps_make_writable() will do that for us.
9459 2005-07-15 Andy Wingo <wingo@pobox.com>
9461 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9464 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9465 own marshalling function for the handoff signal. Properly type the
9466 buffer as a buffer. Fixes some warnings. Should do a more general
9468 (gst_identity_class_init): Plug into the right marshaller.
9470 2005-07-15 Wim Taymans <wim@fluendo.com>
9472 * docs/design/part-TODO.txt:
9473 * docs/design/part-clocks.txt:
9474 * docs/design/part-element-sink.txt:
9475 * docs/design/part-events.txt:
9476 * docs/design/part-gstpipeline.txt:
9477 Updated docs, mostly DISCONT related.
9479 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
9481 * docs/pwg/building-pads.xml:
9482 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9484 2005-07-15 Andy Wingo <wingo@pobox.com>
9486 * tools/gst-typefind.c: Update, add copyright block.
9488 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9489 Normalize and truncate caps before fixation.
9492 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9493 discards all but the first structure from its argument.
9495 2005-07-15 Wim Taymans <wim@fluendo.com>
9497 * gst/base/gstbasetransform.c: (gst_base_transform_init),
9498 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9499 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9500 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9501 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9502 (gst_base_transform_chain), (gst_base_transform_change_state),
9503 (gst_base_transform_set_passthrough),
9504 (gst_base_transform_is_passthrough):
9505 * gst/base/gstbasetransform.h:
9506 Make passthrough work using the bufferpools.
9507 Changed API a bit, subclasses have to write into a buffer
9508 provided by the base class.
9509 More debug info in nego functions.
9511 * gst/elements/gstidentity.c: (gst_identity_init),
9512 (gst_identity_transform):
9513 Port to new base class.
9515 2005-07-15 Wim Taymans <wim@fluendo.com>
9517 * gst/gstmessage.c: (gst_message_new_state_changed):
9518 * tools/gst-launch.c: (event_loop), (main):
9519 Totally dump messages in -launch with the -m option.
9520 Fix message name for State messages,
9522 2005-07-14 Wim Taymans <wim@fluendo.com>
9524 * gst/base/gstbasesrc.c: (gst_base_src_loop):
9525 Post error messages on errors.
9527 2005-07-14 Wim Taymans <wim@fluendo.com>
9529 * gst/gstcaps.c: (gst_caps_do_simplify):
9533 Define error for stream stopped.
9535 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9536 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9537 Do proper return values.
9539 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9540 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9541 (gst_pad_get_range):
9542 Better return values.
9545 Reorganise return values, add macro to check for fatal errors.
9547 * gst/gstqueue.c: (gst_queue_chain):
9548 Return proper GstFlowReturn values,
9550 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
9552 * docs/gst/gstreamer-sections.txt:
9553 * docs/gst/gstreamer.types:
9554 * docs/gst/tmpl/gst.sgml:
9555 * docs/gst/tmpl/gstbasesink.sgml:
9556 * docs/gst/tmpl/gstbasesrc.sgml:
9557 * docs/gst/tmpl/gstbasetransform.sgml:
9558 * docs/gst/tmpl/gstbin.sgml:
9559 * docs/gst/tmpl/gstbuffer.sgml:
9560 * docs/gst/tmpl/gstcaps.sgml:
9561 * docs/gst/tmpl/gstclock.sgml:
9562 * docs/gst/tmpl/gstcompat.sgml:
9563 * docs/gst/tmpl/gstconfig.sgml:
9564 * docs/gst/tmpl/gstelement.sgml:
9565 * docs/gst/tmpl/gstelementdetails.sgml:
9566 * docs/gst/tmpl/gstelementfactory.sgml:
9567 * docs/gst/tmpl/gstenumtypes.sgml:
9568 * docs/gst/tmpl/gsterror.sgml:
9569 * docs/gst/tmpl/gstevent.sgml:
9570 * docs/gst/tmpl/gstfakesink.sgml:
9571 * docs/gst/tmpl/gstfakesrc.sgml:
9572 * docs/gst/tmpl/gstfilesink.sgml:
9573 * docs/gst/tmpl/gstfilesrc.sgml:
9574 * docs/gst/tmpl/gstfilter.sgml:
9575 * docs/gst/tmpl/gstformat.sgml:
9576 * docs/gst/tmpl/gstghostpad.sgml:
9577 * docs/gst/tmpl/gstimplementsinterface.sgml:
9578 * docs/gst/tmpl/gstindex.sgml:
9579 * docs/gst/tmpl/gstindexfactory.sgml:
9580 * docs/gst/tmpl/gstinfo.sgml:
9581 * docs/gst/tmpl/gstiterator.sgml:
9582 * docs/gst/tmpl/gstmacros.sgml:
9583 * docs/gst/tmpl/gstmemchunk.sgml:
9584 * docs/gst/tmpl/gstminiobject.sgml:
9585 * docs/gst/tmpl/gstobject.sgml:
9586 * docs/gst/tmpl/gstpad.sgml:
9587 * docs/gst/tmpl/gstpadtemplate.sgml:
9588 * docs/gst/tmpl/gstparse.sgml:
9589 * docs/gst/tmpl/gstpipeline.sgml:
9590 * docs/gst/tmpl/gstplugin.sgml:
9591 * docs/gst/tmpl/gstpluginfeature.sgml:
9592 * docs/gst/tmpl/gstquery.sgml:
9593 * docs/gst/tmpl/gstqueue.sgml:
9594 * docs/gst/tmpl/gstregistry.sgml:
9595 * docs/gst/tmpl/gstregistrypool.sgml:
9596 * docs/gst/tmpl/gstscheduler.sgml:
9597 * docs/gst/tmpl/gstschedulerfactory.sgml:
9598 * docs/gst/tmpl/gststructure.sgml:
9599 * docs/gst/tmpl/gstsystemclock.sgml:
9600 * docs/gst/tmpl/gsttaglist.sgml:
9601 * docs/gst/tmpl/gsttagsetter.sgml:
9602 * docs/gst/tmpl/gsttrace.sgml:
9603 * docs/gst/tmpl/gsttrashstack.sgml:
9604 * docs/gst/tmpl/gsttypefind.sgml:
9605 * docs/gst/tmpl/gsttypefindfactory.sgml:
9606 * docs/gst/tmpl/gsttypes.sgml:
9607 * docs/gst/tmpl/gsturihandler.sgml:
9608 * docs/gst/tmpl/gsturitype.sgml:
9609 * docs/gst/tmpl/gstutils.sgml:
9610 * docs/gst/tmpl/gstvalue.sgml:
9611 * docs/gst/tmpl/gstversion.sgml:
9612 * docs/gst/tmpl/gstxml.sgml:
9613 * docs/libs/tmpl/gstcontrol.sgml:
9614 * docs/libs/tmpl/gstdataprotocol.sgml:
9615 * docs/libs/tmpl/gstdparam.sgml:
9616 * docs/libs/tmpl/gstdplinint.sgml:
9617 * docs/libs/tmpl/gstdpman.sgml:
9618 * docs/libs/tmpl/gstdpsmooth.sgml:
9619 * docs/libs/tmpl/gstgetbits.sgml:
9620 * docs/libs/tmpl/gstunitconvert.sgml:
9621 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9622 (gst_push_src_base_init), (gst_push_src_class_init),
9623 (gst_push_src_init), (gst_push_src_create):
9624 * gst/base/gstpushsrc.h:
9625 * gst/elements/gstelements.c:
9626 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9627 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9628 (gst_fake_sink_init), (gst_fake_sink_set_property),
9629 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9630 (gst_fake_sink_event), (gst_fake_sink_preroll),
9631 (gst_fake_sink_render), (gst_fake_sink_change_state):
9632 * gst/elements/gstfakesink.h:
9633 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9634 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9635 (gst_fake_src_base_init), (gst_fake_src_class_init),
9636 (gst_fake_src_init), (gst_fake_src_event_handler),
9637 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9638 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9639 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9640 (gst_fake_src_create_buffer), (gst_fake_src_create),
9641 (gst_fake_src_start), (gst_fake_src_stop):
9642 * gst/elements/gstfakesrc.h:
9643 * gst/elements/gstfilesink.c: (_do_init),
9644 (gst_file_sink_base_init), (gst_file_sink_class_init),
9645 (gst_file_sink_init), (gst_file_sink_dispose),
9646 (gst_file_sink_set_location), (gst_file_sink_set_property),
9647 (gst_file_sink_get_property), (gst_file_sink_open_file),
9648 (gst_file_sink_close_file), (gst_file_sink_query),
9649 (gst_file_sink_event), (gst_file_sink_render),
9650 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9651 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9652 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9653 * gst/elements/gstfilesink.h:
9654 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9655 (gst_file_src_class_init), (gst_file_src_init),
9656 (gst_file_src_finalize), (gst_file_src_set_location),
9657 (gst_file_src_set_property), (gst_file_src_get_property),
9658 (gst_file_src_map_region), (gst_file_src_map_small_region),
9659 (gst_file_src_create_mmap), (gst_file_src_create_read),
9660 (gst_file_src_create), (gst_file_src_is_seekable),
9661 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9662 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9663 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9664 (gst_file_src_uri_handler_init):
9665 * gst/elements/gstfilesrc.h:
9666 more autistic cleanliness in functions/names/defines
9668 2005-07-13 Andy Wingo <wingo@pobox.com>
9670 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9671 source couldn't negotiate.
9673 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9677 * gst/gstutils.c (gst_element_link_pads_filtered): New old
9678 function. I am channeling Hades. Put your boots on suckers!!!
9680 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
9682 * testsuite/caps/Makefile.am:
9683 * testsuite/caps/value_compare.c:
9684 * testsuite/caps/value_intersect.c:
9685 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9686 move two testsuite apps over to the check dir
9688 2005-07-12 Wim Taymans <wim@fluendo.com>
9690 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9691 Added more debug info in the negotiate process.
9694 Prepare for segment playback.
9696 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9702 * tools/gst-launch.c: (main):
9703 NULL pipeline on errors.
9705 2005-07-12 Andy Wingo <wingo@pobox.com>
9707 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9708 not it comes from a malloc region. Make sure our copy gets freed.
9710 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9712 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9713 * check/gst/gstmessage.c: (GST_START_TEST):
9714 * check/gst/gststructure.c: (GST_START_TEST),
9715 (gst_structure_suite), (main):
9717 * gst/gstelement.c: (gst_element_message_full):
9718 clean up GError and debug string now that they get copied
9719 * gst/gstmessage.c: (gst_message_new_error),
9720 (gst_message_new_warning), (gst_message_parse_error),
9721 (gst_message_parse_warning):
9722 use GST_TYPE_G_ERROR for structure_new, and take copies of
9723 arguments, so that we don't mess up refcounting
9725 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9727 * check/Makefile.am:
9728 add per-test valgrind targets
9729 * check/gst-libs/gdp.c: (GST_START_TEST),
9730 (gst_data_protocol_suite), (main):
9733 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9735 * check/Makefile.am:
9736 instate more valgrindable tests
9737 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9738 (GST_START_TEST), (fakesrc_suite):
9739 * check/gst/gstpad.c: (GST_START_TEST):
9740 * check/gst/gststructure.c: (GST_START_TEST):
9742 * docs/gst/tmpl/gstminiobject.sgml:
9743 * gst/gstpad.c: (gst_pad_finalize):
9744 fix the static mutex leak
9746 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9748 * check/Makefile.am:
9749 add two more tests for valgrinding
9750 * check/gst/gstvalue.c: (GST_START_TEST):
9751 test refcount of deserialized buffer, found a leak
9752 * docs/gst/gstreamer-docs.sgml:
9753 * docs/gst/gstreamer-sections.txt:
9754 * docs/gst/gstreamer.types:
9755 * docs/gst/tmpl/gstminiobject.sgml:
9756 add miniobject to docs
9757 * gst/gstminiobject.c:
9759 * gst/gstvalue.c: (gst_value_deserialize_buffer),
9760 (gst_string_unwrap):
9761 fix a hard-to-find invalid write for one of the tests
9762 fix a leak for deserialized buffers
9764 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9766 * docs/pwg/advanced-events.xml:
9767 * docs/pwg/advanced-request.xml:
9768 * docs/pwg/advanced-scheduling.xml:
9769 * docs/pwg/appendix-porting.xml:
9770 * docs/pwg/building-boiler.xml:
9771 * docs/pwg/intro-preface.xml:
9772 * docs/pwg/other-ntoone.xml:
9773 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9774 of example code and explanation for pad activation, loop() and
9775 getrange() functions and a bit more. Remove old comments pointing
9777 * examples/pwg/Makefile.am:
9778 Add loop/getrange examples.
9780 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9783 check for valgrind binary + some fixes
9785 valgrind suppressions for the tests
9786 * check/Makefile.am:
9787 add a valgrind: target that valgrinds the unit tests
9788 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9789 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9790 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9791 * check/gst/gstghostpad.c:
9793 * check/gst/gstdata.c:
9795 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9796 (thread_unref), (gst_mini_object_suite), (main):
9798 * gst/gst.c: (gst_deinit):
9800 add a method to clean up.
9801 * gst/gstsystemclock.c: (gst_system_clock_dispose),
9802 (gst_system_clock_obtain):
9803 allow for disposing the system clock.
9804 * tools/gst-launch.c: (main):
9807 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9809 * docs/gst/tmpl/gstbasesrc.sgml:
9810 * docs/gst/tmpl/gstfakesrc.sgml:
9811 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9812 (gst_base_src_init), (gst_base_src_set_property),
9813 (gst_base_src_get_property), (gst_base_src_get_range),
9814 (gst_base_src_start):
9815 * gst/base/gstbasesrc.h:
9816 add num-buffers property
9817 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9818 (gst_fakesrc_init), (gst_fakesrc_set_property),
9819 (gst_fakesrc_get_property), (gst_fakesrc_create),
9820 (gst_fakesrc_start):
9821 remove num-buffers property
9823 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9825 * docs/gst/gstreamer-sections.txt:
9826 * docs/gst/tmpl/gstbasesink.sgml:
9827 * docs/gst/tmpl/gstbasesrc.sgml:
9828 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9829 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9830 (gst_base_sink_finalize), (gst_base_sink_set_clock),
9831 (gst_base_sink_set_property), (gst_base_sink_get_property),
9832 (gst_base_sink_handle_object), (gst_base_sink_event),
9833 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9834 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9835 (gst_base_sink_loop), (gst_base_sink_deactivate),
9836 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9837 (gst_base_sink_change_state):
9838 * gst/base/gstbasesink.h:
9839 * gst/base/gstbasesrc.h:
9840 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9841 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9842 (gst_filesink_init):
9843 more macro splitting
9845 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9847 * gst/gstelement.c: (gst_element_get_bus):
9849 * tools/gst-launch.c: (check_intr), (event_loop):
9852 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9854 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9857 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9859 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9860 (gst_base_src_finalize):
9861 add finalize method and clean up properly
9862 * gst/gstpipeline.c: (gst_pipeline_dispose):
9865 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9867 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9869 add more things to check
9870 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9874 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9876 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9877 (GST_START_TEST), (fakesrc_suite):
9878 * check/gst-libs/gdp.c: (GST_START_TEST):
9879 * check/gst/gst.c: (GST_START_TEST):
9880 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9881 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9882 * check/gst/gstbus.c: (GST_START_TEST):
9883 * check/gst/gstcaps.c: (GST_START_TEST):
9884 * check/gst/gstdata.c: (GST_START_TEST):
9885 * check/gst/gstelement.c: (GST_START_TEST):
9886 * check/gst/gstghostpad.c: (GST_START_TEST):
9887 * check/gst/gstiterator.c: (GST_START_TEST):
9888 * check/gst/gstmessage.c: (GST_START_TEST):
9889 * check/gst/gstobject.c: (GST_START_TEST):
9890 * check/gst/gstpad.c: (GST_START_TEST):
9891 * check/gst/gststructure.c: (GST_START_TEST):
9892 * check/gst/gstsystemclock.c: (GST_START_TEST),
9893 (gst_systemclock_suite):
9894 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9895 * check/gst/gstvalue.c: (GST_START_TEST):
9896 * check/pipelines/cleanup.c: (GST_START_TEST):
9897 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9898 * check/states/sinks.c: (GST_START_TEST):
9899 * check/gstcheck.c: (gst_check_init):
9901 add debugging category
9902 use GST_START_TEST now, so we add a debug line
9904 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9906 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9907 add test for state change message on a bin
9908 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9910 * gst/gstbin.c: (gst_bin_init):
9911 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9912 * gst/gstelement.c: (gst_element_post_message),
9913 (gst_element_set_state):
9914 * gst/gstelementfactory.c: (gst_element_factory_create):
9915 * gst/gstmessage.c: (gst_message_new):
9916 * gst/gstscheduler.c:
9917 various debugging additions and cleanups
9919 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9921 * check/Makefile.am:
9922 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9924 adding tests for elements
9925 * gst/gstelement.c: (gst_element_dispose):
9927 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9929 * gst/registries/gstlibxmlregistry.c: (load_feature):
9930 plug more leaks. A simple gst_init() now is leakfree, yay.
9932 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9934 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9935 (gst_xml_registry_load):
9936 plug another memleak
9938 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9941 use GST_SET_ERROR_CFLAGS
9943 change to ERROR_CFLAGS
9945 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9948 make GST_ERROR_CFLAGS overridable and re-enable Werror
9950 add a note about error CFLAGS
9951 * docs/gst/tmpl/gstfakesrc.sgml:
9952 * gst/elements/gstfakesrc.c:
9953 comment out some unused code
9954 * gst/gst.c: (split_and_iterate):
9955 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9959 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9961 * common/Makefile.am:
9962 * common/gtk-doc.mak:
9963 * docs/gst/Makefile.am:
9964 factor out gtk-doc.mak
9966 2005-07-07 Wim Taymans <wim@fluendo.com>
9968 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9969 (gst_thread_scheduler_dispose):
9970 Unlock the STREAM_LOCK completely.
9972 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9974 * check/Makefile.am:
9975 * check/elements/.cvsignore:
9976 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9977 (START_TEST), (fakesrc_suite), (main):
9978 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9979 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9980 (gst_fakesrc_create), (gst_fakesrc_start):
9981 * gst/elements/gstfakesrc.h:
9982 adding a first element test
9984 2005-07-07 Andy Wingo <wingo@pobox.com>
9986 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9989 2005-07-07 Wim Taymans <wim@fluendo.com>
9995 2005-07-07 Wim Taymans <wim@fluendo.com>
9997 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9998 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9999 Allow subclasses to implement their own negotiation.
10001 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10003 * docs/design/part-gstbin.txt:
10004 * docs/design/part-gstpipeline.txt:
10005 Update design notes to reflect the movement of
10006 responsibility for bus handling from GstPipeline to
10009 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10012 Remove unnecessary queue2/3/4 examples.
10014 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
10016 * examples/Makefile.am:
10017 * examples/helloworld/helloworld.c: (event_loop), (main):
10018 * examples/queue/queue.c: (event_loop), (main):
10019 * examples/queue2/queue2.c: (main):
10020 Update a couple of the examples to work again.
10022 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10023 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10024 Spelling corrections and extra debug.
10026 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10027 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10028 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10030 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10031 (gst_pipeline_change_state):
10032 * gst/gstpipeline.h:
10033 Move the bus handler for children to the GstBin, and create a
10034 separate bus for receiving messages from children to the one the
10035 bus sends 'upwards' on.
10037 2005-07-06 Wim Taymans <wim@fluendo.com>
10040 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10041 (gst_base_sink_handle_object), (gst_base_sink_loop),
10042 (gst_base_sink_change_state):
10043 * gst/base/gstbasesink.h:
10044 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10045 (gst_base_src_init), (gst_base_src_setcaps),
10046 (gst_base_src_getcaps), (gst_base_src_loop),
10047 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10048 (gst_base_src_start), (gst_base_src_change_state):
10049 * gst/base/gstbasesrc.h:
10050 Make basesrc negotiate.
10051 Handle the case where preroll fails in basesink.
10054 2005-07-06 Wim Taymans <wim@fluendo.com>
10056 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10057 Implement the fixate function.
10058 Clean up acceptcaps.
10060 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10062 * docs/pwg/building-filterfactory.xml:
10063 * docs/pwg/pwg.xml:
10064 Remove never-written filter-factory chapter; I'll add the various
10065 base classes to part 4 ("other element types") later on.
10067 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10069 * docs/pwg/advanced-negotiation.xml:
10070 * docs/pwg/building-boiler.xml:
10071 * docs/pwg/building-pads.xml:
10072 * docs/pwg/pwg.xml:
10073 * examples/pwg/Makefile.am:
10074 Add a chapter on caps negotiation, simplify the original code
10075 samples a bit w.r.t. caps negotiation, add link to the advanced
10076 section. Add a bunch of examples showing different use cases of
10077 different types of caps negotiation. Upstream renegotiation isn't
10078 fully documented yet since nobody knows how that works.
10080 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
10082 * check/gst/gstpad.c:
10083 * check/gstcheck.c:
10084 * gst/gstpad.c: (gst_pad_get_internal_links_default):
10085 if pad has no parent, return NULL as list of internal links
10087 2005-07-05 Andy Wingo <wingo@pobox.com>
10089 * gst/elements/gstfilesrc.c:
10090 * gst/elements/gstfakesrc.c:
10091 * gst/base/gstpushsrc.c:
10092 * gst/base/gstbasesrc.h:
10093 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10095 2005-07-05 Stefan Kost <ensonic@users.sf.net>
10098 better report generation target (lcov needs a patch)
10100 2005-07-05 Andy Wingo <wingo@pobox.com>
10102 * gst/elements, testsuite: Null if we got it...
10104 2005-07-05 Wim Taymans <wim@fluendo.com>
10107 * libs/gst/dataprotocol/Makefile.am:
10108 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10109 * libs/gst/dataprotocol/dataprotocol.h:
10110 * pkgconfig/Makefile.am:
10111 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10112 * pkgconfig/gstreamer-dataprotocol.pc.in:
10113 Ported dataprotol to 0.9.
10114 Added pkgconfig files.
10116 2005-07-05 Andy Wingo <wingo@pobox.com>
10118 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10119 Default to returning TRUE for the case when tranform_caps returns
10120 a fixed caps, like for identity or volume.
10122 * check/gst/gstbus.c (pound_bus_with_messages):
10123 * check/gst/gstmessage.c (START_TEST):
10124 * check/pipelines/simple_launch_lines.c (got_handoff): Application
10125 message API change.
10127 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10128 logic weaks here: always run transform_caps, trying passthrough
10129 operation only if the original caps intersects with the transform.
10131 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10132 source and sink caps.
10134 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10135 Intersect the peer caps with the pad template before going into
10137 (gst_base_transform_transform_caps): More debugging.
10139 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10142 2005-07-04 Edward Hervey <edward@fluendo.com>
10146 (gst_pad_add_*_probe): now returns the signal id for better wrapping
10149 2005-07-04 Andy Wingo <wingo@pobox.com>
10151 * check/gst/gstpad.c: Only set explicit caps on pads.
10153 2005-07-01 Andy Wingo <wingo@pobox.com>
10155 * tests/network-clock.scm: Commentary update.
10157 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10158 Didn't really make sense, not implementable with basetransform,
10160 (gst_identity_transform): Unref inbuf via make_writable. Feeble
10161 attempt at implementing the sync property, needs an unlock method.
10163 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10164 New func, by default returns the same caps (the identity
10166 (gst_base_transform_getcaps): Uses transform_caps to return
10167 something sensible.
10168 (gst_base_transform_setcaps): Complicated logic to get caps on
10169 both pads, even if they are different, and to call set_caps once
10170 for every time both pads get their caps set.
10171 (gst_base_transform_handle_buffer): Give the ref to the transform
10172 function. Allows in-place modification of the buffer.
10174 * gst/base/gstbasetransform.h (transform_caps): New class method.
10175 Given caps on one side, what can I do on the other.
10176 (set_caps): Take two caps, one for each side of the element.
10179 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10180 caps in place. This is safe because we can check the mutability of
10181 the caps, and a good idea because fixate functions are just called
10182 as a matter of last resort. (Not actually implemented.)
10183 (gst_pad_set_caps): If the caps we're setting is actually the same
10184 as the existing pad caps, just update the pointer without calling
10185 setcaps. Assert that caps is either NULL or fixed, as per the
10188 * gst/gstghostpad.c: Update for fixate changes.
10190 2005-07-02 Andy Wingo <wingo@pobox.com>
10193 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10194 two refcounts makes it immutable, which is enough. Doc more.
10196 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
10198 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10199 Put the mini_object into GValue as a mini_object,
10200 not a gpointer, since that's how we declared
10203 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10205 * examples/pwg/Makefile.am:
10206 Fix buildbot again.
10208 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10210 * docs/pwg/building-testapp.xml:
10212 * examples/pwg/Makefile.am:
10215 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10218 * examples/Makefile.am:
10219 * examples/pwg/Makefile.am:
10220 * examples/pwg/extract.pl:
10221 Enable building the PWG examples.
10222 * docs/pwg/advanced-interfaces.xml:
10223 Add URI interface stub.
10224 * docs/pwg/advanced-types.xml:
10225 * docs/pwg/other-autoplugger.xml:
10226 * docs/pwg/appendix-porting.xml:
10227 * docs/pwg/pwg.xml:
10228 Add porting guide (mostly stubs), remove autoplugging (see ADM).
10229 * docs/pwg/building-boiler.xml:
10230 * docs/pwg/building-chainfn.xml:
10231 * docs/pwg/building-pads.xml:
10232 * docs/pwg/building-props.xml:
10233 * docs/pwg/building-state.xml:
10234 * docs/pwg/building-testapp.xml:
10235 Update the building-*.xml parts for 0.9 changes. All examples
10236 code blocks compile in examples/pwg/*.
10238 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10240 * docs/manual/advanced-autoplugging.xml:
10241 * docs/manual/appendix-checklist.xml:
10242 * docs/manual/appendix-integration.xml:
10243 * docs/manual/highlevel-components.xml:
10244 Fix playbin/decodebin examples, update docs a bit, mention bus
10245 instead of signals in various places, mention kmplayer and
10246 kaffeine since they have a working GStreamer backend in the KDE
10249 2005-06-30 Wim Taymans <wim@fluendo.com>
10252 * docs/design/draft-ghostpads.txt:
10253 * docs/design/draft-push-pull.txt:
10254 * docs/design/draft-query.txt:
10255 * docs/design/part-TODO.txt:
10256 * docs/design/part-query.txt:
10257 Added CHANGES-0.9 doc, updated status of other docs.
10262 2005-06-30 Wim Taymans <wim@fluendo.com>
10264 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10265 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10266 (gst_base_sink_change_state):
10267 * gst/base/gstbasesink.h:
10268 Some tweaks, only EOS and a buffer complete a preroll.
10270 2005-06-30 Andy Wingo <wingo@pobox.com>
10272 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10273 activate_push down to the internal pad as well.
10275 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
10277 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10279 * gst/gsttaginterface.c:
10280 Some documentation fixes (#307394 and #307397).
10282 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
10284 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10286 * gst/gstvalue.c: (gst_value_intersect_list):
10287 Fix memleak (#309125).
10289 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10291 * docs/manual/advanced-dataaccess.xml:
10292 Fix fakesrc example to compile; doesn't work, bug somewhere...?
10293 * docs/manual/basics-pads.xml:
10294 Add reference for filtered caps to above chapter.
10296 2005-06-30 Wim Taymans <wim@fluendo.com>
10298 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10299 (gst_bin_change_state):
10301 Lame attempt at making the state change function a bit
10304 2005-06-30 Wim Taymans <wim@fluendo.com>
10306 * docs/design/part-clocks.txt:
10307 * docs/design/part-element-sink.txt:
10308 * docs/design/part-events.txt:
10309 * docs/design/part-preroll.txt:
10310 * docs/design/part-states.txt:
10311 Some more tweeks and additions to the docs.
10313 2005-06-30 Wim Taymans <wim@fluendo.com>
10315 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10316 (default_have_data), (gst_pad_class_init), (gst_pad_init),
10317 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10318 (gst_pad_check_pull_range), (gst_pad_get_range),
10319 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10321 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10322 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10323 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10324 (gst_pad_remove_buffer_probe):
10325 Removed atomic operations, use existing LOCK.
10326 Move exception handling out of main code path.
10328 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10330 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10331 (silly_return_true_function), (gst_pad_class_init),
10332 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10333 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10334 (gst_pad_send_event):
10335 Fix accumulator, add default value by using _emitv() instead
10336 of _emit() for signal emission.
10338 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10340 * docs/manual/advanced-dataaccess.xml:
10341 * examples/manual/Makefile.am:
10343 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10346 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
10348 * gst/elements/gstfilesink.c: (gst_filesink_render):
10349 Simplify code so that we don't have to handle short
10350 writes and return GST_FLOW_ERROR if an error occured.
10352 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10354 * docs/gst/gstreamer-docs.sgml:
10355 Remove probes more.
10357 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10359 * docs/gst/gstreamer-sections.txt:
10360 * docs/gst/tmpl/gstpad.sgml:
10361 * docs/gst/tmpl/gstprobe.sgml:
10363 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10364 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10365 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10366 (gst_pad_push_event), (gst_pad_send_event):
10368 * gst/gstutils.c: (gst_pad_add_data_probe),
10369 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10370 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10371 (gst_pad_remove_buffer_probe):
10373 Remove old probes, add new g-signal-based probes and some utility
10376 2005-06-29 Edward Hervey <edward@fluendo.com>
10378 * gst/gstelementfactory.c:
10381 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10382 the definition to the header file.
10384 2005-06-29 Andy Wingo <wingo@pobox.com>
10386 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10387 plugins from the source directory.
10389 2005-06-29 Wim Taymans <wim@fluendo.com>
10391 * docs/gst/tmpl/gstbuffer.sgml:
10392 * docs/gst/tmpl/gstclock.sgml:
10393 Some fixings for blantently wrong text.
10395 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10397 * check/Makefile.am:
10398 * gst/gst.c: (add_path_func), (init_pre):
10399 * gst/gstregistry.c: (gst_registry_add_path):
10400 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10401 only scan the GST_PLUGIN_PATH locations, and not add
10404 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
10406 * docs/gst/gstreamer-sections.txt:
10407 * docs/gst/tmpl/gstbasesrc.sgml:
10408 * gst/gstelement.c:
10409 * gst/gstelement.h:
10414 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10416 * docs/manual/advanced-autoplugging.xml:
10417 Fix autoplugging example.
10419 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10421 * docs/manual/advanced-autoplugging.xml:
10422 * docs/manual/mime-world.fig:
10423 Try to get autoplugging working, fix type detection. Fix text
10424 in hello-world image.
10426 2005-06-29 Wim Taymans <wim@fluendo.com>
10428 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10429 (gst_base_sink_change_state):
10433 map SIGNAL and BROADCAST to the right function.
10436 Remove redundant braces.
10438 * gst/gstpad.c: (gst_pad_set_caps):
10439 Don't call setcaps function when reseting caps to NULL.
10441 * gst/gstsystemclock.c: (gst_system_clock_dispose),
10442 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10443 (gst_system_clock_id_unschedule):
10444 Use BROADCAST as this is what we do.
10446 2005-06-29 Wim Taymans <wim@fluendo.com>
10448 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10449 We are actually prerolling before commiting the state
10452 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10454 * docs/manual/advanced-clocks.xml:
10455 * docs/manual/advanced-interfaces.xml:
10456 * docs/manual/advanced-metadata.xml:
10457 * docs/manual/advanced-position.xml:
10458 * docs/manual/advanced-schedulers.xml:
10459 * docs/manual/advanced-threads.xml:
10460 * docs/manual/appendix-porting.xml:
10461 * docs/manual/basics-bins.xml:
10462 * docs/manual/basics-bus.xml:
10463 * docs/manual/basics-elements.xml:
10464 * docs/manual/basics-helloworld.xml:
10465 * docs/manual/basics-pads.xml:
10466 * docs/manual/highlevel-components.xml:
10467 * docs/manual/manual.xml:
10468 * docs/manual/thread.fig:
10469 Update (until threads/scheduling) Application Development Manual;
10470 remove GstThread, add GstBus, add simple porting checklist, add
10471 documentation for tag writing, clocks, make all examples until this
10472 part compile and run.
10473 * examples/manual/Makefile.am:
10474 Update from changes to Application Development Manual; add bus
10475 example, remove thread example.
10477 2005-06-28 Wim Taymans <wim@fluendo.com>
10479 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10480 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10481 (gst_bus_source_dispatch):
10482 Add debugging messages.
10483 Make internal methods static.
10484 Handle the case where the bus is flushed in the handler.
10486 * gst/gstelement.c: (gst_element_get_bus):
10487 Fix refcount in _get_bus();
10489 * gst/gstpipeline.c: (gst_pipeline_change_state),
10490 (gst_pipeline_get_clock_func):
10491 Clock refcounting fixes.
10492 Handle the case where preroll timed out more gracefully.
10494 * gst/gstsystemclock.c: (gst_system_clock_dispose):
10495 Clean up the internal thread in dispose. This is needed
10496 for subclasses that actually get disposed.
10498 * gst/schedulers/threadscheduler.c:
10499 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10500 (gst_thread_scheduler_dispose):
10501 Free thread pool in dispose.
10503 2005-06-28 Andy Wingo <wingo@pobox.com>
10505 * tests/network-clock-utils.scm (debug, print-event): New utils.
10507 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10508 (*packet-loss*): Unified loss probability.
10509 (network-time): Report out-of-band events.
10511 * tests/plot-data: Add support for out-of-band events. Hack it
10512 into this script instead of passing it down the pipe; should fix
10515 2005-06-28 Wim Taymans <wim@fluendo.com>
10517 * docs/gst/gstreamer.types:
10518 * docs/gst/tmpl/gstbasesrc.sgml:
10519 * docs/gst/tmpl/gstpad.sgml:
10522 2005-06-28 Wim Taymans <wim@fluendo.com>
10524 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10525 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10526 (gst_proxy_pad_do_fixatecaps):
10527 Correctly proxy the check_pull_range function.
10529 2005-06-28 Andy Wingo <wingo@pobox.com>
10531 * tests/network-clock.scm: Removed need for slib.
10533 2005-06-28 Wim Taymans <wim@fluendo.com>
10535 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10536 (gst_basesink_preroll_queue_flush):
10537 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10538 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10539 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10540 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10541 (gst_proxy_pad_set_property):
10544 * gst/gstqueue.c: (gst_queue_init):
10545 The deprecated pad loop function is removed now.
10547 2005-06-28 Andy Wingo <wingo@pobox.com>
10549 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10550 New parameters, simulate network packet loss.
10552 * tests/network-clock-utils.scm: Initialize the RNG.
10554 2005-06-28 Wim Taymans <wim@fluendo.com>
10556 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10557 (gst_basesink_event), (gst_basesink_deactivate):
10558 Flushing the preroll queue always needs to unlock the waiters.
10560 2005-06-28 Edward Hervey <edward@fluendo.com>
10562 * gst/gstpipeline.c: (gst_pipeline_send_event):
10563 Wheen a seek was successful on a pipeline, set the stream_time to the
10564 seek offset in order to have a synchronized stream_time.
10566 2005-06-28 Wim Taymans <wim@fluendo.com>
10568 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10569 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10570 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10571 (gst_proxy_pad_do_fixatecaps):
10572 Call wrapper function instead of just calling the function
10573 pointers. This takes care of any locking and whatmore.
10575 2005-06-28 Wim Taymans <wim@fluendo.com>
10577 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10578 (gst_pad_pull_range):
10580 CONNECTED -> LINKED.
10582 2005-06-28 Andy Wingo <wingo@pobox.com>
10584 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10585 source-munging commit!!!
10587 * gst/gstobject.c (gst_object_unref, gst_object_ref)
10588 (gst_object_sink): Take gpointer arguments, not GstObject --
10589 avoids casts. Like GLib.
10591 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10594 2005-06-27 Andy Wingo <wingo@pobox.com>
10596 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10599 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10600 returns a sorted copy of the trace list.
10601 (gst_alloc_trace_print_live): New API, only prints traces with
10602 live objects. Sort the list.
10603 (gst_alloc_trace_print_all): Sort the list.
10604 (gst_alloc_trace_print): Align columns.
10606 * gst/elements/gstttypefindelement.c:
10607 * gst/elements/gsttee.c:
10608 * gst/base/gstbasesrc.c:
10609 * gst/base/gstbasesink.c:
10610 * gst/base/gstbasetransform.c:
10611 * gst/gstqueue.c: Adapt for pad activation changes.
10613 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10615 (gst_pipeline_dispose): Drop ref on sched.
10617 * gst/gstpad.c (gst_pad_init): Set the default activate func.
10618 (gst_pad_activate_default): Push mode by default.
10619 (pre_activate_switch, post_activate_switch): New stubs, things to
10620 do before and after switching activation modes on pads.
10621 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10622 the pad's activate function to choose which mode to activate.
10623 Shortcut on deactivation and call the right function directly.
10624 (gst_pad_activate_pull): New API, (de)activates a pad in pull
10626 (gst_pad_activate_push): New API, same for push mode.
10627 (gst_pad_set_activate_function)
10628 (gst_pad_set_activatepull_function)
10629 (gst_pad_set_activatepush_function): Setters for new API.
10631 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10632 Trace all miniobjects.
10633 (gst_mini_object_make_writable): Unref the arg if we copy, like
10634 gst_caps_make_writable.
10636 * gst/gstmessage.c (_gst_message_initialize): No trace init.
10638 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
10639 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10640 Adapt for new pad API.
10642 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10644 * gst/gstelement.h:
10645 * gst/gstelement.c (gst_element_iterate_src_pads)
10646 (gst_element_iterate_sink_pads): New API functions.
10648 * gst/gstelement.c (iterator_fold_with_resync): New utility,
10649 should fold into gstiterator.c in some form.
10650 (gst_element_pads_activate): Simplified via use of fold and
10651 delegation of decisions to gstpad->activate.
10653 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10656 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10657 class once in init, like gstmessage. Didn't run into this issue
10658 but it seems correct. Don't initialize a trace, gstminiobject does
10661 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10662 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10664 (assert_live_count): New util function, uses alloc traces to check
10667 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10668 To be modified when unlink drops the internal pad.
10670 2005-06-27 Wim Taymans <wim@fluendo.com>
10672 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10673 (gst_bin_change_state):
10674 Cleanup the get_state() function a little, make sure it
10675 iterates the same set of elements.
10676 Added stub iterate_state_order().
10678 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
10680 * docs/gst/gstreamer-docs.sgml:
10681 * docs/gst/gstreamer-sections.txt:
10682 * docs/gst/gstreamer.types:
10683 * docs/gst/tmpl/gstbasesink.sgml:
10684 * docs/gst/tmpl/gstbasesrc.sgml:
10685 * docs/gst/tmpl/gstbasetransform.sgml:
10686 * docs/gst/tmpl/gstelement.sgml:
10687 * docs/gst/tmpl/gstiterator.sgml:
10688 * gst/base/gstbasesrc.c:
10689 * gst/base/gstbasesrc.h:
10690 * gst/base/gstbasetransform.h:
10691 * gst/gstelement.c:
10692 * gst/gstiterator.h:
10693 adding basetransform and iterator docs
10695 2005-06-27 Andy Wingo <wingo@pobox.com>
10697 * docs/design/part-activation.txt: Notes on how activation should
10698 work -- not quite implemented yet.
10700 2005-06-25 Wim Taymans <wim@fluendo.com>
10702 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10703 At least get the chain function correct, needs more
10706 2005-06-25 Wim Taymans <wim@fluendo.com>
10708 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10709 (gst_basesink_handle_object), (gst_basesink_event),
10710 (gst_basesink_do_sync), (gst_basesink_handle_event),
10711 (gst_basesink_change_state):
10713 Right, two problems here: ghostpads don't take locks and
10714 glib _rec_mutex_lock_full() with depth==0 still locks.
10715 Catch illegal locking and g_warn them.
10717 2005-06-25 Wim Taymans <wim@fluendo.com>
10719 * check/states/sinks.c: (START_TEST), (gst_object_suite):
10720 Have to check for completion now...
10722 2005-06-25 Wim Taymans <wim@fluendo.com>
10724 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10725 (gst_basesink_handle_object), (gst_basesink_event),
10726 (gst_basesink_do_sync), (gst_basesink_handle_event),
10727 (gst_basesink_change_state):
10729 Unlock STREAM_LOCK whatever the recursion was.
10731 2005-06-25 Wim Taymans <wim@fluendo.com>
10733 * gst/base/gstbasesink.c: (gst_basesink_set_property),
10734 (gst_basesink_preroll_queue_empty),
10735 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10736 (gst_basesink_event), (gst_basesink_do_sync),
10737 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10738 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10739 (gst_basesink_change_state):
10740 Reworked the base sink, handle event and buffer serialisation
10741 correctly and removed possible deadlock.
10742 Handle EOS correctly.
10744 2005-06-25 Wim Taymans <wim@fluendo.com>
10746 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10747 (gst_pipeline_change_state):
10748 * tools/gst-launch.c: (check_intr), (event_loop), (main):
10749 Allow elements to post EOS in the state change function.
10750 Fix up -launch, make it exit the poll loop when the
10751 pipeline actually changed state.
10752 Fix up warning parsing in -launch.
10754 2005-06-25 Wim Taymans <wim@fluendo.com>
10756 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10757 (gst_tee_sink_activate):
10758 Core takes STREAM_LOCK for us now.
10760 2005-06-25 Wim Taymans <wim@fluendo.com>
10762 * gst/gstelement.c: (gst_element_get_state_func),
10763 (gst_element_set_state):
10764 * gst/gstelement.h:
10765 * gst/gstmessage.c: (gst_message_parse_error),
10766 (gst_message_parse_warning):
10767 Keep track of current target state while performing a state
10768 change so that subclasses can do something interesting.
10769 Fix parsing of warning/error messages when GError is NULL.
10771 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
10773 * docs/gst/Makefile.am:
10774 * docs/gst/gstreamer-docs.sgml:
10775 * docs/gst/gstreamer-sections.txt:
10776 * docs/gst/gstreamer.types:
10777 * docs/gst/tmpl/gstbasesink.sgml:
10778 * docs/gst/tmpl/gstbasesrc.sgml:
10779 * docs/gst/tmpl/gstbin.sgml:
10780 * docs/gst/tmpl/gstcompat.sgml:
10781 * docs/gst/tmpl/gstfakesink.sgml:
10782 * docs/gst/tmpl/gstfakesrc.sgml:
10783 * docs/gst/tmpl/gstfilesink.sgml:
10784 * docs/gst/tmpl/gstfilesrc.sgml:
10785 * docs/gst/tmpl/gstindex.sgml:
10786 * docs/manual/appendix-quotes.xml:
10787 * gst/base/gstbasesrc.h:
10788 * gst/elements/gstfakesrc.h:
10789 * gst/gstmessage.h:
10790 start pulling in base classes and elements in our docs
10792 2005-06-24 Stefan Kost <ensonic@users.sf.net>
10794 * docs/gst/Makefile.am:
10795 * docs/libs/Makefile.am:
10796 fixed make distcheck with gtk-doc 1.3
10798 2005-06-23 Wim Taymans <wim@fluendo.com>
10800 * gst/gstelement.c: (gst_element_get_state_func),
10801 (gst_element_set_state), (gst_element_change_state):
10802 When the state did not change, also report NO_PREROLL
10805 2005-06-23 Wim Taymans <wim@fluendo.com>
10807 * gst/gstpad.c: (gst_pad_event_default):
10808 * gst/gstqueue.c: (gst_queue_loop):
10809 No unsafe task pausing please.
10811 2005-06-23 Wim Taymans <wim@fluendo.com>
10813 * gst/schedulers/threadscheduler.c:
10814 (gst_thread_scheduler_task_start),
10815 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10816 Ref the task before pushing it on the threadpool. This
10817 makes sure that we have a ref when the threadfunction is
10820 2005-06-23 Andy Wingo <wingo@pobox.com>
10822 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10823 offset is greater than the file's size.
10825 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
10826 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10827 * gst/gstobject.c (gst_object_class_init): Make the class lock
10828 recursive. Wim won't let me drop deep_notify. Decodebin works
10829 again, whoopdy doo.
10831 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10832 internal pad, and hacks accordingly. Doesn't do it on the target
10833 pad because we change its caps. Probably catches all cases of
10835 (gst_ghost_pad_set_property): Connect to notify::caps as
10838 * tests/network-clock.scm (plot-simulation): Pipe data to the
10839 elite python skript.
10841 * tests/network-clock-utils.scm (define-parameter): New macro,
10842 defines a parameter that can be set via the command line.
10843 (set-parameter!, parse-parameter-arguments): Command line args
10846 * tests/plot-data: Simple matplotlib-based plotter, takes input on
10849 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
10851 * gst/elements/gsttypefindelement.c:
10852 (gst_type_find_element_handle_event):
10853 Don't restart typefinding on a discont.
10854 * gst/gstelement.c: (gst_element_set_state):
10855 Debug spelling fix.
10856 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10857 Allow changing mode of an active pad.
10858 Debug output fixes.
10859 * gst/registries/gstlibxmlregistry.c: (load_feature):
10860 Don't cast a static pad template to a normal pad template.
10862 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
10864 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10865 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10866 remove gst_strtoll completely, since it didn't actually do
10867 anything more than what g_ascii_strtoull already does.
10868 check for range errors when deserializing
10869 do a cast for the unsigned cases; but further fixing needs
10870 a decision on what the interpretation of "(int)" and
10871 deserialization should be for values that fall outside the
10872 type's boundaries (ie, refuse, or interpret as casting)
10874 2005-06-23 Wim Taymans <wim@fluendo.com>
10876 * check/Makefile.am:
10877 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10878 * docs/design/part-live-source.txt:
10879 * docs/design/part-states.txt:
10880 * gst/base/gstbasesrc.c: (gst_basesrc_init),
10881 (gst_basesrc_set_live), (gst_basesrc_is_live),
10882 (gst_basesrc_get_range), (gst_basesrc_activate),
10883 (gst_basesrc_change_state):
10884 * gst/base/gstbasesrc.h:
10885 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10886 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10887 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10888 * gst/gstelement.c: (gst_element_get_state_func),
10889 (gst_element_set_state):
10890 * gst/gstelement.h:
10892 * tools/gst-launch.c: (event_loop), (main):
10893 Added support for live sources and other elements that
10895 Updated design docs, added live-source design doc.
10896 Implemented live source functionality in basesrc
10897 Fix error condition in _bin_get_state()
10898 Implement live source handling in -launch.
10899 Added check for live sources.
10900 Fixed case in GstBin where elements were changed state
10904 2005-06-23 Andy Wingo <wingo@pobox.com>
10906 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10907 borken refcounting.
10909 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10910 gst_caps_replace takes care of this for us.
10912 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10913 gst_pad_set_caps on the target, not just its setcaps() function.
10915 * tests/network-clock.scm:
10916 * tests/network-clock-utils.scm: A network clock simulator.
10917 Something of an algorithmic testbed before doing something in C.
10919 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10921 * check/Makefile.am:
10922 * check/gst/capslist.h:
10923 copy over from 0.8, and add two with bitmasks specified with
10925 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10926 add test to parse everything from capslist.h
10927 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10929 add test for structure deserialization
10930 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10931 add tests for deserialization of strings to int types
10932 * gst/gststructure.c: (gst_structure_nth_field_name):
10933 * gst/gststructure.h:
10934 add a way to get the name of a field referenced by index
10935 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10936 instead of checking if the resulting long long lies between
10937 min and max, we check if the long long would fit into
10938 a number of bytes for the final type.
10939 This fixes cases where a string represents 2^32 - 1, which
10940 when cast to int would be the (valid) -1, but is bigger than
10943 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10945 * gst/parse/grammar.y:
10946 add a log line for type deserialization
10948 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10950 * check/gst/gstvalue.c: (START_TEST):
10951 * gst/gstvalue.c: (gst_value_deserialize):
10952 return long long, not int, so gint64 deserialization actually
10953 works. Is there any flag that makes the compiler check this ?
10956 2005-06-22 Wim Taymans <wim@fluendo.com>
10959 Added convenience macros for setting buffers in GValue.
10961 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10963 * check/gst/.cvsignore:
10964 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10965 add a test deserializing int64, and comment part out because
10968 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10970 * check/Makefile.am:
10971 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10972 * testsuite/Makefile.am:
10973 * testsuite/caps/Makefile.am:
10974 * testsuite/caps/value_serialize.c:
10975 * testsuite/test_gst_init.c:
10976 move a value_serialize test over
10978 2005-06-20 Wim Taymans <wim@fluendo.com>
10983 * gst/gstvalue.c: (gst_value_compare_buffer),
10984 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10985 (gst_value_compare_flags), (gst_value_serialize_flags),
10986 (gst_value_deserialize_flags), (_gst_value_initialize):
10987 Fix serialisation of buffers, they are not boxed types anymore
10989 2005-06-20 Wim Taymans <wim@fluendo.com>
10991 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10992 Testcase to show error in buffer-on-caps serialisation.
10994 2005-06-20 Andy Wingo <wingo@pobox.com>
10996 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10997 will be adding to later.
10999 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11000 if its socks fill with rocks.
11001 (gst_system_clock_obtain): Set the name on object construction.
11002 Avoid double-checked locking.
11004 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
11006 * gst/gsturi.c: (gst_element_make_from_uri):
11007 Fix potential endless loop.
11009 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11011 * check/Makefile.am:
11013 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11015 move over from testsuite dir and clean up
11018 * testsuite/Makefile.am:
11019 * testsuite/tags/.cvsignore:
11020 * testsuite/tags/Makefile.am:
11021 * testsuite/tags/merge.c:
11022 remove testsuite/tags
11024 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11026 * docs/gst/gstreamer-sections.txt:
11027 * docs/gst/tmpl/gstenumtypes.sgml:
11028 * win32/gstenumtypes.c:
11029 clean up documentation build a little
11031 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11033 * check/gstcheck.h:
11034 add macros for checking refcounts on objects and caps
11035 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11036 add some more unit tests
11037 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11038 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11039 fix leaked refcounts (I hope :)) so unittest works
11043 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
11045 * configure.ac: back to HEAD
11047 === release 0.9.1 ===
11049 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
11055 2005-06-17 Andy Wingo <wingo@pobox.com>
11057 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11058 assert; it's always possible that the pad gets deactivated in
11059 between the checks in gstpad.c and the implementation. Rely on
11060 finish_preroll() to return a FLUSHING or similar instead of on the
11063 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11064 clock and post an EOS message if we come out of finish_preroll in
11067 2005-06-16 David Schleef <ds@schleef.org>
11069 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11070 (gst_capsfilter_set_property): Allow NULL as possible value
11071 for filter_caps property, indicating GST_CAPS_ANY.
11073 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11075 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11077 * gst/schedulers/Makefile.am:
11079 * gstreamer.spec.in:
11082 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11084 * gstreamer.spec.in:
11087 2005-06-08 Andy Wingo <wingo@pobox.com>
11089 * gst/gstutils.c: RPAD fixes all around.
11090 (gst_element_link_pads): Refcounting fixes.
11092 * tools/gst-inspect.c:
11093 * tools/gst-xmlinspect.c:
11095 * gst/base/gsttypefindhelper.c:
11096 * gst/base/gstbasesink.c:
11097 * gst/gstqueue.c: RPAD fixes.
11099 * gst/gstghostpad.h:
11100 * gst/gstghostpad.c: New ghost pad implementation as full proxy
11101 pads. The tricky thing is they provide both source and sink
11102 interfaces, since they proxy the internal pad for the external
11103 pad, and vice versa. Implement with lower-level ProxyPad objects,
11104 with the interior proxy pad as a child of the exterior ghost pad.
11105 Should write a doc on this.
11107 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11108 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11111 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11112 pads are real pads. No ghost pads in this file. Not documenting
11113 the myriad s/RPAD/PAD/ and REALIZE fixes.
11114 (gst_pad_class_init): Add properties for "direction" and
11115 "template". Both are construct-only, so they can't change during
11116 the life of the pad. Fixes properly deriving from GstPad.
11117 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11118 derived objects, just set properties when creating the objects via
11120 (gst_pad_get_parent): Implement as a function, return NULL if the
11121 parent is not an element.
11122 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11123 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11125 * gst/gstobject.c (gst_object_class_init): Make name a construct
11126 property. Don't set it in the object init.
11128 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11129 with UNKNOWN direction.
11130 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11131 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11132 (gst_element_remove_pad): Remove ghost-pad special cases.
11133 (gst_element_pads_activate): Remove rpad cruft.
11135 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11136 catch the pad's-parent-not-an-element case.
11138 * gst/gst.h: Include gstghostpad.h.
11140 * gst/gst.c (init_post): No more real, ghost pads.
11142 * gst/Makefile.am: Add gstghostpad.[ch].
11144 * check/Makefile.am:
11145 * check/gst/gstbin.c:
11146 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11147 into a bin creates ghost pads, and that the refcounts are right.
11148 Partly moved from gstbin.c.
11150 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11152 * check/gst-libs/.cvsignore:
11153 * check/gst/.cvsignore:
11154 * check/pipelines/.cvsignore:
11156 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11157 (START_TEST), (cleanup_suite), (main):
11158 add some tests related to cleanup after running pipelines
11160 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11162 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11163 add a testsuite for GstBuffer
11165 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
11167 * gst/gstminiobject.h:
11168 add defines for accessing the refcount
11170 2005-06-03 Stefan Kost <ensonic@users.sf.net>
11172 * Makefile.am: added support for html unit test coverage reports
11174 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
11176 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11177 Free existing caps if the capsfilter changes. Add a FIXME about
11178 setting those caps on the pads.
11180 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11181 Before adding a ghost pad to a parent bin, check that there isn't
11182 already one for the element on the bin. Prevents infinite recursion
11183 when using decodebin in parse pipelines. Andy says he'll rewrite the
11184 way this works anyway, so ignore the hack.
11186 2005-06-02 Andy Wingo <wingo@pobox.com>
11188 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11189 file size, pass it on to the type find helper.
11191 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11192 segment_start and segment_end properly according to the seek
11193 method. Segment_end is still a bit flaky because offset can be
11194 negative for CUR and END cases, but it takes -1 as an "unset"
11197 2005-06-02 Wim Taymans <wim@fluendo.com>
11199 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11200 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11201 (gst_basesink_activate):
11202 * gst/base/gstbasesink.h:
11203 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11204 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11205 (gst_pad_query), (gst_pad_start_task):
11207 * gst/gstqueue.c: (gst_queue_bufferalloc),
11208 (gst_queue_handle_sink_event), (gst_queue_chain):
11209 Bufferalloc: return GstFlowReturn to more accuratly report
11210 why allocation failed.
11212 2005-06-02 Wim Taymans <wim@fluendo.com>
11214 * gst/gstpipeline.c: (gst_pipeline_send_event):
11215 Take snapshot of state without blocking.
11217 2005-06-02 Wim Taymans <wim@fluendo.com>
11219 * docs/design/part-TODO.txt:
11220 * docs/design/part-caps.txt:
11221 * docs/design/part-clocks.txt:
11222 * docs/design/part-negotiation.txt:
11223 * docs/design/part-preroll.txt:
11226 2005-05-30 Wim Taymans <wim@fluendo.com>
11228 * gst/elements/gstidentity.c: (gst_identity_event),
11229 (gst_identity_transform), (gst_identity_get_property):
11230 Protect last_message property as it is accessed from
11233 2005-05-30 Wim Taymans <wim@fluendo.com>
11235 * gst/gstelement.c: (gst_element_init),
11236 (gst_element_pads_activate), (gst_element_change_state):
11237 Slicker pad activation code.
11239 2005-05-30 Wim Taymans <wim@fluendo.com>
11242 * gst/gstelement.h:
11243 * gst/gstelementfactory.h:
11245 Move elementfactory methods to separate .h file.
11247 2005-05-30 Wim Taymans <wim@fluendo.com>
11249 * docs/design/part-overview.txt:
11250 * gst/gstsystemclock.h:
11251 Small typo fixes, doc updates.
11253 2005-05-30 Wim Taymans <wim@fluendo.com>
11255 * gst/gst.c: (gst_init_get_popt_table), (init_post),
11256 (init_popt_callback):
11257 Remove cpu-opt flag.
11259 2005-05-30 Wim Taymans <wim@fluendo.com>
11261 * gst/gstbuffer.c: (gst_subbuffer_finalize),
11262 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11264 Avoid typechecking in places where not needed.
11265 Added accessor for malloc_data.
11267 2005-05-30 Wim Taymans <wim@fluendo.com>
11269 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11270 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11271 (gst_pad_configure_sink), (gst_pad_configure_src),
11272 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11273 (gst_pad_start_task):
11274 Propagate errors from _set_caps() in configure_src/sink
11275 functions instead of returning TRUE.
11276 FLUSH events can travel up and downstream
11279 2005-05-30 Wim Taymans <wim@fluendo.com>
11281 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11282 (gst_basesink_activate):
11283 Handle EOS in preroll.
11285 2005-05-30 Wim Taymans <wim@fluendo.com>
11287 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11288 (gst_queue_loop), (gst_queue_handle_src_event):
11289 Remove old pieces of code
11290 Flushing the queue in an upstream event is a very bad idea.
11292 2005-05-26 Andy Wingo <wingo@pobox.com>
11294 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11295 gst_value_set_mini_object so as to add a ref on the object (which
11296 will be removed when the value is unset).
11298 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11299 arg type in ::handoff.
11301 * gst/gstelement.c (gst_element_change_state): Also deactivate
11302 pads in READY->NULL, just in case the element didn't make it to
11303 PAUSED. Wingo tested, Wim approved.
11305 2005-05-26 Wim Taymans <wim@fluendo.com>
11307 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11308 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11309 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11310 A flushing pad cannot be used to alloc_buffer from.
11312 2005-05-26 Wim Taymans <wim@fluendo.com>
11314 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11315 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11316 (gst_bus_source_dispatch), (gst_bus_source_finalize),
11317 (gst_bus_create_watch), (gst_bus_add_watch_full):
11319 Implement a real GSource and use g_main_context_wakeup() to
11320 signal new messages instead of the socketpair.
11322 2005-05-25 Wim Taymans <wim@fluendo.com>
11324 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11325 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11326 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11327 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11328 (gst_pad_send_event), (gst_pad_start_task):
11329 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11330 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11331 (gst_queue_sink_activate), (gst_queue_src_activate),
11332 (gst_queue_change_state):
11334 Fix state changes for non sinks. We now change sinks, then elements
11335 with unconnected srcpads, then the rest.
11336 More efficient queue unlocking in flush and state changes.
11337 Set the pad activate mode even if it does not have an activate
11340 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11342 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11343 Don't go in pull mode for non-seekable sources.
11344 * gst/elements/gsttypefindelement.h:
11345 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11346 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11347 (free_entry), (stop_typefinding),
11348 (gst_type_find_element_handle_event), (find_peek),
11349 (gst_type_find_element_chain), (do_pull_typefind),
11350 (gst_type_find_element_change_state):
11351 Allow typefinding (w/o seeking) in push-mode, simplified version
11352 of what was in 0.8.
11353 * gst/gstutils.c: (gst_buffer_join):
11355 gst_buffer_join() from 0.8.
11357 2005-05-25 Wim Taymans <wim@fluendo.com>
11359 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11360 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11361 (gst_pad_send_event), (gst_pad_start_task):
11362 Disable attempt at mode switching until it is figured out.
11364 2005-05-25 Wim Taymans <wim@fluendo.com>
11366 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11367 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11368 (gst_basesink_finish_preroll), (gst_basesink_chain),
11369 (gst_basesink_loop), (gst_basesink_activate),
11370 (gst_basesink_change_state):
11371 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11372 (gst_basesrc_get_range), (gst_basesrc_loop),
11373 (gst_basesrc_activate):
11374 * gst/elements/gsttee.c: (gst_tee_sink_activate):
11375 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11376 (gst_real_pad_init), (gst_real_pad_set_property),
11377 (gst_real_pad_get_property), (gst_pad_set_active),
11378 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11379 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11380 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11381 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11382 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11383 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11384 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11385 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11386 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11387 (gst_pad_stop_task):
11389 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11390 (gst_queue_loop), (gst_queue_src_activate):
11391 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11392 (gst_task_get_state):
11394 * gst/schedulers/threadscheduler.c:
11395 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11396 Implement gst_pad_pause/start/stop_task(), take STREAM lock
11398 Remove ACTIVE pad flag, use FLUSHING everywhere
11399 Added _pad_chain(), _pad_get_range() to call chain/getrange
11401 Add locks around IS_FLUSHING when reading.
11402 Take STREAM lock in chain(), get_range() functions so plugins
11403 don't need to take it anymore.
11407 2005-05-25 Wim Taymans <wim@fluendo.com>
11409 * tools/gst-launch.c: (event_loop):
11410 Unref message after using its contents instead of
11413 2005-05-24 Wim Taymans <wim@fluendo.com>
11415 * docs/design/draft-ghostpads.txt:
11416 * docs/design/draft-push-pull.txt:
11417 * docs/design/draft-query.txt:
11418 * docs/design/part-overview.txt:
11419 Docs updates, added general overview doc.
11421 2005-05-21 David Schleef <ds@schleef.org>
11423 * docs/gst/tmpl/old/GstBin.sgml:
11424 * docs/gst/tmpl/old/GstBuffer.sgml:
11425 * docs/gst/tmpl/old/GstCaps.sgml:
11426 * docs/gst/tmpl/old/GstClock.sgml:
11427 * docs/gst/tmpl/old/GstCompat.sgml:
11428 * docs/gst/tmpl/old/GstData.sgml:
11429 * docs/gst/tmpl/old/GstElement.sgml:
11430 * docs/gst/tmpl/old/GstEvent.sgml:
11431 * docs/gst/tmpl/old/GstIndex.sgml:
11432 * docs/gst/tmpl/old/GstStructure.sgml:
11433 * docs/gst/tmpl/old/GstTag.sgml:
11434 * docs/gst/tmpl/old/cothreads.sgml:
11435 * docs/gst/tmpl/old/cothreads_compat.sgml:
11436 * docs/gst/tmpl/old/gettext.sgml:
11437 * docs/gst/tmpl/old/gobject2gtk.sgml:
11438 * docs/gst/tmpl/old/grammar.tab.sgml:
11439 * docs/gst/tmpl/old/gst-i18n-app.sgml:
11440 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11441 * docs/gst/tmpl/old/gst_private.sgml:
11442 * docs/gst/tmpl/old/gstaggregator.sgml:
11443 * docs/gst/tmpl/old/gstarch.sgml:
11444 * docs/gst/tmpl/old/gstatomic_impl.sgml:
11445 * docs/gst/tmpl/old/gstbufferstore.sgml:
11446 * docs/gst/tmpl/old/gstdata_private.sgml:
11447 * docs/gst/tmpl/old/gstdisksink.sgml:
11448 * docs/gst/tmpl/old/gstdisksrc.sgml:
11449 * docs/gst/tmpl/old/gstelementfactory.sgml:
11450 * docs/gst/tmpl/old/gstextratypes.sgml:
11451 * docs/gst/tmpl/old/gstfakesink.sgml:
11452 * docs/gst/tmpl/old/gstfakesrc.sgml:
11453 * docs/gst/tmpl/old/gstfdsink.sgml:
11454 * docs/gst/tmpl/old/gstfdsrc.sgml:
11455 * docs/gst/tmpl/old/gstfilesink.sgml:
11456 * docs/gst/tmpl/old/gstfilesrc.sgml:
11457 * docs/gst/tmpl/old/gsthttpsrc.sgml:
11458 * docs/gst/tmpl/old/gstidentity.sgml:
11459 * docs/gst/tmpl/old/gstindexfactory.sgml:
11460 * docs/gst/tmpl/old/gstmarshal.sgml:
11461 * docs/gst/tmpl/old/gstmd5sink.sgml:
11462 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11463 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11464 * docs/gst/tmpl/old/gstpadtemplate.sgml:
11465 * docs/gst/tmpl/old/gstpipefilter.sgml:
11466 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11467 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11468 * docs/gst/tmpl/old/gstshaper.sgml:
11469 * docs/gst/tmpl/old/gstspider.sgml:
11470 * docs/gst/tmpl/old/gstspideridentity.sgml:
11471 * docs/gst/tmpl/old/gststatistics.sgml:
11472 * docs/gst/tmpl/old/gsttee.sgml:
11473 * docs/gst/tmpl/old/gsttimecache.sgml:
11474 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11475 * docs/gst/tmpl/old/gstxmlregistry.sgml:
11476 * docs/gst/tmpl/old/gthread-cothreads.sgml:
11477 * docs/gst/tmpl/old/types.sgml:
11478 I didn't intend to add these or check them in.
11480 2005-05-19 David Schleef <ds@schleef.org>
11482 * configure.ac: Use -no-common everywhere. In a sane world, it
11483 would be the default in libtool, because without it, you can't
11484 build DLLs on Windows.
11485 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11486 * docs/gst/gstreamer-sections.txt:
11487 * docs/gst/tmpl/gstcpu.sgml:
11488 * docs/gst/tmpl/gstdata.sgml:
11489 * docs/gst/tmpl/gstthread.sgml:
11491 2005-05-19 David Schleef <ds@schleef.org>
11493 * gst/gstminiobject.c: (gst_value_set_mini_object),
11494 (gst_value_take_mini_object), (gst_value_get_mini_object):
11495 * gst/gstminiobject.h: Add GValue set/get functions.
11497 2005-05-19 Wim Taymans <wim@fluendo.com>
11499 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11500 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11501 (gst_subbuffer_init), (gst_buffer_is_span_fast):
11503 * gst/gstbus.c: (gst_bus_post):
11504 * gst/gstelement.c: (gst_element_get_random_pad):
11505 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11506 Make subbufer unref the parent in finalize.
11507 some more debugging info.
11510 2005-05-19 Wim Taymans <wim@fluendo.com>
11512 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11513 (gst_basesink_init), (gst_basesink_finalize),
11514 (gst_basesink_activate), (gst_basesink_change_state):
11515 Don't free preroll queue too early.
11517 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11521 Hi, I'm outdated. Please shoot me.
11523 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11525 * gst/gstpipeline.c: (gst_pipeline_send_event):
11526 Do not access variables after they have been deleted.
11528 2005-05-19 Wim Taymans <wim@fluendo.com>
11530 * tools/gst-inspect.c: (print_plugin_features):
11531 A plugin feature does unfortunatly not use the
11534 2005-05-18 Wim Taymans <wim@fluendo.com>
11536 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11537 Port _span() functions to new subbuffers.
11539 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11541 * gst/gstbin.c: (gst_bin_add_func):
11542 Fix clock settery in bins when adding kids after the clock has
11545 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11547 * gst/elements/gstidentity.c: (gst_identity_class_init):
11548 Workaround until signals support GstMiniObject.
11550 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
11553 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11555 2005-05-18 Wim Taymans <wim@fluendo.com>
11557 * gst/base/Makefile.am:
11558 * gst/base/gstadapter.c: (gst_adapter_base_init),
11559 (gst_adapter_class_init), (gst_adapter_init),
11560 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11561 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11562 (gst_adapter_flush), (gst_adapter_available),
11563 (gst_adapter_available_fast):
11564 * gst/base/gstadapter.h:
11565 Ported and added adapter to the base classes.
11567 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11570 * gst/gstmessage.c:
11571 Make sure the class is reffed/unreffed once before threads can be
11572 used. Fixes #304551.
11574 2005-05-17 Wim Taymans <wim@fluendo.com>
11576 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11577 (gst_basesink_chain_unlocked), (gst_basesink_activate):
11578 * gst/gstminiobject.c: (gst_mini_object_get_type),
11579 (gst_mini_object_free):
11580 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11581 (gst_pad_push), (gst_pad_push_event):
11582 * gst/gstqueue.c: (gst_queue_change_state):
11583 Don't queue buffers in basesink when we are flushing.
11584 Unref buffer when flushing in basesink.
11585 Flush queue when going to READY
11586 Unref buffer when _push() returns an error.
11587 Don't free MiniObject instance when refcount is incremented
11588 in _finalize() so that we can recover objects.
11590 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
11592 * docs/manual/advanced-schedulers.xml:
11593 * docs/manual/appendix-checklist.xml:
11594 * docs/pwg/advanced-clock.xml:
11595 * docs/pwg/advanced-interfaces.xml:
11596 * docs/pwg/advanced-request.xml:
11597 * docs/pwg/advanced-types.xml:
11598 * docs/pwg/intro-preface.xml:
11599 * examples/plugins/example.c: (gst_example_get_type),
11600 (gst_example_class_init), (gst_example_chain),
11601 (gst_example_set_property), (gst_example_get_property),
11602 (gst_example_change_state), (plugin_init):
11603 * examples/plugins/example.h:
11606 2005-05-17 Wim Taymans <wim@fluendo.com>
11608 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11609 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11610 * gst/gstqueue.c: (gst_queue_change_state):
11611 Clear queue when going to READY.
11612 Remove IN_SETCAPS flag too.
11614 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
11616 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11617 Remove implicit cast from gboolean to GstElementStateReturn;
11618 make sure we still return failure in paused => ready case if
11619 the parent class fails to change state and our own stop
11622 2005-05-17 Wim Taymans <wim@fluendo.com>
11624 * tools/gst-launch.c: (event_loop):
11625 Message was unreffed too soon.
11627 2005-05-16 Andy Wingo <wingo@pobox.com>
11629 * gst/gstbin.c (sink_iterator_filter): Err... um...
11631 * check/gst/gstbin.c (test_ghost_pads): New test for the
11632 ghosting-if-elements-not-in-same-bin behavior.
11634 2005-05-16 David Schleef <ds@schleef.org>
11636 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11637 accessing refcount directly.
11639 2005-05-15 David Schleef <ds@schleef.org>
11641 * check/Makefile.am: remove GstData checks
11642 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11643 * gst/Makefile.am: add miniobject, remove data
11644 * gst/gst.h: add miniobject, remove data
11645 * gst/gstdata.c: remove
11646 * gst/gstdata.h: remove
11647 * gst/gstdata_private.h: remove
11648 * gst/gsttypes.h: remove GstEvent and GstMessage
11649 * gst/gstelement.c: (gst_element_post_message): fix for API changes
11650 * gst/gstmarshal.list: change BOXED -> OBJECT
11652 Implement GstMiniObject.
11653 * gst/gstminiobject.c:
11654 * gst/gstminiobject.h:
11656 Modify to be subclasses of GstMiniObject.
11657 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11658 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11659 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11660 (gst_subbuffer_get_type), (gst_subbuffer_init),
11661 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11664 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11665 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11666 (_gst_event_copy), (gst_event_new):
11668 * gst/gstmessage.c: (_gst_message_initialize),
11669 (gst_message_get_type), (gst_message_class_init),
11670 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11671 (gst_message_new), (gst_message_new_error),
11672 (gst_message_new_warning), (gst_message_new_tag),
11673 (gst_message_new_state_changed), (gst_message_new_application):
11674 * gst/gstmessage.h:
11675 * gst/gstprobe.c: (gst_probe_perform),
11676 (gst_probe_dispatcher_dispatch):
11678 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11679 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11680 (_gst_query_copy), (gst_query_new):
11682 Update elements for GstData -> GstMiniObject changes
11684 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11685 (gst_queue_chain), (gst_queue_loop):
11686 * gst/elements/gstbufferstore.c:
11687 (gst_buffer_store_add_buffer_func),
11688 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11689 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11690 (gst_fakesink_render):
11691 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11692 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11693 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11694 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11695 (gst_filesrc_create_read):
11696 * gst/elements/gstidentity.c: (gst_identity_class_init):
11697 * gst/elements/gsttypefindelement.c:
11698 (gst_type_find_element_src_event), (free_entry_buffers),
11699 (gst_type_find_element_handle_event):
11700 * libs/gst/dataprotocol/dataprotocol.c:
11701 (gst_dp_header_from_buffer):
11702 * libs/gst/dataprotocol/dataprotocol.h:
11703 * libs/gst/dataprotocol/dp-private.h:
11705 2005-05-15 David Schleef <ds@schleef.org>
11707 * gst/elements/gstelements.c: Don't include headers that were
11710 2005-05-15 David Schleef <ds@schleef.org>
11712 * gst/elements/Makefile.am: Remove some elements that don't
11713 need to be in the core (or even exist at all).
11714 * gst/elements/gstaggregator.c:
11715 * gst/elements/gstaggregator.h:
11716 * gst/elements/gstmd5sink.c:
11717 * gst/elements/gstmd5sink.h:
11718 * gst/elements/gstmultifilesrc.c:
11719 * gst/elements/gstmultifilesrc.h:
11720 * gst/elements/gstpipefilter.c:
11721 * gst/elements/gstpipefilter.h:
11722 * gst/elements/gstshaper.c:
11723 * gst/elements/gstshaper.h:
11724 * gst/elements/gststatistics.c:
11725 * gst/elements/gststatistics.h:
11726 * po/POTFILES.in: Remove above files.
11728 2005-05-14 Andy Wingo <wingo@pobox.com>
11730 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11731 so as to get the refs right.
11732 (sink_iterator_filter): New function, wraps bin_element_is_sink,
11733 unreffing objects that don't pass the filter.
11735 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11736 gst_element_set_bus.
11737 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11738 normal cases, this will destroy the bus.
11740 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11743 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11746 2005-05-13 Andy Wingo <wingo@pobox.com>
11748 * gst/gstutils.c (gst_element_link_pads): Instead of calling
11749 gst_pad_link, call pad_link_maybe_ghosting,
11750 (pad_link_maybe_ghosting): Links pads, making sure that the
11751 elements being linked are in the same bin.
11752 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11753 Helpers for pad_link_maybe_ghosting.
11755 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11758 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11760 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11762 * docs/design/part-element-source.txt:
11765 2005-05-12 Wim Taymans <wim@fluendo.com>
11767 * gst/base/gstbasesink.c: (gst_basesink_init),
11768 (gst_basesink_activate):
11769 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11770 (gst_basesrc_is_seekable):
11771 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11772 (bin_element_is_sink), (gst_bin_change_state):
11773 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11774 * gst/gstelement.h:
11775 Identify sinks by their flag to avoid overly complicated
11777 Do state changes even for elements not reachable from the
11779 BaseSink is a sink now :)
11780 Some more debugging info in the basesrc.
11783 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11785 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11786 Implement _query on a bin, similar to _send_event.
11788 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
11790 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11791 Discont event offset format should be GST_FORMAT_BYTES,
11792 not GST_FORMAT_TIME.
11794 2005-05-12 Wim Taymans <wim@fluendo.com>
11796 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11797 Same fix as Ronald's but without the signal.
11799 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11801 * gst/gstutils.c: (gst_element_query_position):
11802 No, an element is not a pad.
11804 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11806 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11807 (gst_bin_get_state):
11808 If a child is removed from a bin while we remove the child from
11809 the bin and while we're retrieving its state, signal this to the
11810 get_state function so we abort the wait (instead of waiting for
11811 a timeout) and can immediately re-iterate over all other elements.
11813 2005-05-12 Wim Taymans <wim@fluendo.com>
11815 * gst/base/Makefile.am:
11816 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11817 (gst_basesrc_start):
11818 * gst/base/gstbasesrc.h:
11819 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11820 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11821 (gst_pushsrc_init), (gst_pushsrc_create):
11822 * gst/base/gstpushsrc.h:
11823 Added is_seekable to BaseSrc
11824 Added simple PushSrc.
11826 2005-05-11 Wim Taymans <wim@fluendo.com>
11828 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11829 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11830 (gst_element_link_pads), (gst_element_query_position),
11831 (gst_element_query_convert), (intersect_caps_func),
11832 (gst_pad_query_position), (gst_pad_query_convert):
11833 Fix refcounting in utils function.
11834 No point in trying to activate a pad when it's added, it could
11835 be added from the state change function and then we deadlock, the
11836 element has to decide what to do.
11838 2005-05-10 Andy Wingo <wingo@pobox.com>
11840 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11841 *all* the arguments.
11843 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11844 stream lock if it's a FLUSH_DONE; normal flushes don't get the
11845 lock (according to the docs -- if this is wrong change the docs).
11847 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11848 flush messages in the NULL state.
11850 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11851 message immediately and return.
11852 (gst_bus_set_flushing): New function. If a bus is flushing, it
11853 flushes out any queued messages and immediately unrefs new
11854 messages. This is so when an element goes to NULL, all of the
11855 unhandled messages coming from it can be freed, and their
11856 references to the element dropped. In other words: message source
11857 ref considered harmful :P
11859 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11860 we're finished with it.
11862 * gst/gstmessage.c (gst_message_new_state_changed):
11864 2005-05-10 Wim Taymans <wim@fluendo.com>
11866 * gst/gstvalue.c: (gst_value_compare_flags),
11867 (gst_value_serialize_flags), (gst_value_deserialize_flags),
11868 (_gst_value_initialize):
11869 Added flags serialize/deserialize/compare code.
11871 2005-05-09 Andy Wingo <wingo@pobox.com>
11873 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11874 Intersect the peer's caps with our caps.
11876 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11878 * gst/base/gsttypefindhelper.c: (helper_find_peek):
11879 * gst/elements/gsttypefindelement.c: (find_peek):
11880 Handle negative offsets better. Fixes decodebin.
11882 2005-05-09 Wim Taymans <wim@fluendo.com>
11884 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11885 (gst_base_transform_event):
11886 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11887 Implement accept_caps.
11888 Fix silly lock/unlock mismatch in base class.
11890 2005-05-09 Wim Taymans <wim@fluendo.com>
11892 * docs/design/draft-push-pull.txt:
11893 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11894 * gst/elements/gstfilesink.c: (gst_filesink_init),
11895 (gst_filesink_query):
11896 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11897 (gst_type_find_handle_src_query), (find_element_get_length):
11898 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11899 * gst/gstelement.h:
11900 * gst/gstmessage.c:
11901 * gst/gstmessage.h:
11902 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11903 (gst_real_pad_get_caps_unlocked),
11904 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11905 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11906 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11907 (gst_real_pad_dispose), (gst_real_pad_finalize),
11908 (gst_pad_load_and_link), (gst_pad_save_thyself),
11909 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11910 (gst_pad_check_pull_range), (gst_pad_pull_range),
11911 (gst_pad_template_get_type), (gst_pad_template_class_init),
11912 (gst_pad_template_init), (gst_pad_template_dispose),
11913 (name_is_valid), (gst_static_pad_template_get),
11914 (gst_pad_template_new), (gst_static_pad_template_get_caps),
11915 (gst_pad_template_get_caps), (gst_pad_set_element_private),
11916 (gst_pad_get_element_private), (gst_pad_start_task),
11917 (gst_pad_pause_task), (gst_pad_stop_task),
11918 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11919 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11920 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11921 (gst_ghost_pad_new):
11923 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11924 (gst_query_new_position), (gst_query_set_position),
11925 (gst_query_parse_position), (gst_query_new_convert),
11926 (gst_query_set_convert), (gst_query_parse_convert):
11928 * gst/gstqueryutils.c:
11929 * gst/gstqueryutils.h:
11930 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11931 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11932 (gst_queue_handle_src_query):
11933 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11934 (gst_element_query_position), (gst_element_query_convert),
11935 (intersect_caps_func), (gst_pad_query_position),
11936 (gst_pad_query_convert):
11938 * tools/gst-inspect.c: (print_pad_info):
11939 * tools/gst-xmlinspect.c: (print_element_info):
11940 Remove old query functions. Ported old code.
11941 Added position/convert helper functions to gstutils.
11942 Reordered gstpad.c code, grouping relevant things.
11943 Remove gst_message_new(), always need to speficy a specific
11947 2005-05-09 Andy Wingo <wingo@pobox.com>
11949 * gst/gstiterator.h: Add some includes.
11951 * gst/gstqueryutils.h: Include more headers.
11954 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11955 some uses of gst_pad_query.
11957 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11958 NULL out parameters.
11959 (gst_query_new_position): New proc, allocates a new position
11962 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11963 gstqueryutils.c to the build.
11965 * gst/gststructure.c (gst_structure_set_valist): Implement with
11966 the generic G_VALUE_COLLECT.
11968 2005-05-08 Edward Hervey <bilboed@bilboed.com>
11970 * gst/Makefile.am: (gst_headers):
11971 Added gstqueryutils.h to the list of headers to install, that was
11972 a 'nachty' move wingo :)
11974 2005-05-06 Andy Wingo <wingo@pobox.com>
11977 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11978 GstData, init a memchunk.
11979 (standard_definitions): Add a few query types, deprecate a few.
11980 (gst_query_get_type): New proc.
11981 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11983 (gst_query_new_application, gst_query_get_structure): New public
11986 * docs/design/draft-query.txt: Removed LINKS from the query types,
11987 because all the rest can be dispatched to other pads -- seemed
11988 ugly to have a query that couldn't be dispatched. internal_links
11989 is fine as a pad method.
11991 * gst/gstpad.h: Add query2 as a pad method, add the new functions
11992 in gstpad.c, but maintain binary compatibility for the moment.
11993 Will fix before 0.9 is out.
11995 * gst/gstqueryutils.c:
11996 * gst/gstqueryutils.h: New files, implement 3 methods for each
11997 query type: parse_query, parse_response, and set. Probably need an
12000 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12002 * gst/elements/gstfilesink.c (gst_filesink_query2):
12003 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12004 query_types, and formats methods.
12006 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12007 (gst_pad_set_query2_function): New functions.
12008 (gst_real_pad_init): Set query2_default as the default query2
12009 function. Basically just dispatches to internally linked pads.
12013 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12014 without using the atomic operations. Only one thread can possibly
12015 be accessing the data at this point. Changed so as to avoid
12016 gst_atomic operations.
12018 2005-05-06 Wim Taymans <wim@fluendo.com>
12020 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12021 Also set caps if we use the fallback buffer alloc.
12023 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
12025 * docs/gst/Makefile.am:
12026 * docs/gst/gstreamer-docs.sgml:
12027 * docs/gst/gstreamer-sections.txt:
12028 * docs/gst/tmpl/gstatomic.sgml:
12029 * docs/gst/tmpl/gstmemchunk.sgml:
12030 * testsuite/elements/struct_i386.h:
12031 * win32/GStreamer.vcproj:
12033 Purge GstAtomic stuff from docs and win32 makefiles as well
12035 2005-05-06 Wim Taymans <wim@fluendo.com>
12037 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12038 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12039 * gst/gstpad.c: (gst_pad_peer_get_caps):
12040 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12041 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12042 (gst_queue_src_activate), (gst_queue_change_state):
12044 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12045 (intersect_caps_func):
12046 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12047 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12048 Some fixes for the peer_get_caps() change.
12050 2005-05-06 Wim Taymans <wim@fluendo.com>
12052 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12053 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12054 (gst_basesink_activate):
12055 Actually do something with error codes returned from the push
12058 2005-05-06 Wim Taymans <wim@fluendo.com>
12060 * docs/design/part-element-sink.txt:
12061 * docs/design/part-element-source.txt:
12062 * gst/base/gstbasesink.c: (gst_basesink_class_init),
12063 (gst_basesink_event), (gst_basesink_activate):
12064 * gst/base/gstbasesink.h:
12065 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12066 (gst_basesrc_activate):
12067 * gst/base/gstbasesrc.h:
12068 * gst/gstelement.c: (gst_element_pads_activate):
12069 Some more documentation.
12070 Fixed scheduling decision in _pads_activate().
12072 2005-05-05 Andy Wingo <wingo@pobox.com>
12074 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12077 2005-05-05 Wim Taymans <wim@fluendo.com>
12079 * gst/base/Makefile.am:
12080 * gst/base/gstbasesink.h:
12081 * gst/base/gstbasesrc.c: (gst_basesrc_init),
12082 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12083 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12084 (gst_collectpads_class_init), (gst_collectpads_init),
12085 (gst_collectpads_finalize), (gst_collectpads_new),
12086 (gst_collectpads_set_function), (gst_collectpads_add_pad),
12087 (find_pad), (gst_collectpads_remove_pad),
12088 (gst_collectpads_is_active), (gst_collectpads_collect),
12089 (gst_collectpads_collect_range), (gst_collectpads_start),
12090 (gst_collectpads_stop), (gst_collectpads_peek),
12091 (gst_collectpads_pop), (gst_collectpads_available),
12092 (gst_collectpads_read), (gst_collectpads_flush),
12093 (gst_collectpads_chain):
12094 * gst/base/gstcollectpads.h:
12095 * gst/elements/Makefile.am:
12096 * gst/elements/gstelements.c:
12097 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12098 (gst_fakesink_get_times), (gst_fakesink_event),
12099 (gst_fakesink_preroll), (gst_fakesink_render):
12100 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12101 (gst_filesink_init), (gst_filesink_set_location),
12102 (gst_filesink_open_file), (gst_filesink_close_file),
12103 (gst_filesink_pad_query), (gst_filesink_event),
12104 (gst_filesink_render), (gst_filesink_change_state):
12105 * gst/elements/gstfilesink.h:
12106 Added object to help in making collect pad based elements.
12108 Make event function in sink baseclass return gboolean.
12110 2005-05-05 Wim Taymans <wim@fluendo.com>
12112 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12113 (gst_bin_get_by_name):
12115 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12116 (gst_clock_finalize):
12117 * gst/gstdata.c: (gst_data_replace):
12119 * gst/gstelement.c: (gst_element_request_pad),
12120 (gst_element_pads_activate):
12121 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12122 (gst_object_unref):
12123 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12124 (gst_pad_set_checkgetrange_function),
12125 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12126 (gst_pad_check_pull_range), (gst_pad_pull_range),
12127 (gst_static_pad_template_get_caps), (gst_pad_start_task),
12128 (gst_pad_pause_task), (gst_pad_stop_task):
12129 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12130 (gst_element_request_pad), (gst_pad_proxy_getcaps):
12131 Fix name lookup in GstBin.
12132 Added _data_replace() function and _buffer_replace()
12133 Use finalize method to clean up clock.
12134 Fix refcounting on request pads.
12135 Fix pad schedule mode error.
12136 Some more object refcounting debug info,
12139 2005-05-04 Andy Wingo <wingo@pobox.com>
12141 * check/Makefile.am:
12142 * docs/gst/tmpl/gstatomic.sgml:
12143 * docs/gst/tmpl/gstplugin.sgml:
12144 * gst/base/gstbasesink.c: (gst_basesink_activate):
12145 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12146 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12147 (gst_basesrc_query), (gst_basesrc_set_property),
12148 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12149 (gst_basesrc_activate):
12150 * gst/base/gstbasesrc.h:
12151 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12152 (gst_base_transform_src_activate):
12153 * gst/elements/gstelements.c:
12154 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12155 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12156 * gst/elements/gsttee.c: (gst_tee_sink_activate):
12157 * gst/elements/gsttypefindelement.c: (find_element_get_length),
12158 (gst_type_find_element_checkgetrange),
12159 (gst_type_find_element_activate):
12160 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12161 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12162 (gst_caps_load_thyself):
12163 * gst/gstelement.c: (gst_element_pads_activate),
12164 (gst_element_save_thyself), (gst_element_restore_thyself):
12165 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12166 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12168 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12169 (gst_xml_parse_file), (gst_xml_parse_memory),
12170 (gst_xml_get_element), (gst_xml_make_element):
12171 * gst/indexers/gstfileindex.c: (gst_file_index_load),
12172 (_file_index_id_save_xml), (gst_file_index_commit):
12173 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12174 (read_enum), (load_pad_template), (load_feature), (load_plugin),
12176 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12177 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12178 * tools/gst-complete.c: (main):
12179 * tools/gst-compprep.c: (main):
12180 * tools/gst-inspect.c: (print_element_properties_info):
12181 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12182 * tools/gst-xmlinspect.c: (print_element_properties):
12185 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
12187 * gst/gstplugin.c: (gst_plugin_check_module),
12188 (gst_plugin_check_file), (gst_plugin_load_file):
12189 apply patch from #172526 to make register work on MacOSX
12191 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12193 * docs/gst/tmpl/gstconfig.sgml:
12194 * gst/gstconfig.h.in:
12195 move documentation for some symbols. Add doc for GST_PTR_FORMAT
12196 * testsuite/debug/printf_extension.c: (main):
12197 Do not use GST_PTR_FORMAT on pointers to types with
12198 sizeof < sizeof(gpointer). Fixes test on 64-bit
12199 * testsuite/elements/property.h:
12200 use correct printf format
12202 2005-05-02 Wim Taymans <wim@fluendo.com>
12204 * docs/design/draft-push-pull.txt:
12205 * docs/design/draft-query.txt:
12206 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12207 (gst_basesrc_start):
12208 Added draft for new query API.
12209 Added draft for better selecting scheduling methods.
12210 Make basesrc ignore length if the subclass does not support
12213 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12216 possible fixes for automake-1.5 - _LIBADD is reserved
12218 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
12220 * docs/faq/Makefile.am:
12221 * docs/manual/Makefile.am:
12222 * docs/manuals.mak:
12223 * docs/pwg/Makefile.am:
12225 possible fixes for automake-1.5
12227 2005-04-28 Wim Taymans <wim@fluendo.com>
12229 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12230 (gst_basesink_pad_getcaps), (gst_basesink_init),
12231 (gst_basesink_do_sync):
12232 * gst/gstclock.c: (gst_clock_entry_new):
12233 * gst/gstevent.c: (gst_event_discont_get_value):
12234 * gst/gstpipeline.c: (pipeline_bus_handler),
12235 (gst_pipeline_change_state):
12236 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12237 Better debugging of clocking info.
12238 Allow NULL values when getting discont values.
12240 2005-04-27 Wim Taymans <wim@fluendo.com>
12242 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12243 * check/gst/gstpad.c: (gst_pad_suite):
12244 Increase timeout for checks.
12246 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12248 * check/Makefile.am:
12249 fix the broken rule for cleanup. Apparently this rule is
12250 only needed on FC2, so maybe this warrants further autotool
12253 2005-04-26 Wim Taymans <wim@fluendo.com>
12255 * gst/gsttrashstack.h:
12256 Ooohh. a nasty one! After having a failed pop() from the stack,
12257 it's possible that the stack is empty. In that case, don't
12258 follow the NULL pointer.
12260 2005-04-25 Wim Taymans <wim@fluendo.com>
12262 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12263 (gst_pad_set_checkgetrange_function),
12264 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12265 (gst_pad_check_pull_range), (gst_pad_pull_range),
12266 (gst_static_pad_template_get_caps), (gst_pad_start_task),
12267 (gst_pad_pause_task), (gst_pad_stop_task):
12268 * gst/gstplugin.c: (gst_plugin_load):
12270 Remove gst_library_load as it does more harm than good with
12271 the new g_module flags.
12272 Revert bogus caps template check in pad linking, pad caps
12273 are important when linking not the template, which is more
12274 general than the current caps.
12276 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12278 * gst/autoplug/.cvsignore:
12279 * gst/autoplug/Makefile.am:
12280 * gst/autoplug/gstsearchfuncs.c:
12281 * gst/autoplug/gstsearchfuncs.h:
12282 * gst/autoplug/gstspider.c:
12283 * gst/autoplug/gstspider.h:
12284 * gst/autoplug/gstspideridentity.c:
12285 * gst/autoplug/gstspideridentity.h:
12286 * gst/autoplug/spidertest.c:
12289 2005-04-25 Wim Taymans <wim@fluendo.com>
12291 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12292 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12293 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12294 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12296 Added stubs for unimplemented functions.
12298 2005-04-24 David Schleef <ds@schleef.org>
12300 * gst/gstpad.h: Disable some unimplemented functions. Wim,
12303 2005-04-24 David Schleef <ds@schleef.org>
12305 Convert everything from GstAtomicInt to g_atomic_int_*, and
12310 * gst/gstatomic_impl.h:
12318 * gst/gstdata_private.h:
12322 * gst/gstmessage.c:
12325 * gst/gststructure.c:
12326 * gst/gststructure.h:
12327 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12330 2005-04-24 David Schleef <ds@schleef.org>
12332 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12333 make the regressions tests work. Remove some code that is no
12335 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12336 Disable warning for pads without templates.
12338 2005-04-24 David Schleef <ds@schleef.org>
12340 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
12341 functions that handle filtered links.
12342 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12344 * gst/gstutils.c: Fix/remove utility functions that handle
12347 * gst/gstvalue.c: Add serialization/deserialization of caps
12348 * gst/parse/grammar.y: Ignore filtered caps when linking. This
12349 requires fixing so that the filter caps notation creates
12350 a capsfilter element and sets the filter_caps property. I
12351 think everyone probably wants to keep the shorthand notation.
12352 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12353 * docs/gst/tmpl/gstpad.sgml:
12355 * gst/elements/gstelements.c: Register capsfilter element.
12356 * gst/Makefile.am: fix spacing
12357 * docs/random/ds/0.9-suggested-changes: random
12359 2005-04-23 David Schleef <ds@schleef.org>
12361 * gst/elements/Makefile.am:
12362 * gst/elements/gstcapsfilter.c: New element that acts like an
12363 identity, but filters caps. Will eventually replace filtered
12364 caps in pad linking.
12365 * gst/gstutils.c: (gst_element_create_all_pads): New function
12366 to create all the ALWAYS pads that are registered with an
12367 element class. This functionality should eventually be
12368 merged in with GstElement initialization.
12370 * testsuite/trigger/README: part of trigger test code that should
12371 have been checked in a long time ago.
12373 2005-04-23 David Schleef <ds@schleef.org>
12375 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
12376 needed with new versions of libtool (nobody will confirm this),
12377 and hard to carry around.
12378 * gst/autoplug/Makefile.am:
12379 * gst/base/Makefile.am:
12380 * gst/elements/Makefile.am:
12381 * gst/indexers/Makefile.am:
12382 * gst/schedulers/Makefile.am:
12383 * libs/gst/bytestream/Makefile.am:
12384 * libs/gst/control/Makefile.am:
12385 * libs/gst/dataprotocol/Makefile.am:
12386 * libs/gst/getbits/Makefile.am:
12388 2005-04-21 Wim Taymans <wim@fluendo.com>
12390 * docs/design/draft-push-pull.txt:
12391 * docs/design/part-MT-refcounting.txt:
12392 * docs/design/part-TODO.txt:
12393 * docs/design/part-caps.txt:
12394 * docs/design/part-events.txt:
12395 * docs/design/part-gstbus.txt:
12396 * docs/design/part-gstpipeline.txt:
12397 * docs/design/part-messages.txt:
12398 * docs/design/part-push-pull.txt:
12399 * docs/design/part-query.txt:
12402 2005-04-21 Wim Taymans <wim@fluendo.com>
12404 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12405 (gst_message_new), (gst_message_new_error),
12406 (gst_message_new_warning), (gst_message_new_tag),
12407 (gst_message_new_state_changed), (gst_message_new_application),
12408 (gst_message_get_structure):
12409 * gst/gstmessage.h:
12410 * gst/gststructure.c: (gst_structure_set_parent_refcount),
12411 (gst_structure_copy_conditional):
12412 Use parent refcount in GstMessage to ensure GstStructure
12414 Cleaned up headers a bit.
12417 2005-04-20 Wim Taymans <wim@fluendo.com>
12419 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12420 (gst_basesink_pad_getcaps), (gst_basesink_init),
12421 (gst_basesink_chain_unlocked):
12422 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12423 (gst_type_find_helper):
12424 * gst/elements/gsttypefindelement.c:
12425 (gst_type_find_element_have_type), (gst_type_find_element_init),
12426 (stop_typefinding), (gst_type_find_element_handle_event),
12427 (find_suggest), (gst_type_find_element_chain),
12428 (gst_type_find_element_checkgetrange),
12429 (gst_type_find_element_getrange), (do_typefind),
12430 (gst_type_find_element_activate):
12431 * gst/gstbuffer.c: (_gst_buffer_sub_free),
12432 (gst_buffer_default_free), (gst_buffer_default_copy),
12433 (gst_buffer_set_caps):
12434 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12435 (gst_caps_replace):
12436 * gst/gstmessage.c: (gst_message_new),
12437 (gst_message_new_state_changed):
12438 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12439 (gst_pad_set_checkgetrange_function),
12440 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12441 (gst_pad_set_caps), (gst_pad_check_pull_range),
12442 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12444 * gst/gsttypefind.c: (gst_type_find_register):
12445 Make gst_caps_replace() work like other _replace() functions.
12446 Use _caps_replace() where possible.
12447 Make sure _message_new() initialises its field.
12448 Add gst_static_pad_template_get_caps()
12451 2005-04-18 Andy Wingo <wingo@pobox.com>
12453 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12454 on the peer, not the pad. I think that was a typo. Pass an extra
12455 arg to see if random access is possible. Activate the pads as
12456 PULL_RANGE if possible.
12458 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12460 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
12461 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12464 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12466 * docs/faq/using.xml:
12467 Add note on gstreamer-properties (#154996).
12469 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12471 * docs/random/bbb/optional-properties:
12472 Some analysis on optional properties.
12474 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12476 * docs/gst/tmpl/gstelementfactory.sgml:
12477 * gst/gstelement.h:
12478 * gst/gstelementfactory.c: (gst_element_factory_init),
12479 (gst_element_factory_cleanup), (gst_element_register),
12480 (__gst_element_factory_add_static_pad_template),
12481 (gst_element_factory_get_static_pad_templates),
12482 (gst_element_factory_can_src_caps),
12483 (gst_element_factory_can_sink_caps):
12484 * gst/registries/Makefile.am:
12485 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12486 (gst_xml_registry_class_init), (gst_xml_registry_init),
12487 (gst_xml_registry_new), (gst_xml_registry_set_property),
12488 (gst_xml_registry_get_property), (get_time), (make_dir),
12489 (gst_xml_registry_get_perms_func),
12490 (plugin_times_older_than_recurse), (plugin_times_older_than),
12491 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12492 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12493 (add_to_char_array), (read_string), (read_uint), (read_enum),
12494 (load_pad_template), (load_feature), (load_plugin), (load_paths),
12495 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12496 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12497 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12498 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12499 (gst_xml_registry_rebuild):
12500 * gst/registries/gstlibxmlregistry.h:
12501 * tools/gst-compprep.c: (main):
12502 * tools/gst-inspect.c: (print_pad_templates_info):
12503 * tools/gst-xmlinspect.c: (print_element_info):
12504 Use libxml2 for registry parsing, use staticpadtemplates in
12505 elementfactories. Makes gst_init() +/- 10x faster.
12507 2005-04-12 Wim Taymans <wim@fluendo.com>
12509 * gst/base/Makefile.am:
12510 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12511 (gst_basesink_pad_getcaps), (gst_basesink_init),
12512 (gst_basesink_event), (gst_basesink_change_state):
12513 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12514 (gst_basesrc_init), (gst_basesrc_query),
12515 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12516 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12517 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12518 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12519 (gst_basesrc_stop), (gst_basesrc_activate),
12520 (gst_basesrc_change_state):
12521 * gst/base/gsttypefindhelper.c: (helper_find_peek),
12522 (helper_find_suggest), (gst_type_find_helper):
12523 * gst/base/gsttypefindhelper.h:
12524 * gst/elements/Makefile.am:
12525 * gst/elements/gstelements.c:
12526 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12527 (gst_fakesink_get_times), (gst_fakesink_event),
12528 (gst_fakesink_preroll), (gst_fakesink_render):
12529 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12530 (gst_fakesrc_init), (gst_fakesrc_event_handler),
12531 (gst_fakesrc_get_property), (gst_fakesrc_create),
12532 (gst_fakesrc_start), (gst_fakesrc_stop):
12533 * gst/elements/gstfakesrc.h:
12534 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12535 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12536 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12537 (gst_filesrc_create_read), (gst_filesrc_create),
12538 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12539 (gst_filesrc_start):
12540 * gst/elements/gsttypefindelement.c:
12541 (gst_type_find_element_have_type), (gst_type_find_element_init),
12542 (start_typefinding), (stop_typefinding), (push_buffer_store),
12543 (gst_type_find_element_handle_event),
12544 (gst_type_find_element_chain),
12545 (gst_type_find_element_checkgetrange),
12546 (gst_type_find_element_getrange), (do_typefind),
12547 (gst_type_find_element_activate),
12548 (gst_type_find_element_change_state):
12549 * gst/elements/gsttypefindelement.h:
12550 * gst/gstpipeline.c: (pipeline_bus_handler):
12551 Added typefind helper.
12552 Small preroll fix in the base sink.
12553 Disable typefind code in basesrc.
12554 Crude port of typefindelement.
12558 2005-04-11 Wim Taymans <wim@fluendo.com>
12560 * check/gst/gstbus.c: (gstbus_suite):
12561 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12562 * check/gstcheck.h:
12563 Fix up the timeout so that the test does not fail.
12565 2005-04-06 Wim Taymans <wim@fluendo.com>
12568 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12569 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12570 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12571 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12572 (gst_basesrc_check_get_range), (gst_basesrc_loop),
12573 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12574 (gst_basesrc_stop), (gst_basesrc_activate),
12575 (gst_basesrc_change_state), (basesrc_find_peek),
12576 (basesrc_find_suggest), (gst_basesrc_type_find):
12577 * gst/base/gstbasesrc.h:
12578 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12579 (gst_filesrc_class_init), (gst_filesrc_init),
12580 (gst_filesrc_finalize), (gst_filesrc_set_location),
12581 (gst_filesrc_set_property), (gst_filesrc_get_property),
12582 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12583 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12584 (gst_filesrc_create_read), (gst_filesrc_create),
12585 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12586 * gst/elements/gstfilesrc.h:
12587 * gst/gstelement.c: (gst_element_get_state_func),
12588 (gst_element_lost_state), (gst_element_pads_activate):
12589 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12590 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12591 (gst_pad_pull_range):
12593 More work on the generic source base class, implement seeking,
12595 Make filesrc extend the base source class.
12596 Added gst_pad_set_checkgetrange_function to GstPad.
12598 2005-04-06 Andy Wingo <wingo@pobox.com>
12600 * pkgconfig/gstreamer-base.pc.in:
12601 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12603 * pkgconfig/Makefile.am:
12604 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12606 2005-04-04 Wim Taymans <wim@fluendo.com>
12608 * gst/base/Makefile.am:
12610 * gst/base/gstbasesink.c: (gst_basesink_base_init),
12611 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12612 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12613 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12614 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12615 (gst_basesrc_base_init), (gst_basesrc_class_init),
12616 (gst_basesrc_init), (gst_basesrc_get_formats),
12617 (gst_basesrc_get_query_types), (gst_basesrc_query),
12618 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12619 (gst_basesrc_set_property), (gst_basesrc_get_property),
12620 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12621 (gst_basesrc_loop), (gst_basesrc_activate),
12622 (gst_basesrc_change_state):
12623 * gst/base/gstbasesrc.h:
12624 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12625 (gst_fakesrc_class_init), (gst_fakesrc_init),
12626 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12627 (gst_fakesrc_get_property), (gst_fakesrc_create):
12628 * gst/elements/gstfakesrc.h:
12629 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12630 (gst_filesrc_open_file), (gst_filesrc_loop),
12631 (gst_filesrc_activate), (filesrc_find_peek),
12632 (gst_filesrc_type_find):
12633 Made base source class, make fakesrc extend it.
12634 Add comments to basesink class.
12635 Some filesrc cleanup.
12637 2005-03-31 David Schleef <ds@schleef.org>
12639 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12640 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12641 expected to link against libgstreamer.
12642 * gst/base/Makefile.am: link against libgstreamer
12643 * gst/elements/Makefile.am: same
12645 2005-03-31 Andy Wingo <wingo@pobox.com>
12647 * tests/instantiate/Makefile.am:
12648 * tests/instantiate/caps.c: Add test to test speed of caps copy
12651 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12652 GMemChunk to be fair.
12654 * gst/gsttrashstack.h: Remove warning about using the fallback
12655 trash stack implementation, it's still faster than malloc.
12657 2005-03-30 Andy Wingo <wingo@pobox.com>
12659 * tests/complexity.c: Add a copyright.
12661 2005-03-31 Wim Taymans <wim@fluendo.com>
12663 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12664 (gst_base_transform_class_init), (gst_base_transform_init),
12665 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12666 (gst_base_transform_get_property),
12667 (gst_base_transform_sink_activate),
12668 (gst_base_transform_src_activate),
12669 (gst_base_transform_change_state):
12670 * gst/base/gstbasetransform.h:
12671 * gst/elements/gstidentity.c: (gst_identity_class_init),
12672 (gst_identity_event), (gst_identity_check_perfect),
12673 (gst_identity_transform), (gst_identity_start),
12674 (gst_identity_stop):
12675 Added start/stop methods to transform base class so subclasses
12676 don't need to deal with state changes even.
12678 2005-03-31 Wim Taymans <wim@fluendo.com>
12680 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12681 (gst_event_new_discontinuous), (gst_event_discont_get_value):
12683 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12684 (gst_pad_pull_range):
12685 Added rate to the discont event to prepare for variable speed
12686 and reverse playback.
12688 2005-03-29 David Schleef <ds@schleef.org>
12691 * testsuite/trigger/Makefile.am:
12692 * testsuite/trigger/trigger.c: A little example program to show
12693 how trigger-based elements can work.
12695 2005-03-29 Wim Taymans <wim@fluendo.com>
12697 * gst/base/Makefile.am:
12699 * gst/base/gstbasesink.c: (gst_basesink_get_type),
12700 (gst_basesink_base_init), (gst_basesink_class_init),
12701 (gst_basesink_pad_getcaps), (gst_basesink_init),
12702 (gst_basesink_activate), (gst_basesink_change_state):
12703 * gst/base/gstbasesink.h:
12704 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12705 (gst_base_transform_base_init), (gst_base_transform_finalize),
12706 (gst_base_transform_class_init), (gst_base_transform_init),
12707 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12708 (gst_base_transform_event), (gst_base_transform_getrange),
12709 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12710 (gst_base_transform_set_property),
12711 (gst_base_transform_get_property),
12712 (gst_base_transform_sink_activate),
12713 (gst_base_transform_src_activate),
12714 (gst_base_transform_change_state):
12715 * gst/base/gstbasetransform.h:
12716 * gst/elements/gstidentity.c: (gst_identity_finalize),
12717 (gst_identity_class_init), (gst_identity_init),
12718 (gst_identity_event), (gst_identity_check_perfect),
12719 (gst_identity_transform), (gst_identity_set_property),
12720 (gst_identity_get_property), (gst_identity_change_state):
12721 * gst/elements/gstidentity.h:
12722 * gst/gstelement.c: (gst_element_get_state_func),
12723 (gst_element_lost_state), (gst_element_pads_activate):
12724 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12725 (gst_pad_check_pull_range), (gst_pad_pull_range):
12727 Simplify pad activation.
12728 Added function to check if pull_range can be performed.
12729 Error out when pulling inactive or flushing pads.
12730 Removed const from refcounted types as it does not make sense.
12731 Simplify pad templates in basesink
12732 Added base class for simple 1-to-1 transforms.
12733 Make identity subclass the base transform.
12735 2005-03-29 Andy Wingo <wingo@pobox.com>
12737 * docs/libs/gstreamer-libs-overrides.txt:
12738 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12739 really don't understand what's going on, but like whatever. I want
12742 * docs/gst/Makefile.am:
12743 * docs/libs/Makefile.am: Dist the overrides files.
12745 * check/Makefile.am (clean-local): Remove .libs directories.
12747 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12748 elements to EXTRA_DIST, so po/ files are happy.
12750 * po/POTFILES.in: Er, remove it here.
12752 * po/POTFILES: Remove gstspider.c.
12754 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12756 * docs/libs/gstreamer-libs-docs.sgml:
12757 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12760 * tests/complexity.c (main): Set the length of the preroll queue
12761 on the sinks to prevent a lockup.
12763 * libs/gst/dataprotocol/Makefile.am:
12764 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12765 the same as the one in check/gst-libs/gdp.c.
12767 * po/, docs/gst/: Commit automatic changes to docs and po files.
12769 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12770 the versioned libgstbase.
12772 * check/Makefile.am: Depend on an unversioned gst-register, seems
12773 to make autoconf happier.
12775 * gst/base/Makefile.am: Make libgstbase a versioned lib.
12777 2005-03-28 Wim Taymans <wim@fluendo.com>
12780 * docs/design/part-gstelement.txt:
12781 * docs/design/part-negotiation.txt:
12782 * docs/design/part-preroll.txt:
12783 * docs/design/part-scheduling.txt:
12784 * docs/design/part-states.txt:
12786 * gst/base/Makefile.am:
12788 * gst/base/gstbasesink.c: (gst_basesink_get_template),
12789 (gst_basesink_base_init), (gst_basesink_class_init),
12790 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12791 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12792 (gst_basesink_set_pad_functions),
12793 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12794 (gst_basesink_set_property), (gst_basesink_get_property),
12795 (gst_base_sink_get_template), (gst_base_sink_get_caps),
12796 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12797 (gst_basesink_preroll_queue_push),
12798 (gst_basesink_preroll_queue_empty),
12799 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12800 (gst_basesink_event), (gst_basesink_get_times),
12801 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12802 (gst_basesink_chain_unlocked), (gst_basesink_chain),
12803 (gst_basesink_loop), (gst_basesink_activate),
12804 (gst_basesink_change_state):
12805 * gst/base/gstbasesink.h:
12806 * gst/elements/Makefile.am:
12807 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12808 (gst_fakesink_class_init), (gst_fakesink_init),
12809 (gst_fakesink_set_property), (gst_fakesink_get_property),
12810 (gst_fakesink_get_times), (gst_fakesink_event),
12811 (gst_fakesink_preroll), (gst_fakesink_render),
12812 (gst_fakesink_change_state):
12813 * gst/elements/gstfakesink.h:
12814 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12815 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12816 * gst/gstelement.c: (gst_element_add_pad),
12817 (gst_element_get_state_func), (gst_element_abort_state),
12818 (gst_element_commit_state), (gst_element_lost_state),
12819 (gst_element_set_state), (gst_element_pads_activate):
12820 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12821 * gst/gstpipeline.c: (gst_pipeline_send_event),
12822 (gst_pipeline_change_state):
12823 Added state change code.
12824 Added/updated docs.
12825 Added sink base class, make fakesink extend the base class.
12826 Small cleanups in GstPipeline.
12828 2005-03-26 David Schleef <ds@schleef.org>
12830 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
12831 is broken and should be implemented in a different library.
12832 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12833 * gst/gst.h: remove gstcpu.h
12834 * gst/gstcpu.c: remove
12835 * gst/gstcpu.h: remove
12836 * gst/Makefile.am.future: Remove this file. It's ancient.
12838 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12840 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12841 (gst_bin_send_event):
12842 Add default event/set_manager handlers. The set_manager handler
12843 takes care that the manager is distributed over kids that were
12844 already in the bin before the manager was set. The event handler
12845 is a utility virtual function that sends the event over all sinks,
12846 so that gst_element_send_event (bin, event); has the expected
12848 * gst/gstpad.c: (gst_pad_event_default):
12849 Re-install default event handling for discontinuities, so that
12850 seeking works without requiring hacks in applications or extra
12852 * gst/gstpipeline.c: (gst_pipeline_class_init),
12853 (gst_pipeline_send_event):
12854 Half hack, half utility: set a pipeline to PAUSED for seek events,
12855 since that is the only way we can guarantee a/v sync. Means that
12856 you can do gst_element_seek (pipeline, method, pos); on a pipeline
12857 and it "just works".
12859 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12861 * gst/gstpipeline.c: (gst_pipeline_use_clock):
12862 Lock/unlock mismatch.
12864 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
12866 * docs/faq/gst-uninstalled:
12867 add gst-plugins-base
12868 * docs/gst/Makefile.am:
12869 don't error out until docs are fixed
12870 * docs/gst/gstreamer.types:
12873 2005-03-22 Wim Taymans <wim@fluendo.com>
12875 * check/Makefile.am:
12876 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12877 * gst/gststructure.c: (gst_structure_set_valist),
12878 (gst_structure_copy_conditional):
12879 Activated more tests.
12880 Added message test.
12881 Added G_TYPE_POINTER to GstStructure.
12884 2005-03-22 Wim Taymans <wim@fluendo.com>
12886 * docs/design/part-TODO.txt:
12887 * docs/design/part-events.txt:
12888 * docs/design/part-gstbin.txt:
12889 * docs/design/part-gstbus.txt:
12890 * docs/design/part-gstpipeline.txt:
12891 * docs/design/part-messages.txt:
12893 * gst/gstmessage.c:
12896 2005-03-21 Wim Taymans <wim@fluendo.com>
12898 * gst/gstbus.c: (gst_bus_post):
12899 Fix copy-and-paste error.
12901 2005-03-21 Wim Taymans <wim@fluendo.com>
12903 * check/Makefile.am:
12905 * gst/elements/Makefile.am:
12906 * gst/elements/gstelements.c:
12907 * gst/elements/gstfakesink.c: (gst_fakesink_init),
12908 (gst_fakesink_event), (gst_fakesink_chain):
12909 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12910 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12911 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12912 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12913 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12914 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12915 (gst_fakesrc_loop), (gst_fakesrc_activate),
12916 (gst_fakesrc_change_state):
12917 * gst/elements/gstfakesrc.h:
12918 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12919 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12920 (gst_filesrc_open_file), (gst_filesrc_loop),
12921 (gst_filesrc_activate), (gst_filesrc_change_state),
12922 (filesrc_find_peek), (filesrc_find_suggest),
12923 (gst_filesrc_type_find):
12924 * gst/elements/gstidentity.c: (gst_identity_finalize),
12925 (gst_identity_class_init), (gst_identity_init),
12926 (gst_identity_proxy_getcaps), (identity_queue_push),
12927 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12928 (gst_identity_getrange), (gst_identity_chain),
12929 (gst_identity_sink_loop), (gst_identity_src_loop),
12930 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12931 (gst_identity_set_property), (gst_identity_get_property),
12932 (gst_identity_change_state):
12933 * gst/elements/gstidentity.h:
12934 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12935 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12936 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12937 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12938 (gst_tee_sink_activate):
12939 * gst/elements/gsttee.h:
12940 * gst/gst.c: (gst_register_core_elements), (init_post):
12942 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12943 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12944 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12945 (gst_bin_change_state):
12947 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12948 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12949 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12950 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12951 (gst_bus_set_sync_handler), (gst_bus_create_watch),
12952 (bus_watch_callback), (bus_watch_destroy),
12953 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12954 (poll_timeout), (gst_bus_poll):
12958 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12959 (gst_element_post_message), (gst_element_message_full),
12960 (gst_element_get_state_func), (gst_element_get_state),
12961 (gst_element_abort_state), (gst_element_commit_state),
12962 (gst_element_lost_state), (gst_element_set_state),
12963 (gst_element_pads_activate), (gst_element_change_state),
12964 (gst_element_dispose), (gst_element_set_manager_func),
12965 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12966 (gst_element_set_manager), (gst_element_get_manager),
12967 (gst_element_set_bus), (gst_element_get_bus),
12968 (gst_element_set_scheduler), (gst_element_get_scheduler):
12969 * gst/gstelement.h:
12970 * gst/gstevent.c: (gst_event_new_segment_seek),
12971 (gst_event_new_flush):
12973 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12974 (_gst_message_free), (gst_message_get_type), (gst_message_new),
12975 (gst_message_new_eos), (gst_message_new_error),
12976 (gst_message_new_warning), (gst_message_new_tag),
12977 (gst_message_new_state_changed), (gst_message_new_application),
12978 (gst_message_get_structure), (gst_message_parse_tag),
12979 (gst_message_parse_state_changed), (gst_message_parse_error),
12980 (gst_message_parse_warning):
12981 * gst/gstmessage.h:
12982 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12983 (gst_real_pad_set_property), (gst_pad_set_active),
12984 (gst_pad_is_active), (gst_pad_set_blocked_async),
12985 (gst_pad_set_blocked), (gst_pad_is_blocked),
12986 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12987 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12988 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12989 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12990 (gst_pad_link_filtered), (gst_pad_relink_filtered),
12991 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12992 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12993 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12994 (gst_pad_set_caps), (gst_pad_configure_sink),
12995 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12996 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12997 (gst_real_pad_dispose), (gst_real_pad_finalize),
12998 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12999 (gst_pad_event_default_dispatch), (gst_pad_event_default),
13000 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13002 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13003 (pipeline_bus_handler), (gst_pipeline_change_state),
13004 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13005 * gst/gstpipeline.h:
13007 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13008 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13009 (gst_queue_link_src), (gst_queue_bufferalloc),
13010 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13011 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13012 (gst_queue_loop), (gst_queue_handle_src_event),
13013 (gst_queue_handle_src_query), (gst_queue_src_activate),
13014 (gst_queue_change_state):
13016 * gst/gstscheduler.c: (gst_scheduler_init),
13017 (gst_scheduler_dispose), (gst_scheduler_create_task),
13018 (gst_scheduler_factory_create):
13019 * gst/gstscheduler.h:
13020 * gst/gststructure.c: (gst_structure_get_type),
13021 (gst_structure_copy_conditional):
13022 * gst/gststructure.h:
13023 * gst/gsttaginterface.h:
13024 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13025 (gst_task_init), (gst_task_dispose), (gst_task_create),
13026 (gst_task_get_state), (gst_task_start), (gst_task_stop),
13032 * gst/schedulers/Makefile.am:
13033 * gst/schedulers/cothreads_compat.h:
13034 * gst/schedulers/entryscheduler.c:
13035 * gst/schedulers/faircothreads.c:
13036 * gst/schedulers/faircothreads.h:
13037 * gst/schedulers/fairscheduler.c:
13038 * gst/schedulers/gstbasicscheduler.c:
13039 * gst/schedulers/gstoptimalscheduler.c:
13040 * gst/schedulers/gthread-cothreads.h:
13041 * gst/schedulers/threadscheduler.c:
13042 (gst_thread_scheduler_task_get_type),
13043 (gst_thread_scheduler_task_class_init),
13044 (gst_thread_scheduler_task_init),
13045 (gst_thread_scheduler_task_start),
13046 (gst_thread_scheduler_task_stop),
13047 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13048 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13049 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13050 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13052 * libs/gst/Makefile.am:
13053 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13054 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13055 (gst_file_pad_parent_set):
13056 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13057 (gst_dp_event_from_packet):
13058 * tests/complexity.c: (main):
13059 * tests/mass_elements.c: (main):
13060 * testsuite/states/locked.c: (message_received), (main):
13061 * testsuite/states/parent.c: (main):
13062 * tools/gst-inspect.c: (print_element_flag_info),
13063 (print_implementation_info), (print_pad_info):
13064 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13066 * tools/gst-md5sum.c: (event_loop), (main):
13067 * tools/gst-typefind.c: (main):
13068 * tools/gst-xmlinspect.c: (print_element_info):
13070 Added GstBus for mainloop integration.
13071 Added GstMessage for sending notifications on the bus.
13072 Added GstTask as an abstraction for pipeline entry points.
13074 Removed Schedulers.
13075 Simplified GstQueue for multithreaded core.
13076 Made _link threadsafe, removed old capsnego.
13077 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13078 Added pad blocking functions.
13079 Reworked scheduling functions in GstPad to prepare for
13080 scheduling updates soon.
13081 Moved events out of data stream.
13082 Simplified GstEvent types.
13083 Added return values to push/pull.
13084 Removed clocking from GstElement.
13085 Added prototypes for state change function for next merge.
13086 Removed iterate from bins and state change management.
13087 Fixed some elements, disabled others for now.
13088 Fixed -inspect and -launch.
13089 Added check for GstBus.
13091 2005-03-10 Wim Taymans <wim@fluendo.com>
13093 * docs/design/part-MT-refcounting.txt:
13094 * docs/design/part-clocks.txt:
13095 * docs/design/part-gstelement.txt:
13096 * docs/design/part-gstobject.txt:
13097 * docs/design/part-standards.txt:
13098 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13099 (gst_bin_remove_func), (gst_bin_remove):
13103 * testsuite/clock/clock1.c: (main):
13104 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13106 * testsuite/dlopen/loadgst.c: (do_test):
13107 * testsuite/refcounting/bin.c: (add_remove_test1),
13108 (add_remove_test2), (main):
13109 * testsuite/refcounting/element.c: (main):
13110 * testsuite/refcounting/element_pad.c: (main):
13111 * testsuite/refcounting/pad.c: (main):
13112 * tools/gst-launch.c: (sigint_handler_sighandler):
13113 * tools/gst-typefind.c: (main):
13115 Added doc about clock.
13116 removed gst_bin_iterate_recurse_up(), marked methods
13118 Fix more testsuites.
13120 2005-03-09 Wim Taymans <wim@fluendo.com>
13122 * gst/gstpad.c: (gst_pad_get_direction),
13123 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13124 (gst_pad_collect_valist):
13125 * testsuite/bins/interface.c: (main):
13126 * testsuite/caps/audioscale.c: (test_caps):
13127 * testsuite/caps/caps.c: (test1), (test2), (test3):
13128 * testsuite/caps/deserialize.c: (main):
13129 * testsuite/caps/enumcaps.c: (main):
13130 * testsuite/caps/filtercaps.c: (main):
13131 * testsuite/caps/intersect2.c: (main):
13132 * testsuite/caps/random.c: (main):
13133 * testsuite/caps/renegotiate.c: (my_fixate), (main):
13134 * testsuite/caps/sets.c: (check_caps):
13135 * testsuite/caps/simplify.c: (check_caps), (main):
13136 * testsuite/caps/subtract.c: (check_caps):
13137 Fix _pad_get_direction wrt ghostpads.
13138 Fix caps testsuite.
13140 2005-03-09 Wim Taymans <wim@fluendo.com>
13142 * check/Makefile.am:
13143 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13144 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13145 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13146 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13147 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13148 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13149 (gst_bin_remove), (gst_bin_iterate_recurse_up),
13150 (bin_element_is_sink), (gst_bin_iterate_sinks),
13151 (gst_bin_iterate_all_by_interface):
13153 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13154 (gst_element_change_state), (gst_element_dispose),
13155 (gst_element_finalize), (gst_element_set_loop_function):
13156 * gst/gstelement.h:
13157 * gst/gstiterator.c: (find_custom_fold_func):
13158 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13159 (gst_pad_collectv), (gst_pad_collect_valist),
13160 (gst_pad_template_new):
13161 * gst/gstpipeline.c: (gst_pipeline_class_init),
13162 (gst_pipeline_dispose), (gst_pipeline_set_property),
13163 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13164 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13165 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13167 * gst/schedulers/entryscheduler.c:
13168 * gst/schedulers/gstbasicscheduler.c:
13169 (gst_basic_scheduler_cothreaded_chain),
13170 (gst_basic_scheduler_chain_add_element):
13171 * testsuite/bins/interface.c: (main):
13173 Added GstSystemClock test.
13174 Implemented clock distribution code in GstBin.
13175 Implemented iterate sinks method for future use.
13176 Rearranged gstelement.h
13177 Fix GstIterator comparison bug.
13178 Moved some code to GstPipeline, mostly clocking related.
13180 2005-03-09 Wim Taymans <wim@fluendo.com>
13183 * gst/gst_private.h:
13184 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13185 (gst_bin_remove_func), (gst_bin_remove),
13186 (gst_bin_get_by_name_recurse_up):
13187 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13188 (gst_clock_id_compare_func), (gst_clock_id_wait),
13189 (gst_clock_id_wait_async), (gst_clock_init),
13190 (gst_clock_adjust_unlocked), (gst_clock_get_time):
13191 * gst/gstelement.h:
13192 * gst/gstinfo.c: (_gst_debug_init):
13194 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13195 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13197 Bump version number, we're now 0.9.0
13198 Add future debugging category.
13199 Fix NULL _unref() in _get_by_name_recurse_up
13200 Rearrange gstpad.h.
13203 2005-03-08 Wim Taymans <wim@fluendo.com>
13205 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13206 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13207 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13208 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13209 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13210 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13211 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13212 * gst/elements/gstidentity.c: (gst_identity_class_init):
13213 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13214 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13215 * gst/elements/gstshaper.c: (gst_shaper_class_init):
13216 * gst/elements/gststatistics.c: (gst_statistics_class_init):
13217 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13219 * gst/gstelement.c: (gst_element_class_init),
13220 (gst_element_base_class_init), (gst_element_init),
13221 (gst_element_get_random_pad), (gst_element_wait_state_change),
13222 (gst_element_change_state), (gst_element_dispose),
13223 (gst_element_finalize), (gst_element_set_loop_function):
13224 * gst/gstelement.h:
13225 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13226 * gst/gstthread.c: (gst_thread_class_init),
13227 (gst_thread_release_children_locks), (gst_thread_change_state):
13228 * gst/schedulers/gstbasicscheduler.c:
13229 (gst_basic_scheduler_loopfunc_wrapper),
13230 (gst_basic_scheduler_chain_wrapper),
13231 (gst_basic_scheduler_src_wrapper),
13232 (gst_basic_scheduler_remove_element):
13233 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13234 Remove threadsafe properties. Fix elements because GObject
13235 complains when installing a property before declaring a
13236 set/get_property handler.
13237 Rearrange gstelement.h file, use STATE macros for state locks.
13238 Free mutexes in the finalize method instead of dispose.
13240 2005-03-08 Wim Taymans <wim@fluendo.com>
13242 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13243 * gst/gstthread.c: (gst_thread_release_children_locks):
13244 Added parentage check.
13245 Fix build og GstThread again.
13247 2005-03-08 Wim Taymans <wim@fluendo.com>
13249 * docs/design/part-MT-refcounting.txt:
13250 * docs/design/part-conventions.txt:
13251 * docs/design/part-gstobject.txt:
13252 * docs/design/part-relations.txt:
13253 * docs/design/part-standards.txt:
13254 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13255 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13256 (gst_bin_get_by_name), (gst_bin_get_by_interface),
13257 (gst_bin_iterate_all_by_interface):
13260 * gst/gstelement.c: (gst_element_class_init),
13261 (gst_element_change_state), (gst_element_set_loop_function):
13262 * gst/gstelement.h:
13263 * gst/gstiterator.c:
13264 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13265 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13266 (gst_object_dispatch_properties_changed), (gst_object_set_name),
13267 (gst_object_set_parent), (gst_object_unparent),
13268 (gst_object_check_uniqueness):
13270 Docs updates, clean up some headers.
13272 2005-03-07 Wim Taymans <wim@fluendo.com>
13274 * check/.cvsignore:
13275 * check/Makefile.am:
13276 * check/gst-libs/.cvsignore:
13277 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13278 * check/gst/.cvsignore:
13279 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13280 (START_TEST), (gstbus_suite), (main):
13281 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13282 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13283 (gst_data_suite), (main):
13284 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13285 (add_fold_func), (gstiterator_suite), (main):
13286 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13287 (thread_name_object), (thread_name_object_default),
13288 (gst_object_name_compare), (gst_object_suite), (main):
13289 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13290 (gst_pad_suite), (main):
13291 * check/gstcheck.c: (gst_check_log_message_func),
13292 (gst_check_log_critical_func), (gst_check_init):
13293 * check/gstcheck.h:
13294 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13295 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13298 2005-03-07 Wim Taymans <wim@fluendo.com>
13300 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13301 (gst_list_iterator_next), (gst_list_iterator_resync),
13302 (gst_list_iterator_free), (gst_iterator_new_list),
13303 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13304 (gst_iterator_free), (gst_iterator_push), (filter_next),
13305 (filter_resync), (filter_uninit), (filter_free),
13306 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13307 (gst_iterator_foreach), (find_custom_fold_func),
13308 (gst_iterator_find_custom):
13309 * gst/gstiterator.h:
13310 Added missing files.
13312 2005-03-07 Wim Taymans <wim@fluendo.com>
13316 * docs/design/part-MT-refcounting.txt:
13317 * docs/design/part-conventions.txt:
13318 * docs/design/part-gstobject.txt:
13319 * docs/design/part-relations.txt:
13320 * examples/mixer/mixer.c: (main):
13321 * examples/thread/thread.c: (eos), (main):
13323 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13324 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13325 (gst_spider_plug_from_srcpad):
13326 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13327 (gst_spider_identity_change_state),
13328 (gst_spider_identity_sink_loop_type_finding):
13329 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13330 * gst/elements/gstidentity.c: (gst_identity_init):
13331 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13332 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13333 * gst/elements/gsttypefindelement.c: (free_entry):
13336 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13337 (gst_bin_set_clock_func), (gst_bin_auto_clock),
13338 (gst_bin_set_index), (gst_bin_set_element_sched),
13339 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13340 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13341 (gst_bin_iterate_elements), (iterate_child_recurse),
13342 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13343 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13344 (compare_interface), (gst_bin_get_by_interface),
13345 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13347 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13348 (gst_buffer_default_free), (gst_buffer_default_copy),
13349 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13350 (gst_buffer_create_sub):
13352 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13353 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13354 (gst_caps_unref), (gst_static_caps_get),
13355 (gst_caps_remove_and_get_structure), (gst_caps_append),
13356 (gst_caps_append_structure), (gst_caps_remove_structure),
13357 (gst_caps_copy_nth), (gst_caps_set_simple),
13358 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13359 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13360 (gst_caps_structure_intersect_field), (gst_caps_intersect),
13361 (gst_caps_structure_subtract_field), (gst_caps_subtract),
13362 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13363 (gst_caps_structure_figure_out_union),
13364 (gst_caps_switch_structures), (gst_caps_do_simplify),
13365 (gst_caps_replace), (gst_caps_from_string),
13366 (gst_caps_copy_conditional):
13368 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13369 (_gst_clock_id_free), (gst_clock_id_unref),
13370 (gst_clock_id_compare_func), (gst_clock_id_wait),
13371 (gst_clock_id_wait_async), (gst_clock_class_init),
13372 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13373 (gst_clock_get_time), (gst_clock_set_time_adjust),
13374 (gst_clock_set_property), (gst_clock_get_property):
13377 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13378 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13380 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13381 (gst_element_requires_clock), (gst_element_provides_clock),
13382 (gst_element_set_clock), (gst_element_clock_wait),
13383 (gst_element_wait), (gst_element_set_time_delay),
13384 (gst_element_is_indexable), (gst_element_add_pad),
13385 (gst_element_add_ghost_pad), (gst_element_remove_pad),
13386 (pad_compare_name), (gst_element_get_static_pad),
13387 (gst_element_request_pad), (gst_element_get_request_pad),
13388 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13389 (gst_element_class_get_pad_template_list),
13390 (gst_element_class_get_pad_template), (gst_element_error_func),
13391 (gst_element_get_random_pad), (gst_element_get_event_masks),
13392 (gst_element_send_event), (gst_element_seek),
13393 (gst_element_get_query_types), (gst_element_query),
13394 (gst_element_get_formats), (gst_element_convert),
13395 (gst_element_is_locked_state), (gst_element_set_locked_state),
13396 (gst_element_sync_state_with_parent), (gst_element_change_state),
13397 (gst_element_finalize), (gst_element_yield),
13398 (gst_element_interrupt), (gst_element_set_scheduler),
13399 (gst_element_get_scheduler), (gst_element_set_loop_function):
13400 * gst/gstelement.h:
13402 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13403 (gst_format_get_by_nick), (gst_format_get_details),
13404 (gst_format_iterate_definitions):
13406 * gst/gstindex.c: (gst_index_gtype_resolver):
13409 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13410 (gst_mem_chunk_free):
13411 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13412 (gst_object_ref), (gst_object_unref), (gst_object_sink),
13413 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13414 (gst_object_dispatch_properties_changed),
13415 (gst_object_set_name_default), (gst_object_set_name),
13416 (gst_object_get_name), (gst_object_set_name_prefix),
13417 (gst_object_get_name_prefix), (gst_object_set_parent),
13418 (gst_object_get_parent), (gst_object_unparent),
13419 (gst_object_check_uniqueness), (gst_object_save_thyself),
13420 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13421 (gst_object_set_property), (gst_object_get_property),
13422 (gst_object_get_path_string):
13424 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13425 (gst_real_pad_init), (gst_real_pad_get_property),
13426 (gst_pad_custom_new), (gst_pad_get_direction),
13427 (gst_pad_set_active), (gst_pad_is_active),
13428 (gst_pad_set_event_function), (gst_pad_is_linked),
13429 (gst_pad_link_free), (gst_pad_link_intersect),
13430 (gst_pad_link_fixate), (gst_pad_set_caps),
13431 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13432 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13433 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13434 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13435 (gst_pad_get_caps), (gst_pad_peer_get_caps),
13436 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13437 (gst_pad_realize), (gst_pad_get_allowed_caps),
13438 (gst_real_pad_dispose), (gst_real_pad_finalize),
13439 (gst_pad_collectv), (gst_pad_collect_valist),
13440 (gst_pad_template_dispose), (gst_pad_template_new),
13441 (gst_pad_get_internal_links):
13443 * gst/gstpipeline.c: (gst_pipeline_dispose),
13444 (gst_pipeline_change_state):
13445 * gst/gstpipeline.h:
13447 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13448 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13449 * gst/gstpluginfeature.h:
13450 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13451 * gst/gstquery.c: (_gst_query_type_initialize),
13452 (gst_query_type_register), (gst_query_type_get_by_nick),
13453 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13455 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13456 * gst/gstscheduler.c: (gst_scheduler_add_element),
13457 (gst_scheduler_factory_create):
13458 * gst/gststructure.c: (gst_structure_set_parent_refcount),
13459 (gst_structure_free), (gst_structure_set_name),
13460 (gst_structure_id_set_value), (gst_structure_set_value),
13461 (gst_structure_set_valist), (gst_structure_remove_field),
13462 (gst_structure_remove_fields),
13463 (gst_structure_remove_fields_valist),
13464 (gst_structure_remove_all_fields), (gst_structure_foreach),
13465 (gst_structure_map_in_place),
13466 (gst_caps_structure_fixate_field_nearest_int),
13467 (gst_caps_structure_fixate_field_nearest_double):
13468 * gst/gststructure.h:
13469 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13470 (gst_system_clock_init), (gst_system_clock_dispose),
13471 (gst_system_clock_async_thread),
13472 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13473 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13474 * gst/gstsystemclock.h:
13475 * gst/gsttag.c: (gst_tag_list_add_value_internal),
13476 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13477 * gst/gsttaginterface.c:
13478 * gst/gstthread.c: (gst_thread_dispose),
13479 (gst_thread_release_children_locks), (gst_thread_change_state),
13480 (gst_thread_main_loop):
13481 * gst/gsttrashstack.h:
13482 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13484 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13485 (gst_element_request_pad), (gst_element_get_pad_from_template),
13486 (gst_element_request_compatible_pad),
13487 (gst_element_get_compatible_pad_filtered),
13488 (gst_element_get_compatible_pad), (gst_element_state_get_name),
13489 (gst_element_link_pads_filtered), (gst_element_link_filtered),
13490 (gst_element_link_many), (gst_element_link),
13491 (gst_element_link_pads), (gst_element_unlink_pads),
13492 (gst_element_unlink_many), (gst_element_unlink),
13493 (gst_pad_can_link_filtered), (gst_pad_can_link),
13494 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13495 (gst_object_default_error), (gst_bin_add_many),
13496 (gst_bin_remove_many), (gst_element_populate_std_props),
13497 (gst_element_class_install_std_props), (gst_buffer_merge),
13498 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13499 (link_fold_func), (gst_pad_proxy_setcaps):
13501 * gst/gstvalue.c: (gst_value_deserialize_string):
13502 * gst/parse/grammar.y:
13503 * gst/schedulers/gstbasicscheduler.c:
13504 (gst_basic_scheduler_cothreaded_chain),
13505 (gst_basic_scheduler_chain_recursive_add),
13506 (gst_basic_scheduler_pad_link):
13507 * gst/schedulers/gstoptimalscheduler.c:
13508 (get_group_schedule_function),
13509 (gst_opt_scheduler_state_transition),
13510 (gst_opt_scheduler_add_element), (element_get_reachables_func):
13511 * libs/gst/bytestream/bytestream.c:
13512 * libs/gst/dataprotocol/dataprotocol.c:
13513 (gst_dp_header_from_buffer):
13516 * tests/threadstate/threadstate2.c: (eos):
13517 * tools/gst-compprep.c: (main):
13518 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13519 (print_pad_info), (print_children_info):
13520 * tools/gst-launch.c: (idle_func), (main):
13521 * tools/gst-md5sum.c: (idle_func), (main):
13522 * tools/gst-xmlinspect.c: (print_element_info):
13523 First THREADED backport attempt, focusing on adding locks and
13524 making sure the API is threadsafe. Needs more work. More docs
13527 2005-02-24 Andy Wingo <wingo@pobox.com>
13529 * tests/bench-complexity.scm:
13530 * tests/complexity.gnuplot: New files, good for running complexity
13533 * tests/Makefile.am:
13534 * tests/complexity.c: New test, sets up N elements, at each level
13535 teeing into M streams per element. Eeeenteresting.
13537 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13538 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13539 running bench-mass_elements.scm.
13541 * tests/bench-mass_elements.scm: New script, runs mass_elements
13542 for various numbers of identities, outputting the results to a
13543 file. Requires guile 1.6. Just for testing.
13545 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
13547 * gst/schedulers/fairscheduler.c:
13548 compile with debug disabled
13550 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
13553 hunting season on 0.9 is now OPEN