1 2005-11-30 Andy Wingo <wingo@pobox.com>
3 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4 loading the gst.interfaces python module bork.
6 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
7 available since GLib 2.2. Fixes #318031.
9 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
14 * check/elements/.cvsignore:
15 * check/elements/fakesrc.c:
16 * check/elements/fdsrc.c:
17 * check/elements/identity.c:
18 * check/generic/.cvsignore:
19 * check/generic/states.c:
20 * check/gst-libs/.cvsignore:
21 * check/gst-libs/controller.c:
22 * check/gst-libs/gdp.c:
23 * check/gst/.cvsignore:
24 * check/gst/capslist.h:
27 * check/gst/gstbuffer.c:
29 * check/gst/gstcaps.c:
30 * check/gst/gstelement.c:
31 * check/gst/gstevent.c:
32 * check/gst/gstghostpad.c:
33 * check/gst/gstiterator.c:
34 * check/gst/gstmessage.c:
35 * check/gst/gstminiobject.c:
36 * check/gst/gstobject.c:
38 * check/gst/gstpipeline.c:
39 * check/gst/gstplugin.c:
40 * check/gst/gstsegment.c:
41 * check/gst/gststructure.c:
42 * check/gst/gstsystemclock.c:
44 * check/gst/gstutils.c:
45 * check/gst/gstvalue.c:
46 * check/net/.cvsignore:
47 * check/net/gstnetclientclock.c:
48 * check/net/gstnettimeprovider.c:
49 * check/pipelines/.cvsignore:
50 * check/pipelines/cleanup.c:
51 * check/pipelines/simple_launch_lines.c:
52 * check/pipelines/stress.c:
53 * check/states/.cvsignore:
54 * check/states/sinks.c:
56 * examples/Makefile.am:
57 * examples/appreader/.cvsignore:
58 * examples/appreader/Makefile.am:
59 * examples/appreader/appreader.c:
60 * examples/controller/.cvsignore:
61 * examples/controller/Makefile.am:
62 * examples/controller/audio-example.c:
63 * examples/cutter/.cvsignore:
64 * examples/cutter/Makefile.am:
65 * examples/cutter/cutter.c:
66 * examples/cutter/cutter.h:
67 * examples/events/Makefile.am:
68 * examples/events/seek.c:
69 * examples/helloworld/.cvsignore:
70 * examples/helloworld/Makefile.am:
71 * examples/helloworld/helloworld.c:
72 * examples/helloworld2/.cvsignore:
73 * examples/helloworld2/Makefile.am:
74 * examples/helloworld2/helloworld2.c:
75 * examples/launch/.cvsignore:
76 * examples/launch/Makefile.am:
77 * examples/launch/mp3parselaunch.c:
78 * examples/launch/mp3play:
79 * examples/manual/.cvsignore:
80 * examples/manual/Makefile.am:
81 * examples/manual/extract.pl:
82 * examples/metadata/Makefile.am:
83 * examples/metadata/read-metadata.c:
84 * examples/mixer/.cvsignore:
85 * examples/mixer/Makefile.am:
86 * examples/mixer/mixer.c:
87 * examples/mixer/mixer.h:
88 * examples/pingpong/.cvsignore:
89 * examples/pingpong/Makefile.am:
90 * examples/pingpong/pingpong.c:
91 * examples/plugins/.cvsignore:
92 * examples/plugins/Makefile.am:
93 * examples/plugins/example.c:
94 * examples/plugins/example.h:
95 * examples/pwg/.cvsignore:
96 * examples/pwg/Makefile.am:
97 * examples/pwg/extract.pl:
98 * examples/queue/.cvsignore:
99 * examples/queue/Makefile.am:
100 * examples/queue/queue.c:
101 * examples/queue2/.cvsignore:
102 * examples/queue2/Makefile.am:
103 * examples/queue2/queue2.c:
104 * examples/queue3/.cvsignore:
105 * examples/queue3/Makefile.am:
106 * examples/queue3/queue3.c:
107 * examples/queue4/.cvsignore:
108 * examples/queue4/Makefile.am:
109 * examples/queue4/queue4.c:
110 * examples/retag/.cvsignore:
111 * examples/retag/Makefile.am:
112 * examples/retag/retag.c:
113 * examples/retag/transcode.c:
114 * examples/thread/.cvsignore:
115 * examples/thread/Makefile.am:
116 * examples/thread/thread.c:
117 * examples/typefind/.cvsignore:
118 * examples/typefind/Makefile.am:
119 * examples/typefind/typefind.c:
120 * examples/xml/.cvsignore:
121 * examples/xml/Makefile.am:
122 * examples/xml/createxml.c:
123 * examples/xml/runxml.c:
125 * tests/check/Makefile.am:
126 * testsuite/.cvsignore:
127 * testsuite/Makefile.am:
129 * testsuite/caps/.cvsignore:
130 * testsuite/caps/Makefile.am:
131 * testsuite/caps/app_fixate.c:
132 * testsuite/caps/audioscale.c:
133 * testsuite/caps/caps.c:
134 * testsuite/caps/caps.h:
135 * testsuite/caps/caps_strings:
136 * testsuite/caps/compatibility.c:
137 * testsuite/caps/deserialize.c:
138 * testsuite/caps/enumcaps.c:
139 * testsuite/caps/eratosthenes.c:
140 * testsuite/caps/filtercaps.c:
141 * testsuite/caps/fixed.c:
142 * testsuite/caps/fraction-convert.c:
143 * testsuite/caps/fraction-multiply-and-zero.c:
144 * testsuite/caps/intersect2.c:
145 * testsuite/caps/intersection.c:
146 * testsuite/caps/normalisation.c:
147 * testsuite/caps/random.c:
148 * testsuite/caps/renegotiate.c:
149 * testsuite/caps/sets.c:
150 * testsuite/caps/simplify.c:
151 * testsuite/caps/string-conversions.c:
152 * testsuite/caps/structure.c:
153 * testsuite/caps/subtract.c:
154 * testsuite/caps/union.c:
155 * testsuite/debug/.cvsignore:
156 * testsuite/debug/Makefile.am:
157 * testsuite/debug/category.c:
158 * testsuite/debug/commandline.c:
159 * testsuite/debug/global.c:
160 * testsuite/debug/output.c:
161 * testsuite/debug/printf_extension.c:
162 * testsuite/dlopen/.cvsignore:
163 * testsuite/dlopen/Makefile.am:
164 * testsuite/dlopen/dlopen_gst.c:
165 * testsuite/dlopen/loadgst.c:
166 * testsuite/elements/.cvsignore:
167 * testsuite/elements/Makefile.am:
168 * testsuite/elements/gst-inspect-check.in:
169 * testsuite/elements/struct_i386.h:
170 * testsuite/elements/struct_size.c:
171 * testsuite/indexers/.cvsignore:
172 * testsuite/indexers/Makefile.am:
173 * testsuite/indexers/cache1.c:
174 * testsuite/indexers/indexdump.c:
175 * testsuite/parse/.cvsignore:
176 * testsuite/parse/Makefile.am:
177 * testsuite/parse/parse1.c:
178 * testsuite/parse/parse2.c:
179 * testsuite/plugin/.cvsignore:
180 * testsuite/plugin/Makefile.am:
181 * testsuite/plugin/README:
182 * testsuite/plugin/dynamic.c:
183 * testsuite/plugin/linked.c:
184 * testsuite/plugin/loading.c:
185 * testsuite/plugin/registry.c:
186 * testsuite/plugin/static.c:
187 * testsuite/plugin/static2.c:
188 * testsuite/plugin/testplugin.c:
189 * testsuite/plugin/testplugin2.c:
190 * testsuite/plugin/testplugin2_s.c:
191 * testsuite/plugin/testplugin_s.c:
192 * testsuite/refcounting/.cvsignore:
193 * testsuite/refcounting/Makefile.am:
194 * testsuite/refcounting/bin.c:
195 * testsuite/refcounting/element.c:
196 * testsuite/refcounting/element_pad.c:
197 * testsuite/refcounting/mainloop.c:
198 * testsuite/refcounting/mem.c:
199 * testsuite/refcounting/mem.h:
200 * testsuite/refcounting/object.c:
201 * testsuite/refcounting/pad.c:
202 * testsuite/refcounting/sched.c:
203 * testsuite/refcounting/thread.c:
204 * testsuite/states/.cvsignore:
205 * testsuite/states/Makefile.am:
206 * testsuite/states/bin.c:
207 * testsuite/states/locked.c:
208 * testsuite/states/parent.c:
209 * testsuite/threads/.cvsignore:
210 * testsuite/threads/159566.c:
211 * testsuite/threads/159852.c:
212 * testsuite/threads/Makefile.am:
213 * testsuite/threads/queue.c:
214 * testsuite/threads/signals.c:
215 * testsuite/threads/staticrec.c:
216 * testsuite/threads/thread.c:
217 * testsuite/threads/threadb.c:
218 * testsuite/threads/threadc.c:
219 * testsuite/threads/threadd.c:
220 * testsuite/threads/threade.c:
221 * testsuite/threads/threadf.c:
222 * testsuite/threads/threadg.c:
223 * testsuite/threads/threadh.c:
224 * testsuite/threads/threadi.c:
225 move all of these under tests
227 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
233 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
235 * docs/gst/gstreamer-sections.txt:
236 * tests/sched/.cvsignore:
237 * tests/sched/Makefile.am:
238 * tests/sched/cases/(fs-fs).xml:
239 * tests/sched/cases/(fs-i-fs).xml:
240 * tests/sched/cases/(fs-i-i-fs).xml:
241 * tests/sched/cases/(fs-i-q[i-fs]).xml:
242 * tests/sched/dynamic-pipeline.c:
243 * tests/sched/interrupt1.c:
244 * tests/sched/interrupt2.c:
245 * tests/sched/interrupt3.c:
246 * tests/sched/runtestcases:
247 * tests/sched/runxml.c:
248 * tests/sched/sched-stress.c:
249 * tests/sched/sort.c:
250 * tests/sched/testcases:
251 * tests/sched/testcases1.tc:
252 * tests/seeking/.cvsignore:
253 * tests/seeking/Makefile.am:
254 * tests/seeking/seeking1.c:
255 * tests/threadstate/.cvsignore:
256 * tests/threadstate/Makefile.am:
257 * tests/threadstate/test1.c:
258 * tests/threadstate/test2.c:
259 * tests/threadstate/threadstate1.c:
260 * tests/threadstate/threadstate2.c:
261 * tests/threadstate/threadstate3.c:
262 * tests/threadstate/threadstate4.c:
263 * tests/threadstate/threadstate5.c:
264 remove obsolete tests
266 * tests/bench-complexity.scm:
267 * tests/bench-mass_elements.scm:
268 * tests/complexity.c:
269 * tests/complexity.gnuplot:
270 * tests/instantiate/.cvsignore:
271 * tests/instantiate/Makefile.am:
272 * tests/instantiate/caps.c:
273 * tests/mass_elements.c:
274 * tests/network-clock-utils.scm:
275 * tests/network-clock.scm:
277 First pass at cleaning up tests/ dir before moving the rest
278 Combined with CVS surgery
280 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
283 queue has moved, update
285 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
287 * docs/gst/gstreamer-sections.txt:
288 remove double entries from the docs
290 * gst/gstinfo.c: (_gst_debug_init):
291 remove the THREAD debug category
295 * docs/gst/gstreamer.types:
296 * plugins/elements/gstqueue.c: (gst_queue_get_type),
297 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
298 completely move queue and fix up debugging categories
300 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
302 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
303 make initialization portable, using LL is not
305 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
307 * win32/common/gstconfig.h:
310 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
312 * win32/common/libgstreamer.def:
313 rename symbols; sort base section
315 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
317 * gst/gstclock.c: (do_linear_regression):
318 remove crack non-portable handrolled DEBUG macro
320 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
322 * docs/random/release:
324 * win32/common/gstenumtypes.c: (register_gst_object_flags),
325 (gst_object_flags_get_type), (register_gst_bin_flags),
326 (gst_bin_flags_get_type), (register_gst_buffer_flag),
327 (gst_buffer_flag_get_type), (register_gst_bus_flags),
328 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
329 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
330 (gst_caps_flags_get_type), (register_gst_clock_return),
331 (gst_clock_return_get_type), (register_gst_clock_entry_type),
332 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
333 (gst_clock_flags_get_type), (register_gst_state),
334 (gst_state_get_type), (register_gst_state_change_return),
335 (gst_state_change_return_get_type), (register_gst_state_change),
336 (gst_state_change_get_type), (register_gst_element_flags),
337 (gst_element_flags_get_type), (register_gst_core_error),
338 (gst_core_error_get_type), (register_gst_library_error),
339 (gst_library_error_get_type), (register_gst_resource_error),
340 (gst_resource_error_get_type), (register_gst_stream_error),
341 (gst_stream_error_get_type), (register_gst_event_type_flags),
342 (gst_event_type_flags_get_type), (register_gst_event_type),
343 (gst_event_type_get_type), (register_gst_seek_type),
344 (gst_seek_type_get_type), (register_gst_seek_flags),
345 (gst_seek_flags_get_type), (register_gst_format),
346 (gst_format_get_type), (register_gst_index_certainty),
347 (gst_index_certainty_get_type), (register_gst_index_entry_type),
348 (gst_index_entry_type_get_type),
349 (register_gst_index_lookup_method),
350 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
351 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
352 (gst_index_resolver_method_get_type), (register_gst_index_flags),
353 (gst_index_flags_get_type), (register_gst_debug_level),
354 (gst_debug_level_get_type), (register_gst_debug_color_flags),
355 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
356 (gst_iterator_result_get_type), (register_gst_iterator_item),
357 (gst_iterator_item_get_type), (register_gst_message_type),
358 (gst_message_type_get_type), (register_gst_mini_object_flags),
359 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
360 (gst_pad_link_return_get_type), (register_gst_flow_return),
361 (gst_flow_return_get_type), (register_gst_activate_mode),
362 (gst_activate_mode_get_type), (register_gst_pad_direction),
363 (gst_pad_direction_get_type), (register_gst_pad_flags),
364 (gst_pad_flags_get_type), (register_gst_pad_presence),
365 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
366 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
367 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
368 (gst_plugin_error_get_type), (register_gst_plugin_flags),
369 (gst_plugin_flags_get_type), (register_gst_rank),
370 (gst_rank_get_type), (register_gst_query_type),
371 (gst_query_type_get_type), (register_gst_tag_merge_mode),
372 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
373 (gst_tag_flag_get_type), (register_gst_task_state),
374 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
375 (gst_alloc_trace_flags_get_type),
376 (register_gst_type_find_probability),
377 (gst_type_find_probability_get_type), (register_gst_uri_type),
378 (gst_uri_type_get_type), (register_gst_parse_error),
379 (gst_parse_error_get_type):
380 * win32/common/gstenumtypes.h:
381 * win32/common/gstversion.h:
382 update visual studio generated files
384 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
386 * win32/vs6/libgstbase.dsp:
387 * win32/vs6/libgstelements.dsp:
388 update project files for new locations
390 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
400 * docs/random/LICENSE:
403 2005-11-30 Edward Hervey <edward@fluendo.com>
405 * gst/gsttypefind.c: (gst_type_find_register):
407 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
408 (gst_type_find_factory_dispose):
409 * gst/gsttypefindfactory.h:
410 Fix memory leak in GstTypeFindFactory.
412 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
415 * plugins/elements/Makefile.am:
416 * plugins/elements/gstelements.c:
417 * plugins/elements/gstqueue.c:
418 move queue from core to the elements plugin
420 2005-11-29 Andy Wingo <wingo@pobox.com>
422 * libs/gst/base/gstbasetransform.h:
423 * libs/gst/base/gstbasesrc.h:
424 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
426 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
427 of pointers by which to pad very extensible base classes (like the
428 ones in libs/gst/base).
430 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
432 * docs/gst/gstreamer-docs.sgml:
433 * docs/gst/gstreamer-sections.txt:
434 * docs/libs/gstreamer-libs-docs.sgml:
435 * docs/libs/gstreamer-libs-sections.txt:
436 moving documentation from core to lib
438 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
442 * docs/gst/Makefile.am:
444 * gst/base/.cvsignore:
445 * gst/base/Makefile.am:
447 * gst/base/gstadapter.c:
448 * gst/base/gstadapter.h:
449 * gst/base/gstbasesink.c:
450 * gst/base/gstbasesink.h:
451 * gst/base/gstbasesrc.c:
452 * gst/base/gstbasesrc.h:
453 * gst/base/gstbasetransform.c:
454 * gst/base/gstbasetransform.h:
455 * gst/base/gstcollectpads.c:
456 * gst/base/gstcollectpads.h:
457 * gst/base/gstpushsrc.c:
458 * gst/base/gstpushsrc.h:
459 * gst/base/gsttypefindhelper.c:
460 * gst/base/gsttypefindhelper.h:
461 * gst/check/Makefile.am:
462 * gst/check/gstcheck.c:
463 * gst/check/gstcheck.h:
464 * gst/net/Makefile.am:
466 * gst/net/gstnetclientclock.c:
467 * gst/net/gstnetclientclock.h:
468 * gst/net/gstnettimepacket.c:
469 * gst/net/gstnettimepacket.h:
470 * gst/net/gstnettimeprovider.c:
471 * gst/net/gstnettimeprovider.h:
472 * libs/gst/Makefile.am:
473 * libs/gst/base/Makefile.am:
474 * libs/gst/base/gstbasetransform.c:
475 * libs/gst/check/Makefile.am:
476 * plugins/elements/Makefile.am:
478 CVS surgery + support to move base, check, and net out of gst
481 2005-11-29 Andy Wingo <wingo@pobox.com>
483 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
485 * gst/gststructure.h (struct _GstStructure): Only one pointer of
488 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
490 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
492 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
494 * gst/gstobject.h: (struct _GstObject): Only one pointer of
495 padding; reduces object size by about 30%. We don't expect
496 anything else to go into gstobject.
498 * gst/gstminiobject.h (struct _GstMiniObject)
499 (struct _GstMiniObjectClass): Only one pointer of padding; the
500 payload is only a pointer and two ints anyway. For the class there
501 are only two methods as well.
503 * gst/gstelement.h (struct _GstElementClass): Removed
504 the state_changed signal callback, it is not used.
506 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
508 * docs/gst/gstreamer.types:
509 fix includes, though they are a little dinky
511 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
514 look in the right place for elements, a lot more chance of
517 remove indexers and elements subdirs
518 * plugins/Makefile.am:
519 make indexers conditional
521 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
525 * plugins/elements/Makefile.am:
526 * plugins/elements/gstcapsfilter.c:
527 * plugins/elements/gstfilesink.c:
528 * plugins/elements/gstfilesrc.c:
529 * plugins/elements/gstidentity.c:
530 * plugins/indexers/Makefile.am:
531 do CVS surgery and related build fixery to move elements
532 and indexers in a new gstreamer/plugins directory, out of the
535 2005-11-29 Andy Wingo <wingo@pobox.com>
538 * pkgconfig/gstreamer-net-uninstalled.pc.in:
539 * pkgconfig/gstreamer-net.pc.in:
540 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
543 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
546 * tools/gst-complete.1.in:
547 * tools/gst-complete.c:
548 * tools/gst-compprep.1.in:
549 * tools/gst-compprep.c:
550 removing -compprep and -complete
552 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
554 * gst/gstevent.c: (gst_event_new_new_segment),
555 (gst_event_parse_new_segment):
557 fix #320529 - clean up new_segment API and structure.
558 Let's hope everyone was using the methods, and not the structure.
560 2005-11-29 Edward Hervey <edward@fluendo.com>
562 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
563 (gst_base_sink_event), (gst_base_sink_do_sync),
564 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
565 Properly handle non GST_FORMAT_TIME segment
566 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
567 Properly handle non GST_FORMAT_TIME segment
569 This function is valid if the accumulator is 0 and the format
570 is different from the requested format.
572 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
574 * docs/gst/gstreamer-sections.txt:
575 Add gst_query_new_seeking and gst_query_parse_seeking to the
578 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
580 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
581 Treat a pad alloc with new caps the same as if we were not
582 negotiated, in order to allow a changing upstream output
583 to produce a new format of data.
585 2005-11-29 Edward Hervey <edward@fluendo.com>
587 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
588 (gst_base_transform_event), (gst_base_transform_eventfunc):
589 The event virtual method is now properly implemented, with a default
591 Sub classes should call the parent_class event method. They should
592 return FALSE if they had a problem handling the given event, or don't
593 want GstBaseTransform to send that even downstream
594 * gst/elements/gstidentity.c: (gst_identity_class_init),
595 (gst_identity_init), (gst_identity_event),
596 (gst_identity_transform_ip), (gst_identity_set_property),
597 (gst_identity_get_property):
598 * gst/elements/gstidentity.h:
599 Added the single-segment boolean property.
600 If set to TRUE, it will output a single segment of data, starting from
601 0, will eat up all incoming newsegment, and modify the timestamp of the
604 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
606 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
607 Don't ref NULL target pad (#322751). Improve docs.
609 2005-11-29 Michael Smith <msmith@fluendo.com>
611 * gst/gstregistryxml.c: (load_plugin):
612 Don't crash if we failed to load a feature from a plugin.
614 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
616 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
618 use more check API and less GLib API
620 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
623 don't run checks if we don't have check
625 remove the registry when running make torture
626 * docs/gst/gstreamer-sections.txt:
627 remove second multiply
628 * gst/gstqueue.c: (gst_queue_loop):
629 fix a compile warning when disabling debug
631 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
634 Hey! Let's print the pad name if the pointer != NULL instead
635 of when it == NULL :-)
637 2005-11-28 Wim Taymans <wim@fluendo.com>
639 * check/gst/gstutils.c: (GST_START_TEST):
640 Updated check, add some scaling accuracy checking code.
642 * gst/gstutils.c: (gst_util_div128_64),
643 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
644 (gst_util_uint64_scale_int):
645 Fix 6 times faster division code. Optimize for common
646 1/1 and less common X/1 cases.
648 2005-11-28 Wim Taymans <wim@fluendo.com>
650 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
653 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
654 (do_linear_regression), (gst_clock_add_observation):
656 Release lock when the clock cannot be slaved.
657 Catch the case where the regression returned an invalid denominator.
659 * gst/gstutils.c: (gst_util_div128_64_iterate),
660 (gst_util_div128_64), (gst_util_uint64_scale_int64),
661 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
662 Add protentially more performant non-iterative 128/64 divide function
663 that unfortunatly does not work yet.
664 Shortcut the trivial 0/X = 0 case.
665 Remove the warnings on overflow.
667 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
669 * gst/gstplugin.c: (gst_plugin_register_func):
670 everything causing a plugin not to load should be at least a WARNING
672 2005-11-28 Stefan Kost <ensonic@users.sf.net>
674 * docs/random/ensonic/dparams.txt:
675 some TODOs for the next dev cycle
676 * libs/gst/controller/gstcontroller.c:
677 (gst_controlled_property_set_interpolation_mode),
678 (gst_controlled_property_new):
679 * libs/gst/controller/gstcontroller.h:
680 use base type to assign acccessor functions
682 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
685 Oops, that should have been top_srcdir
687 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
690 * check/elements/fdsrc.c: (GST_START_TEST):
691 Use a cmdline define to specify the location of a file to use for
692 testing, to avoid breaking distcheck.
694 2005-11-28 Andy Wingo <wingo@pobox.com>
696 * gst/gstpad.c (fixate_value): Use array functions for arrays.
698 2005-11-28 Edward Hervey <edward@fluendo.com>
700 * tools/gst-launch.c: (main):
701 Clarify the output strings, makes it easier to translate.
704 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
707 don't try and build net if we don't even have <sys/socket.h>
709 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
712 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
713 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
714 Add tests for fdsrc seekability
716 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
717 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
718 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
719 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
720 * gst/elements/gstfdsrc.h:
721 fdsrc should not be a 'live' source.
722 Implement seeking on seekable fd's.
724 * gst/gstquery.c: (gst_query_new_seeking),
725 (gst_query_parse_seeking):
727 Implement SEEKING query functions:
728 *_new_seeking and *_parse_seeking
730 2005-11-27 Stefan Kost <ensonic@users.sf.net>
732 * gst/gstelement.c: (gst_element_dispose):
736 * gst/gststructure.c:
739 * libs/gst/controller/gstcontroller.c:
740 (gst_controlled_property_set_interpolation_mode):
741 * libs/gst/controller/gstcontroller.h:
742 * libs/gst/controller/gstinterpolation.c:
743 (interpolate_none_get_enum_value_array):
744 support controlling enums
746 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
749 Improve documentation for gst_value_union().
752 Change return value for union, intersect and subtract functions
753 from gint to gboolean.
755 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
757 * gst/gstvalue.c: (gst_value_serialize_any_list),
758 (gst_value_transform_any_list_string),
759 (gst_value_deserialize_list), (gst_value_deserialize_array),
760 (gst_value_set_int_range), (gst_value_deserialize_int_range),
761 (gst_value_set_double_range), (gst_value_deserialize_double_range),
762 (gst_value_set_fraction_range_full),
763 (gst_value_deserialize_fraction_range),
764 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
765 (gst_value_deserialize_boolean),
766 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
767 (gst_value_serialize_float), (gst_value_deserialize_float),
768 (gst_string_wrap), (gst_value_deserialize_string),
769 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
770 (gst_value_union_int_range_int_range),
771 (gst_value_intersect_int_range_int_range),
772 (gst_value_intersect_double_range_double_range),
773 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
774 (gst_value_subtract_int_range_int_range),
775 (gst_value_subtract_double_double_range),
776 (gst_value_subtract_double_range_double_range),
777 (gst_value_deserialize_fraction):
779 Use gint, gdouble and gchar in our API instead of int, double and
780 char (and make usage in gstvalue.c more consistent).
782 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
785 * libs/gst/controller/Makefile.am:
786 * libs/gst/dataprotocol/Makefile.am:
787 fix up Makefile.am and remove GST_ENABLE_NEW
789 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
793 * gst/base/Makefile.am:
794 * gst/check/Makefile.am:
795 * gst/elements/Makefile.am:
796 * gst/net/Makefile.am:
797 update LDFLAGS use some more
799 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
801 * common/m4/gst-doc.m4:
804 2005-11-26 Edward Hervey <edward@fluendo.com>
806 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
807 This shouldn't issue a g_warning since it returns NULL if it
808 couldn't find the plugin, and all functions using this behave
809 properly on a NULL return. Switching to a GST_WARNING.
811 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
813 * gst/gstbin.c: (gst_bin_handle_message_func):
814 Don't leak clock messages.
816 2005-11-25 Wim Taymans <wim@fluendo.com>
818 * gst/gstutils.c: (gst_util_uint64_scale_int64),
819 (gst_util_uint64_scale_int):
820 Optimisations, remove unneeded vars.
822 2005-11-25 Wim Taymans <wim@fluendo.com>
824 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
825 Added more checks for the high precision uint64 cases.
827 * gst/gstutils.c: (gst_util_uint64_scale_int64),
828 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
829 Implement high precission (guint64 * guint64) / guint64.
831 2005-11-24 Wim Taymans <wim@fluendo.com>
833 * gst/base/gstbasesrc.c: (gst_base_src_query):
834 Fix wrong percentage query.
836 * gst/gstutils.c: (gst_util_uint64_scale),
837 (gst_util_uint64_scale_int):
838 Add some more common cases that can be handled
839 efficiently to _scale.
841 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
843 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
844 (gst_mini_object_suite):
845 don't use check calls from threads; check probably isn't
846 threadsafe and using a lock to make it threadsafe would
847 defeat the purpose of this check
848 * gst/check/gstcheck.c:
849 * gst/check/gstcheck.h:
850 use GST_DEBUG some more
852 2005-11-24 Wim Taymans <wim@fluendo.com>
854 * gst/gstutils.c: (gst_util_uint64_scale),
855 (gst_util_uint64_scale_int):
856 Chain trivial case to _scale_int.
858 2005-11-24 Wim Taymans <wim@fluendo.com>
860 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
861 Added test for scaling.
866 * gst/gstutils.c: (gst_util_uint64_scale_int):
867 Implemented high precision scaling code.
869 2005-11-24 Stefan Kost <ensonic@users.sf.net>
872 do not crash on pad==NULL
874 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
876 Patch by: Stefan Kost
878 * common/gtk-doc.mak:
879 * docs/gst/Makefile.am:
880 * docs/libs/Makefile.am:
881 Fix distcheck issues for the libraries docs build
884 2005-11-24 Michael Smith <msmith@fluendo.com>
886 * docs/manual/basics-helloworld.xml:
887 Fix bug #315027: memory leak in example code in docs.
889 2005-11-24 Michael Smith <msmith@fluendo.com>
891 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
892 Unlock the PREROLL_LOCK in a failure case.
894 2005-11-24 Wim Taymans <wim@fluendo.com>
896 * docs/gst/gstreamer-sections.txt:
897 * gst/base/gstadapter.h:
898 * gst/base/gstbasesink.h:
899 * gst/base/gstbasesrc.h:
900 * gst/base/gstbasetransform.h:
901 * gst/base/gstpushsrc.h:
902 * gst/elements/gstfakesink.h:
903 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
904 * gst/elements/gstfakesrc.h:
905 * gst/elements/gstfilesink.h:
906 * gst/elements/gstfilesrc.h:
909 * gst/gstbuffer.c: (_gst_buffer_copy):
912 * gst/gstchildproxy.c:
915 * gst/gstelementfactory.c:
916 * gst/gstelementfactory.h:
920 * gst/gstinterface.h:
921 * gst/gstminiobject.c:
922 * gst/gstminiobject.h:
925 * gst/gstpadtemplate.h:
927 * gst/gstpluginfeature.h:
932 * gst/gsttagsetter.c:
933 * gst/gsttagsetter.h:
939 * gst/net/gstnetclientclock.c:
940 * gst/net/gstnetclientclock.h:
941 * gst/net/gstnettimepacket.c:
942 * gst/net/gstnettimeprovider.c:
943 * gst/net/gstnettimeprovider.h:
946 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
948 * configure.ac: back to HEAD
950 === release 0.9.6 ===
952 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
955 releasing 0.9.6, "Always On Time"
957 2005-11-23 Wim Taymans <wim@fluendo.com>
959 * docs/gst/gstreamer-sections.txt:
961 * gst/gsttagsetter.c:
963 * gst/net/gstnetclientclock.c:
964 * gst/net/gstnettimepacket.h:
967 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
969 * docs/faq/using.xml:
970 * docs/libs/tmpl/gstcontrol.sgml:
971 * docs/manual/advanced-dparams.xml:
972 * docs/manual/appendix-checklist.xml:
973 * docs/manual/basics-elements.xml:
974 * docs/pwg/other-source.xml:
975 * docs/random/moving-plugins:
977 * tools/gst-launch.1.in:
978 remove mentions of sinesrc
980 2005-11-23 Michael Smith <msmith@fluendo.com>
982 * docs/gst/gstreamer-sections.txt:
983 Update for new API and API changes.
985 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
987 Documentation typo fix.
988 * gst/net/gstnettimepacket.c:
989 Documentation fixes for arguments.
991 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
993 * gst/gststructure.c: (gst_structure_get_fraction),
994 (gst_structure_parse_value),
995 (gst_structure_fixate_field_nearest_fraction):
996 * gst/gststructure.h:
997 * gst/gstutils.c: (gst_util_uint64_scale_int):
999 * scripts/update-funcnames:
1001 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1002 Make gst_structure_fixate_field_nearest_fraction take a numerator
1003 and denominator argument instead of a GValue
1004 add gst_structure_get_fraction helper function.
1006 2005-11-23 Wim Taymans <wim@fluendo.com>
1008 * docs/design/part-TODO.txt:
1011 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1012 * gst/net/gstnetclientclock.h:
1013 Use parent fields for timeout and window_size.
1015 2005-11-23 Andy Wingo <wingo@pobox.com>
1017 * check/net/gstnetclientclock.c (test_functioning): Adjust to
1018 rate_num/rate_denom change.
1020 * gst/net/gstnetclientclock.c
1021 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1022 OBJECT_LOCK. Don't call add_observation with the lock.
1024 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1026 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1028 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1029 deal with rate as a fraction whose numerator and denominator are
1030 GstClockTime values.
1031 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1032 master; the other fields are protected by the SLAVE_LOCK.
1033 (do_linear_regression): Note that this must be called with the
1035 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1036 OBJECT_LOCK. Call set_calibration instead of touching the
1038 (gst_clock_set_property, gst_clock_get_property): Protect
1039 master/slave parameters with the SLAVE_LOCK.
1041 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1042 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1043 note that all of the instance variables that add_observation and
1044 the set_master functions use are protected by that lock and not
1046 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1048 * gst/gstclock.c (gst_clock_add_observation): No longer requires
1049 the caller to take the object lock.
1051 2005-11-23 Wim Taymans <wim@fluendo.com>
1053 * gst/gsterror.c: (_gst_core_errors_init):
1055 Add error for clock stuff.
1057 * gst/gstpipeline.c: (gst_pipeline_change_state),
1058 (gst_pipeline_set_clock):
1059 Post clock error when clock cannot be used in a pipeline.
1061 2005-11-23 Stefan Kost <ensonic@users.sf.net>
1063 * docs/gst/gstreamer-sections.txt:
1064 make two symbols from gstinfo private for the docs
1065 * gst/base/gstcollectpads.h:
1067 fix doc typos, update docs
1069 2005-11-22 Wim Taymans <wim@fluendo.com>
1071 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1072 (gst_base_sink_wait), (gst_base_sink_do_sync),
1073 (gst_base_sink_handle_event):
1074 * gst/base/gstbasesink.h:
1075 No need to store the clock, the parent element class already
1078 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1079 Updates for clock_set returning a gboolean
1081 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1082 (gst_clock_id_wait_async), (gst_clock_class_init),
1083 (gst_clock_init), (gst_clock_finalize),
1084 (gst_clock_get_internal_time), (gst_clock_get_time),
1085 (gst_clock_slave_callback), (gst_clock_set_master),
1086 (gst_clock_get_master), (do_linear_regression),
1087 (gst_clock_add_observation), (gst_clock_set_property),
1088 (gst_clock_get_property):
1090 Implement master/slave. When setting a clock as a slave, a
1091 periodic timeout is scheduled to sample master and slave times.
1092 Then the slave clock is recalibrated to match offset and rate
1093 of the master clock.
1094 Update logging a bit.
1095 Add flag so that a clock can state that is cannot be slaved to
1098 * gst/gstelement.c: (gst_element_set_clock):
1100 The set clock returns a gboolean for when an element cannot
1101 deal with the selected clock in the pipeline.
1103 * gst/gstpipeline.c: (gst_pipeline_change_state),
1104 (gst_pipeline_set_clock):
1105 * gst/gstpipeline.h:
1106 Handle the case where the selected clock cannot be set on
1109 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1110 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1111 (gst_net_client_clock_set_property),
1112 (gst_net_client_clock_get_property),
1113 (gst_net_client_clock_observe_times):
1114 * gst/net/gstnetclientclock.h:
1115 Use regression code in GstClock parent, remove duplicated
1118 2005-11-22 Michael Smith <msmith@fluendo.com>
1120 * gst/gstutils.c: (gst_util_clock_time_scale):
1122 * docs/gst/gstreamer-sections.txt:
1123 Rename method to have extra underscore.
1125 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
1127 * gst/elements/Makefile.am:
1128 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1129 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1130 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1131 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1132 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1133 * gst/elements/gstfakesrc.h:
1134 * gst/gstqueue.c: (queue_leaky_get_type):
1135 correctly fix GEnumValues so that nick is the short lowercase
1137 * tools/gst-inspect.c: (print_element_properties_info):
1138 also show the nick, since it's useful to use from parse_launch
1142 2005-11-22 Michael Smith <msmith@fluendo.com>
1144 * gst/gstutils.c: (gst_util_clocktime_scale):
1146 * docs/gst/gstreamer-sections.txt:
1147 Add util method for scaling a clocktime by a fraction. Useful
1148 implementation is left as an exercise for the reader.
1150 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1152 * gst/gstvalue.c: (gst_value_collect_fraction_range):
1153 If needed, allocate storage in the destination value during
1156 2005-11-22 Edward Hervey <edward@fluendo.com>
1158 * docs/gst/gstreamer-sections.txt:
1163 * gst/gstutils.c: (gst_util_set_object_arg):
1164 * tools/gst-compprep.c: (main):
1165 * tools/gst-inspect.c: (print_element_properties_info):
1166 Removed GstURI, closes bug #321061
1168 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1170 * check/gst/gststructure.c: (GST_START_TEST):
1171 * gst/gststructure.c: (gst_structure_parse_value):
1172 Oops, broke automatic string type parsing.
1173 Add a test to catch it in future.
1175 2005-11-22 Andy Wingo <wingo@pobox.com>
1177 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
1178 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1179 Actually rename the function implementations. Grr.
1181 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1183 * check/gst/capslist.h:
1185 * check/gst/gststructure.c: (GST_START_TEST),
1186 (gst_structure_suite):
1187 Test automatic value type detection in gst_structure_from_string.
1188 * gst/gststructure.c: (gst_structure_parse_value):
1189 Add fraction as a type we try and guess automatically in
1190 caps/structure strings.
1192 2005-11-22 Andy Wingo <wingo@pobox.com>
1194 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1196 * gst/gsttagsetter.h:
1197 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1198 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1199 (gst_tag_setter_add_tag_valist)
1200 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1201 _add_values, _add_valist, and _add_valist_values. Since this is an
1202 interface the function suffixes should be more explicit so
1203 language binding don't end up with element.add_valist ->
1204 gst_tag_setter_add_valist, for example. Fixes #322069.
1206 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1208 * check/gst/gstcaps.c: (GST_START_TEST):
1209 Extend caps string tests to check that a caps to string
1210 conversion is reversible and produces the same caps.
1212 * gst/gststructure.c: (gst_structure_value_get_generic_type):
1213 Output "fraction" as the generic type fraction range, so caps
1214 serialisation and deserialisation works.
1215 * check/gst/capslist.h:
1216 * gst/gstvalue.c: (gst_value_deserialize_fraction):
1217 Support 'MIN' and 'MAX' for deserialising fractions.
1219 2005-11-22 Andy Wingo <wingo@pobox.com>
1221 * gst/gstevent.h (gst_event_new_new_segment)
1222 (gst_event_parse_new_segment, gst_event_new_buffer_size)
1223 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1224 Renamed from *_newsegment, *_buffersize, *_notarget.
1226 * scripts/update-funcnames: New script, performs the changes
1229 2005-11-22 Wim Taymans <wim@fluendo.com>
1231 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1232 Make sure the GstFlowReturn is returned.
1234 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1235 (gst_bus_add_signal_watch):
1237 add gst_bus_add_signal_watch_full.
1239 * gst/gstplugin.c: (gst_plugin_load_file):
1240 Small style cleanup.
1242 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1244 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1245 Block the fakesrc srcpad when we send an event, to avoid
1246 contention on the stream_lock causing random test failures.
1248 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1250 * check/gst/gstvalue.c: (GST_START_TEST):
1251 * gst/gstvalue.c: (gst_value_fraction_subtract):
1254 2005-11-22 Stefan Kost <ensonic@users.sf.net>
1257 include "gstchildproxy.h"
1258 * gst/gstchildproxy.h:
1259 * libs/gst/controller/gstcontroller.h:
1260 use G_GNUC_NULL_TERMINATED
1262 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
1264 * check/gst/capslist.h:
1265 * check/gst/gstcaps.c: (GST_START_TEST):
1266 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1267 * gst/gststructure.c: (gst_structure_parse_range),
1268 (gst_structure_fixate_field_nearest_fraction):
1269 * gst/gststructure.h:
1270 * gst/gstvalue.c: (gst_value_init_fraction_range),
1271 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1272 (gst_value_collect_fraction_range),
1273 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1274 (gst_value_set_fraction_range_full),
1275 (gst_value_get_fraction_range_min),
1276 (gst_value_get_fraction_range_max),
1277 (gst_value_serialize_fraction_range),
1278 (gst_value_transform_fraction_range_string),
1279 (gst_value_compare_fraction_range),
1280 (gst_value_deserialize_fraction_range),
1281 (gst_value_intersect_fraction_fraction_range),
1282 (gst_value_intersect_fraction_range_fraction_range),
1283 (gst_value_subtract_fraction_fraction_range),
1284 (gst_value_subtract_fraction_range_fraction),
1285 (gst_value_subtract_fraction_range_fraction_range),
1286 (gst_value_collect_fraction), (gst_value_fraction_multiply),
1287 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1288 (gst_value_transform_string_fraction), (_gst_value_initialize):
1290 Implement fraction ranges and extend GstFraction to support
1291 arithmetic subtraction, as well as deserialization from integer
1292 strings such as "100"
1293 Add a testsuite as for int and double range set operations
1295 2005-11-21 Andy Wingo <wingo@pobox.com>
1299 * gst/gststructure.h: Add glib-compat.h.
1301 2005-11-21 Wim Taymans <wim@fluendo.com>
1303 * gst/gstbin.c: (gst_bin_change_state_func):
1306 2005-11-21 Wim Taymans <wim@fluendo.com>
1309 And add a nice define too.
1311 2005-11-21 Wim Taymans <wim@fluendo.com>
1313 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1314 (gst_segment_new), (gst_segment_free), (gst_segment_init),
1315 (gst_segment_set_duration), (gst_segment_set_last_stop),
1316 (gst_segment_set_seek), (gst_segment_set_newsegment),
1317 (gst_segment_to_stream_time), (gst_segment_to_running_time),
1320 Make binding friendly.
1322 2005-11-21 Andy Wingo <wingo@pobox.com>
1324 * gst/gsttagsetter.h:
1326 * gst/gststructure.h:
1328 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1331 * gst/gsterror.c (_gst_core_errors_init):
1332 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1335 * gst/Makefile.am (gst_headers): Add glib-compat.h.
1336 (noinst_HEADERS): noinst the -private.
1338 2005-11-21 Michael Smith <msmith@fluendo.com>
1341 * gst/gstregistry.h:
1342 Remove unimplemented declarations for which we can see no sensible
1345 2005-11-21 Andy Wingo <wingo@pobox.com>
1347 * gst/gst.h: Include glib-compat.h.
1349 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1351 * gst/glib-compat.c: Include the public and the private header.
1353 * gst/glib-compat-private.h: Copied here from glib-compat.h.
1357 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1359 * check/gst/gstevent.c (create_custom_events): Check that
1360 FLUSH_STOP is serialized.
1362 * check/elements/identity.c (event_func):
1363 * check/elements/fakesrc.c (event_func): No stream lock, the core
1366 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1367 stream lock taking, yay.
1369 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1370 ensure that core takes the stream lock.
1372 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1375 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1376 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1377 it already. For the flush start we do take it though so we get the
1378 right preroll state change messages.
1380 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1381 the stream lock here, the core does it for us.
1383 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1384 GST_STREAM_GET_LOCK.
1385 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
1386 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
1387 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1388 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1389 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
1390 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1392 * gst/gstpad.c: Update for stream lock name change.
1394 * gst/base/gstbasesink.c: Update for preroll lock name change.
1396 2005-11-21 Wim Taymans <wim@fluendo.com>
1398 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1399 (gst_clock_get_master):
1401 * gst/gstsystemclock.c: (gst_system_clock_init):
1402 Convert Clock flags to object flags.
1403 Added methods to manage master/slave clocks.
1405 2005-11-21 Wim Taymans <wim@fluendo.com>
1407 * check/gst/gstsegment.c: (GST_START_TEST):
1408 * docs/design/part-TODO.txt:
1409 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1410 (gst_base_sink_event), (gst_base_sink_do_sync),
1411 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1412 (gst_base_sink_query), (gst_base_sink_change_state):
1413 * gst/base/gstbasesink.h:
1414 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1415 (gst_base_src_default_newsegment),
1416 (gst_base_src_configure_segment), (gst_base_src_do_seek),
1417 (gst_base_src_get_range), (gst_base_src_loop),
1418 (gst_base_src_change_state):
1419 * gst/base/gstbasesrc.h:
1420 * gst/base/gstbasetransform.c:
1421 (gst_base_transform_prepare_output_buf),
1422 (gst_base_transform_event), (gst_base_transform_change_state):
1423 * gst/base/gstbasetransform.h:
1424 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1425 (gst_collect_pads_event):
1426 * gst/base/gstcollectpads.h:
1427 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1428 (gst_fake_src_create):
1429 * gst/elements/gstfakesrc.h:
1430 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1431 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1432 (gst_segment_set_last_stop), (gst_segment_set_seek),
1433 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1434 (gst_segment_to_running_time), (gst_segment_clip):
1436 More segment updates, replace code in plugins with segment
1439 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1441 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1442 Don't ignore sscanf results
1444 2005-11-21 Andy Wingo <wingo@pobox.com>
1446 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1449 * *.c: Ran scripts/update-macros. Oh yes.
1451 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1452 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1455 * scripts/update-macros: New script. Run it on your files to
1456 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1459 2005-11-21 Stefan Kost <ensonic@users.sf.net>
1461 * docs/gst/Makefile.am:
1462 * docs/gst/gstreamer-docs.sgml:
1463 * docs/gst/gstreamer-sections.txt:
1464 * docs/gst/gstreamer.types:
1466 more docs fixes, add new api to the docs
1468 2005-11-21 Andy Wingo <wingo@pobox.com>
1470 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1471 state_broadcast call.
1473 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1475 2005-11-21 Julien MOUTTE <julien@moutte.net>
1477 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1478 function calls for arrays.
1480 2005-11-21 Stefan Kost <ensonic@users.sf.net>
1482 * docs/random/ensonic/media-device-daemon.txt:
1483 wild idea, can this be done?
1484 * docs/gst/gstreamer-sections.txt:
1489 * gst/gstpluginfeature.c:
1493 doc fixes and additions
1495 2005-11-21 Andy Wingo <wingo@pobox.com>
1497 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
1498 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
1499 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
1500 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1501 private to the basesrc implementation.
1503 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1504 behalf of event function if necessary. It should no longer be
1505 necessary to take the stream lock in pad's event functions. Fixes
1508 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1509 * docs/gst/gstreamer-sections.txt:
1510 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1511 (gst_structure_fixate_field_nearest_double),
1512 (gst_structure_fixate_field_boolean):
1513 * gst/gststructure.h:
1514 * win32/common/libgstreamer.def:
1515 * win32/gstreamer.def:
1517 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1520 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
1522 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1523 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1524 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1525 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1526 (gst_fdsrc_uri_handler_init):
1527 * gst/elements/gstfdsrc.h:
1528 Port fd:// URI handler from 0.8 to fdsrc
1530 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1532 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1533 (gst_value_serialize_fourcc):
1535 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1536 consistent with our other format defines (#320324).
1538 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1540 * gst/gstvalue.c: (gst_value_is_fixed):
1541 Revert previous commit. Value lists are by definition
1542 not fixed, as they are a list of possible values.
1544 2005-11-21 Andy Wingo <wingo@pobox.com>
1546 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1547 during the stable series if we need it. Fixes #319178.
1549 * gst/gstevent.c (gst_event_new_filler): Removed.
1551 * check/gst/gstevent.c: Update comment about filler events.
1553 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1555 * gst/gstvalue.c: (gst_value_is_fixed):
1556 Should handle both value arrays and value lists.
1558 2005-11-21 Andy Wingo <wingo@pobox.com>
1560 patch by: Alessandro Dessina <alessandro nnva org>
1562 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1563 functions to access arrays. Fixes #321962.
1565 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1567 * docs/gst/gstreamer.types:
1568 gst_collectpads_get_type => gst_collect_pads_get_type.
1570 * gst/base/gstbasetransform.c:
1571 Remove unused SIGNAL_HANDOFF enum.
1573 2005-11-21 Andy Wingo <wingo@pobox.com>
1575 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1576 the event type (upstream, downstream, serialized). Renamed
1577 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1578 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1579 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1581 * gst/gstevent.c: Update for new CUSTOM event names.
1583 * check/gst/gstevent.c: Update check for new CUSTOM event names.
1586 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1589 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1591 * docs/gst/gstreamer-sections.txt:
1592 * win32/common/libgstbase.def:
1593 * win32/libgstbase.def:
1594 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1595 (gst_collect_pads_class_init), (gst_collect_pads_init),
1596 (gst_collect_pads_finalize), (gst_collect_pads_new),
1597 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1598 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1599 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1600 (gst_collect_pads_start), (gst_collect_pads_stop),
1601 (gst_collect_pads_peek), (gst_collect_pads_pop),
1602 (gst_collect_pads_available), (gst_collect_pads_read),
1603 (gst_collect_pads_flush), (gst_collect_pads_event),
1604 (gst_collect_pads_chain):
1605 * gst/base/gstcollectpads.h:
1606 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1607 unimplemented functions as unimplemented. Add padding to
1608 GstCollectData. (#320766, #320423)
1610 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
1613 Improve docs for DURATION message (usage of duration parameter)
1616 2005-11-20 Wim Taymans <wim@fluendo.com>
1618 * check/Makefile.am:
1619 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1623 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1624 (gst_segment_set_seek), (gst_segment_set_newsegment),
1625 (gst_segment_to_stream_time), (gst_segment_to_running_time),
1628 Added segment helper structure and methods. Not fully implemented
1630 Added segment check.
1632 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
1634 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1635 Add a deserialisation test for fractions
1636 * examples/metadata/read-metadata.c: (message_loop),
1637 (make_pipeline), (main):
1638 Fix up metadata reading sample.
1639 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1641 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1642 Don't try and fixate empty caps
1643 * gst/gst_private.h:
1644 Wrap in G_BEGIN_DECLS/G_END_DECLS
1645 * gst/gstvalue.c: (gst_value_collect_fraction),
1646 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1647 (gst_value_transform_string_fraction),
1648 (gst_value_compare_fraction):
1649 Add some extra guards to ensure that we don't end up
1650 with an invalid denominator of 0 in a gstfraction and
1651 that fractions always get reduced.
1653 2005-11-20 Wim Taymans <wim@fluendo.com>
1655 * docs/gst/gstreamer-sections.txt:
1666 2005-11-20 Wim Taymans <wim@fluendo.com>
1668 * docs/design/part-TODO.txt:
1670 Make a proper enum of the flag.
1672 2005-11-19 Wim Taymans <wim@fluendo.com>
1674 * docs/design/part-TODO.txt:
1675 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1676 (gst_format_to_quark), (gst_format_register):
1678 * gst/gstquery.c: (_gst_query_initialize),
1679 (gst_query_type_get_name), (gst_query_type_to_quark),
1680 (gst_query_type_register):
1682 Add type to quark and type to string conversions.
1684 2005-11-19 Andy Wingo <wingo@pobox.com>
1686 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1689 2005-11-19 Wim Taymans <wim@fluendo.com>
1691 * docs/design/part-TODO.txt:
1692 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1693 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1694 (gst_bin_handle_message_func):
1696 Make message handling overridable.
1698 2005-11-19 Andy Wingo <wingo@pobox.com>
1700 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1703 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1705 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1706 is a GstClockTime. Fixes #321710.
1708 * gst/gstclock.h (GstClock): Remove offset property. Add
1709 internal_calibration and external_calibration. Fix padding. Pad
1710 also by GstClockTime so we don't run into problems.
1712 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1713 (gst_clock_get_rate_offset): Remove.
1714 (gst_clock_set_time_adjust): Remove. Fixes #321712.
1717 * gst/gstutils.c (g_static_rec_cond_wait)
1718 (g_static_rec_cond_timed_wait): Removed, no longer needed.
1720 * gst/gstbin.c: Remove terrible continue_state prototype.
1722 * gst/gstelement.h (gst_element_continue_state): Make public.
1725 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1726 by continue_state. Fixes #319389.
1728 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1729 Really fixes #168438. However I don't see anywhere where the
1730 filter function is called... stupid GStreamer...
1732 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1733 don't have a dispose function, so it won't get called when the
1734 object is unreffed, but oh well!
1736 * gst/gstindex.c (gst_index_set_filter_full): New API function,
1737 allows a destroy function to be set so user_data can be freed.
1739 (gst_index_set_filter): Call gst_index_set_filter_full.
1741 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1743 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1744 string should produce an error, given the lack of a way to
1745 represent NULL strings. Fixes #165650.
1748 * gst/gstvalue.c (gst_value_array_append_value)
1749 (gst_value_array_prepend_value, gst_value_array_get_size)
1750 (gst_value_array_get_value): New API, copied from
1751 gst_value_list_*, only operates on arrays.
1752 (gst_value_list_append_value, gst_value_list_prepend_value)
1753 (gst_value_list_concat, gst_value_list_get_size)
1754 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1756 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1757 init_list, because it works on both.
1758 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1759 (gst_value_copy_list_or_array): Renamed from copy_list.
1760 (gst_value_free_list_or_array): Renamed from free_list.
1761 (gst_value_collect_list_or_array): Renamed from collect_list.
1762 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1763 (gst_value_list_or_array_peek_pointer): Renamed from
1765 (_gst_value_array_value_table, _gst_value_list_value_table):
1766 Update value table functions.
1767 (gst_value_compare_list_or_array): Renamed from compare_list.
1769 * gsttaglist.h: Whoops, foreach function returns void. Also fix
1773 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
1774 GstTagList*. Fixes #143472.
1776 * gst/gststructure.h: Clarify what the foreach/map functions can
1777 or can't do to their arguments.
1779 2005-11-18 Wim Taymans <wim@fluendo.com>
1781 * gst/gstclock.c: (gst_clock_set_calibration),
1782 (gst_clock_get_calibration):
1784 Calibration can be set with internal time equal to current
1787 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
1793 2005-11-18 Andy Wingo <wingo@pobox.com>
1796 * pkgconfig/gstreamer-net.pc.in:
1797 * pkgconfig/gstreamer-net-uninstalled.pc.in:
1798 * pkgconfig/Makefile.am: Add net pkgconfig files.
1800 2005-11-18 Stefan Kost <ensonic@users.sf.net>
1803 * gst/gstghostpad.c:
1809 2005-11-18 Andy Wingo <wingo@pobox.com>
1811 * gst/net/gstnetclientclock.c: Turn off debugging.
1813 * check/net/gstnetclientclock.c (test_functioning): Assert that the
1814 times connverge somewhat. Can't make a real test.
1816 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
1817 integer arithmetic. Return the minimum of the domain, which can be
1818 set as "internal" for gst_clock_set_calibration.
1819 (gst_net_client_clock_observe_times): Call _set_calibration.
1820 (gst_net_client_clock_new): Call _set_calibration instead of
1823 * check/net/gstnetclientclock.c (test_functioning): Use the right
1827 * gst/gstclock.c (gst_clock_get_calibration)
1828 (gst_clock_set_calibration): New functions, obsolete the ones I
1829 added yesterday. Doh. Precision issues mean we have to extrapolate
1830 from a point in the more recent past than 1970.
1831 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
1833 (gst_clock_adjust_unlocked): Use the right calibration data.
1835 2005-11-18 Edward Hervey <edward@fluendo.com>
1837 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1838 Also reset the ->current_* values in READY->PAUSED
1840 2005-11-18 Andy Wingo <wingo@pobox.com>
1842 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
1843 Whoops, check the right fd. Also add some debugging.
1844 (gst_net_client_clock_observe_times): Adjust for int64 offset.
1845 (do_linear_regression): Add a crapload of debugging. Subtract off
1846 the minimum values from the input series to discard unneeded bits.
1847 Use only int arithmetic. There is still double arithmetic when
1848 calculating the intercept that needs fixing. Return boolean to
1849 indicate success; FALSE would mean the domain or range is too
1850 great. Still needs fixes.
1852 2005-11-18 Wim Taymans <wim@fluendo.com>
1854 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1855 For the current position in stream time, we need to subtract
1858 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1859 Release lock before calling the callback function of async
1862 2005-11-18 Andy Wingo <wingo@pobox.com>
1864 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
1865 Port goes all the way to MAXUINT16.
1867 * gst/net/gstnettimeprovider.c: Make the port range the same as
1868 for the kernel: 0 assigns, otherwise ports are less than
1871 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
1874 * check/net/gstnetclientclock.c (test_functioning): Add the start
1877 2005-11-18 Wim Taymans <wim@fluendo.com>
1879 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1880 (gst_bin_remove_func), (bin_bus_handler):
1882 Removing a clock provider from a bin, triggers a clock lost message
1883 so that a new clock will be selected.
1884 Adding a clock to a bin triggers a clock provider message.
1885 Make sure we reselect a clock when we received a clock lost message.
1886 Keep a reference to the element that provided the clock.
1888 2005-11-18 Andy Wingo <wingo@pobox.com>
1890 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
1891 the clock initially so it produces values around the base time.
1892 (gst_net_client_clock_class_init): Typo fix.
1893 (gst_net_client_clock_thread): Add note on when the socket gets
1896 2005-11-17 Wim Taymans <wim@fluendo.com>
1898 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
1899 Free remote and local time arrays.
1901 2005-11-17 Wim Taymans <wim@fluendo.com>
1903 * gst/net/gstnetclientclock.c: (do_linear_regression),
1904 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
1905 Fix compilation, uninitialized vars and a forgotten continue.
1907 2005-11-17 Andy Wingo <wingo@pobox.com>
1909 * check/Makefile.am (check_PROGRAMS):
1910 * check/net/gstnetclientclock.c: Add a most minimal test for the
1911 net client clock. More to come later.
1914 * gst/net/Makefile.am: Add netclientclock.
1916 * gst/net/gstnetclientclock.h:
1917 * gst/net/gstnetclientclock.c: New files, implement an untested
1918 GstClock that takes its time from a network time provider.
1919 Implements the algorithm in network-clock.scm.
1921 * tests/network-clock.scm (*window-size*): Rename from
1923 * tests/network-clock.scm (network-time):
1924 * tests/network-clock-utils.scm (q-push): Update callers.
1926 2005-11-17 Wim Taymans <wim@fluendo.com>
1928 * gst/gstbin.c: (gst_bin_provide_clock_func),
1929 (gst_bin_sort_iterator_new):
1930 And unref the child too..
1932 2005-11-17 Wim Taymans <wim@fluendo.com>
1934 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1935 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
1936 Refactor the sort iterator so it can be used while holding the
1938 Make clock selection select a clock closest to the source.
1940 2005-11-17 Michael Smith <msmith@fluendo.com>
1942 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
1943 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
1945 Anonymous structs are a gcc (and some other compilers) extension, so
1946 don't use them. Since this is only for ABI-compatibility, and our
1947 API/ABI freeze is over in a few days, this whole thing will only
1948 last a few days, so don't bother trying to think up a meaningful
1949 name for the struct.
1951 2005-11-17 Andy Wingo <wingo@pobox.com>
1953 * gst/gstclock.h (GstClock): Add rate and offset properties,
1954 preserving ABI stability. Add rate/offset accessors. Will file bug
1955 for the freeze break.
1957 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
1958 and offset, trying to keep precision and avoiding
1960 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
1961 functions. Make gst_clock_set_time_adjust obsolete.
1962 (gst_clock_set_time_adjust): Note that this function is obsolete.
1965 * gst/base/gstbasetransform.h: Make the ABI-stability hack
1966 greppable by using GST_PADDING-1+1.
1968 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
1970 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1972 * gst/gstmessage.c: (gst_message_parse_clock_lost):
1973 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
1975 * gst/gstpadtemplate.h:
1976 * gst/gstpluginfeature.h:
1977 Don't use c++ style comments in headers (#321638).
1979 2005-11-16 Andy Wingo <wingo@pobox.com>
1981 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
1984 * check/net/gstnettimeprovider.c: Check to see that the time
1985 provider actually provides times. Works, yo!
1987 2005-11-16 Wim Taymans <wim@fluendo.com>
1989 * check/Makefile.am:
1992 * check/elements/fakesrc.c: (GST_START_TEST):
1993 Set element to NULL before disposing it.
1995 2005-11-16 Andy Wingo <wingo@pobox.com>
1997 * gst/net/Makefile.am:
1999 * gst/net/gstnettimeprovider.c:
2000 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2001 provider, include it from gstnet.h, and add it to the build.
2003 * gst/net/gstnettimepacket.h:
2004 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2005 sending and receiving.
2007 2005-11-16 Wim Taymans <wim@fluendo.com>
2009 * check/Makefile.am:
2010 Enable valgrind check.
2012 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2013 (gst_fake_src_alloc_buffer):
2016 2005-11-16 Wim Taymans <wim@fluendo.com>
2018 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2019 Call parent finalize too.
2021 2005-11-16 Wim Taymans <wim@fluendo.com>
2023 * check/Makefile.am:
2024 Enable valgrind check that should work fine now.
2026 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2027 * gst/gstqueue.c: (gst_queue_init):
2028 Fix memleaks in pad allocation.
2030 2005-11-16 Andy Wingo <wingo@pobox.com>
2032 * gst/net/Makefile.am:
2033 * gst/net/gstnet.h: New part of core to hold network elements and
2034 objects. Put in core because it exposes API that applications want
2035 to use. The library is named libgstnet-tempname right now because
2036 of the existing libgstnet in gst-plugins-base. Solution is
2037 probably to rename the one in plugins-base; will file a bug for
2040 * gst/net/gstnettimeprovider.c:
2041 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2042 get_time call over the network.
2045 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2047 * check/Makefile.am:
2048 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2049 get additions shortly.
2051 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2053 * gst/gstpad.c: (gst_pad_new_from_static_template):
2055 add gst_pad_new_from_static_template functions
2056 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2057 (gst_check_setup_sink_pad):
2058 * gst/elements/gsttee.c: (gst_tee_init):
2061 2005-11-16 Wim Taymans <wim@fluendo.com>
2063 * gst/gstpad.c: (gst_pad_pause_task):
2064 Removed warning, it's not really an error either.
2066 2005-11-16 Wim Taymans <wim@fluendo.com>
2068 * gst/base/gstbasetransform.c:
2069 (gst_base_transform_prepare_output_buf),
2070 (gst_base_transform_event):
2071 Check if the caps are NULL, this can happen if the element
2072 is shutting down and the pad caps are set to NULL.
2074 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2076 * gst/elements/gsttee.c: (gst_tee_init):
2077 fix pad template leak in tee
2079 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2081 * gst/glib-compat.c: (g_value_dup_gst_object):
2082 * gst/glib-compat.h:
2083 * gst/gstpad.c: (gst_pad_set_property):
2084 use gst_object_ref when setting the pad template; this will
2085 trigger the pad template leaks on GLib 2.6 and the slaves
2087 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2089 * gst/glib-compat.c: (gst_flags_get_first_value):
2090 * gst/glib-compat.h:
2091 * gst/gstregistryxml.c:
2092 remove functions copied from GLib 2.6
2094 2005-11-16 Michael Smith <msmith@fluendo.com>
2097 Don't link against VALGRIND_LIBS. That was always the wrong thing to
2098 do, but only breaks with newer valgrind versions. We're not a
2099 valgrind tool, we have no link-time dependencies on libcoregrind.
2101 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2103 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2108 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
2110 * gst/base/gstbasesrc.c: (gst_base_src_init):
2111 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2112 * gst/gstqueue.c: (gst_queue_init):
2113 * gst/gstregistryxml.c: (load_feature):
2114 Revert all these unrefs, they don't even pass make check !
2116 2005-11-15 Johan Dahlin <johan@gnome.org>
2118 * gst/base/gstbasesrc.c: (gst_base_src_init):
2119 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2120 * gst/gstqueue.c: (gst_queue_init):
2121 Free pad templates, fixes a couple of leaks.
2123 2005-11-15 Daniel Fischer <dan at f3c dot com>
2125 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2127 * gst/gstpad.c: (gst_pad_get_property):
2128 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2129 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2132 2005-11-15 Wim Taymans <wim@fluendo.com>
2137 2005-11-15 Andy Wingo <wingo@pobox.com>
2139 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2141 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2142 using GST_CLOCK_TIME_NONE to disable base time management.
2143 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2144 time if it was NONE before.
2145 (gst_pipeline_change_state): Only munge the base time if
2146 stream_time != GST_CLOCK_TIME_NONE.
2148 * check/gst/gstpipeline.c (test_base_time): Punt around the
2149 problem of the probe not being called, because that's not the
2150 issue I'm looking at. Add a check that setting stream_time to NONE
2151 disables base time management.
2153 2005-11-15 Wim Taymans <wim@fluendo.com>
2155 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2156 segment_stop == -1 at startup.
2158 * gst/base/gstbasetransform.c: (gst_base_transform_event),
2159 (gst_base_transform_change_state):
2160 Init segment values at start.
2162 2005-11-15 Wim Taymans <wim@fluendo.com>
2164 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2165 0 segment values are 0 in any format.
2167 * gst/base/gstbasetransform.c: (gst_base_transform_event):
2168 * gst/base/gstbasetransform.h:
2169 Parse newsegment correctly in basetransform
2171 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2172 Sync to clock using updated segment values.
2174 2005-11-15 Andy Wingo <wingo@pobox.com>
2176 * check/gst/gstpipeline.c (test_base_time): Add check that the
2177 base time and stream time are reset correctly.
2179 2005-11-15 Wim Taymans <wim@fluendo.com>
2181 * docs/design/part-TODO.txt:
2182 Some more TODO items.
2184 2005-11-15 Andy Wingo <wingo@pobox.com>
2186 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2187 error if the user selected "no clock" as the clocking method.
2189 * check/gst/gstpipeline.c (test_base_time): New test for buffer
2190 timestamps with live capture.
2192 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2193 is 0 but we are a live source, timestamp the buffers using the
2196 2005-11-14 Stefan Kost <ensonic@users.sf.net>
2198 * docs/gst/gstreamer-sections.txt:
2200 * gst/gstghostpad.c:
2205 2005-11-14 Wim Taymans <wim@fluendo.com>
2208 add suppressions from Wim's Debian machine
2210 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
2213 add suppressions from Andy's AMD64 Ubuntu machine
2215 2005-11-14 Andy Wingo <wingo@pobox.com>
2217 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2218 STATE_LOCK not necessary. Fixes #311489.
2220 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2223 * gst/gstindex.c (gst_index_add_object): Note in the docs that
2224 this function is not implemented.
2226 2005-11-14 Julien MOUTTE <julien@moutte.net>
2228 * gst/base/gstbasetransform.c:
2229 (gst_base_transform_prepare_output_buf):
2230 Ref the source pad caps while we need them.
2233 2005-11-11 Wim Taymans <wim@fluendo.com>
2235 * docs/gst/gstreamer-sections.txt:
2236 Added some docs for GstCollectData.
2238 * gst/base/gstadapter.c:
2239 Some small code example fix.
2241 * gst/base/gstcollectpads.c:
2242 * gst/base/gstcollectpads.h:
2245 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2247 * configure.ac: back to HEAD
2249 === release 0.9.5 ===
2251 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
2254 releasing 0.9.5, "Bike Lunch Day"
2256 2005-11-11 Wim Taymans <wim@fluendo.com>
2258 * gst/gstbuffer.c: (_gst_buffer_copy):
2261 * gst/gstcaps.c: (gst_caps_is_equal):
2263 Make _is_equal fast in the trivial cases.
2265 * gst/gstminiobject.c:
2266 * gst/gstminiobject.h:
2267 More docs. Spifify .h file.
2272 2005-11-11 Wim Taymans <wim@fluendo.com>
2274 * gst/base/gstbasetransform.c:
2275 (gst_base_transform_prepare_output_buf),
2276 (gst_base_transform_handle_buffer):
2278 If we're processing a buffer and need to allocate an output
2279 buffer, we cannot accept a format change. If we did get a
2280 format change, we have to alloc a buffer ourselves of the
2283 2005-11-11 Wim Taymans <wim@fluendo.com>
2285 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2286 While checking the flag for reentrancy in the gstcaps function
2287 is nice to detect recursive invocations, it also makes it
2288 impossible to call getcaps from multiple threads, which must be
2289 possible. So, checking for recursive calls has to go.
2291 2005-11-11 Michael Smith <msmith@fluendo.com>
2293 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2294 Don't sync on buffers that fall partially outside our current
2295 segment. Prevents an assertion failure/abort playing some files.
2297 2005-11-10 Andy Wingo <wingo@pobox.com>
2299 * check/gst/gstbin.c (test_message_state_changed_children): Style
2302 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2303 gst_bus_poll with the signal watch. Ensures that poll and a signal
2304 watch see the same messages.
2306 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2307 a poll and a watch at the same time get the same messages.
2309 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
2311 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2312 * gst/gstcaps.c: (gst_caps_intersect):
2313 Don't call gst_caps_do_simplify - it doesn't respect order of caps
2314 and it's not needed.
2316 2005-11-10 Wim Taymans <wim@fluendo.com>
2318 * docs/design/part-TODO.txt:
2321 2005-11-10 Wim Taymans <wim@fluendo.com>
2323 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2324 * gst/base/gstbasesrc.c: (gst_base_src_wait),
2325 (gst_base_src_do_sync), (gst_base_src_get_range):
2326 Implement clock sync in base class.
2328 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
2330 patch by: Tim-Philipp Müller <tim at centricular dot net>
2332 * gst/gststructure.c: (gst_structure_parse_field),
2333 (gst_structure_from_string):
2334 Forward-port a 0.8 patch to handle escaped spaces in structure string,
2335 so that gst_parse_launch() can deal with spaces in filtered link
2336 caps (fixes #164479)
2337 * check/gst/capslist.h:
2338 * check/gst/gststructure.c: (GST_START_TEST):
2339 add unit tests for this change
2341 2005-11-10 Wim Taymans <wim@fluendo.com>
2343 * docs/gst/gstreamer-sections.txt:
2346 Fix docs, move some STATE macros to private.
2348 2005-11-10 Wim Taymans <wim@fluendo.com>
2350 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2351 Added check for bug #317341
2355 Some more spiffifying.
2357 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2358 Call peer linkfunction if we are a source pad. Totally fixes
2362 Update docs, source pads should call the peer linkfunction
2363 so they can atomically perform the pad link.
2365 2005-11-09 Wim Taymans <wim@fluendo.com>
2369 Uber-spiffy-spiffify some more.
2371 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
2373 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2374 * gst/elements/gstfilesink.c: (gst_file_sink_init):
2375 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2376 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2377 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2378 * gst/gstpad.c: (gst_pad_init):
2379 Use GST_DEBUG_FUNCPTR() more extensively.
2381 2005-11-09 Wim Taymans <wim@fluendo.com>
2383 * gst/gstobject.c: (gst_object_class_init):
2385 Documentation fixes.
2387 2005-11-09 Edward Hervey <edward@fluendo.com>
2389 * gst/gsttypefindfactory.c:
2392 2005-11-09 Edward Hervey <edward@fluendo.com>
2394 * gst/base/gsttypefindhelper.c:
2395 * gst/gsttypefind.c:
2396 * gst/gsttypefind.h:
2399 2005-11-09 Wim Taymans <wim@fluendo.com>
2401 * gst/gstiterator.c:
2408 2005-11-09 Wim Taymans <wim@fluendo.com>
2414 2005-11-09 Wim Taymans <wim@fluendo.com>
2416 * docs/gst/gstreamer-sections.txt:
2417 Moved the message async delivery private lock and cond
2418 to the private section.
2424 2005-11-09 Edward Hervey <edward@fluendo.com>
2426 * docs/gst/gstreamer-sections.txt:
2429 Document GstURIHandler
2431 2005-11-09 Wim Taymans <wim@fluendo.com>
2433 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2434 (gst_iterator_find_custom):
2435 * gst/gstiterator.h:
2438 2005-11-09 Wim Taymans <wim@fluendo.com>
2441 Document another field.
2443 * gst/gststructure.c:
2444 * gst/gststructure.h:
2447 2005-11-09 Wim Taymans <wim@fluendo.com>
2452 2005-11-09 Wim Taymans <wim@fluendo.com>
2454 * docs/gst/gstreamer-sections.txt:
2455 Added some new macros.
2462 2005-11-09 Wim Taymans <wim@fluendo.com>
2464 * docs/design/part-TODO.txt:
2465 Some more items for the TODO
2471 2005-11-09 Andy Wingo <wingo@pobox.com>
2473 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2474 to work on something else now tho...
2476 * gst/base/gstadapter.c: More adapter docs.
2478 * gst/elements/gstfilesink.c (gst_file_sink_start)
2479 (gst_file_sink_stop): New functions, replace the state change
2481 (gst_file_sink_class_init): Hook up the start and stop functions.
2482 (gst_file_sink_base_init): Don't set the state change handler any
2483 more. It was a bit ugly too, being set from here...
2484 (gst_file_sink_get_property, gst_file_sink_set_property):
2486 (gst_file_sink_set_location): More robust check that doesn't call
2489 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
2491 * gst/base/gstbasetransform.c: (gst_base_transform_event):
2492 Hold STREAM_LOCK while pushing newsegment or tag events as well.
2494 2005-11-08 Wim Taymans <wim@fluendo.com>
2496 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2497 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2498 (gst_base_sink_chain), (gst_base_sink_change_state):
2499 * gst/base/gstbasesink.h:
2500 * gst/base/gstbasesrc.h:
2503 Avoid excessive typechecking in macros.
2505 * gst/gstminiobject.c: (gst_mini_object_get_type),
2506 (gst_mini_object_init), (gst_mini_object_new),
2507 (gst_mini_object_free):
2508 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2509 (gst_object_finalize):
2510 Remove cruft code, optimize alloc_trace.
2512 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
2514 * docs/faq/gst-uninstalled:
2515 fix up PS1 for systems that try to reset it
2517 2005-11-07 Wim Taymans <wim@fluendo.com>
2519 * gst/base/gstbasesrc.c: (gst_base_src_init),
2520 (gst_base_src_get_range):
2521 Set the segment_end to -1 initially. Fixed typefind.
2523 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
2525 * gst/base/gstadapter.c:
2526 Debug category should be 'adapter', not 'GstAdapter'.
2528 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2529 (gst_collectpads_class_init), (gst_collectpads_init),
2530 (gst_collectpads_peek), (gst_collectpads_pop),
2531 (gst_collectpads_event), (gst_collectpads_chain):
2532 Add debug category and some debugging output. Use boilerplate
2533 macros. Remove some extraneous words from docs.
2535 2005-11-05 Andy Wingo <wingo@pobox.com>
2537 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2540 2005-11-04 Stefan Kost <ensonic@users.sf.net>
2542 * docs/gst/gstreamer-sections.txt:
2545 * gst/gstminiobject.h:
2550 2005-11-04 Wim Taymans <wim@fluendo.com>
2552 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2553 Small update to stop at the configured segment_end
2556 2005-11-04 Stefan Kost <ensonic@users.sf.net>
2558 * gst/gstregistry.c:
2559 * gst/gstregistry.h:
2562 2005-11-04 Edward Hervey <edward@fluendo.com>
2564 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2565 Check if we are doing a segment seek and have arrived at the
2566 end of that segment.
2568 2005-11-04 Wim Taymans <wim@fluendo.com>
2570 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2571 Don't leak a mutex unlock in case of an error.
2576 2005-11-04 Wim Taymans <wim@fluendo.com>
2578 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2580 Get the context to wake up only once.
2582 2005-11-03 Wim Taymans <wim@fluendo.com>
2584 * check/states/sinks.c: (GST_START_TEST):
2585 Uncomment fixed check.
2587 * docs/design/part-TODO.txt:
2590 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2591 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2592 (gst_base_sink_get_position):
2593 If we are going to PLAYING, post the right pending state
2594 when we post the intermediate paused message.
2596 * gst/gstelement.c: (gst_element_continue_state),
2597 (gst_element_set_state_func), (gst_element_change_state):
2598 Don't post state changes that were between the same state
2601 2005-11-03 Stefan Kost <ensonic@users.sf.net>
2603 * docs/gst/gstreamer-sections.txt:
2606 * gst/gstminiobject.h:
2609 more docs and doc style fixes
2611 2005-11-03 Stefan Kost <ensonic@users.sf.net>
2613 * docs/gst/gstreamer-sections.txt:
2615 * gst/gstminiobject.c:
2618 2005-11-03 Andy Wingo <wingo@pobox.com>
2620 * check/states/sinks.c (test_livesrc_sink): Add checks that the
2621 state-changed messages actually have the right order and the right
2624 2005-11-03 Wim Taymans <wim@fluendo.com>
2626 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2627 Added some more checks. Specifically the case where NO_PREROLL
2628 elements are in the pipeline.
2630 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2631 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2632 (gst_base_sink_get_position):
2633 Post READY->PAUSED state change messages too.
2634 Fix bug where VOID was posted as pending state...
2636 * gst/gstbin.c: (gst_bin_recalc_state):
2637 use _element_continue_state() to continue the state change.
2639 * gst/gstelement.c: (gst_element_continue_state),
2640 (gst_element_commit_state), (gst_element_set_state_func),
2641 (gst_element_change_state), (gst_element_change_state_func):
2642 Lots of state change cleanups, assign the STATE_RETURN in
2643 a new continue_state() function that also propagates the
2644 last return value from a state change to the app.
2645 Update some debug statements with proper category.
2647 2005-11-03 Wim Taymans <wim@fluendo.com>
2649 * docs/design/part-events.txt:
2650 * docs/design/part-gstpipeline.txt:
2651 * docs/design/part-messages.txt:
2652 * docs/design/part-overview.txt:
2653 * docs/design/part-seeking.txt:
2654 * docs/design/part-states.txt:
2655 * docs/design/part-trickmodes.txt:
2656 * docs/manual/advanced-position.xml:
2660 People think !! is ugly, this looks better.
2662 * gst/gstpad.c: (gst_pad_set_blocked_async):
2663 Remove !! since it's fixed elsewhere now.
2665 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
2667 * gst/gstminiobject.h:
2669 Add !! to _FLAG_IS_SET macros to make the result boolean.
2671 2005-11-03 Edward Hervey <edward@fluendo.com>
2673 * gst/gstpad.c: (gst_pad_set_blocked_async):
2674 comparing a flag and a gboolean rarely returns coherent results...
2675 Added two characters (!!) to make that work correctly.
2677 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
2679 * gst/gstbus.c: (gst_bus_class_init):
2682 * gst/gstqueue.c: (gst_queue_loop):
2683 Don't assume a miniobject that isn't a buffer is an
2684 event (it could be that there is a refcounting
2685 problem somewhere and the pointer is stale and
2686 refers to an already destroyed miniobject).
2688 2005-11-03 Julien MOUTTE <julien@moutte.net>
2690 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2692 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
2694 * docs/manual/advanced-position.xml:
2695 Update seek example and explanations to current 0.9 API.
2697 * gst/elements/gsttypefindelement.c:
2698 (gst_type_find_element_activate):
2699 Remove FIXME comment now that the found caps
2702 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
2704 * gst/gstregistryxml.c: (load_feature):
2705 Add another GST_STR_NULL instance
2707 2005-11-02 Edward Hervey <edward@fluendo.com>
2709 * gst/gstpad.c: (handle_pad_block):
2710 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2712 2005-11-02 Wim Taymans <wim@fluendo.com>
2717 * gst/gstelement.c: (gst_element_commit_state):
2718 Remove unused value.
2720 * gst/gstiterator.c:
2721 Mention that the returned element is reffed in the docs.
2723 2005-11-02 Wim Taymans <wim@fluendo.com>
2725 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2726 (gst_pad_push), (gst_pad_push_event):
2727 Unlock blocked pads when they are flushed.
2729 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
2732 * docs/gst/gstreamer-sections.txt:
2735 * gst/gstregistry.c: (gst_registry_scan_path_level):
2736 fix for a nasty little missed situation where an installed plug-in
2737 which was in the cache did not get overridden by an uninstalled one
2738 which was earlier in the plugin path because the newly created plugin
2739 for the uninstalled one (not in the registry) didn't get its
2740 ->registered set to TRUE
2742 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
2744 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2745 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2746 (gst_collectpads_is_active), (gst_collectpads_collect),
2747 (gst_collectpads_collect_range), (gst_collectpads_start),
2748 (gst_collectpads_stop), (gst_collectpads_peek),
2749 (gst_collectpads_pop), (gst_collectpads_available),
2750 (gst_collectpads_read), (gst_collectpads_flush):
2751 Guard public API with assertions.
2754 Fix docs for gst_pad_set_link_function().
2756 2005-11-02 Johan Dahlin <johan@gnome.org>
2758 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
2759 Unref found_caps after we used it.
2761 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
2763 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2764 Don't try to ref NULL.
2766 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
2768 * win32/common/config.h.in:
2769 provide a GST_FUNCTION that just gives a string for now
2771 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
2773 * win32/common/gstenumtypes.c: (register_gst_object_flags),
2774 (gst_object_flags_get_type), (register_gst_bin_flags),
2775 (gst_bin_flags_get_type), (register_gst_buffer_flag),
2776 (gst_buffer_flag_get_type), (register_gst_bus_flags),
2777 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2778 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
2779 (gst_clock_return_get_type), (register_gst_clock_entry_type),
2780 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2781 (gst_clock_flags_get_type), (register_gst_state),
2782 (gst_state_get_type), (register_gst_state_change_return),
2783 (gst_state_change_return_get_type), (register_gst_state_change),
2784 (gst_state_change_get_type), (register_gst_element_flags),
2785 (gst_element_flags_get_type), (register_gst_core_error),
2786 (gst_core_error_get_type), (register_gst_library_error),
2787 (gst_library_error_get_type), (register_gst_resource_error),
2788 (gst_resource_error_get_type), (register_gst_stream_error),
2789 (gst_stream_error_get_type), (register_gst_event_type),
2790 (gst_event_type_get_type), (register_gst_seek_type),
2791 (gst_seek_type_get_type), (register_gst_seek_flags),
2792 (gst_seek_flags_get_type), (register_gst_format),
2793 (gst_format_get_type), (register_gst_index_certainty),
2794 (gst_index_certainty_get_type), (register_gst_index_entry_type),
2795 (gst_index_entry_type_get_type),
2796 (register_gst_index_lookup_method),
2797 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2798 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2799 (gst_index_resolver_method_get_type), (register_gst_index_flags),
2800 (gst_index_flags_get_type), (register_gst_debug_level),
2801 (gst_debug_level_get_type), (register_gst_debug_color_flags),
2802 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2803 (gst_iterator_result_get_type), (register_gst_iterator_item),
2804 (gst_iterator_item_get_type), (register_gst_message_type),
2805 (gst_message_type_get_type), (register_gst_mini_object_flags),
2806 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2807 (gst_pad_link_return_get_type), (register_gst_flow_return),
2808 (gst_flow_return_get_type), (register_gst_activate_mode),
2809 (gst_activate_mode_get_type), (register_gst_pad_direction),
2810 (gst_pad_direction_get_type), (register_gst_pad_flags),
2811 (gst_pad_flags_get_type), (register_gst_pad_presence),
2812 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2813 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2814 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2815 (gst_plugin_error_get_type), (register_gst_plugin_flags),
2816 (gst_plugin_flags_get_type), (register_gst_rank),
2817 (gst_rank_get_type), (register_gst_query_type),
2818 (gst_query_type_get_type), (register_gst_tag_merge_mode),
2819 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2820 (gst_tag_flag_get_type), (register_gst_task_state),
2821 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2822 (gst_alloc_trace_flags_get_type),
2823 (register_gst_type_find_probability),
2824 (gst_type_find_probability_get_type), (register_gst_uri_type),
2825 (gst_uri_type_get_type), (register_gst_parse_error),
2826 (gst_parse_error_get_type):
2827 * win32/common/gstversion.h:
2830 2005-11-01 Luca Ognibene <luogni@tin.it>
2833 fix docs. popt is dead, long live GOption.
2835 2005-10-31 Wim Taymans <wim@fluendo.com>
2840 2005-10-31 Andy Wingo <wingo@pobox.com>
2844 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
2846 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
2847 need to serialize property notifications on GLib 2.8. GLib 2.6 has
2848 the possibility of deadlocks here if code calling notify() or
2849 set() has a lock that can be taken in another notify handler (ABBA
2850 with class lock and e.g. python GIL state lock).
2852 2005-10-28 Julien MOUTTE <julien@moutte.net>
2854 * gst/gstbus.c: Doc updates.
2856 2005-10-28 Wim Taymans <wim@fluendo.com>
2858 * docs/design/part-TODO.txt:
2859 * gst/gstiterator.c:
2860 * gst/gstsystemclock.c:
2861 * gst/gstsystemclock.h:
2864 2005-10-28 Edward Hervey <edward@fluendo.com>
2866 * docs/gst/gstreamer-docs.sgml:
2867 * docs/gst/gstreamer-sections.txt:
2868 the GstURIType documentation page is private, it only defines GstURIType
2869 which should be defined in the GstURIHandler page
2871 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
2873 * gst/gstbin.c: (gst_bin_class_init):
2876 Documentation updates.
2878 2005-10-28 Wim Taymans <wim@fluendo.com>
2880 * docs/gst/gstreamer-sections.txt:
2883 Documented the clocks.
2885 2005-10-28 Stefan Kost <ensonic@users.sf.net>
2887 * docs/gst/gstreamer-sections.txt:
2888 move some macros to private sections
2889 * gst/gstminiobject.c:
2890 * gst/gstminiobject.h:
2891 add descriptions provided by ds and some more
2893 mark macro as to be removed
2895 2005-10-28 Wim Taymans <wim@fluendo.com>
2897 * docs/design/part-TODO.txt:
2898 Add an item to TODO.
2900 * gst/gstiterator.c: (gst_iterator_fold),
2901 (gst_iterator_find_custom):
2902 * gst/gstiterator.h:
2905 2005-10-28 Wim Taymans <wim@fluendo.com>
2907 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2908 (gst_base_transform_init):
2911 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
2912 An EOS event marks the queue as completely filled.
2914 2005-10-27 Wim Taymans <wim@fluendo.com>
2916 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2917 (gst_base_sink_do_sync), (gst_base_sink_get_position):
2918 Some more debugging.
2920 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
2921 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
2922 (gst_base_transform_event), (gst_base_transform_getrange),
2923 (gst_base_transform_chain):
2924 * gst/base/gstbasetransform.h:
2926 Protect transform and concurrent buffer alloc with a new lock.
2927 Try not to break ABI/API.
2929 2005-10-27 Wim Taymans <wim@fluendo.com>
2931 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2932 (gst_base_src_init), (gst_base_src_query),
2933 (gst_base_src_default_newsegment),
2934 (gst_base_src_configure_segment), (gst_base_src_do_seek),
2935 (gst_base_src_send_event), (gst_base_src_event_handler),
2936 (gst_base_src_pad_get_range), (gst_base_src_loop),
2937 (gst_base_src_unlock), (gst_base_src_default_negotiate),
2938 (gst_base_src_start), (gst_base_src_deactivate),
2939 (gst_base_src_activate_push), (gst_base_src_change_state):
2940 Move some stuff around and cleanup things.
2942 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
2944 * gst/base/gstbasesrc.c: (gst_base_src_query):
2945 Add missing break statements.
2947 2005-10-27 Wim Taymans <wim@fluendo.com>
2949 * check/gst/gstbin.c: (GST_START_TEST):
2950 An extra refcount is taken in basesrc.
2952 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2953 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2954 (gst_base_src_loop):
2955 Small cleanups, check for flushing after being unlocked from the
2956 LIVE_LOCK. take refcounts correctly (not yet everywhere).
2957 Don't send out EOS when going to READY.
2959 2005-10-27 Wim Taymans <wim@fluendo.com>
2961 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2962 (gst_base_sink_get_position):
2965 * gst/gstbin.c: (message_check), (bin_replace_message),
2966 (bin_remove_messages), (is_eos), (gst_bin_add_func),
2967 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2968 (bin_query_duration_init), (bin_query_duration_fold),
2969 (bin_query_duration_done), (bin_query_generic_fold),
2971 * tools/gst-launch.c: (main):
2974 2005-10-26 Stefan Kost <ensonic@users.sf.net>
2976 * examples/controller/audio-example.c: (main):
2977 * examples/queue/queue.c: (event_loop):
2978 * gst/base/gstbasetransform.h:
2979 * gst/gstelement.c: (gst_element_send_event):
2981 * gst/gstpad.c: (gst_pad_send_event):
2984 changing log priority in error situations
2986 2005-10-25 Wim Taymans <wim@fluendo.com>
2988 * gst/gstbin.c: (message_check), (bin_replace_message),
2989 (bin_remove_messages), (is_eos), (gst_bin_add_func),
2990 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
2991 (bin_query_duration_init), (bin_query_duration_fold),
2992 (bin_query_duration_done), (bin_query_generic_fold),
2994 Some doc and debug updates.
2995 Cache previously requested query DURATION for speed. invalidate
2996 cached duration if element posts a DURATION message.
2998 2005-10-25 Wim Taymans <wim@fluendo.com>
3000 * docs/design/part-TODO.txt:
3003 * gst/gstbin.c: (message_check), (bin_replace_message),
3004 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3005 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3006 (bin_query_duration_init), (bin_query_duration_fold),
3007 (bin_query_duration_done), (bin_query_generic_fold),
3009 Handle SEGMENT_START/DONE messages correctly.
3010 More evolved query algorithm that handles duration queries
3013 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3014 (gst_element_get_state_func), (gst_element_abort_state),
3015 (gst_element_commit_state), (gst_element_lost_state):
3016 Some more debugging.
3021 2005-10-25 Wim Taymans <wim@fluendo.com>
3023 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3024 Don't use invalid stream_time.
3026 * gst/gstevent.c: (gst_event_new_newsegment):
3027 stream_time in newsegment cannot be undefined.
3029 2005-10-24 Wim Taymans <wim@fluendo.com>
3034 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3036 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3038 2005-10-24 Stefan Kost <ensonic@users.sf.net>
3040 * docs/libs/tmpl/gstdparam.sgml:
3041 * docs/libs/tmpl/gstdplinint.sgml:
3042 * docs/libs/tmpl/gstdpman.sgml:
3043 * docs/libs/tmpl/gstdpsmooth.sgml:
3044 * docs/libs/tmpl/gstunitconvert.sgml:
3047 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
3052 === release 0.9.4 ===
3054 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3057 releasing 0.9.4, "Tyrannosaurus Rex"
3059 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
3061 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3062 (gst_file_sink_get_current_offset):
3063 Use fseeko() and ftello() if available. When falling back on
3064 lseek() to get the current offset, fflush() first to make sure
3065 everything is up-to-date and we get the right offset.
3067 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
3069 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3070 * gst/base/gstbasesrc.c: (gst_base_src_loop):
3071 * gst/gsterror.c: (_gst_stream_errors_init):
3073 * gst/gstqueue.c: (gst_queue_loop):
3075 remove prematurely added error category and clean up the instances
3077 2005-10-21 Wim Taymans <wim@fluendo.com>
3079 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3080 (gst_base_sink_get_position), (gst_base_sink_query),
3081 (gst_base_sink_change_state):
3082 Simply set the right flag when going to playing, that's all
3083 we need to do instead of calling a function inside the object
3084 lock (that could take the lock as well and deadlock)
3086 2005-10-21 Wim Taymans <wim@fluendo.com>
3088 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3089 (gst_base_src_loop):
3090 Don't warn, the peer element knows what to do best when
3091 the seek failed, it might try something else.
3093 2005-10-21 Wim Taymans <wim@fluendo.com>
3095 * gst/base/gstbasesrc.c: (gst_base_src_init),
3096 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3099 2005-10-21 Wim Taymans <wim@fluendo.com>
3101 * docs/design/part-segments.txt:
3104 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3105 Correctly set caps, even on the subbufer.
3107 2005-10-21 Wim Taymans <wim@fluendo.com>
3109 * docs/gst/gstreamer-docs.sgml:
3110 * docs/gst/gstreamer-sections.txt:
3117 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3121 And 2% more doc coverage.
3123 2005-10-21 Andy Wingo <wingo@pobox.com>
3125 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3128 2005-10-20 Wim Taymans <wim@fluendo.com>
3130 * gst/gsterror.c: (gst_error_get_message):
3133 * gst/gststructure.c:
3138 2005-10-20 Wim Taymans <wim@fluendo.com>
3143 Another 1% more coverage.
3145 2005-10-20 Wim Taymans <wim@fluendo.com>
3147 * docs/gst/gstreamer-sections.txt:
3148 * gst/gstelement.c: (gst_element_get_state_func),
3149 (gst_element_abort_state), (gst_element_commit_state),
3150 (gst_element_lost_state):
3152 * gst/gstquery.c: (gst_query_set_position),
3153 (gst_query_parse_position), (gst_query_set_duration),
3154 (gst_query_parse_duration), (gst_query_new_convert):
3156 Yay! 1% more docs coverage.
3158 2005-10-20 Wim Taymans <wim@fluendo.com>
3161 * gst/gstquery.c: (gst_query_set_position),
3162 (gst_query_parse_position), (gst_query_set_duration),
3163 (gst_query_parse_duration), (gst_query_new_convert):
3165 * gst/gstutils.c: (gst_element_query_convert):
3167 Docs and consistency fixes.
3169 2005-10-20 Wim Taymans <wim@fluendo.com>
3175 2005-10-20 Wim Taymans <wim@fluendo.com>
3177 * gst/gstbin.c: (message_check), (bin_replace_message),
3178 (bin_remove_messages), (is_eos), (gst_bin_add_func),
3179 (update_degree), (gst_bin_sort_iterator_next),
3180 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3181 Reworked the message handling a bit, cache the messages instead of
3182 only the senders. alows us to do more in the future.
3184 2005-10-20 Wim Taymans <wim@fluendo.com>
3186 * docs/design/part-TODO.txt:
3189 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3190 (gst_base_sink_query):
3191 Don't use clock time to report position when in EOS.
3193 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
3195 * tools/gst-inspect.c: (print_interfaces),
3196 (print_element_properties_info), (print_element_info):
3197 Fix interface output with gst-inspect -a; don't print
3198 newlines after double/float properties.
3200 2005-10-20 Wim Taymans <wim@fluendo.com>
3202 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3203 (gst_base_sink_query):
3204 Speed up current position calculation.
3206 * gst/base/gstbasesrc.c: (gst_base_src_query),
3207 (gst_base_src_default_newsegment):
3208 Correctly set stream position in newsegment.
3210 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3211 (update_degree), (gst_bin_sort_iterator_next),
3212 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3213 * gst/gstmessage.c: (gst_message_new_custom):
3214 Clean up debugging info
3216 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3217 (gst_queue_loop), (gst_queue_handle_src_query):
3220 2005-10-19 Wim Taymans <wim@fluendo.com>
3222 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3223 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3224 Fix query handling again.
3226 2005-10-19 Wim Taymans <wim@fluendo.com>
3228 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3229 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3230 * gst/base/gstbasesrc.c: (gst_base_src_query):
3231 * gst/elements/gstfilesink.c: (gst_file_sink_query):
3232 * gst/elements/gsttypefindelement.c:
3233 (gst_type_find_handle_src_query), (find_element_get_length),
3234 (gst_type_find_element_activate):
3237 * gst/gstquery.c: (gst_query_new_position),
3238 (gst_query_set_position), (gst_query_parse_position),
3239 (gst_query_new_duration), (gst_query_set_duration),
3240 (gst_query_parse_duration), (gst_query_set_segment),
3241 (gst_query_parse_segment):
3243 Bundling query position/duration is not a good idea since duration
3244 does not change much and we don't want to recalculate it for every
3245 position query, so they are separated again..
3246 Base value in segment query is not needed.
3248 * gst/gstqueue.c: (gst_queue_handle_src_query):
3249 * gst/gstutils.c: (gst_element_query_position),
3250 (gst_element_query_duration), (gst_pad_query_position),
3251 (gst_pad_query_duration):
3253 Updates for query API change.
3254 Added some docs here and there.
3256 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
3258 * check/gst/gstbin.c: (GST_START_TEST):
3259 * check/gst/gstghostpad.c: (GST_START_TEST):
3260 * check/pipelines/cleanup.c: (GST_START_TEST):
3261 wait on thread to die so we can check refcount correctly
3263 2005-10-18 Wim Taymans <wim@fluendo.com>
3265 * check/pipelines/stress.c: (GST_START_TEST):
3266 Make check a little more time consuming.
3268 2005-10-18 Wim Taymans <wim@fluendo.com>
3270 * check/Makefile.am:
3271 * check/pipelines/stress.c: (GST_START_TEST),
3272 (simple_launch_lines_suite), (main):
3273 Small state change torture test.
3275 * docs/design/part-states.txt:
3276 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3277 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3278 (gst_base_sink_change_state):
3279 Never take state lock from streaming thread, clean up ugly
3280 hacks. Unfortunatly core does not yet support nice ways to
3283 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3285 Start state recalc if a STATE_DIRTY message is posted, but only
3286 on the toplevel bin.
3288 * gst/gstelement.c: (gst_element_sync_state_with_parent),
3289 (gst_element_get_state_func), (gst_element_abort_state),
3290 (gst_element_commit_state), (gst_element_lost_state),
3291 (gst_element_set_state_func), (gst_element_change_state):
3293 State variables are now protected with the LOCK, the state
3294 lock is only used to serialize _set_state().
3296 2005-10-18 Wim Taymans <wim@fluendo.com>
3298 * check/gst/gstbin.c: (GST_START_TEST):
3299 * check/gst/gstmessage.c: (GST_START_TEST):
3300 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3301 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3303 * gst/gstelement.c: (gst_element_abort_state),
3304 (gst_element_commit_state), (gst_element_lost_state):
3305 * gst/gstmessage.c: (gst_message_new_state_changed),
3306 (gst_message_new_state_dirty), (gst_message_new_segment_start),
3307 (gst_message_new_segment_done), (gst_message_new_duration),
3308 (gst_message_parse_state_changed),
3309 (gst_message_parse_segment_start),
3310 (gst_message_parse_segment_done), (gst_message_parse_duration):
3312 * tools/gst-launch.c: (event_loop):
3313 Seriously, this is better than a previous commit as we only need
3314 to notify the fact that an element changed state in a streaming
3315 thread, marking the state of the parents dirty, hence the
3316 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3319 2005-10-18 Wim Taymans <wim@fluendo.com>
3321 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3322 (gst_bin_recalc_func):
3323 * gst/gstelement.c: (gst_element_set_clock),
3324 (gst_element_abort_state), (gst_element_lost_state):
3325 Cleanups, prepare for state change fixes.
3327 2005-10-18 Wim Taymans <wim@fluendo.com>
3330 * gst/gstelement.c: (gst_element_class_init),
3331 (gst_element_set_state), (gst_element_set_state_func):
3333 Pending ABI changes.
3334 GThreadPool in GstBinClass to monitor async state changes.
3335 state_cookie in GstElement to detect concurrent gst/set state.
3336 set_state is now virtual too in case a very complicated element
3337 has to be constructed.
3339 2005-10-18 Wim Taymans <wim@fluendo.com>
3341 * check/gst/gstbin.c: (GST_START_TEST):
3342 * check/gst/gstmessage.c: (GST_START_TEST):
3343 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3344 * gst/gstbin.c: (bin_bus_handler):
3345 * gst/gstelement.c: (gst_element_commit_state),
3346 (gst_element_lost_state):
3347 * gst/gstmessage.c: (gst_message_new_state_changed),
3348 (gst_message_new_segment_start), (gst_message_new_segment_done),
3349 (gst_message_new_duration), (gst_message_parse_state_changed),
3350 (gst_message_parse_segment_start),
3351 (gst_message_parse_segment_done), (gst_message_parse_duration):
3353 * tools/gst-launch.c: (event_loop):
3354 Make messages future proof.
3355 state-change gets a flag if it was a message comming from the
3357 segment-start/stop can also be specified in other formats.
3358 A message to notify an app that a pipeline changed playback
3360 Also fix a GstMessage leak in -launch
3362 2005-10-18 Andy Wingo <wingo@pobox.com>
3364 * gst/gstelement.c (gst_element_dispose): More helpful message.
3366 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
3368 reviewed by: <delete if not using a buddy>
3370 * common/gtk-doc.mak:
3372 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
3374 * gst/gstregistry.c: (gst_registry_scan_path_level):
3375 unref a plug-in we get that was already initialized
3377 2005-10-18 Stefan Kost <ensonic@users.sf.net>
3379 * docs/gst/gstreamer-sections.txt:
3380 * docs/libs/gstreamer-libs-sections.txt:
3385 2005-10-17 Andy Wingo <wingo@pobox.com>
3387 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3390 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3392 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3394 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3395 (gst_element_get_state_func): Better debug message.
3396 (gst_element_commit_state): s/INFO/DEBUG/.
3397 (gst_element_lost_state, gst_element_change_state):
3399 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3400 (gst_message_new_custom): s/INFO/LOG/.
3402 2005-10-17 Michael Smith <msmith@fluendo.com>
3404 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3405 Check if end time is valid using end time, not start time.
3407 2005-10-17 Stefan Kost <ensonic@users.sf.net>
3409 * check/gst-libs/controller.c: (GST_START_TEST),
3410 (gst_controller_suite):
3411 * libs/gst/controller/gstcontroller.c:
3412 (gst_controlled_property_set_interpolation_mode):
3413 * libs/gst/controller/gstcontroller.h:
3414 * libs/gst/controller/gstinterpolation.c:
3415 * testsuite/controller/.cvsignore:
3416 * testsuite/controller/Makefile.am:
3417 * testsuite/controller/interpolator.c:
3418 merge controller testsuites
3420 remove mem-chunk from docs
3422 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
3424 * gst/gstmemchunk.c:
3425 * gst/gstmemchunk.h:
3426 * gst/gsttrashstack.c:
3427 * gst/gsttrashstack.h:
3428 out. get out. you're fired. to the Attic !
3430 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
3432 * gst/gstcaps.c: (gst_caps_intersect):
3433 fix signedness issues in a (hopefully) correct way
3434 * gst/gstelement.c: (gst_element_pads_activate):
3436 * gst/gstobject.c: (gst_object_set_parent):
3439 2005-10-17 Julien MOUTTE <julien@moutte.net>
3441 * gst/gstvalue.h: Fix prototypes.
3443 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3445 * docs/gst/gstreamer-sections.txt:
3446 * gst/gst.c: (gst_version_string):
3448 * gst/gstversion.h.in:
3449 * win32/common/libgstreamer.def:
3450 add gst_version_string ()
3452 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3456 * gst/gst.c: (init_post):
3457 * win32/common/config.h.in:
3459 * gst/gstcaps.c: (gst_caps_intersect):
3460 use gint64, the range could be bigger than a guint
3462 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3465 document potential problem in 2038
3467 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3469 * gst/gstcaps.c: (gst_caps_intersect):
3470 Fix guint j diving under 0
3472 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3475 * win32/common/config.h:
3476 * win32/common/config.h.in:
3477 check for process.h, declares getpid() on Windows
3479 include process.h if we have it
3480 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3481 * gst/gstmemchunk.h:
3482 fix signedness issues
3483 * win32/common/libgstreamer.def:
3486 2005-10-16 Julien MOUTTE <julien@moutte.net>
3488 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3489 fix. Because of unsigned ints, caps intersection was going nuts and
3490 trying to access structures with G_MAXUINT index. That fixes
3491 videotestsrc ! ffmpegcolorspace ! fakesink
3492 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3495 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3498 use the gettext macro
3499 * gst/elements/gstelements.c:
3501 * gst/indexers/gstindexers.c:
3502 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3503 * win32/common/config.h:
3505 * win32/common/config.h.in:
3506 add the template to generate config.h
3507 * win32/common/gstenumtypes.c:
3508 * win32/common/gstversion.h:
3511 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
3513 * gst/gst.c: (gst_version):
3514 * gst/gstversion.h.in:
3517 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
3520 Oops, add missing closing bracket.
3522 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3525 use common m4's for argument checking
3527 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
3529 * docs/gst/gstreamer-sections.txt:
3531 Add GST_EVENT_TYPE_NAME() macro.
3533 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3536 * gst/gstpluginfeature.c:
3538 privatize more symbols
3540 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3543 add srcdir, builddir includes to GST_ALL_CFLAGS, since
3544 everything that uses GStreamer API should have the includes
3546 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3548 * docs/gst/gstreamer-sections.txt:
3549 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3551 give each value a _get_type, removes the DATA exports
3553 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3557 remove _gst_registry_auto_load, not used anymore
3558 * gst/gstbin.c: (gst_bin_get_type):
3560 * gst/gstelement.c: (gst_element_get_type):
3562 * gst/gstobject.c: (gst_object_get_type):
3564 * gst/gstpad.c: (gst_pad_get_type):
3566 make _get_type functions similar, fixes data export from library
3568 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3571 correctly make conditionals
3572 * gst/elements/Makefile.am:
3573 * gst/elements/gstelements.c:
3574 fix typo causing fdsrc not to build
3576 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3578 * testsuite/Makefile.am:
3579 * testsuite/bytestream/.cvsignore:
3580 * testsuite/bytestream/Makefile.am:
3581 * testsuite/bytestream/filepadsink.c:
3582 * testsuite/bytestream/gstbstest.c:
3583 * testsuite/bytestream/test1.c:
3584 * testsuite/bytestream/testfile1:
3585 * testsuite/caps/normalisation.c:
3586 * testsuite/caps/random.c: (main):
3587 * testsuite/cleanup/.cvsignore:
3588 * testsuite/cleanup/Makefile.am:
3589 * testsuite/cleanup/cleanup1.c:
3590 * testsuite/cleanup/cleanup2.c:
3591 * testsuite/cleanup/cleanup3.c:
3592 * testsuite/cleanup/cleanup4.c:
3593 * testsuite/cleanup/cleanup5.c:
3594 * testsuite/controller/interpolator.c:
3595 * testsuite/debug/printf_extension.c: (main):
3596 * testsuite/elements/tee.c:
3597 * testsuite/negotiation/.cvsignore:
3598 * testsuite/negotiation/Makefile.am:
3599 * testsuite/negotiation/pad_link.c:
3600 * testsuite/pad/Makefile.am:
3601 * testsuite/pad/chainnopull.c:
3602 * testsuite/pad/getnopush.c:
3603 * testsuite/pad/link.c:
3604 * testsuite/refcounting/sched.c: (create_pipeline):
3605 * testsuite/registry/Makefile.am:
3606 * testsuite/registry/gst-print-formats.c:
3607 * testsuite/schedulers/.cvsignore:
3608 * testsuite/schedulers/142183-2.c:
3609 * testsuite/schedulers/142183.c:
3610 * testsuite/schedulers/143777-2.c:
3611 * testsuite/schedulers/143777.c:
3612 * testsuite/schedulers/147713.c:
3613 * testsuite/schedulers/147819.c:
3614 * testsuite/schedulers/147894-2.c:
3615 * testsuite/schedulers/147894.c:
3616 * testsuite/schedulers/Makefile.am:
3617 * testsuite/schedulers/group_link.c:
3618 * testsuite/schedulers/queue_link.c:
3619 * testsuite/schedulers/relink.c:
3620 * testsuite/schedulers/unlink.c:
3621 * testsuite/schedulers/unref.c:
3622 * testsuite/schedulers/useless_iteration.c:
3623 * testsuite/states/bin.c:
3624 clean out/remove some stuff from the testsuite directories
3626 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3629 check for some headers
3630 * gst/elements/Makefile.am:
3631 * gst/elements/gstelements.c:
3632 don't compile fdsrc without sys/socket.h
3633 * gst/indexers/Makefile.am:
3634 * gst/indexers/gstindexers.c: (plugin_init):
3635 don't compile fileindex without mmap
3637 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
3644 * check/Makefile.am:
3645 * docs/gst/Makefile.am:
3646 * examples/helloworld/Makefile.am:
3648 * gst/base/Makefile.am:
3649 * gst/check/Makefile.am:
3650 * gst/elements/Makefile.am:
3651 * gst/indexers/Makefile.am:
3652 * gst/parse/Makefile.am:
3653 * libs/gst/controller/Makefile.am:
3654 * libs/gst/dataprotocol/Makefile.am:
3655 * examples/helloworld/helloworld.c: (event_loop):
3656 compile fixes, though it's not being compiled currently
3658 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
3660 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3661 Add some simple tests for the new taglist date API.
3663 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
3665 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3666 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3667 Beautify 'last-message' output: print 'none' for buffer timestamps
3668 and durations if none is set; improve alignment with next messages.
3670 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
3672 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3673 * gst/gstpluginfeature.h:
3674 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3675 * gst/gstregistry.h:
3676 * docs/gst/gstreamer-sections.txt:
3677 Add new API to check plugin feature version requirements.
3679 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3680 Some basic tests for the above.
3682 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
3684 * gst/gststructure.c: (gst_structure_to_string):
3685 guard against NULL printf - happens when for example
3686 a message structure with GstClock gets serialized
3688 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
3690 * gst/base/gstcollectpads.c: (gst_collectpads_event):
3691 Fix presumable copy'n'pasto.
3693 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
3695 * gst/elements/gstfakesrc.h:
3696 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3697 * gst/elements/gsttypefindelement.c:
3699 * gst/elements/gstfilesink.c: (gst_file_sink_render):
3700 I wonder if this could actually write +2GB files before
3702 2005-10-13 Andy Wingo <wingo@pobox.com>
3704 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3705 Fix Timmeke Waymans bug.
3706 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3707 string of the proper length to gst_caps_from_string. There's a
3708 potential for, before this fix, that this could cause someone
3709 connecting over the network to cause a segfault if the payload is
3712 2005-10-13 Stefan Kost <ensonic@users.sf.net>
3714 * docs/design/draft-push-pull.txt:
3715 * docs/design/part-overview.txt:
3716 * docs/random/TODO-pre-0.9:
3717 * docs/random/old/ChangeLog.gstreamer:
3718 * gst/base/gstpushsrc.c:
3722 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
3724 * gst/glib-compat.c: (gst_flags_get_first_value):
3725 * gst/glib-compat.h:
3726 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3727 (gst_value_compare_double), (gst_value_serialize_flags):
3728 GLib 2.6 g_flags_get_first_value has a bug that triggers an
3731 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
3733 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3734 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3736 * tools/gst-launch.c: (event_loop):
3737 print out clock nicely
3739 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
3741 * docs/gst/gstreamer-sections.txt:
3743 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3744 (gst_tag_list_get_date_index):
3745 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3746 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3748 2005-10-13 Julien MOUTTE <julien@moutte.net>
3750 * gst/base/gstcollectpads.c: (gst_collectpads_event),
3751 (gst_collectpads_chain):
3752 * gst/base/gstcollectpads.h: Handle newsegment and store informations
3755 2005-10-13 Stefan Kost <ensonic@users.sf.net>
3757 * docs/gst/gstreamer-sections.txt:
3760 * tools/gst-inspect.c: (main):
3761 * tools/gst-launch.c: (main):
3762 * tools/gst-run.c: (main):
3763 * tools/gst-xmlinspect.c: (main):
3764 fix GOption context leaks
3767 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
3771 * win32/common/config.h:
3773 * win32/vs6/grammar.dsp:
3774 * win32/vs6/libgstelements.dsp:
3775 * win32/vs6/libgstreamer.dsp:
3778 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
3780 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3781 * gst/base/gstbasesrc.c: (gst_base_src_query):
3782 fix more guint64<->gdouble conversions
3784 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
3787 add win32-update target
3788 * win32/common/gstconfig.h:
3789 * win32/common/gstenumtypes.c:
3790 * win32/common/gstenumtypes.h:
3791 * win32/common/gstversion.h:
3792 add files that visual studio can't generate
3794 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
3797 add a win32-update target
3800 2005-10-12 Wim Taymans <wim@fluendo.com>
3802 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3803 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
3804 * gst/gstelement.c: (gst_element_commit_state),
3805 (gst_element_set_state):
3806 Protect flags with proper lock.
3807 unref provided cached clock in dispose.
3809 2005-10-12 Stefan Kost <ensonic@users.sf.net>
3812 * gst/gstminiobject.h:
3814 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
3815 removed unused flags from miniobject
3818 2005-10-12 Wim Taymans <wim@fluendo.com>
3820 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3821 (gst_file_sink_event), (gst_file_sink_render):
3822 Flush before seeking.
3824 2005-10-12 Andy Wingo <wingo@pobox.com>
3826 * gst/gst.c (gst_init_check): Ignore unknown options, as has
3827 always been the case.
3829 2005-10-12 Stefan Kost <ensonic@users.sf.net>
3831 * check/gst/gstbin.c: (GST_START_TEST):
3832 * docs/gst/gstreamer-sections.txt:
3833 * gst/base/gstbasesink.c: (gst_base_sink_init):
3834 * gst/base/gstbasesrc.c: (gst_base_src_init),
3835 (gst_base_src_get_range), (gst_base_src_check_get_range),
3836 (gst_base_src_start), (gst_base_src_stop):
3837 * gst/base/gstbasesrc.h:
3838 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
3839 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
3840 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
3844 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
3846 * gst/gstelement.c: (gst_element_is_locked_state),
3847 (gst_element_set_locked_state), (gst_element_commit_state),
3848 (gst_element_set_state):
3850 * gst/gstindex.c: (gst_index_init):
3852 * gst/gstminiobject.h:
3853 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
3854 (gst_object_set_parent):
3856 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
3857 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
3859 * gst/gstpadtemplate.h:
3860 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
3861 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
3862 * gst/gstpipeline.h:
3863 * gst/indexers/gstfileindex.c: (gst_file_index_load),
3864 (gst_file_index_commit):
3865 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3866 * testsuite/pad/link.c: (gst_test_src_init),
3867 (gst_test_filter_init), (gst_test_sink_init):
3868 * testsuite/states/locked.c: (main):
3869 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
3870 moved bitshift from macro to enum definition
3872 2005-10-12 Wim Taymans <wim@fluendo.com>
3874 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
3875 * gst/elements/gstfilesink.c: (gst_file_sink_event),
3876 (gst_file_sink_render):
3877 Some more debugging info.
3879 2005-10-12 Wim Taymans <wim@fluendo.com>
3881 * docs/design/part-states.txt:
3882 * tools/gst-launch.c: (main):
3884 Revert non-intentional change.
3886 2005-10-12 Wim Taymans <wim@fluendo.com>
3888 * check/gst/gstbin.c: (GST_START_TEST):
3889 * check/gst/gstelement.c: (GST_START_TEST):
3890 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
3891 * check/gst/gstghostpad.c: (GST_START_TEST):
3892 * check/gst/gstpipeline.c: (GST_START_TEST):
3893 * check/pipelines/simple_launch_lines.c: (run_pipeline):
3894 * check/states/sinks.c: (GST_START_TEST):
3895 * gst/elements/gsttypefindelement.c: (stop_typefinding):
3896 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3897 (gst_bin_remove_func), (gst_bin_get_state_func),
3898 (gst_bin_recalc_state), (gst_bin_change_state_func),
3900 * gst/gstelement.c: (gst_element_get_state_func),
3901 (gst_element_get_state), (gst_element_abort_state),
3902 (gst_element_commit_state), (gst_element_set_state),
3903 (gst_element_change_state), (gst_element_change_state_func):
3905 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
3906 (gst_pipeline_provide_clock_func):
3907 * gst/gstutils.c: (gst_element_link_pads_filtered):
3908 * tools/gst-launch.c: (main):
3909 * tools/gst-typefind.c: (main):
3910 Use GstClockTime in _get_state() instead of GTimeVal.
3911 Remove old code in gstutils.c
3913 2005-10-12 Andy Wingo <wingo@pobox.com>
3915 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
3918 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
3919 there is no task. Shouldn't affect any code, as nothing in our
3920 plugins checks this return value.
3921 (gst_pad_stop_task): Also take the stream lock if the pad has no
3924 2005-10-12 Wim Taymans <wim@fluendo.com>
3926 * gst/gstpad.c: (pre_activate), (post_activate),
3927 (gst_pad_activate_pull), (gst_pad_activate_push):
3928 Cleanup activation code. Reset old state if
3931 2005-10-12 Wim Taymans <wim@fluendo.com>
3933 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3934 (gst_base_sink_change_state):
3935 No need to prerol after receiving EOS.
3937 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
3938 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
3939 * gst/elements/gstidentity.c: (gst_identity_event):
3940 Print events more verbosely.
3942 2005-10-12 Wim Taymans <wim@fluendo.com>
3944 * check/Makefile.am:
3945 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3946 * check/states/sinks2.c:
3947 Moved sinks2 testcode in sinks check.
3949 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3950 (gst_bin_remove_func), (gst_bin_recalc_state),
3951 (gst_bin_change_state_func), (bin_bus_handler):
3952 Fix potential race condition when _get_state() iterated over an
3953 ASYNC element right before it posted a state completion.
3956 Do proper cast here.
3958 * gst/gstevent.c: (gst_event_new_newsegment),
3959 (gst_event_parse_newsegment):
3960 A playback rate of 0.0 is not allowed.
3962 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
3964 * win32/common/config.h:
3965 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
3966 (_trewinddir), (_ttelldir), (_tseekdir):
3967 * win32/common/dirent.h:
3968 * win32/common/gtchar.h:
3969 * win32/common/libgstbase.def:
3970 * win32/common/libgstreamer.def:
3971 * win32/vs6/grammar.dsp:
3972 * win32/vs6/gst_inspect.dsp:
3973 * win32/vs6/gst_launch.dsp:
3974 * win32/vs6/gstreamer.dsw:
3975 * win32/vs6/libgstbase.dsp:
3976 * win32/vs6/libgstelements.dsp:
3977 * win32/vs6/libgstreamer.dsp:
3978 Visual Studio 6 project files, and a new common directory.
3981 2005-10-11 Wim Taymans <wim@fluendo.com>
3983 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3984 (gst_base_sink_do_sync), (gst_base_sink_query),
3985 (gst_base_sink_change_state):
3986 * gst/base/gstbasesink.h:
3987 Correctly parse newsegment info.
3989 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
3991 * gst/gst.c: (init_post):
3992 split plugin paths correctly
3994 2005-10-11 Wim Taymans <wim@fluendo.com>
3996 * check/gst/gstevent.c: (GST_START_TEST):
3997 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3998 (gst_base_sink_change_state):
3999 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4000 * gst/base/gstbasetransform.c: (gst_base_transform_event):
4001 * gst/elements/gstfilesink.c: (gst_file_sink_event):
4002 * gst/gstevent.c: (gst_event_new_newsegment),
4003 (gst_event_parse_newsegment):
4005 Added extra flag to newsegment for future API freeze.
4006 Updated check and base elements.
4008 2005-10-11 Julien MOUTTE <julien@moutte.net>
4010 * gst/base/gstcollectpads.c: (gst_collectpads_init),
4011 (gst_collectpads_add_pad), (gst_collectpads_pop),
4012 (gst_collectpads_event), (gst_collectpads_chain):
4013 * gst/base/gstcollectpads.h: Handle EOS correctly.
4015 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4017 * tools/gst-launch.c: (main):
4018 more null protecting
4020 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4022 * gst/gst-i18n-lib.h:
4023 check for ENABLE_NLS, not GETTEXT_PACKAGE
4024 * gst/gstregistry.c: (gst_registry_add_plugin),
4025 (gst_registry_scan_path_level),
4026 (_gst_registry_remove_cache_plugins):
4027 protect possibly NULL strings
4028 * gst/parse/types.h:
4029 config.h already included before
4030 * tools/gst-inspect.c: (main):
4031 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4032 check for ENABLE_NLS, not GETTEXT_PACKAGE
4033 * tools/gst-launch.c: (main):
4034 check for ENABLE_NLS, not GETTEXT_PACKAGE
4036 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4039 if we don't have glib, fail before testing 2.8
4040 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4041 fix a leak, should fix plugins-base testsuite
4043 2005-10-11 Andy Wingo <wingo@pobox.com>
4045 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4046 take the mode we're going to as an arg. Go head and set the mode
4047 and flushing flags now, so that if the activate function starts a
4048 thread all the flags will be in the right state.
4049 (post_activate): Renamed also. Just handle making sure streaming
4050 finishes for the deactivation case, and setting the deactivated
4052 (gst_pad_set_active): Complain loudly if deactivation fails.
4053 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4054 (gst_pad_activate_push): Adapt to pre/post_activate changes,
4055 remove the terrible hack.
4057 2005-10-11 Wim Taymans <wim@fluendo.com>
4059 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4060 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4061 (gst_bin_recalc_state), (gst_bin_change_state_func),
4062 (gst_bin_dispose), (bin_bus_handler):
4064 Prepare to make current EOS message queue more generic.
4067 * gst/gstevent.c: (gst_event_new_newsegment),
4068 (gst_event_parse_newsegment):
4070 Rename base to stream_time.
4075 2005-10-11 Wim Taymans <wim@fluendo.com>
4077 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4078 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4079 (gst_bin_change_state_func), (bin_bus_handler):
4081 Work on proper clock selection.
4083 2005-10-11 Edward Hervey <edward@fluendo.com>
4085 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
4086 * libs/gst/controller/gstcontroller.h:
4087 Added GList* version of _remove_properties() in order to be able to wrap
4090 2005-10-11 Wim Taymans <wim@fluendo.com>
4092 * docs/design/part-states.txt:
4095 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4096 (gst_bin_change_state_func), (bin_bus_handler):
4097 Doc updates. Don't distribute the same clock over and over again.
4103 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4104 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4105 (gst_pad_send_event):
4107 Make probe emission threadsafe again.
4108 Register quarks and move _get_name() from utils.
4111 * gst/gstpipeline.c: (gst_pipeline_class_init),
4112 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4113 Only redistribute the clock of it changed.
4115 * gst/gstsystemclock.h:
4120 Moved the _flow_get_name() to GstPad.
4122 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4124 * check/gst-libs/gdp.c: (GST_START_TEST):
4125 * check/gst/gstcaps.c: (GST_START_TEST):
4126 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4127 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4128 (gst_dp_packet_from_caps):
4129 fix more valgrind warnings before turning up the heat
4131 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
4133 * gst/parse/grammar.y:
4134 some cleanup before the hacking
4136 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4138 * gst/base/gstbasesrc.c: (gst_base_src_query):
4140 * gst/gstutils.c: (gst_guint64_to_gdouble),
4141 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4143 externalize, basesrc uses it
4144 obviously the implementation needs testing
4146 2005-10-10 Wim Taymans <wim@fluendo.com>
4148 * tests/sched/Makefile.am:
4149 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4150 (make_pipeline3), (make_pipeline4), (print_elem), (main):
4152 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4154 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4155 apparently converting from guint64 to double is not implemented
4158 2005-10-10 Wim Taymans <wim@fluendo.com>
4160 * check/Makefile.am:
4161 * check/generic/states.c: (GST_START_TEST):
4162 * check/gst/gstbin.c: (GST_START_TEST):
4163 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4164 * check/states/sinks.c: (GST_START_TEST):
4165 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4167 Check fixes, use API as stated in design docs, remove hacks.
4169 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4170 (gst_base_sink_change_state):
4171 Catch stopping our task while we're shutting down.
4173 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4174 (gst_bin_remove_func), (gst_bin_get_state_func),
4175 (gst_bin_recalc_state), (gst_bin_change_state_func),
4178 * gst/gstelement.c: (gst_element_init),
4179 (gst_element_get_state_func), (gst_element_abort_state),
4180 (gst_element_commit_state), (gst_element_lost_state),
4181 (gst_element_set_state), (gst_element_change_state),
4182 (gst_element_change_state_func):
4184 New state change algorithm (see #318116)
4186 * gst/gstpipeline.c: (gst_pipeline_class_init),
4187 (gst_pipeline_init), (gst_pipeline_set_property),
4188 (gst_pipeline_get_property), (do_pipeline_seek),
4189 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4190 * gst/gstpipeline.h:
4191 Remove crude state change hacks.
4196 * tools/gst-launch.c: (main):
4197 Fixes for state change. Needs some more work to fully use the
4200 2005-10-10 Andy Wingo <wingo@pobox.com>
4202 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4204 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4205 this flag, but it's not even in GLib 2.6. Odd. Hack around the
4208 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4210 * gst/gstiterator.c: (gst_iterator_new):
4211 Fix my previous commit: GTypes passed to gst_iterator_new()
4212 can be fundamental types.
4214 2005-10-10 Wim Taymans <wim@fluendo.com>
4216 * gst/gstelement.c: (gst_element_iterate_pad_list),
4217 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4218 (gst_element_iterate_sink_pads):
4219 Use src/sink pads lists for the respective iterators instead
4222 2005-10-10 Andy Wingo <wingo@pobox.com>
4224 Merged in popt removal + GOption addition patch from Ronald, bug
4227 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4228 GstElement macros around, remove popt-related symbols, add goption
4231 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4233 * docs/gst/Makefile.am:
4234 * docs/libs/Makefile.am: No POPT_CFLAGS.
4236 * examples/manual/Makefile.am:
4237 * docs/manual/basics-init.xml: Doc updates with an example.
4239 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4240 (gst_init), (parse_one_option), (parse_goption_arg):
4241 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4242 bit of hand merging and debugging to get the GOption stuff working
4245 * tests/Makefile.am:
4246 * tools/Makefile.am:
4247 * tools/gst-inspect.c: (main):
4248 * tools/gst-launch.c: (main):
4249 * tools/gst-run.c: (main):
4250 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4252 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4254 * gst/gstiterator.c: (gst_iterator_new):
4255 Add assertions to make sure passed GType is likely to really
4256 be a GType (as the compiler won't catch it if the size and
4257 GType arguments get mixed up, see #318447).
4259 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
4261 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4263 * gst/gstbin.c: (gst_bin_iterate_sorted):
4264 Pass GType and size arguments to gst_iterator_new() in the right
4265 order (maybe we should make _new() take the GType as first argument
4266 just like _new_list()?) (#318447).
4269 2005-10-10 Wim Taymans <wim@fluendo.com>
4271 * gst/gstelement.c: (gst_element_finalize):
4272 And free the GStaticRecMutex too
4274 2005-10-10 Andy Wingo <wingo@pobox.com>
4276 * gst/gstelement.c (gst_element_init, gst_element_finalize):
4277 Allocate and free the mutex properly.
4279 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4281 (GstElement): The state_lock is now recursive. Rebuild your
4282 plugins, suckers. Old macros adapted.
4284 * docs/gst/gstreamer-sections.txt: Doc updates.
4287 * gst/gstutils.c (g_static_rec_cond_timed_wait)
4288 (g_static_rec_cond_wait): Ported from state changes patch, while
4289 we wait on bug #317802 to be solved in a well-distributed GLib.
4291 * gst/gstelement.c (gst_element_change_state_func): Renamed from
4292 gst_element_change_state, variable name changes.
4293 (gst_element_change_state): Split out of gst_element_set_state in
4294 preparation for the state change merge. Doesn't pay attention to
4295 the 'transition' argument.
4296 (gst_element_set_state): Updates, hopefully purely cosmetic.
4297 (gst_element_sync_state_with_parent): MT-safety. Ported from the
4299 (gst_element_get_state_func): Renamed from get_state, cosmetic
4302 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4304 * gst/elements/gstelements.c:
4305 * win32/GStreamer.vcproj:
4307 * win32/dirent.c: (_tseekdir):
4308 * win32/gst-inspect.vcproj:
4309 * win32/gst-launch.vcproj:
4310 * win32/gstconfig.h:
4311 * win32/gstelements.vcproj:
4312 * win32/gstenumtypes.c: (gst_object_flags_get_type):
4313 * win32/gstreamer.def:
4315 updates for the win32 build (patch from Sebastien Moutte)
4317 2005-10-10 Andy Wingo <wingo@pobox.com>
4319 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4320 gst_bin_get_state, cleaned up (but no logic changes).
4321 (bin_element_is_sink): Comment updates.
4322 (sink_iterator_filter): Remove needless cast.
4323 (gst_bin_iterate_sinks): Doc update.
4324 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4325 cleaned up (but no logic changes).
4327 * check/states/sinks.c (test_src_sink): Cleanups from the state
4329 (test_livesrc_sink): Sync on the state.
4331 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4332 the state change patch.
4334 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4337 * check/gst/gstbin.c: Merge in some style fixes and additional
4338 checks from Wim's state change patch.
4340 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
4342 * gst/base/gsttypefindhelper.c: (helper_find_peek),
4343 (gst_type_find_helper):
4344 Check whether we have the requested data already in our list of
4345 cached buffers before pulling a new buffer; also make the buffer
4346 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4348 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
4353 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4354 don't use long long, it's not portable. Replacing with
4355 gint64 seems to work; let's hope no skeletons fall out of the closet.
4357 2005-10-10 Andy Wingo <wingo@pobox.com>
4359 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4361 2005-10-09 Stefan Kost <ensonic@users.sf.net>
4363 * docs/gst/gstreamer-sections.txt:
4368 * gst/gstmessage.c: (gst_message_parse_state_changed):
4371 more docs, fix compilation
4373 2005-10-09 Philippe Khalaf <burger@speedy.org>
4375 Fixed a few forgotten variables on previous commit
4377 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
4379 * gst/base/gsttypefindhelper.c: (helper_find_peek):
4380 Fix evil typefind crasher: getrange() might return a short
4381 buffer at the end of a file, but gst_type_find_peek() must
4382 either return the full data as requested or NULL, but
4383 never a short buffer.
4385 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
4387 * gst/gstmessage.c: (gst_message_new_state_changed),
4388 (gst_message_parse_state_changed):
4390 don't use "new", it's a C++ keyword
4392 2005-10-08 Wim Taymans <wim@fluendo.com>
4394 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4395 * gst/gstelement.c: (gst_element_post_message):
4396 * gst/gstpipeline.c: (gst_pipeline_change_state):
4397 Small docs and debug updates.
4399 2005-10-08 Stefan Kost <ensonic@users.sf.net>
4401 * docs/gst/gstreamer-sections.txt:
4402 * gst/gstelementfactory.c:
4407 2005-10-08 Wim Taymans <wim@fluendo.com>
4409 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4410 (gst_bin_dispose), (bin_bus_handler):
4411 Fix typos, add comments.
4412 Clear EOS list when going to PAUSED from any direction and do it
4413 in a threadsafe way.
4414 Get base time in a threadsafe way too.
4415 Fix confusing debug in the change_state function.
4416 Various other small cleanups.
4418 * gst/gstelement.c: (gst_element_post_message):
4419 Fix very verbose bus posting code.
4421 * gst/gstpipeline.c: (gst_pipeline_class_init),
4422 (gst_pipeline_set_property), (gst_pipeline_get_property),
4423 (gst_pipeline_change_state):
4424 Small ARG_ -> PROP_ cleanup
4426 2005-10-08 Wim Taymans <wim@fluendo.com>
4428 * gst/gstbin.c: (is_eos), (bin_bus_handler):
4429 Do a less CPU demanding EOS check because we can.
4431 2005-10-08 Wim Taymans <wim@fluendo.com>
4433 * libs/gst/dataprotocol/dataprotocol.c:
4434 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4435 (gst_dp_packet_from_event):
4436 * libs/gst/dataprotocol/dataprotocol.h:
4437 * libs/gst/dataprotocol/dp-private.h:
4438 It's about time we bump the version number.
4439 Since event types don't fit in the guint8 anymore describing
4440 the payload type, make payload type 16 bits wide.
4442 2005-10-08 Wim Taymans <wim@fluendo.com>
4444 * docs/design/part-TODO.txt:
4445 * docs/design/part-clocks.txt:
4446 * docs/design/part-events.txt:
4447 * docs/design/part-gstbin.txt:
4448 * docs/design/part-gstelement.txt:
4449 * docs/design/part-gstpipeline.txt:
4450 * docs/design/part-live-source.txt:
4451 * docs/design/part-messages.txt:
4452 * docs/design/part-overview.txt:
4453 * docs/design/part-states.txt:
4456 2005-10-08 Wim Taymans <wim@fluendo.com>
4460 Fix event quark registration.
4461 Add some space between events so we can insert them in the
4464 2005-10-08 Wim Taymans <wim@fluendo.com>
4466 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4467 (gst_base_sink_handle_buffer):
4474 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4475 (gst_queue_set_property), (gst_queue_get_property):
4477 Remove old unused properties.
4479 2005-10-08 Stefan Kost <ensonic@users.sf.net>
4480 * docs/gst/gstreamer-sections.txt:
4483 * gst/gstminiobject.c:
4484 * gst/gstminiobject.h:
4488 lots of new docs and doc fixes
4490 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4492 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4494 * gst/gstregistry.c: (gst_registry_lookup_locked),
4495 (gst_registry_scan_path_level):
4496 * gst/gstregistryxml.c: (load_plugin):
4497 Only ever load one plugin for a given plugin basename.
4498 This ensures correct overriding of GST_PLUGIN_PATH over
4499 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4500 system installed plugins.
4502 2005-10-08 Wim Taymans <wim@fluendo.com>
4504 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4505 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4506 Prepare for doing QOS.
4508 2005-10-08 Wim Taymans <wim@fluendo.com>
4510 * check/gst/gstbin.c: (GST_START_TEST):
4511 * check/pipelines/cleanup.c: (GST_START_TEST):
4512 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4513 Allow new clock message too.
4515 2005-10-08 Wim Taymans <wim@fluendo.com>
4517 * gst/gstmessage.c: (gst_message_new_error),
4518 (gst_message_new_warning), (gst_message_new_tag),
4519 (gst_message_new_state_changed), (gst_message_new_clock_provide),
4520 (gst_message_new_clock_lost), (gst_message_new_new_clock),
4521 (gst_message_new_segment_start), (gst_message_new_segment_done),
4522 (gst_message_parse_state_changed),
4523 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4524 (gst_message_parse_new_clock):
4526 Also carry the clock in question.
4528 2005-10-08 Wim Taymans <wim@fluendo.com>
4530 * gst/gstmessage.c: (gst_message_new_custom),
4531 (gst_message_new_eos), (gst_message_new_error),
4532 (gst_message_new_warning), (gst_message_new_tag),
4533 (gst_message_new_state_changed), (gst_message_new_clock_provide),
4534 (gst_message_new_new_clock), (gst_message_new_segment_start),
4535 (gst_message_new_segment_done), (gst_message_parse_state_changed),
4536 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4539 Added clock related messages.
4541 * gst/gstpipeline.c: (gst_pipeline_change_state):
4542 Post message when the clock changed.
4544 * tools/gst-launch.c: (event_loop):
4547 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
4549 * tools/gst-inspect.c: (print_element_properties_info):
4550 Can't pass NULL strings to g_print() on windows.
4552 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4555 * docs/gst/Makefile.am:
4556 * docs/gst/gstreamer-docs.sgml:
4557 * docs/gst/running.xml:
4558 * docs/version.entities.in:
4559 add a chapter on running GStreamer.
4560 document GST_DEBUG and GST_PLUGIN* env vars
4562 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4567 remove PLUGINS_BUILDDIR stuff
4568 * gst/gst.c: (init_post):
4569 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4571 remove, it was condescending and not needed
4573 2005-10-08 Wim Taymans <wim@fluendo.com>
4575 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4576 (gst_base_sink_handle_object), (gst_base_sink_event),
4577 (gst_base_sink_wait), (gst_base_sink_handle_event),
4578 (gst_base_sink_change_state):
4579 * gst/base/gstbasesink.h:
4580 Repost EOS message while going to PLAYING if still EOS.
4581 Make sure that when receiving a FLUSH_START we don't attempt
4582 to sync on the clock anymore.
4584 2005-10-08 Wim Taymans <wim@fluendo.com>
4586 * tools/gst-launch.c: (event_loop):
4587 Better message printout.
4589 2005-10-08 Wim Taymans <wim@fluendo.com>
4591 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4592 (gst_bin_child_proxy_get_children_count):
4593 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4594 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4595 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4596 (gst_child_proxy_set_valist):
4597 * gst/parse/grammar.y:
4598 Make ChildProxy threadsafe and fix mem leaks.
4600 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4602 * gst/gst.c: (init_post):
4603 debug the GST_PLUGIN_ env vars
4605 2005-10-08 Wim Taymans <wim@fluendo.com>
4607 * check/gst/gstbin.c: (GST_START_TEST):
4608 * check/gst/gstmessage.c: (GST_START_TEST):
4609 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4610 * gst/gstelement.c: (gst_element_commit_state),
4611 (gst_element_lost_state):
4612 * gst/gstmessage.c: (gst_message_new_state_changed),
4613 (gst_message_parse_state_changed):
4615 * tools/gst-launch.c: (event_loop):
4616 Added extra field to STATE_CHANGE message with the pending
4617 state, which will be different from the new state soon.
4619 2005-10-08 Wim Taymans <wim@fluendo.com>
4621 * gst/gstbus.c: (gst_bus_pop):
4623 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4624 Small cleanups and doc updates.
4626 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
4628 * gst/gst.c: (init_pre):
4629 * gst/gstbin.c: (gst_bin_add_func):
4630 log distributing clocks and base time
4631 * gst/gstregistry.c: (gst_registry_add_plugin),
4632 (gst_registry_scan_path_level), (gst_registry_scan_path):
4633 clean up the debugging output a little
4634 * gst/gstutils.c: (gst_element_state_get_name):
4635 warn about a memleak (I've actually seen this be used, though
4636 it was probably a bug)
4638 2005-10-07 Wim Taymans <wim@fluendo.com>
4640 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4641 (gst_base_src_init), (gst_base_src_default_newsegment),
4642 (gst_base_src_newsegment), (gst_base_src_do_seek),
4643 (gst_base_src_loop), (gst_base_src_start):
4644 * gst/base/gstbasesrc.h:
4645 Make the newsegment event customizable by subclasses.
4647 2005-10-07 Wim Taymans <wim@fluendo.com>
4649 * gst/gstevent.c: (gst_event_new_buffersize),
4650 (gst_event_parse_buffersize):
4652 New event for future idea.
4654 2005-10-07 Andy Wingo <wingo@pobox.com>
4656 * gst/gstelement.c (gst_element_post_message): Doc update.
4658 * docs/gst/gstreamer-sections.txt: Update.
4660 * gst/gstmessage.c (gst_message_new_application): Made into a
4661 function like honest API calls.
4662 (gst_message_new_element): New message type.
4664 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4666 * check/elements/fakesrc.c (test_no_preroll): New check, checks
4667 that setting a live fakesrc to PAUSED returns NO_PREROLL both
4670 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4671 NO_PREROLL from gst_element_change_state to fall through.
4673 2005-10-07 Wim Taymans <wim@fluendo.com>
4675 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4676 (gst_ghost_pad_do_activate_push):
4677 Activating a ghostpad with no internal pad in push mode
4680 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
4683 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4684 Fixes compilation on Windows.
4686 2005-10-07 Michael Smith <msmith@fluendo.com>
4688 * tools/gst-inspect.c:
4689 Print out feature and plugin count at the end when printing out
4692 2005-10-04 Michael Smith <msmith@fluendo.com>
4694 * gst/gsterror.c: (_gst_stream_errors_init):
4695 Add another error string used in a few existing plugins.
4698 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4699 * tools/gst-inspect.c: (print_element_info):
4700 When a feature disappears from a plugin (and the feature exists in
4701 the cached registry file), things went horribly wrong. This isn't a
4702 complete fix, we should actually be removing the 'missing' features
4703 from the features list when we load the actual plugin. That's not
4706 2005-10-04 Johan Dahlin <johan@gnome.org>
4708 * check/gst/gstiterator.c: (GST_START_TEST):
4709 * gst/gstbin.c: (gst_bin_iterate_elements),
4710 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4711 * gst/gstelement.c: (gst_element_iterate_pads):
4712 * gst/gstformat.c: (gst_format_iterate_definitions):
4713 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4714 (gst_iterator_new_list), (gst_iterator_filter):
4715 * gst/gstiterator.h:
4716 * gst/gstquery.c: (gst_query_type_iterate_definitions):
4717 Add a GType to GstIterator, update callsites and tests.
4719 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
4721 * gst/gstpad.c: (gst_pad_event_default_dispatch):
4722 give events a chance to be handled by event probes when the pad
4725 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
4727 * gst/gstevent.c: (gst_event_type_get_name),
4728 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4730 add string representations for event types
4732 2005-10-06 Wim Taymans <wim@fluendo.com>
4734 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4735 Don't use NULL pointers.
4737 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
4739 * gst/gst_private.h:
4743 * gst/gstpluginfeature.c:
4744 widen the debug category in output to fit the biggest one we have
4745 add a bus category and use it
4746 play with the colors
4747 fix up some categories
4749 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
4751 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4752 add push activation of sink ghost pads.
4753 Andye, please verify
4755 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
4757 * gst/gstutils.c: (gst_element_link_pads):
4758 fix a bug in the case where neither element has a pad
4759 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4760 add a test for that case
4762 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
4764 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4765 emit have-data before checking for peers. This allows
4766 for probe handlers to connect elements. This helps autopluggers.
4767 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
4769 add six checks, linked/unlinked with no/true/false probe
4771 2005-10-04 Wim Taymans <wim@fluendo.com>
4773 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
4774 (gst_fake_sink_event), (gst_fake_sink_preroll),
4775 (gst_fake_sink_render), (gst_fake_sink_change_state):
4776 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
4777 (gst_fake_src_get_property), (gst_fake_src_create),
4778 (gst_fake_src_stop):
4779 * gst/elements/gstidentity.c: (gst_identity_stop):
4780 Protect last_message with lock.
4782 2005-10-04 Edward Hervey <edward@fluendo.com>
4785 Added precision in the comments for GST_FORMAT_DEFAULT
4787 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
4789 * tools/gst-launch.c: (main):
4790 Don't try to run erroneous pipelines.
4792 2005-10-04 Julien MOUTTE <julien@moutte.net>
4794 * gst/gstbus.c: We don't need this header.
4796 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
4801 === release 0.9.3 ===
4803 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
4807 Releasing 0.9.3, "Unregistered"
4809 2005-10-03 Andy Wingo <wingo@pobox.com>
4811 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
4812 whereby calling a pad's activatepush() function can start a thread
4813 that starts to push or pull before the pad gets the FLUSHING flag
4814 unset. Hack around it by holding the stream lock until the flag is
4815 set. Need to replace this with a proper solution. Together with
4816 the ghost pad fixes, this fixes mp3 playing/tagreading.
4818 * docs/design/part-gstghostpad.txt: Add a note about activation of
4819 proxy pads outside of ghost pads.
4821 * gst/gstghostpad.c: Implement the ghost pad activation design.
4823 2005-10-02 Andy Wingo <wingo@pobox.com>
4825 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
4826 It is volatile, after all.
4828 * docs/design/part-gstghostpad.txt: Flesh out activation with
4831 * gst/base/gstbasesrc.c (gst_base_src_init): Use
4834 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
4837 Fix (unused) AM_CONDITIONAL tests.
4839 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
4841 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4843 * gst/gstutils.c: (gst_pad_query_convert):
4844 Add assertion that makes sure src_val is >=0, just like
4845 gst_query_new_convert() has. (#315895)
4847 2005-09-30 Edward Hervey <edward@fluendo.com>
4849 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
4850 Let's not iterate pads we're not interested in, it avoids getting
4851 sky-high refcounts on sinkpad.
4853 2005-09-30 Wim Taymans <wim@fluendo.com>
4855 * gst/gstelement.c: (gst_element_set_state),
4856 (gst_element_change_state):
4857 Small tweak, element in ASYNC remains ASYNC.
4859 2005-09-30 Wim Taymans <wim@fluendo.com>
4861 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4862 Only error is an error.
4864 * gst/gstbin.c: (gst_bin_change_state):
4867 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
4868 Also call pad_block in pad alloc.
4870 * gst/gstutils.c: (gst_flow_get_name):
4873 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
4875 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4876 (gst_base_src_get_range):
4877 Fix documentation typos. Add some more debug info.
4879 2005-09-29 David Schleef <ds@schleef.org>
4881 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
4882 more end-user friendly.
4883 * tools/gst-inspect.c: (main): Check if command-line argument is
4884 a file and attempt to load that file as a plugin.
4886 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
4888 * check/gst/gstbin.c:
4889 * check/states/sinks.c:
4890 fix tests for the new warning
4891 * check/gst/gstpipeline.c:
4892 add a test for pipeline and bus interaction
4894 elements should be NULL if they get disposed; add a warning if not
4896 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
4899 for 2.6 refcounting, make debug log more correct by printing
4900 the actual refcounts at the time of swap (Wim)
4902 2005-09-29 Andy Wingo <wingo@pobox.com>
4904 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
4905 removes signal watches previously added via
4906 gst_bus_add_signal_watch.
4907 (gst_bus_add_signal_watch): Don't return the source id, just store
4908 it on the bus if there wasn't an id already.
4910 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
4911 add_signal_watch and remove_signal_watch.
4913 2005-09-29 Edward Hervey <edward@fluendo.com>
4915 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
4916 Better if we actually iterate the list :)
4918 2005-09-29 Wim Taymans <wim@fluendo.com>
4920 * check/gst/gstbin.c: (GST_START_TEST):
4921 Change for new bus API.
4923 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4924 (send_messages), (GST_START_TEST), (gstbus_suite):
4925 Change for new bus signal API.
4927 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
4928 (gst_bus_source_prepare), (gst_bus_source_check),
4929 (gst_bus_create_watch), (gst_bus_add_watch_full),
4930 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
4931 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
4933 Remove support for multiple GSources operating on different
4934 message types as it is too complex and unneeded when using
4936 Added support for receiving signals from the bus.
4938 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
4940 * docs/libs/tmpl/gstdataprotocol.sgml:
4941 * docs/manual/advanced-dataaccess.xml:
4942 * gst/elements/gstcapsfilter.c:
4944 rename filter-caps to caps property
4946 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
4948 * gst/gstvalue.c: (gst_value_deserialize_fraction):
4949 More robust fraction string parsing.
4951 * docs/pwg/appendix-porting.xml:
4952 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
4954 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
4956 * gst/gstcaps.c: (gst_caps_do_simplify):
4957 Thou shalt not free a structure and then continue using it
4958 in the next loop iteration.
4960 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
4962 Add test case for caps simplification.
4964 2005-09-29 Wim Taymans <wim@fluendo.com>
4966 * check/gst/gstbin.c: (GST_START_TEST):
4969 2005-09-29 Wim Taymans <wim@fluendo.com>
4971 * check/gst/gstbin.c: (GST_START_TEST):
4974 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4975 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
4976 (find_element), (gst_bin_sort_iterator_next),
4977 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
4978 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
4979 (gst_bin_change_state), (gst_bin_dispose):
4980 A bin does not have a bus, it gets the bus from the parent.
4982 * gst/gstelement.c: (gst_element_requires_clock),
4983 (gst_element_provides_clock), (gst_element_is_indexable),
4984 (gst_element_is_locked_state), (gst_element_change_state),
4985 (gst_element_set_bus_func):
4988 * gst/gstpipeline.c: (gst_pipeline_class_init),
4989 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
4990 The pipeline provides a bus.
4992 2005-09-28 Johan Dahlin <johan@gnome.org>
4994 * gst/gstmessage.c (gst_message_parse_state_changed): Use
4995 gst_structure_get_enum instead of gst_structure_get_int
4997 * gst/gststructure.c (gst_structure_get_enum): Impl.
4999 * gst/gststructure.h (gst_structure_get_enum): Add
5001 * docs/gst/gstreamer-sections.txt: Ditto
5003 * gst/gstmessage.c (gst_message_new_state_changed): Use
5004 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5005 which does introspection.
5006 Reviewed by Christian Schaller
5008 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5010 * gst/gstinfo.c: (gst_debug_log_default):
5011 don't do dummy g_strdup()s
5012 * libs/gst/controller/gstcontroller.c:
5013 (on_object_controlled_property_changed),
5014 (gst_controlled_property_new), (gst_controller_new_valist),
5015 (gst_controller_new_list),
5016 (gst_controller_remove_properties_valist), (gst_controller_set),
5017 (gst_controller_get), (gst_controller_sync_values),
5018 (gst_controller_get_value_array), (_gst_controller_class_init),
5019 (gst_controller_get_type):
5020 * libs/gst/controller/gstcontroller.h:
5021 * libs/gst/controller/gstinterpolation.c:
5022 (gst_controlled_property_find_timed_value_node):
5023 convert // to /**/ comments
5025 2005-09-28 Wim Taymans <wim@fluendo.com>
5027 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5028 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5029 (gst_bus_sync_signal_handler):
5031 Added async-message and sync-message signals to the bus.
5032 Added helper BusFunc to emit signals for all posted messages.
5034 * gst/gstmessage.c: (gst_message_type_get_name),
5035 (gst_message_type_to_quark), (gst_message_get_type):
5037 Register quarks for message names.
5039 2005-09-28 Stefan Kost <ensonic@users.sf.net>
5041 * docs/libs/gstreamer-libs-sections.txt:
5042 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5043 (gst_controller_new_list):
5044 * libs/gst/controller/gstcontroller.h:
5045 added another constructor for language bindings
5047 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
5049 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5053 * gst/gstinfo.c: (_gst_debug_init):
5054 slightly more readable color for refcount debugging
5056 2005-09-28 Wim Taymans <wim@fluendo.com>
5058 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5059 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5060 (find_element), (gst_bin_sort_iterator_next),
5061 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5062 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5063 (gst_bin_change_state), (gst_bin_dispose):
5064 Small doc fixes. get_clock -> provide_clock.
5066 * gst/gstelement.c: (gst_element_class_init),
5067 (gst_element_provides_clock), (gst_element_provide_clock),
5068 (gst_element_get_clock), (gst_element_commit_state),
5069 (gst_element_lost_state):
5071 Make get/set_clock() symetric. Add provide_clock vmethod since
5072 that is actually what this function does.
5074 * gst/gstpipeline.c: (gst_pipeline_class_init),
5075 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5076 (gst_pipeline_get_clock):
5077 get_clock -> provide_clock.
5079 2005-09-28 Andy Wingo <wingo@pobox.com>
5081 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5082 lieu of real docs...
5084 * gst/elements/gstfdsrc.c: Cleaned up a bit.
5086 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
5088 * gst/elements/gstcapsfilter.c:
5089 * gst/elements/gstfakesink.c:
5090 * gst/elements/gstfakesrc.c:
5091 * gst/elements/gstfdsink.c:
5092 * gst/elements/gstfdsrc.c:
5093 * gst/elements/gstfilesink.c:
5094 * gst/elements/gstfilesrc.c:
5095 * gst/elements/gstidentity.c:
5096 * gst/elements/gsttee.c:
5097 * gst/elements/gsttypefindelement.c:
5098 Make element details static.
5100 2005-09-28 Wim Taymans <wim@fluendo.com>
5102 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5103 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5104 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5105 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5106 (gst_bin_change_state), (gst_bin_dispose):
5107 Some documentation updates.
5108 Clean up dispose handlers.
5110 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5111 * gst/gstpad.c: (gst_pad_dispose):
5112 Clean up dispose handler.
5114 * gst/gstpipeline.c: (gst_pipeline_change_state):
5115 Removed spurious UNLOCK.
5117 2005-09-27 Stefan Kost <ensonic@users.sf.net>
5119 * docs/gst/gstreamer-sections.txt:
5120 * gst/base/gstbasesrc.h:
5125 * gst/gstpipeline.c:
5126 * gst/gstpipeline.h:
5129 added two new functions to the docs
5130 documents all undocumented GstXXXFlags
5131 completed some incomplete docs
5133 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
5135 * gst/gstbin.c: (gst_bin_dispose):
5136 * gst/gstelement.c: (gst_element_dispose):
5137 remove now useless and leaky resurrection code in dispose
5138 * gst/base/gstbasesrc.c: (gst_base_src_init):
5139 * gst/gstelementfactory.c: (gst_element_factory_create):
5140 * gst/gstobject.c: (gst_object_set_parent):
5143 2005-09-27 Wim Taymans <wim@fluendo.com>
5145 * docs/design/part-TODO.txt:
5148 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5149 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5150 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5151 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5152 (gst_bin_change_state):
5154 Remove element variable, we keep element info in the iterator now.
5156 2005-09-27 Andy Wingo <wingo@pobox.com>
5158 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5161 2005-09-27 Wim Taymans <wim@fluendo.com>
5163 * check/gst/gstbin.c: (GST_START_TEST):
5164 Enable check that works now.
5166 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5167 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5168 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5169 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5170 (gst_bin_change_state):
5172 Redid the state change algorithm using a topological sort algo.
5173 Handles all cases correctly.
5174 Exposed iterator for state change order.
5177 Temp storage for state changes. Need to get rid of this soon.
5179 2005-09-27 Wim Taymans <wim@fluendo.com>
5181 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5182 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5183 (link_fold_func), (gst_pad_proxy_setcaps):
5184 Leak fixes, the fold functions need to unref the passed object and
5185 _get_parent_*() returns ref to parent.
5187 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5189 * check/gst/gstbuffer.c: (test_make_writable):
5190 Plug leak in test case and fix 'make check-valgrind'
5192 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5194 * gst/gstbuffer.c: (gst_subbuffer_init):
5195 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5196 works correctly in all circumstances (we could have just copied
5197 the parent buffer's readonly flag, but conceptually it seems
5198 cleaner to mark all subbuffers as read-only). (based on patch
5199 by Alessandro Decina, #314710).
5201 * check/gst/gstbuffer.c: (create_read_only_buffer),
5202 (test_make_writable), (test_subbuffer_make_writable),
5204 Add some tests for gst_buffer_make_writable().
5206 2005-09-27 Wim Taymans <wim@fluendo.com>
5208 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5209 use gst_object_has_ancestor().
5211 * gst/gstobject.c: (gst_object_has_ancestor):
5213 gst_object_has_ancestor() copied from gstbin.c as it is a
5216 * tests/instantiate/create.c: (create_all_elements):
5217 * tests/lat.c: (handoff_src), (handoff_sink):
5218 * tests/sched/runxml.c: (main):
5219 * tests/seeking/seeking1.c: (main):
5220 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5222 Fix compilation of some tests.
5224 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
5227 Remove comment. GST_TYPE_G_ERROR is here to stay,
5228 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5231 2005-09-26 Wim Taymans <wim@fluendo.com>
5233 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5234 Added check that shows error in state change order.
5236 2005-09-26 Wim Taymans <wim@fluendo.com>
5238 * gst/gstbin.c: (gst_bin_change_state):
5239 Make state change function use 3 queues again, we were
5240 adding elements in the wrong order.
5242 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5245 * gst/gstpad.c: (gst_pad_dispose):
5246 Added some debug info first.
5248 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
5250 * docs/design/draft-push-pull.txt:
5251 * docs/design/part-events.txt:
5252 * docs/design/part-overview.txt:
5253 * docs/design/part-scheduling.txt:
5254 Replace all _pull_region() with _pull_range()
5256 2005-09-26 Andy Wingo <wingo@pobox.com>
5258 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5260 * check/gst-libs/controller.c: Update for controller api change.
5263 * tests/Makefile.am:
5264 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5265 over by GLib bug 118439.
5267 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5268 routines to a function.
5270 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5272 * libs/gst/controller/gsthelper.c:
5273 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5274 (gst_object_sync_values): Renamed from sink_values. Ugh.
5276 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5278 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5279 Renamed from controller_key, as it is exported.
5281 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5283 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
5288 * gst/gstpadtemplate.h:
5291 * gst/gstqueryutils.c:
5292 * gst/gstqueryutils.h:
5293 remove queryutils headers after moving the two used functions
5294 to gstquery. also fixes build problem for gstsiddec
5296 2005-09-26 Michael Smith <msmith@fluendo.com>
5298 * tools/gst-launch.1.in:
5299 Correct documentation in manpage of debug syntax
5301 2005-09-26 Wim Taymans <wim@fluendo.com>
5303 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5304 (gst_base_src_is_seekable), (gst_base_src_change_state):
5305 Some more debugging info.
5307 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5309 * docs/gst/gstreamer-sections.txt:
5310 * gst/base/gstbasetransform.h:
5314 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5316 * docs/gst/.cvsignore:
5317 * docs/gst/tmpl/.cvsignore:
5318 * docs/gst/tmpl/gstpipeline.sgml:
5319 * docs/gst/tmpl/gstplugin.sgml:
5320 * gst/gstpipeline.c:
5323 inlined the last two docs files
5324 removed the tmpl directory from cvs (no more conflicts here!)
5326 2005-09-25 Stefan Kost <ensonic@users.sf.net>
5328 * docs/gst/gstreamer-sections.txt:
5329 * docs/gst/tmpl/.cvsignore:
5330 * docs/gst/tmpl/gstpad.sgml:
5331 * docs/gst/tmpl/gstpadtemplate.sgml:
5333 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5334 (gst_pad_finalize), (gst_pad_set_pad_template):
5336 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5337 (gst_pad_template_class_init), (gst_pad_template_init),
5338 (gst_pad_template_dispose), (name_is_valid),
5339 (gst_static_pad_template_get), (gst_pad_template_new),
5340 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5341 (gst_pad_template_pad_created):
5342 * gst/gstpadtemplate.h:
5343 inlined two more docs
5344 factored gstpadtemplate out of gstpad
5346 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
5348 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5349 (test_children_state_change_order_semi_sink):
5350 Fix test case: we can't rely on a fixed state change order when
5351 going from READY => PAUSED because the sink might commit its
5352 new state first when the first buffer created by the source
5353 reaches the sink before the source has finished its change state.
5354 (Test case still fails at times, see #316856, comment 5 onwards)
5356 2005-09-24 Wim Taymans <wim@fluendo.com>
5358 * docs/design/part-events.txt:
5359 * docs/design/part-gstbus.txt:
5360 * docs/design/part-gstpipeline.txt:
5361 * docs/design/part-messages.txt:
5362 * docs/design/part-overview.txt:
5363 * docs/design/part-segments.txt:
5370 * gst/gstiterator.c:
5371 Various documentation updates.
5373 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
5376 Well, that's embarassing. Luckily we weren't using
5377 GST_CLOCK_DIFF anywhere.
5379 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5381 * common/gtk-doc.mak:
5382 don't fail on building XML, FC4 slave shows a bunch of doc
5383 missing bits that I don't get
5385 * gst/gstpipeline.c:
5386 * gst/gststructure.c:
5389 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
5391 * docs/design/part-gstbin.txt:
5392 * docs/design/part-gstbus.txt:
5394 Add blurb about how the bus goes into flushing mode and
5395 drops all messages when its bin goes from READY into NULL
5398 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5400 * docs/gst/gstreamer-sections.txt:
5401 * gst/gststructure.c: (gst_structure_get_clock_time):
5402 * gst/gststructure.h:
5403 add a method to get a GstClockTime out of a structure
5405 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
5407 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5408 (test_children_state_change_order_semi_sink), (gst_bin_suite):
5409 Added test to check state change order in bins (can still be made
5410 to fail here under heavy disk load; bails out with 'Push on pad
5411 fakesink:sink0, but it was not activated in push mode').
5413 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5414 Fix state change order when there is only a semi sink (#316856)
5416 * gst/gstbus.c: (gst_bus_class_init):
5417 Use _class_peek_parent(), not _class_ref(); fix docs to say
5418 'default main context' instead of 'mainloop' where that is
5421 * gst/gstelement.c: (gst_element_commit_state),
5422 (gst_element_set_state):
5423 Fix typos in debug messages
5425 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5428 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5429 * gst/gstpluginfeature.c:
5432 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5433 change an assert into an error until it gets fixed properly
5435 2005-09-23 Stefan Kost <ensonic@users.sf.net>
5437 * docs/gst/gstreamer-sections.txt:
5438 * docs/gst/tmpl/.cvsignore:
5439 * docs/gst/tmpl/gstelement.sgml:
5440 * docs/gst/tmpl/gstinfo.sgml:
5441 * docs/gst/tmpl/gstobject.sgml:
5446 * gst/gstobject.c: (gst_object_class_init):
5448 inlined 3 more biiiig doc files and added some missing docs on the fly
5450 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
5452 * check/gst/.cvsignore:
5453 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5454 * gst/gstregistryxml.c: (load_plugin),
5455 (gst_registry_xml_save_plugin):
5456 put back source in registry. add checks for find_plugin.
5457 * testsuite/states/bin.c: (assert_state), (empty_bin),
5458 (test_adding_one_element), (main):
5459 * testsuite/states/locked.c: (main):
5460 some compile/run fixes
5462 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
5464 * check/gst/gstvalue.c: (GST_START_TEST):
5465 fix leaks in the test itself
5467 2005-09-22 Wim Taymans <wim@fluendo.com>
5469 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5470 (gst_base_sink_send_event), (gst_base_sink_peer_query),
5471 (gst_base_sink_query):
5472 Prepare for more accurate position reporting and query
5475 * gst/gstelement.c: (gst_element_send_event),
5476 (gst_element_set_state):
5479 2005-09-22 Wim Taymans <wim@fluendo.com>
5481 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5482 (gst_query_parse_segment):
5485 Add segment query for future use.
5487 2005-09-22 Wim Taymans <wim@fluendo.com>
5489 * gst/gstbin.c: (gst_bin_add_func):
5490 Some more debug info.
5492 * gst/gstelement.c: (gst_element_send_event):
5496 Don't know how flags got broken.
5501 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
5503 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5504 Add simplistic test suite for GST_TYPE_DATE serialisation and
5507 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
5509 * docs/gst/gstreamer-sections.txt:
5510 * gst/gststructure.c: (gst_structure_set_valist),
5511 (gst_structure_get_date):
5512 * gst/gststructure.h:
5513 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5514 (gst_date_copy), (gst_value_compare_date),
5515 (gst_value_serialize_date), (gst_value_deserialize_date),
5516 (gst_value_transform_date_string),
5517 (gst_value_transform_string_date), (_gst_value_initialize):
5519 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5520 bunch of utility functions along with a hack that checks that
5521 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5522 is required. Part of the grand scheme in #170777.
5524 2005-09-22 Andy Wingo <wingo@pobox.com>
5526 * gst/gstconfig.h.in: Psych out gtk-doc.
5528 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5530 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5532 * tools/gst-inspect.c (print_element_list): Plug some
5533 inconsequential leaks.
5535 * gst/gstregistry.c (gst_registry_get_default): Doc.
5537 * check/gst/gstplugin.c:
5538 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5539 * gst/gstelementfactory.c (gst_element_factory_create):
5540 * gst/gstindexfactory.c (gst_index_factory_create): Update for
5543 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5544 (gst_plugin_feature_load): Doc, don't eat refs.
5546 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5547 (gst_plugin_list_free): Doc.
5548 (gst_plugin_load_file): Doc updates.
5550 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5551 accessors returning refcounted objects, return a ref.
5553 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5554 accessor for caps. IDEMPOTENCE. Oh yes.
5556 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
5558 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5560 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5561 (_gst_debug_register_funcptr):
5562 Add mutex to serialise access to the hash table with
5563 the function pointer => function name string mapping;
5564 make that hash table static scope (#316809).
5566 * gst/registries/.cvsignore:
5567 Remove left-over file.
5569 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
5571 * docs/pwg/appendix-porting.xml:
5572 And something about newsegment events and caps-on-buffers to
5573 the porting guide (feel free to improve).
5575 2005-09-21 Andy Wingo <wingo@pobox.com>
5577 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5578 data and event probes on the same pad.
5579 (test_buffer_probe_once): Test that removing probes from within
5580 the probe functions works.
5582 2005-09-21 Andy Wingo <wingo@pobox.com>
5584 * check/gst/gstutils.c: New file.
5585 (test_buffer_probe_n_times): A simple buffer probe test. More to
5588 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5589 have-data::buffer, not have-data.
5590 (gst_pad_add_event_probe): Likewise for have-data::event.
5591 (gst_pad_add_data_probe): More docs. The part about 'resolving the
5592 peer' isn't quite right yet though.
5593 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
5594 (gst_pad_remove_data_probe): Change to take the guint handler_id
5595 as their arg, not the function+data, which is more glib-like.
5597 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5598 the signal emission to indicate if the data is a buffer or an
5600 (gst_pad_get_type): Initialize buffer and event quarks.
5601 (gst_pad_class_init): have-data is now a detailed signal, yes it
5604 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
5606 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5607 * gst/gstutils.c: (gst_util_set_value_from_string),
5608 (gst_util_set_object_arg):
5609 Don't put functional code in g_return_if_fail() or
5610 g_return_val_if_fail() statements, otherwise things will
5611 break when G_DISABLE_CHECKS is defined during compilation.
5613 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5615 * docs/gst/tmpl/.cvsignore:
5616 * docs/gst/tmpl/gstvalue.sgml:
5619 inlied another one and added some obvious docs
5621 2005-09-21 Wim Taymans <wim@fluendo.com>
5623 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5624 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5625 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5626 (gst_fdsrc_get_property), (gst_fdsrc_create):
5627 * gst/elements/gstfdsrc.h:
5628 Properly implement fdsrc. Removed signal and timeout,
5629 better implemented somewhere else.
5631 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5633 * docs/gst/tmpl/.cvsignore:
5634 * docs/gst/tmpl/gstimplementsinterface.sgml:
5635 * gst/gstinterface.c:
5638 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5640 * docs/gst/gstreamer-sections.txt:
5641 * docs/gst/tmpl/.cvsignore:
5642 * docs/gst/tmpl/gstenumtypes.sgml:
5643 remove obsolete doc file
5645 2005-09-21 David Schleef <ds@schleef.org>
5647 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5648 little beer, fix a little leak.
5650 2005-09-21 Stefan Kost <ensonic@users.sf.net>
5652 * docs/gst/gstreamer-docs.sgml:
5653 * docs/gst/gstreamer-sections.txt:
5654 * docs/gst/tmpl/.cvsignore:
5659 * gst/gstindex.c: (gst_index_class_init):
5661 * gst/gstindexfactory.c: (gst_index_factory_get_type),
5662 (gst_index_factory_class_init), (gst_index_factory_init),
5663 (gst_index_factory_finalize), (gst_index_factory_new),
5664 (gst_index_factory_destroy), (gst_index_factory_find),
5665 (gst_index_factory_create), (gst_index_factory_make):
5666 * gst/gstindexfactory.h:
5667 * gst/gstpluginfeature.c:
5668 * gst/gstpluginfeature.h:
5669 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5670 more docs inlined, splitted gstindex.{c,h}
5672 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
5674 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5677 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
5679 * gst/elements/gstfilesink.c: (gst_file_sink_init):
5680 Set sync to FALSE by default.
5682 2005-09-20 Wim Taymans <wim@fluendo.com>
5684 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5685 (gst_base_sink_init):
5686 Make sync property settable from subclass.
5688 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5689 (gst_fake_sink_change_state):
5690 Set sync to FALSE by default.
5692 2005-09-20 Wim Taymans <wim@fluendo.com>
5694 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5695 * tools/gst-launch.c: (main):
5696 The timeout handler should have lower priority than the source
5697 so we don't timeout before popping a message with 0 timeout.
5698 Dump error messages after failed state change.
5700 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
5702 * tools/gst-inspect.c: (print_element_properties_info):
5705 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
5707 * check/gst/gstevent.c:
5708 * gst/elements/gstfakesink.c:
5709 * gst/elements/gstfakesink.h:
5710 remove the sync property from fakesink.
5711 has the side effect of setting sync TRUE
5712 for fakesink, which is a change. Anyone who knows how
5713 to fix this nicely in a GObject-y way, feel free.
5715 2005-09-20 Stefan Kost <ensonic@users.sf.net>
5717 * docs/gst/gstreamer-docs.sgml:
5718 remove probe refsection
5720 2005-09-20 Stefan Kost <ensonic@users.sf.net>
5722 * check/Makefile.am:
5723 disable valgrinding the controller test again
5724 * docs/gst/gstreamer-sections.txt:
5725 update for api-changes
5727 2005-09-20 Wim Taymans <wim@fluendo.com>
5729 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5730 (gst_base_sink_set_property), (gst_base_sink_get_property),
5731 (gst_base_sink_do_sync):
5732 * gst/base/gstbasesink.h:
5733 Added sync property to basesink to disable clock sync.
5735 2005-09-20 Andy Wingo <wingo@pobox.com>
5737 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5738 eating the caller's refcount.
5740 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
5741 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5744 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5745 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5746 of GLib 2.8 public, so we can know which refcount to check in
5749 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5750 (gst_object_init): Only set the gst refcount if we're going ahead
5751 with the refcount hack.
5753 2005-09-20 Stefan Kost <ensonic@users.sf.net>
5755 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5756 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5757 more leaks plumbed, added more debug-logging
5761 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
5764 remove include of gstmemchunk.h
5766 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
5768 * gst/gstclock.c: (_gst_clock_id_free):
5769 Commit from the Political Party For More Atomic CVS Commits,
5770 so that people don't waste too much of their day fishing
5771 out obvious leaks out of massive commits.
5772 Oh, and fix a pretty damn obvious leak in the memchunk
5775 2005-09-20 Stefan Kost <ensonic@users.sf.net>
5777 * check/Makefile.am:
5778 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5779 plug mem-leak, re-add to valgrindable tests
5781 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
5784 unbreak the build for those who have chronic arthritis
5785 and typing "make check" is just too taxing on the hands
5787 2005-09-20 Andy Wingo <wingo@pobox.com>
5789 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
5790 really want it out, you should fix plugins at the same time.
5792 2005-09-19 Stefan Kost <ensonic@users.sf.net>
5795 * docs/gst/gstreamer-sections.txt:
5797 added missing symbols to api docs
5798 disable ref-count hack if we have glib >= 2.8
5800 2005-09-19 David Schleef <ds@schleef.org>
5802 * docs/gst/Makefile.am: Ignore a few more internal headers
5803 * docs/gst/gstreamer-docs.sgml: Remove old sections
5804 * docs/gst/gstreamer-sections.txt: Remove old sections
5805 * docs/gst/tmpl/gstobject.sgml: update
5806 * docs/gst/tmpl/gstplugin.sgml: update
5807 * docs/gst/tmpl/gstpluginfeature.sgml: update
5808 * docs/random/ds/0.9-suggested-changes: update.
5809 * gst/Makefile.am: remove memchunk and trashstack, since they're
5811 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
5812 * gst/gst.h: don't include some headers
5813 * gst/gstchildproxy.c: add gstmarshal.h
5814 * gst/gstclock.c: Don't use memchunks
5815 * gst/gstminiobject.c: Add some docs
5816 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
5817 * gst/gstobject.h: same
5818 * gst/gstplugin.c: include gstmacros.h
5819 * gst/gstplugin.h: don't include gstmacros.h, since it's private
5820 * gst/gstquery.c: don't use memchunks
5821 * gst/gstregistry.c: rename gst_registry_deinit()
5822 * gst/gstregistry.h: same
5824 2005-09-19 David Schleef <ds@schleef.org>
5826 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
5827 * docs/libs/gstreamer-libs-sections.txt:
5828 * docs/libs/tmpl/gstgetbits.sgml:
5829 * docs/libs/tmpl/gstputbits.sgml:
5831 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
5833 * win32/gstenumtypes.c:
5834 * win32/gstenumtypes.h:
5837 2005-09-19 Wim Taymans <wim@fluendo.com>
5839 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
5840 Automatically PAUSE and RESUME a pipeline when a flushing seek
5843 2005-09-19 Andy Wingo <wingo@pobox.com>
5845 * gst/gstregistry.h: Spacing fixen.
5847 2005-09-19 Wim Taymans <wim@fluendo.com>
5849 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
5850 Handle state change failure more correctly.
5852 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
5854 * check/Makefile.am:
5855 * check/pipelines/cleanup.c: (run_pipeline):
5856 * check/pipelines/simple_launch_lines.c: (run_pipeline),
5858 enable cleanup again after fixing the leak
5860 some more info on docs
5862 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
5864 * check/Makefile.am:
5865 re-enable tests now that leaks are plugged
5867 * check/gst/gstbin.c:
5868 * check/gst/gstpipeline.c:
5869 add some more tests while fixing leaks
5871 make sure binaries are uptodate when valgrinding/gdbing
5873 * gst/gstelementfactory.c:
5874 remove a ref too many, and add a FIXME for when we get
5875 round to disposing of classes
5877 fix the refcounting when loading a plugin from a file and
5878 the code pretends that the pointer is the same even though
5879 of course it can change
5880 * gst/gstpluginfeature.c:
5881 unref plugins marked cached (a bit confusing as a name)
5882 as the docs state should be done
5883 various doc additions to explain refcounting
5884 * gst/gstregistry.c:
5885 * gst/gstregistryxml.c:
5888 2005-09-19 Wim Taymans <wim@fluendo.com>
5890 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5891 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5892 (send_messages), (GST_START_TEST), (gstbus_suite):
5893 * check/gst/gstpipeline.c: (GST_START_TEST):
5894 * check/pipelines/cleanup.c: (run_pipeline):
5895 * check/pipelines/simple_launch_lines.c: (run_pipeline),
5897 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
5898 (gst_bus_source_check), (gst_bus_source_dispatch),
5899 (gst_bus_create_watch), (gst_bus_add_watch_full),
5900 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
5902 * tools/gst-launch.c: (event_loop):
5903 * tools/gst-md5sum.c: (event_loop):
5904 GstBusHandler -> GstBusFunc, return value has the same meaning as
5905 any other GSource (FALSE == remove source).
5906 _add_watch() and _add_watch_full() now take a MessageType mask to
5907 only handle specific types of messages.
5908 _poll() returns the GstMessage instead of the message type to avoid
5910 _have_pending() takes a MessageType mask now too.
5911 Added testsuite for multiple bus watches.
5912 Fix testsuites and applications for new bus API.
5914 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
5916 * check/Makefile.am:
5917 mark a bunch of the tests as to fix until we fix them
5919 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
5922 use GST_PLUGIN settings for valgrind tests as well, so we're
5923 valgrinding the correct thing
5924 * gst/gst.c: (init_post):
5927 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
5929 * gst/gst.c: (init_post), (gst_deinit):
5930 * gst/gstelementfactory.c: (gst_element_factory_class_init),
5931 (gst_element_factory_finalize), (gst_element_factory_cleanup):
5932 * gst/gstindex.c: (gst_index_factory_class_init),
5933 (gst_index_factory_finalize):
5934 * gst/gstobject.c: (gst_object_dispose):
5935 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5936 (gst_plugin_load_file), (gst_plugin_desc_free):
5937 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
5938 (gst_plugin_feature_finalize):
5939 * gst/gstregistry.c: (gst_registry_class_init),
5940 (gst_registry_init), (gst_registry_finalize),
5941 (gst_registry_get_default), (gst_registry_deinit):
5942 * gst/gstregistry.h:
5943 * gst/gstregistryxml.c: (load_feature), (load_plugin):
5944 various cleanups and memleak plugging. make valgrind is happy now.
5946 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
5949 add a check-valgrind target
5951 2005-09-18 David Schleef <ds@schleef.org>
5953 * tools/gst-inspect.c: Revert the GOption code.
5955 2005-09-17 David Schleef <ds@schleef.org>
5957 * check/Makefile.am: Fix environment variables.
5958 * check/gst/gstplugin.c: Fix for API changes.
5959 * tools/gst-inspect.c: Fix for API changes.
5960 * tools/gst-xmlinspect.c: Fix for API changes.
5961 * gst/gstelementfactory.c:
5964 * gst/gstpluginfeature.c:
5965 * gst/gstpluginfeature.h:
5966 * gst/gstregistry.c:
5967 * gst/gstregistry.h:
5968 * gst/gstregistryxml.c:
5969 * gst/gsttypefind.c:
5970 * gst/gsttypefindfactory.c:
5971 * gst/indexers/gstfileindex.c:
5972 * gst/indexers/gstmemindex.c:
5973 * gst/schedulers/Makefile.am:
5974 Change registry to keep track of both plugins and features,
5975 removing the feature tracking from plugins themselves.
5977 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
5979 * check/Makefile.am:
5980 * tools/gst-register.1.in:
5983 2005-09-15 David Schleef <ds@schleef.org>
5985 * check/gst/gstplugin.c:
5986 * gst/gstelementfactory.c:
5988 * gst/gstpluginfeature.c:
5989 * gst/gstregistry.c:
5990 Getting tired of debugging. Disabled all the unreffing of
5991 plugins and features, which fixes the segfaults, but of
5992 course leaks like crazy. At least playbin works.
5994 2005-09-15 David Schleef <ds@schleef.org>
5996 * check/gst/gstplugin.c: (register_check_elements),
5997 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
5999 * gst/elements/gsttypefindelement.c: Fix refcounting.
6000 * gst/gsttypefind.c:
6001 * gst/gsttypefindfactory.c:
6002 * gst/gsttypefindfactory.h:
6004 2005-09-15 David Schleef <ds@schleef.org>
6006 * gst/gstindex.c: get refcounting correct.
6007 * gst/gstregistry.c: Handle the case where a feature/plugin is
6010 2005-09-15 David Schleef <ds@schleef.org>
6012 * check/Makefile.am:
6013 * check/gst/gstplugin.c: Add test
6014 * gst/gstplugin.c: Fix problems noticed by testsuite
6016 * gst/gstregistry.c:
6017 * gst/gstregistry.h:
6019 2005-09-15 David Schleef <ds@schleef.org>
6021 * gst/gstplugin.c: Implement semi-decent recounting and locking
6022 in plugins and plugin features.
6024 * gst/gstpluginfeature.c:
6025 * gst/gstpluginfeature.h:
6026 * gst/gstregistry.c:
6028 2005-09-15 Michael Smith <msmith@fluendo.com>
6030 * gst/gstregistry.c: (gst_registry_get_feature_list):
6031 Implement this. Makes oggdemux work; decodebin still broken.
6033 2005-09-14 David Schleef <ds@schleef.org>
6035 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6037 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6038 * gst/check/Makefile.am:
6039 * libs/gst/controller/Makefile.am:
6040 * libs/gst/dataprotocol/Makefile.am:
6042 2005-09-14 David Schleef <ds@schleef.org>
6044 * configure.ac: Remove getbits library. Nothing uses it, and
6045 it should be in something like liboil if someone did want
6047 * libs/gst/Makefile.am:
6048 * libs/gst/getbits/Makefile.am:
6049 * libs/gst/getbits/gbtest.c:
6050 * libs/gst/getbits/getbits.c:
6051 * libs/gst/getbits/getbits.h:
6052 * libs/gst/getbits/gstgetbits_generic.c:
6053 * libs/gst/getbits/gstgetbits_i386.s:
6054 * libs/gst/getbits/gstgetbits_inl.h:
6056 2005-09-14 David Schleef <ds@schleef.org>
6058 * gst/Makefile.am: Dist glib-compat.h
6060 2005-09-14 David Schleef <ds@schleef.org>
6062 * configure.ac: Remove gst/registries, since it's no longer used.
6063 * gst/registries/Makefile.am:
6064 * gst/registries/gstlibxmlregistry.c:
6065 * gst/registries/gstlibxmlregistry.h:
6066 * gst/registries/gstxmlregistry.c:
6067 * gst/registries/gstxmlregistry.h:
6068 * gst/registries/registrytest.c:
6070 2005-09-14 David Schleef <ds@schleef.org>
6072 * gst/glib-compat.h:
6073 * gst/gstregistryxml.c:
6074 Convergence is near. Seriously.
6076 2005-09-14 David Schleef <ds@schleef.org>
6078 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6079 * gst/glib-compat.h:
6080 Attempt #4 to appease the buildbots.
6082 2005-09-14 David Schleef <ds@schleef.org>
6084 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6087 2005-09-14 David Schleef <ds@schleef.org>
6089 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6092 2005-09-14 David Schleef <ds@schleef.org>
6094 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6097 2005-09-14 David Schleef <ds@schleef.org>
6099 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6100 * gst/glib-compat.h: Add some functions that are in newer versions
6101 of glib than we care to require.
6102 * gst/gstregistryxml.c: Use them.
6104 2005-09-14 David Schleef <ds@schleef.org>
6106 * po/POTFILES.in: remove gst-register.c
6108 2005-09-14 David Schleef <ds@schleef.org>
6110 * docs/gst/gstreamer-docs.sgml:
6111 * docs/gst/gstreamer-sections.txt:
6112 * docs/gst/gstreamer.types:
6113 * docs/gst/tmpl/gstelement.sgml:
6114 * docs/gst/tmpl/gstplugin.sgml:
6115 * docs/gst/tmpl/gstpluginfeature.sgml:
6116 Documentation updates for registry changes.
6118 2005-09-14 David Schleef <ds@schleef.org>
6120 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6121 because we don't require glib-2.8.
6123 2005-09-14 David Schleef <ds@schleef.org>
6125 * gst/gstregistryxml.c: Added. Essentially moved out of the
6126 registries directory.
6128 2005-09-14 David Schleef <ds@schleef.org>
6130 * check/Makefile.am:
6131 * check/generic/states.c:
6135 * gst/gst_private.h:
6136 * gst/gstelementfactory.c:
6141 * gst/gstpluginfeature.c:
6142 * gst/gstpluginfeature.h:
6143 * gst/gstregistry.c:
6144 * gst/gstregistry.h:
6145 * gst/gstregistrypool.c: remove
6146 * gst/gstregistrypool.h: remove
6147 * gst/gsttypefind.c:
6148 * gst/gsttypefindfactory.c:
6150 * tools/Makefile.am:
6151 * tools/gst-compprep.c:
6152 * tools/gst-inspect.c:
6153 * tools/gst-register.c: remove
6154 * tools/gst-xmlinspect.c:
6155 Registry rewrite. Changes registry from being a file created
6156 by a tool into a simple cache file created automatically by
6157 libgstreamer. Removed gst-register (because it's no longer
6158 needed). Remove registry pools, because we only have one
6159 registry implementation (XML). Fix up other subsystems as
6162 2005-09-13 Michael Smith <msmith@fluendo.com>
6164 * gst/gstconfig.h.in:
6165 Don't Use windows linking attributes for MinGW. Fixes #316157
6167 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
6169 * gst/gstutils.c: (set_state_async_thread_func),
6170 (gst_element_set_state_async):
6171 Apparently people think it's better if this function doesn't
6172 try to set the state to whatever state was asked for on the first
6173 call to this function for any object. Seriously.
6175 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6177 * check/gst/gstpipeline.c: (GST_START_TEST):
6178 * docs/gst/gstreamer-sections.txt:
6179 * gst/gstutils.c: (set_state_async_thread_func),
6180 (gst_element_set_state_async):
6182 add a "gst_element_set_state_async" method that
6183 sets the state and starts a thread to make sure the state
6184 change completes as best as it can
6186 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6188 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6189 codify design+behaviour in testsuite after discussion
6191 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
6193 * docs/gst/tmpl/gstelement.sgml:
6194 * docs/manual/appendix-quotes.xml:
6196 * gst/gstelement.c: (gst_element_set_state):
6199 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
6201 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6202 (gst_base_transform_prepare_output_buf),
6203 (gst_base_transform_handle_buffer):
6204 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6205 (gst_capsfilter_prepare_buf):
6206 Remove the requirement for sub-classes to call the parent
6207 implementation of prepare_output_buffer with a wrapper function.
6210 * gst/gsttagsetter.h:
6213 2005-09-11 Stefan Kost <ensonic@users.sf.net>
6215 * docs/gst/gstreamer-sections.txt:
6218 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6220 * docs/gst/gstreamer-sections.txt:
6221 * docs/gst/tmpl/gstelement.sgml:
6222 * docs/gst/tmpl/gstplugin.sgml:
6223 * gst/gstminiobject.c:
6225 docs now stop throwing warnings
6227 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6229 * docs/gst/gstreamer-sections.txt:
6230 * docs/gst/gstreamer.types:
6231 * docs/gst/tmpl/gstpad.sgml:
6232 * docs/gst/tmpl/gsttypes.sgml:
6233 * gst/base/gstadapter.h:
6234 * gst/base/gstbasesink.h:
6235 * gst/base/gstbasesrc.h:
6245 * gst/gststructure.c:
6246 * gst/registries/gstlibxmlregistry.h:
6247 various documentation fixes
6249 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
6251 * docs/gst/gstreamer-sections.txt:
6252 * docs/gst/tmpl/gstvalue.sgml:
6253 rearrange gstvalue section
6254 * gst/gstutils.c: (gst_element_state_get_name):
6256 * gst/gstvalue.c: (_gst_value_initialize):
6260 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
6262 * check/gst-libs/controller.c:
6264 * gst/base/gstbasetransform.c:
6265 (gst_base_transform_default_prepare_buf),
6266 (gst_base_transform_handle_buffer):
6267 * gst/base/gstbasetransform.h:
6268 Some more basetransform changes and fixes to enable sub-classes
6269 that modify buffer metadata only.
6270 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6271 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6272 (gst_capsfilter_prepare_buf):
6273 If the output pad has fixed allowed caps and input buffers
6274 don't have any, set the fixed caps on outgoing buffers.
6276 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
6277 * check/elements/identity.c: (GST_START_TEST):
6278 Make the error a little clearer when the test fails because
6279 identity made a copy of the buffer.
6280 * docs/gst/gstreamer-sections.txt:
6281 New symbols in gstbasetransform.h
6282 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6283 (gst_base_transform_init), (gst_base_transform_transform_size),
6284 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6285 (gst_base_transform_default_prepare_buf),
6286 (gst_base_transform_get_unit_size),
6287 (gst_base_transform_buffer_alloc),
6288 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6289 (gst_base_transform_change_state),
6290 (gst_base_transform_set_passthrough),
6291 (gst_base_transform_set_in_place),
6292 (gst_base_transform_is_in_place):
6293 * gst/base/gstbasetransform.h:
6294 Change BaseTransform to separate in_place operate from same_caps
6295 output. in_place implies that the element can perform the transform
6296 on incoming buffers in-place, even if the caps on the output are
6298 Sub-class elements can now implement special buffer allocation
6299 methods for outgoing buffers if they wish to.
6300 Big documentation addition.
6301 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6302 * gst/elements/gstelements.c:
6303 Changes for basetransform modifications.
6304 * gst/elements/Makefile.am:
6305 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6306 Compile fix. Extra debug output.
6308 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6310 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6312 add tests for valid pad naming
6313 * gst/check/gstcheck.c: (gst_check_log_message_func),
6314 (gst_check_log_critical_func):
6316 remove printing of code, it is fragile when the code contains
6317 % and the line number is enough info
6318 * gst/check/gstcheck.h:
6319 * gst/gstpad.c: (gst_pad_template_new):
6322 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6325 say what CHECK flags we use
6326 * docs/libs/gstreamer-libs.types:
6327 * libs/gst/controller/Makefile.am:
6328 * libs/gst/controller/gst-controller.c:
6329 * libs/gst/controller/gst-controller.h:
6330 * libs/gst/controller/gst-helper.c:
6331 * libs/gst/controller/gst-interpolation.c:
6332 * libs/gst/controller/gstcontroller.c:
6333 * libs/gst/controller/gsthelper.c:
6334 * libs/gst/controller/gstinterpolation.c:
6335 * tools/gst-inspect.c: (print_plugin_info):
6336 we don't use dashes in header names
6338 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
6340 * check/Makefile.am:
6341 * check/gst/.cvsignore:
6342 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6343 (gst_pipeline_suite), (main):
6344 adding a test for pipelines and state changes
6345 * gst/gstutils.c: (get_state_func):
6347 * gstreamer.spec.in:
6350 2005-09-08 Michael Smith <msmith@fluendo.com>
6352 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6353 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6354 (gst_file_src_is_seekable), (gst_file_src_get_size),
6355 (gst_file_src_start):
6356 * gst/elements/gstfilesrc.h:
6357 Various fixes for unseekable, unmmapable, and non-normal files, so
6358 that fallback to read() rather than mmap() works.
6359 * gst/gstevent.c: (gst_event_new_newsegment):
6360 Allow newsegment events with segment_start == segment_end, as will
6361 correctly happen if you use filesrc on a zero-size file, for
6364 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
6366 * gst/gstplugin.c: (gst_plugin_load_file):
6367 Call g_module_close when we don't load the module
6369 * gst/registries/gstlibxmlregistry.c:
6370 (gst_xml_registry_get_property):
6371 Port leak fix from 0.8
6373 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6375 * docs/gst/gstreamer-docs.sgml:
6376 * docs/gst/tmpl/.cvsignore:
6377 * docs/gst/tmpl/gsttrace.sgml:
6378 * docs/gst/tmpl/gsttrashstack.sgml:
6387 * gst/gsttaginterface.c:
6388 * gst/gsttaginterface.h:
6391 * gst/gsttagsetter.c:
6392 * gst/gsttagsetter.h:
6395 * gst/gsttrashstack.c:
6396 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6397 inlined docs for gsttrace, gsttrashstack
6399 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6402 * gst/elements/gstbufferstore.h:
6403 * gst/elements/gsttypefindelement.c:
6404 * gst/elements/gsttypefindelement.h:
6406 * gst/gsttypefind.c:
6407 * gst/gsttypefind.h:
6408 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6409 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6410 (gst_type_find_factory_dispose),
6411 (gst_type_find_factory_unload_thyself),
6412 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6413 (gst_type_find_factory_get_caps),
6414 (gst_type_find_factory_get_extensions),
6415 (gst_type_find_factory_call_function):
6416 * gst/gsttypefindfactory.h:
6417 * gst/registries/gstlibxmlregistry.c:
6418 * gst/registries/gstxmlregistry.c:
6419 splitted gsttypefind into gsttypefind, gsttypefindfactory
6421 2005-09-07 Andy Wingo <wingo@pobox.com>
6423 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6424 condition whereby the pad's task function is entered before the
6425 pad_mode variable was set.
6427 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
6429 * gst/gstpad.c: (gst_pad_alloc_buffer):
6430 Catch misbehaving pad_alloc functions that don't
6431 set up caps and do it for them.
6433 2005-09-07 Stefan Kost <ensonic@users.sf.net>
6435 * check/pipelines/simple_launch_lines.c: (run_pipeline):
6437 * docs/gst/tmpl/.cvsignore:
6438 * docs/gst/tmpl/gstmemchunk.sgml:
6439 * docs/gst/tmpl/gstparse.sgml:
6440 * docs/gst/tmpl/gsttaglist.sgml:
6441 * docs/gst/tmpl/gsttagsetter.sgml:
6442 * docs/gst/tmpl/gsttypefind.sgml:
6443 * docs/gst/tmpl/gsttypefindfactory.sgml:
6444 * gst/gstmemchunk.c:
6447 * gst/gsttaginterface.c:
6448 * gst/gsttypefind.c:
6449 * gst/gsttypefind.h:
6452 === release 0.9.2 ===
6454 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
6459 releasing 0.9.2, "South"
6461 2005-09-05 Andy Wingo <wingo@pobox.com>
6463 * gst/registries/gstxmlregistry.h:
6464 * gst/registries/gstxmlregistry.c: Um... resurrect...
6466 * gst/registries/gstxmlregistry.h:
6467 * gst/registries/gstxmlregistry.c: and update to newer API.
6468 Incidentally they should be a bit faster now that they don't have
6471 2005-09-05 Andy Wingo <wingo@pobox.com>
6473 * gst/registries/gstxmlregistry.h:
6474 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6475 replaced by the libxml registry a while back
6477 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
6479 * docs/gst/tmpl/gstplugin.sgml:
6480 * gst/elements/gstelements.c:
6482 * gst/gstplugin.c: (gst_plugin_register_func),
6483 (gst_plugin_desc_copy), (gst_plugin_desc_free),
6484 (gst_plugin_get_source):
6486 * gst/registries/gstlibxmlregistry.c: (load_plugin),
6487 (gst_xml_registry_save_plugin):
6488 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6489 (gst_xml_registry_save_plugin):
6490 * tools/gst-inspect.c: (print_plugin_info):
6491 add a "source" plugin description field, to represent the source
6492 module this plugin is a part of. By default GST_PLUGIN_DEFINE
6493 will set it to PACKAGE, which is automake's idea of the name of
6496 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
6502 * docs/faq/Makefile.am:
6503 * docs/gst/tmpl/gstelement.sgml:
6504 * docs/gst/tmpl/gsttypes.sgml:
6505 * docs/htmlinstall.mak:
6506 * docs/manual/Makefile.am:
6507 * docs/pwg/Makefile.am:
6508 reorganize doc build a little
6509 split out docbook and gtk-doc stuff
6510 have two separate --enable's and enable them through autogen
6511 but disable by default in configure (to be similar to other
6513 * gstreamer.spec.in:
6514 clean up docs install
6534 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
6536 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6539 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6540 (gst_fake_sink_change_state):
6541 Make state change function thread-safe.
6543 * gst/gstpad.c: (gst_pad_alloc_buffer):
6544 Set offset on generic buffer allocated by fallback.
6546 2005-09-03 Stefan Kost <ensonic@users.sf.net>
6548 * docs/gst/gstreamer-sections.txt:
6549 * docs/gst/tmpl/gstelement.sgml:
6551 * libs/gst/controller/gst-controller.c:
6552 (gst_controlled_property_set_interpolation_mode),
6553 (gst_controlled_property_new),
6554 (gst_controller_find_controlled_property):
6555 run the wingo-magic script against the docs
6557 2005-09-02 Stefan Kost <ensonic@users.sf.net>
6559 * docs/gst/gstreamer-docs.sgml:
6560 * docs/gst/gstreamer-sections.txt:
6561 * docs/gst/tmpl/.cvsignore:
6562 * docs/gst/tmpl/gstelementdetails.sgml:
6563 * docs/gst/tmpl/gstelementfactory.sgml:
6566 * gst/gstelementfactory.c:
6567 * gst/gstelementfactory.h:
6568 merged elementdetails docs into elementfactory docs
6571 2005-09-02 Andy Wingo <wingo@pobox.com>
6573 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6574 consider this enum an enum and not a flags.
6576 2005-09-02 Stefan Kost <ensonic@users.sf.net>
6578 * docs/gst/gstreamer-docs.sgml:
6579 * docs/gst/tmpl/.cvsignore:
6580 * docs/gst/tmpl/gstghostpad.sgml:
6581 * docs/gst/tmpl/gstiterator.sgml:
6582 * docs/gst/tmpl/gstmacros.sgml:
6583 * docs/gst/tmpl/gstrealpad.sgml:
6584 * docs/gst/tmpl/gstregistry.sgml:
6585 * docs/gst/tmpl/gstregistrypool.sgml:
6586 * docs/gst/tmpl/gststructure.sgml:
6587 * docs/gst/tmpl/gstsystemclock.sgml:
6588 * docs/gst/tmpl/gsttrace.sgml:
6589 * gst/gstghostpad.c:
6591 * gst/gstmemchunk.c:
6592 * gst/gstmemchunk.h:
6594 * gst/gstregistry.c:
6595 * gst/gstregistrypool.c:
6596 * gst/gststructure.c:
6597 * gst/gstsystemclock.c:
6600 2005-09-02 Andy Wingo <wingo@pobox.com>
6602 * gst/gstelement.h (GstState): Renamed from GstElementState,
6603 changed to be a normal enum instead of flags.
6604 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6605 munged to be GST_STATE_CHANGE_*.
6606 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6607 work with the new state representation.
6608 (GstStateChange): New enumeration of possible state transitions.
6609 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6610 (GstElementClass::change_state): Pass the GstStateChange along as
6611 an argument. Helps language bindings, so they don't have to use
6612 tricky lock-needing macros like GST_STATE_CHANGE ().
6614 * scripts/update-states (file): New script. Run it on a file to
6615 update it for state naming and API changes. Updates files in
6618 * All files updated for the new API.
6620 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
6622 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6623 * gst/gstutils.c: (gst_util_set_value_from_string),
6624 (gst_util_set_object_arg):
6625 fix a bunch of unchecked return values
6626 * tools/gst-complete.c: (main):
6627 * gstreamer.spec.in:
6630 2005-09-01 Wim Taymans <wim@fluendo.com>
6632 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6633 (gst_base_sink_event), (gst_base_sink_do_sync),
6634 (gst_base_sink_handle_event):
6635 * gst/base/gstbasesink.h:
6636 Handle newsegments more correctly.
6641 * gst/gstevent.c: (gst_event_new_newsegment):
6642 A newsegment cannot have a start_time of -1
6644 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
6646 * win32/gstenumtypes.c:
6647 * win32/gstenumtypes.h:
6650 2005-08-31 Stefan Kost <ensonic@users.sf.net>
6652 * libs/gst/controller/gst-controller.c:
6653 (gst_controlled_property_set_interpolation_mode),
6654 (gst_controlled_property_new):
6657 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
6659 * docs/faq/gst-uninstalled:
6664 * gst/gstutils.c: (gst_element_link_filtered):
6666 add gst_element_link_filtered
6668 2005-08-31 Stefan Kost <ensonic@users.sf.net>
6670 * docs/gst/gstreamer-docs.sgml:
6671 * docs/gst/gstreamer-sections.txt:
6672 * docs/gst/tmpl/.cvsignore:
6673 * docs/gst/tmpl/gsterror.sgml:
6674 * docs/gst/tmpl/gstfilter.sgml:
6675 * docs/gst/tmpl/gsturihandler.sgml:
6676 * docs/gst/tmpl/gsturitype.sgml:
6677 * docs/gst/tmpl/gstutils.sgml:
6678 * docs/gst/tmpl/gstxml.sgml:
6686 inlined more docs, fixed double id-ref
6688 2005-08-31 Wim Taymans <wim@fluendo.com>
6690 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6691 (gst_base_transform_handle_buffer):
6692 Passthrough elements don't need the caps as they don't care.
6694 2005-08-31 Wim Taymans <wim@fluendo.com>
6696 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6697 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6698 Don't leak refcounts on buffers.
6700 2005-08-31 Wim Taymans <wim@fluendo.com>
6702 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6703 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6704 (gst_base_transform_chain), (gst_base_transform_change_state):
6705 * gst/base/gstbasetransform.h:
6706 Handle the case where we are not negotiated more gracefully.
6708 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
6710 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6711 (gst_file_src_map_region):
6712 Set READONLY flag on mmap'ed buffers, otherwise
6713 gst_buffer_make_writable() won't work properly (#314708).
6715 2005-08-31 Wim Taymans <wim@fluendo.com>
6717 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6718 passthrough elements can even do inplace on non writable
6719 buffers (as they don't touch them).
6721 2005-08-31 Stefan Kost <ensonic@users.sf.net>
6723 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6724 (gst_test_mono_source_set_property),
6725 (gst_test_mono_source_class_init), (GST_START_TEST),
6726 (gst_controller_suite):
6727 more tests (hehe I have the most)
6729 describe popping messages whenusing mulltiple sources
6730 * libs/gst/controller/gst-controller.c:
6731 (gst_controlled_property_set_interpolation_mode),
6732 (gst_controlled_property_new):
6733 * libs/gst/controller/gst-controller.h:
6734 * libs/gst/controller/gst-interpolation.c:
6735 implement boolean properties
6737 2005-08-31 Wim Taymans <wim@fluendo.com>
6739 * gst/gstminiobject.c: (gst_mini_object_ref):
6740 Cannot assert that the refcount has to be positive
6741 since a disposed object can be resurrected.
6743 2005-08-31 Wim Taymans <wim@fluendo.com>
6745 * gst/gstpad.c: (gst_pad_init):
6746 Revert change, need to first fix badly behaving
6749 2005-08-30 Wim Taymans <wim@fluendo.com>
6751 * check/elements/fakesrc.c: (setup_fakesrc):
6752 * check/elements/identity.c: (setup_identity):
6753 Activate pads before using them.
6755 2005-08-30 Wim Taymans <wim@fluendo.com>
6757 * gst/base/gstadapter.c: (gst_adapter_flush):
6758 Flushing out 0 bytes is ok for this function.
6760 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6761 no newsegment gives a warning and sets the start/stop to
6764 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6765 (gst_base_transform_set_passthrough):
6768 * gst/gstminiobject.c: (gst_mini_object_ref):
6769 Check refcount here too.
6771 * gst/gstpad.c: (gst_pad_init):
6772 Pads are initially flushing and refusing data.
6774 * gst/gstutils.c: (gst_element_link_pads_filtered):
6775 When adding a capsfilter element make sure it has the
6776 same state as the parent bin.
6778 2005-08-30 Stefan Kost <ensonic@users.sf.net>
6780 * docs/gst/tmpl/.cvsignore:
6781 * docs/gst/tmpl/gstformat.sgml:
6782 * docs/gst/tmpl/gstversion.sgml:
6786 * gst/gstversion.h.in:
6787 more docs and two more inlined
6789 2005-08-30 Wim Taymans <wim@fluendo.com>
6791 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
6792 Don't sync to clock.
6794 2005-08-30 Stefan Kost <ensonic@users.sf.net>
6796 * docs/gst/gstreamer-sections.txt:
6797 ultral33t func10ns deserve to appear in the docs actually
6798 * docs/gst/tmpl/.cvsignore:
6799 * docs/gst/tmpl/gstcompat.sgml:
6800 * docs/gst/tmpl/gstconfig.sgml:
6801 * gst/check/gstcheck.c:
6803 * gst/gstconfig.h.in:
6806 2005-08-30 Stefan Kost <ensonic@users.sf.net>
6808 * docs/gst/tmpl/.cvsignore:
6809 * docs/gst/tmpl/gstquery.sgml:
6810 * docs/gst/tmpl/gstutils.sgml:
6813 inlined and extended docs
6815 2005-08-30 Stefan Kost <ensonic@users.sf.net>
6817 * check/gst-libs/controller.c: (GST_START_TEST),
6818 (gst_controller_suite):
6820 * docs/gst/tmpl/gstutils.sgml:
6821 * docs/libs/gstreamer-libs-sections.txt:
6822 * docs/libs/tmpl/gstdataprotocol.sgml:
6824 * examples/controller/audio-example.c: (main):
6825 controller example works now
6828 * tools/gst-inspect.c: (print_element_properties_info):
6829 show param spec flags
6831 2005-08-29 Andy Wingo <wingo@pobox.com>
6833 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
6835 2005-08-28 Andy Wingo <wingo@pobox.com>
6837 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
6838 as having two arguments instead of just one. Allows superclasses
6839 to access information on subclasses -- see the terrible for() loop
6840 in gtype.c:g_type_create_instance for the reason why. All callers
6843 2005-08-27 Stefan Kost <ensonic@users.sf.net>
6845 * docs/design/part-messages.txt:
6847 * docs/gst/tmpl/.cvsignore:
6848 * docs/gst/tmpl/gstcaps.sgml:
6849 * docs/gst/tmpl/gstclock.sgml:
6856 added descriptions for bus and message
6857 inline caps and clock docs
6859 2005-08-27 Stefan Kost <ensonic@users.sf.net>
6865 2005-08-27 Stefan Kost <ensonic@users.sf.net>
6867 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6870 2005-08-26 Andy Wingo <wingo@pobox.com>
6872 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
6873 element_set_state's return val.
6874 (test_2_elements): Add test that's been disabled for months.
6876 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
6877 can-activate-pull properties.
6879 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
6880 can-activate-pull properties. Implement is_seekable so fakesrc can
6881 operate in pull mode.
6883 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
6885 (gst_base_sink_activate, gst_base_sink_activate_pull)
6886 (gst_base_sink_activate_push): Make activation mode choosing work.
6888 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
6889 is right. Make pull mode work. Post an eos before pausing in pull
6891 (gst_base_sink_change_state): Pay attention to the core's
6892 change_state() return val.
6894 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
6895 has-getrange properties. Cleanups.
6897 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
6898 has_getrange and replace with can_activate_pull and
6901 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
6902 locking comments. Remove has_loop, has_chain and replace with
6903 can_activate_pull and can_activate_push.
6905 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
6908 * examples/Makefile.am:
6909 * examples/metadata/Makefile.am:
6910 * examples/metadata/read-metadata.c: (message_loop),
6911 (have_pad_handler), (make_pipeline), (print_tag), (main):
6912 Add metadata reading example that loops over a list of filenames,
6913 dumping any tags found.
6915 * gst/gstbus.c: (gst_bus_dispose):
6916 * gst/gstelement.c: (gst_element_dispose):
6917 Release a few potentially-held references in dispose.
6919 2005-08-26 Stefan Kost <ensonic@users.sf.net>
6921 * docs/gst/tmpl/gstminiobject.sgml:
6922 do *not* add tmpl/*.sgml files to CVS!
6924 2005-08-26 Stefan Kost <ensonic@users.sf.net>
6926 * libs/gst/bytestream/.cvsignore:
6927 * libs/gst/bytestream/Makefile.am:
6928 * libs/gst/bytestream/adapter.c:
6929 * libs/gst/bytestream/adapter.h:
6930 * libs/gst/bytestream/bytestream.c:
6931 * libs/gst/bytestream/bytestream.h:
6932 * libs/gst/bytestream/filepad.c:
6933 * libs/gst/bytestream/filepad.h:
6934 removing obsolete files
6936 2005-08-26 Stefan Kost <ensonic@users.sf.net>
6938 * docs/gst/gstreamer-docs.sgml:
6939 * docs/libs/gstreamer-libs-docs.sgml:
6940 disabed additional index entries again, as this makes docs-gen just
6941 slow and they aren't useful yet
6942 * docs/libs/gstreamer-libs-sections.txt:
6943 little -section.txt cleanup for libs
6945 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
6947 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6948 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
6949 fix up some debugging
6950 (gst_base_transform_get_unit_size),
6951 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6952 (gst_base_transform_handle_buffer):
6953 * gst/base/gstbasetransform.h:
6954 handle and store timed NEWSEGMENT events so that subclasses that
6955 calculate time by counting samples have a segment_start time they
6956 need to add to their timestamps - see audioresample
6958 2005-08-26 Stefan Kost <ensonic@users.sf.net>
6961 removed ';' from the end of macro defs
6962 * docs/gst/gstreamer-docs.sgml:
6963 * docs/gst/gstreamer-sections.txt:
6964 * docs/gst/tmpl/.cvsignore:
6966 * gst/gstelement.c: (gst_element_class_init),
6967 (gst_element_set_state), (activate_pads),
6968 (gst_element_save_thyself):
6969 * gst/gstevent.c: (gst_event_new_newsegment):
6971 * gst/gstiterator.c:
6972 * gst/gstiterator.h:
6975 * gst/gstutils.c: (gst_pad_query_convert):
6977 fixed parameter name mismatches between source, header and docs
6978 added some more docs, resolved the last batch of unused elements in
6979 docs (now someone needs to doc them)
6981 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
6983 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
6984 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
6985 don't walk through the plugins backwards. Where is all this
6986 reversed logic coming from ?
6988 2005-08-25 Wim Taymans <wim@fluendo.com>
6990 * gst/base/gstbasetransform.c: (gst_base_transform_init),
6991 (gst_base_transform_transform_size),
6992 (gst_base_transform_configure_caps),
6993 (gst_base_transform_get_unit_size),
6994 (gst_base_transform_buffer_alloc),
6995 (gst_base_transform_change_state):
6996 * gst/base/gstbasetransform.h:
6997 Cache caps unit_size.
6998 Make sure we cannot negotiate up and downstream at the
7001 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7003 * gst/gst.c: (init_pre), (init_post):
7004 register the installed plugin path after the env var
7005 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7006 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7007 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7008 directories, so the tests can prefer uninstalled over installed
7010 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
7012 * gst/base/gstbasetransform.h:
7017 2005-08-25 Wim Taymans <wim@fluendo.com>
7019 * gst/gstbin.c: (bin_bus_handler):
7020 Be a bit more conservative about the posted message.
7022 * gst/gstbus.c: (gst_bus_post):
7023 Some cleanups, warn wrong return values.
7025 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
7027 * check/gst/gstbin.c: (GST_START_TEST):
7028 * gst/gstbin.c: (bin_bus_handler):
7029 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7030 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7031 (gst_message_new_warning), (gst_message_new_tag),
7032 (gst_message_new_state_changed), (gst_message_new_segment_start),
7033 (gst_message_new_segment_done), (gst_message_new_custom):
7035 * tools/gst-launch.c: (event_loop):
7036 * tools/gst-md5sum.c: (event_loop):
7037 Revert unpopular change for GST_MESSAGE_SRC to GObject.
7039 2005-08-25 Wim Taymans <wim@fluendo.com>
7041 * check/generic/states.c: (GST_START_TEST):
7042 Cleanup can be done at the end.
7044 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7045 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7046 (gst_task_get_state), (gst_task_start), (gst_task_pause):
7047 Oh boy.. Thanks for finding this, Thomas.
7049 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7051 * docs/gst/gstreamer.types:
7054 2005-08-25 Stefan Kost <ensonic@users.sf.net>
7056 * docs/gst/gstreamer-docs.sgml:
7057 * docs/gst/gstreamer-sections.txt:
7058 * docs/gst/tmpl/.cvsignore:
7060 * gst/gstiterator.c:
7062 * gst/registries/gstxmlregistry.h:
7063 added missing classes and symbols (123 more to go)
7064 removed removed symbols from section file
7065 fixed many doc-comments
7067 2005-08-24 Wim Taymans <wim@fluendo.com>
7069 * check/generic/states.c: (GST_START_TEST):
7070 Make sure all tasks are stopped.
7072 * check/gst/gstbin.c: (GST_START_TEST):
7073 Unref after usage for proper valgrinding.
7075 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7076 Really wait for the task to stop before destroying the
7079 * gst/gstqueue.c: (gst_queue_sink_activate_push),
7080 (gst_queue_src_activate_push):
7081 Small cleanups. Don't stop the task when we did not start
7084 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7085 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7086 (gst_task_get_state), (gst_task_start), (gst_task_pause),
7089 Protect the stream lock with the object lock.
7090 Disallow setting the stream lock when running.
7091 Add cleanup_all to wait for the threadpool to finish.
7092 Remove code to autoallocate a mutex if none was provided.
7093 Add _join() to wait for a task to stop.
7094 Protect the thread pool with a global lock.
7096 2005-08-24 Wim Taymans <wim@fluendo.com>
7098 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7099 (gst_base_sink_get_times), (gst_base_sink_do_sync),
7100 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7101 * gst/base/gstbasesink.h:
7102 Handle newsegment events correctly.
7103 Drop buffers out of the segment range.
7105 2005-08-22 Andy Wingo <wingo@pobox.com>
7107 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7108 macro, implements an interface and gstimplementsinterface for a
7111 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7113 * check/Makefile.am:
7114 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7115 add a test that does a bunch of state changes on elements
7116 needs some fixing for valgrind
7117 * check/states/sinks.c: (gst_object_suite):
7120 add prototype for gst_caps_is_equal_fixed
7122 * gst/gstregistrypool.c:
7125 2005-08-24 Andy Wingo <wingo@pobox.com>
7127 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7128 convert a negative value. Doesn't make much sense. Mostly this is
7129 here to force callers to ensure -1 maps to -1.
7131 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7133 * docs/pwg/advanced-types.xml:
7134 Well done to Michael for catching my deliberate introduction
7135 of this spelling mistake.
7136 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7138 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7139 unlink pads before removing the element from the bin.
7141 2005-08-24 Andy Wingo <wingo@pobox.com>
7143 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7144 the same thing as GST_DEBUG=*:4.
7145 (parse_debug_level, parse_debug_category): New helper parsers.
7147 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
7149 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7150 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7151 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7152 (gst_base_transform_buffer_alloc),
7153 (gst_base_transform_handle_buffer):
7154 use gboolean return values and pointers to size so we can use the
7155 full GST_BUFFER_SIZE range (guint) for buffer sizes
7156 use GstPadDirection for transform_caps
7157 * gst/base/gstbasetransform.h:
7158 rename get_size to get_unit_size since that's what it is
7159 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7160 use GstPadDirection for transform_caps
7161 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7163 cleanup and debugging
7165 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7167 * gst/gstelement.c: (gst_element_class_init),
7168 (gst_element_set_state), (activate_pads),
7169 (gst_element_save_thyself):
7170 * tools/gst-compprep.c: (main):
7171 * tools/gst-inspect.c: (print_element_properties_info):
7172 * tools/gst-xmlinspect.c: (print_element_properties):
7173 Fixed long standing mem-leak
7175 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7177 * check/gst/gstbin.c: (GST_START_TEST):
7178 * gst/gstbin.c: (bin_bus_handler):
7179 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7180 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7181 (gst_message_new_warning), (gst_message_new_tag),
7182 (gst_message_new_state_changed), (gst_message_new_segment_start),
7183 (gst_message_new_segment_done), (gst_message_new_custom):
7185 * tools/gst-launch.c: (event_loop):
7186 * tools/gst-md5sum.c: (event_loop):
7187 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7188 that applications can sensibly post custom messages with references
7189 to their own objects.
7191 2005-08-24 Andy Wingo <wingo@pobox.com>
7193 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7196 2005-08-24 Wim Taymans <wim@fluendo.com>
7198 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7199 (gst_base_transform_transform_caps),
7200 (gst_base_transform_transform_size),
7201 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7202 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7203 (gst_base_transform_handle_buffer):
7204 * gst/base/gstbasetransform.h:
7205 Many fixes and new features added by Thomas. Can now also do
7206 transforms with variable sizes and a custom fixate_caps function.
7208 2005-08-24 Wim Taymans <wim@fluendo.com>
7210 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7214 Cast to ClockTime before formatting to time.
7219 2005-08-24 Stefan Kost <ensonic@users.sf.net>
7221 * check/gst-libs/controller.c: (GST_START_TEST),
7222 (gst_controller_suite):
7223 * docs/gst/tmpl/gstcaps.sgml:
7224 * docs/gst/tmpl/gstghostpad.sgml:
7225 * docs/gst/tmpl/gstquery.sgml:
7226 * docs/gst/tmpl/gstutils.sgml:
7227 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7228 (gst_object_sink_values), (gst_object_get_value_arrays),
7229 (gst_object_get_value_array):
7230 gracefully handle helper method calls to objects that are not beeing
7231 controlled, added test case for that
7233 2005-08-23 Wim Taymans <wim@fluendo.com>
7235 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7236 (gst_event_new_newsegment), (gst_event_parse_newsegment),
7237 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7238 (gst_event_parse_qos), (gst_event_new_seek),
7239 (gst_event_parse_seek):
7241 Some more debugging output and doc cleanups.
7243 * gst/gstqueue.c: (gst_queue_handle_sink_event):
7244 Fix possible deadlock.
7246 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7248 * docs/gst/gstreamer-docs.sgml:
7249 * docs/gst/gstreamer-sections.txt:
7250 * docs/gst/gstreamer.types:
7251 * docs/gst/tmpl/.cvsignore:
7256 added 100 symbols from gstreamer-unused.txt to the right sections
7257 fixed more broken comments
7258 added GstBus to docs
7260 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7262 * docs/gst/gstreamer-sections.txt:
7263 * docs/gst/tmpl/.cvsignore:
7264 * docs/gst/tmpl/gstbin.sgml:
7265 * docs/gst/tmpl/gstbuffer.sgml:
7266 * gst/base/gstbasesrc.c:
7267 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7270 * tools/gst-launch.1.in:
7271 inlined more doc comments, added missing comments and fixed comments
7274 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
7276 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7280 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7282 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7283 * gst/gststructure.h:
7284 add a fixate function for booleans; add a FIXME that these func
7285 names should probably be gst_structure_fixate_*
7287 2005-08-23 Stefan Kost <ensonic@users.sf.net>
7289 * docs/gst/gstreamer-docs.sgml:
7290 * docs/gst/gstreamer-sections.txt:
7292 * gst/gstbin.c: (gst_bin_get_type),
7293 (gst_bin_child_proxy_get_child_by_index),
7294 (gst_bin_child_proxy_get_children_count),
7295 (gst_bin_child_proxy_init):
7296 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7297 (gst_child_proxy_get_child_by_index),
7298 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7299 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7300 (gst_child_proxy_get), (gst_child_proxy_set_property),
7301 (gst_child_proxy_set_valist), (gst_child_proxy_set),
7302 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7303 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7304 * gst/gstchildproxy.h:
7305 * gst/parse/grammar.y:
7306 * tools/gst-inspect.c: (print_interfaces),
7307 (print_element_properties_info), (print_element_info):
7308 ported gstchildproxy over from 0.8
7309 ported gst-inspect fixes and enhancements over from 0.8
7311 2005-08-22 Wim Taymans <wim@fluendo.com>
7313 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7314 (gst_base_transform_handle_buffer):
7315 Also call the transform function if we have ANY caps.
7317 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7320 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
7322 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7323 Don't pretend to handle seek events if the source is not seekable
7325 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
7327 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7328 Remove extra parameter to debug output
7330 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7331 (gst_base_src_do_seek), (gst_base_src_activate_push):
7332 Fix seek event handling.
7334 * gst/gstpipeline.c: (gst_pipeline_change_state):
7335 * gst/gstqueue.c: (gst_queue_handle_sink_event),
7336 (gst_queue_src_activate_push):
7337 Don't start the src pad task on FLUSH_STOP if the pad
7341 2005-08-22 Wim Taymans <wim@fluendo.com>
7343 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7344 Added check for gst_static_caps_get() refcounting.
7346 2005-08-22 Wim Taymans <wim@fluendo.com>
7348 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7349 Make _static_caps_get() refcounting sane.
7351 * gst/gstelement.c: (gst_element_set_state):
7352 Add g_return_val_if_fail() to protect against segfaults.
7354 2005-08-22 Stefan Kost <ensonic@users.sf.net>
7356 * docs/gst/tmpl/gstevent.sgml:
7359 inlined remaining docs, added missing doc comments
7361 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
7363 * check/gst/gstbin.c: (GST_START_TEST):
7364 since we don't know when preroll is done, use refcount range
7366 * gst/check/gstcheck.h:
7367 add macro for checking refcount range
7369 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
7371 * check/Makefile.am:
7372 clean up environment for when registry gets built versus
7373 when actual tests are run; valgrind seems to not report
7374 leaks if GST_PLUGIN_PATH is set to some specific values
7375 * check/gst/gstbin.c: (GST_START_TEST):
7376 add more refcounting checks; maybe this exposes a
7379 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7380 * gst/check/gstcheck.h:
7381 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7382 (gst_bin_change_state):
7383 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7384 add/fix debugging/whitespace
7386 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
7388 * check/gst/gstevent.c: (event_probe), (test_event),
7390 Er, don't call gst_bin_watch_for_state_change you idiot.
7392 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
7394 * check/Makefile.am:
7395 Use CHECK_CFLAGS and CHECK_LIBS
7396 * check/gst/gstevent.c: (event_probe), (test_event),
7399 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7400 (gst_base_src_start), (gst_base_src_stop),
7401 (gst_base_src_activate_push), (gst_base_src_activate_pull),
7402 (gst_base_src_change_state):
7403 Sprinkle gst_base_src_stop liberally around error paths to fix
7404 problems reusing a source after failed state changes.
7405 * gst/base/gsttypefindhelper.c: (helper_find_peek),
7406 (helper_find_suggest), (gst_type_find_helper):
7407 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7409 * docs/gst/tmpl/gstevent.sgml:
7410 Migrate part of the docs from the SGML file. Wait for ensonic to
7411 tell me how I did it wrong ;)
7412 * tools/gst-typefind.c: (main):
7413 Extra robustness to state changes between files.
7415 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
7417 * check/Makefile.am:
7418 don't valgrind the controller test - it's leaking - Stefan, HELP
7419 * gst/check/gstcheck.c: (gst_check_message_error),
7420 (gst_check_chain_func), (gst_check_setup_element),
7421 (gst_check_teardown_element), (gst_check_setup_src_pad),
7422 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7423 (gst_check_teardown_sink_pad):
7424 * gst/check/gstcheck.h:
7425 add a bunch of methods to set up elements, and src and sink pads
7426 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7427 * check/elements/identity.c: (setup_identity), (cleanup_identity),
7432 whitespace/doc fixes
7434 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7437 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7438 be handled by the application and not always printed as well
7440 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7442 * check/Makefile.am:
7444 * gst/check/gstcheck.c: (gst_check_message_error):
7445 * gst/check/gstcheck.h:
7446 add a fail_unless_equals_int
7447 add fail_unless for error messages
7449 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7451 * check/Makefile.am:
7453 * common/Makefile.am:
7456 factor out some of the common stuff so we can use it
7458 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7460 * check/Makefile.am:
7461 * check/gst/gstiterator.c: (GST_START_TEST):
7462 * check/gst/gstsystemclock.c: (GST_START_TEST),
7463 (gst_systemclock_suite):
7464 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7468 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
7470 * check/elements/.cvsignore:
7471 * check/elements/gstfakesrc.c:
7472 rename to name of element
7473 * check/elements/identity.c: (chain_func), (event_func),
7474 (setup_identity), (cleanup_identity), (GST_START_TEST),
7475 (identity_suite), (main):
7476 add a test for identity
7477 * check/Makefile.am:
7478 * pkgconfig/Makefile.am:
7479 * pkgconfig/gstreamer-check.pc.in:
7480 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7484 move the check stuff to a library that gets installed
7485 * check/gst-libs/controller.c: (GST_START_TEST):
7486 * check/gst-libs/gdp.c:
7487 * check/gst/gst.c: (GST_START_TEST):
7488 * check/gst/gstbin.c:
7489 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7490 * check/gst/gstbus.c:
7491 * check/gst/gstcaps.c: (GST_START_TEST):
7492 * check/gst/gstelement.c:
7493 * check/gst/gstghostpad.c:
7494 * check/gst/gstiterator.c:
7495 * check/gst/gstmessage.c:
7496 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7497 * check/gst/gstobject.c:
7498 * check/gst/gstpad.c: (GST_START_TEST):
7499 * check/gst/gststructure.c: (GST_START_TEST):
7500 * check/gst/gstsystemclock.c: (GST_START_TEST),
7501 (gst_systemclock_suite):
7502 * check/gst/gsttag.c: (gst_tag_suite):
7503 * check/gst/gstvalue.c:
7504 * check/pipelines/cleanup.c:
7505 * check/pipelines/simple_launch_lines.c:
7506 * check/states/sinks.c:
7507 change include statement
7509 * docs/gst/gstreamer-sections.txt:
7510 * docs/gst/tmpl/gstpad.sgml:
7511 document more pad stuff
7512 * gst/gstminiobject.c: (gst_mini_object_ref),
7513 (gst_mini_object_unref):
7516 2005-08-19 Stefan Kost <ensonic@users.sf.net>
7518 * docs/gst/tmpl/gst.sgml:
7520 eliminate another tmpl file, fix spelling in the long-description
7522 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7524 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7525 (test_event), (timediff), (gstevents_suite):
7526 Should fix build on 64-bit arch's
7528 2005-08-18 Andy Wingo <wingo@pobox.com>
7530 Make sure that when a pipeline goes to PLAYING, that data has
7531 actually hit the sink.
7533 * check/states/sinks.c (test_sink): A sink that doesn't get any
7534 data shouldn't return SUCCESS for going to either PLAYING or
7535 PAUSED. Test also the return values on the way back down.
7537 * gst/gstelement.c (gst_element_set_state): When changing the
7538 state of an element currently changing state asynchronously, go to
7539 lost-state after commiting the pending state. Makes future calls
7540 to get_state continue to return ASYNC.
7542 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7543 ASYNC when going to PLAYING if we still don't have preroll, as can
7544 happen with live sources.
7546 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7548 * docs/pwg/advanced-types.xml:
7549 Hack long paragraph into 2 chunks as a workaround for buggy
7550 jadetex version in sid and breezy that loops infinitely and
7553 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7555 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7556 (test_event), (timediff), (gstevents_suite):
7557 Provide more error margin in clock measurements to allow for
7558 g_get_current_time inaccuracies.
7560 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7562 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7563 (test_event), (timediff), (gstevents_suite):
7564 Fix error message output so I might be able to tell why the
7565 test works here but fails on the build farm.
7567 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
7569 * check/Makefile.am:
7570 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7571 (test_event), (timediff), (gstevents_suite), (main):
7574 * docs/design/part-seeking.txt:
7577 * docs/gst/tmpl/gstevent.sgml:
7578 * docs/gst/tmpl/gstfakesrc.sgml:
7581 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7582 Treat a buffer-without-newsegment the same as a receiving
7583 a newsegment not in time format, and disable syncing to the clock
7586 * gst/gstbus.c: (gst_bus_set_sync_handler):
7587 Assert if anyone tries to replace the existing sync_handler for bus,
7588 as only the owner should be setting it.
7591 Have a fixed set of custom event enums with events identified by
7592 their structure name (as in 0.8), rather than a free-for-all
7593 allowing collisions between enum values from different plugins.
7595 * gst/gstpad.c: (gst_pad_class_init):
7598 * gst/gstqueue.c: (gst_queue_handle_sink_event):
7599 Handle out-of-band downstream events from the sending thread.
7601 2005-08-17 Andy Wingo <wingo@pobox.com>
7603 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7604 play-timeout==0 to mean no timeout at all. In that case, don't
7605 bother with a get_state or a warning, just return directly, even
7608 * gst/base/gstbasetransform.c: Debug changes.
7611 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7612 ensure bins post state change messages. A bit of a hack but I can't
7613 think of a way to avoid it.
7615 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7617 2005-08-16 Andy Wingo <wingo@pobox.com>
7619 * gst/base/gstadapter.h:
7620 * gst/base/gstadapter.c (gst_adapter_take): New function, like
7621 peek() but you own the data. Not terribly efficient atm.
7623 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7625 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7626 (gst_element_found_tags):
7628 Add two utility functions for tag handling.
7630 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7632 * docs/manual/advanced-dataaccess.xml:
7633 * docs/manual/basics-helloworld.xml:
7634 Fix docs to use _bin_add() before _link(), which fixes the examples
7635 with recent core versions (reported by Madhan Raj M
7636 <raj_madan@rediffmail.com>, #313199).
7638 2005-08-16 Wim Taymans <wim@fluendo.com>
7640 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7641 Added subtract checks.
7643 * docs/design/part-events.txt:
7644 Some more docs about newsegment
7646 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7649 * gst/gstcaps.c: (gst_caps_to_string):
7650 Add comments, cleanups.
7652 * gst/gstelement.c: (gst_element_save_thyself):
7655 * gst/gstvalue.c: (gst_value_collect_int_range),
7656 (gst_string_unwrap), (gst_value_union_int_int_range),
7657 (gst_value_union_int_range_int_range),
7658 (gst_value_intersect_int_int_range),
7659 (gst_value_intersect_int_range_int_range),
7660 (gst_value_intersect_double_double_range),
7661 (gst_value_intersect_double_range_double_range),
7662 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7663 (gst_value_subtract_int_range_int),
7664 (gst_value_subtract_double_range_double),
7665 (gst_value_subtract_double_range_double_range),
7666 (gst_value_subtract_from_list), (gst_value_subtract_list),
7667 (gst_value_can_compare), (gst_value_compare_fraction):
7668 Cleanups, add comments, remove unneeded asserts.
7670 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
7672 * tools/gst-launch.c: (event_loop):
7673 don't convert NULL structures to strings
7675 2005-08-15 Stefan Kost <ensonic@users.sf.net>
7677 * docs/gst/gstreamer-sections.txt:
7678 made some defines private
7679 * docs/gst/tmpl/gstconfig.sgml:
7680 * docs/gst/tmpl/gstqueue.sgml:
7681 * docs/gst/tmpl/gsttaglist.sgml:
7682 * docs/gst/tmpl/gsttypes.sgml:
7683 * docs/gst/tmpl/gstutils.sgml:
7684 * docs/pwg/appendix-porting.xml:
7685 * gst/base/gstbasesink.h:
7686 * gst/base/gstbasesrc.c:
7687 * gst/base/gstbasesrc.h:
7688 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7689 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7690 * gst/gstelement.c: (gst_element_class_init):
7691 * gst/gstpad.c: (gst_pad_class_init):
7692 * gst/gstqueue.c: (gst_queue_class_init):
7693 * gst/gstxml.c: (gst_xml_class_init):
7694 documented all undocumented signal inline
7695 * libs/gst/controller/gst-controller.h:
7698 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7700 * docs/pwg/appendix-porting.xml:
7701 Document _set_link_function -> _set_setcaps_function.
7703 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
7705 * check/Makefile.am:
7706 add a .check target for running the check
7707 * check/gst-libs/controller.c: (GST_START_TEST):
7709 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7710 complete checks for gstbuffer; would be nice if I could get the
7711 gcov stuff to work so I can see if I actually completed gstbuffer.c
7713 add ASSERT_BUFFER_REFCOUNT
7715 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
7717 * docs/gst/gstreamer-sections.txt:
7718 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7720 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7721 spew out a warning if a tag that is already registered
7722 is re-registered, unless it is re-registered with a
7723 different type (#308438).
7725 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
7727 * docs/pwg/appendix-porting.xml:
7728 * docs/pwg/building-state.xml:
7729 Add some paragraphs about state changes in 0.9 to the PWG
7730 and the porting guide, in particular about the new meaning
7731 of GST_STATE_PAUSED and how to write state change functions
7732 with concurrent access by multiple threads in mind.
7734 2005-08-11 Stefan Kost <ensonic@users.sf.net>
7736 * docs/gst/gstreamer-docs.sgml:
7737 * docs/libs/gstreamer-libs-docs.sgml:
7738 added deprecation and since indexes
7739 * libs/gst/controller/gst-controller.c:
7740 * libs/gst/controller/gst-helper.c:
7744 2005-08-11 Wim Taymans <wim@fluendo.com>
7746 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7747 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7748 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7749 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7750 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7751 (gst_ghost_pad_set_target):
7752 Actually implement (re)setting the target on a ghostpad
7753 as described in the docs.
7755 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
7757 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7758 Check whether GST_DEBUG_NO_COLOR environment variable is
7759 set and disable coloured debug output if that is the case.
7761 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
7763 * gst/base/gsttypefindhelper.c: (helper_find_peek),
7764 (gst_type_find_helper):
7765 The memory returned by gst_type_find_peek() needs to
7766 stay valid until the end of a typefind function, and
7767 typefind functions may keep results from different
7768 offsets around, so we can't just unref the buffer from
7769 the previous _peek(), but have to save all buffers
7770 returned by _peek() until typefinding is done and only
7773 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
7775 * docs/gst/gstreamer-sections.txt:
7777 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
7779 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7781 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7782 Fix a pretty good memleak.
7784 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
7786 * gst/gstiterator.h:
7787 Fix wrong include and 'make distcheck'.
7789 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7791 * gst/gstbin.c: (bin_bus_handler):
7792 Use gst_element_post_message() instead.
7794 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
7796 * gst/base/gstadapter.h:
7797 * gst/base/gstbasesink.h:
7798 * gst/base/gstbasesrc.h:
7799 * gst/base/gstbasetransform.h:
7800 * gst/base/gstcollectpads.h:
7801 * gst/base/gstpushsrc.h:
7802 * gst/gstiterator.h:
7803 Add padding to our base elements' class and instance structs and
7804 to GstIterator (you will need to rebuild all plugins and apps!)
7806 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7808 * gst/gstbin.c: (bin_bus_handler):
7809 Make default message forwarding from child->bus to bin->bus
7810 threadsafe and make it not emit warnings if the parent has no bus.
7812 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7814 * gst/gstelement.c: (activate_pads):
7815 On paused->ready, set pad->caps to NULL, as is the documented
7816 behaviour in this state change. Fixes playback of series of
7817 media files when visualization is enabled in Totem.
7819 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7821 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7822 Allow NULL as filter-caps (which means "any").
7824 2005-08-05 Stefan Kost <ensonic@users.sf.net>
7826 * docs/libs/gstreamer-libs-sections.txt:
7827 * libs/gst/controller/gst-controller.c:
7828 * libs/gst/controller/gst-controller.h:
7829 * libs/gst/controller/gst-helper.c:
7830 adding more entries to the docs and fix small doc-bugs
7832 2005-08-05 Stefan Kost <ensonic@users.sf.net>
7834 * docs/gst/gstreamer-docs.sgml:
7835 * docs/gst/gstreamer-sections.txt:
7836 * docs/gst/gstreamer.types:
7837 * docs/gst/tmpl/gstbasesink.sgml:
7838 * docs/gst/tmpl/gstbasesrc.sgml:
7839 * docs/gst/tmpl/gstbasetransform.sgml:
7840 * docs/gst/tmpl/gstfakesrc.sgml:
7841 * gst/base/gstcollectpads.c:
7842 * gst/base/gstcollectpads.h:
7843 * libs/gst/controller/gst-controller.c:
7844 * libs/gst/controller/gst-controller.h:
7845 * libs/gst/controller/gst-helper.c:
7846 * libs/gst/controller/gst-interpolation.c:
7847 * libs/gst/controller/lib.c:
7848 added long/short desc for controller docs
7849 added collectpads base class docs
7850 added correct includes to base-class docs
7852 2005-08-05 Stefan Kost <ensonic@users.sf.net>
7854 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7855 (gst_test_mono_source_set_property),
7856 (gst_test_mono_source_class_init), (GST_START_TEST),
7857 (gst_controller_suite):
7858 * docs/gst/gstreamer-docs.sgml:
7859 * docs/gst/gstreamer-sections.txt:
7860 * docs/gst/gstreamer.types:
7861 * docs/libs/gstreamer-libs-docs.sgml:
7862 * docs/libs/gstreamer-libs-sections.txt:
7863 * gst/base/gstadapter.c:
7864 * libs/gst/controller/gst-controller.c:
7865 (gst_controlled_property_new), (gst_controlled_property_free),
7866 (gst_controller_new_valist),
7867 (gst_controller_remove_properties_valist),
7868 (gst_controller_sink_values), (_gst_controller_finalize):
7869 * libs/gst/controller/gst-controller.h:
7870 * libs/gst/controller/gst-helper.c:
7871 (gst_object_control_properties), (gst_object_uncontrol_properties),
7872 (gst_object_get_controller), (gst_object_set_controller),
7873 (gst_object_sink_values), (gst_object_get_value_arrays),
7874 (gst_object_get_value_array):
7875 more tests (and fixes) for the controller
7876 more docs for the controller
7877 integrated companies docs for the adapter
7879 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
7881 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
7882 (GST_START_TEST), (fakesrc_suite):
7883 add tests for sizetype
7885 2005-08-04 Andy Wingo <wingo@pobox.com>
7887 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
7888 fixes buffer_alloc proxying among other things.
7890 * gst/base/gstbasetransform.c:
7891 * gst/base/gstbasetransform.h:
7892 Revert patch to gstbasetransform from 7-28 removing
7895 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
7896 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
7897 Semantics changed, should return not the size of the output buffer
7898 but the byte size of a buffer with a given caps.
7900 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
7902 (gst_base_transform_configure_caps): Don't set out_size here: (in,
7903 out) are not the pad caps until setcaps finishes.
7904 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
7905 not-in-place case as well. Deal with changing from in-place to
7906 not-in-place within calling pad_alloc_buffer. Still a bit
7907 concerned about the overhead here...
7909 2005-08-03 Andy Wingo <wingo@pobox.com>
7911 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
7912 fixating is an error.
7914 2005-08-04 Edward Hervey <edward@fluendo.com>
7916 * gst/base/gstadapter.h:
7917 Added gst_adapter_get_type() to the header
7919 2005-08-03 Stefan Kost <ensonic@users.sf.net>
7921 * check/Makefile.am:
7922 * check/gst-libs/controller.c:
7923 * libs/gst/controller/gst-controller.c:
7924 (gst_controller_new_valist):
7925 added check test suite for the controller
7926 * gst/base/gstpushsrc.c:
7929 2005-08-03 Stefan Kost <ensonic@users.sf.net>
7931 * docs/gst/Makefile.am:
7932 * docs/gst/gstreamer-docs.sgml:
7933 * docs/gst/gstreamer-sections.txt:
7934 * docs/gst/gstreamer.types:
7935 * docs/gst/tmpl/gstfakesrc.sgml:
7937 * gst/base/gstbasesink.c:
7938 * gst/base/gstbasesink.h:
7939 * gst/base/gstbasesrc.c:
7940 * gst/base/gstbasesrc.h:
7941 * gst/base/gstbasetransform.c:
7942 * gst/base/gstpushsrc.c:
7943 * gst/base/gstpushsrc.h:
7944 add short/long description docs to base classes
7945 add pushsrc to the docs
7946 remove consolidated doc fragments
7948 2005-08-03 Stefan Kost <ensonic@users.sf.net>
7951 * docs/libs/Makefile.am:
7952 * docs/libs/gstreamer-libs-docs.sgml:
7953 * docs/libs/gstreamer-libs-sections.txt:
7954 * docs/libs/gstreamer-libs.types:
7955 * examples/Makefile.am:
7956 * examples/controller/.cvsignore:
7957 * examples/controller/Makefile.am:
7958 * examples/controller/audio-example.c: (main):
7959 * libs/gst/Makefile.am:
7960 * libs/gst/controller/.cvsignore:
7961 * libs/gst/controller/Makefile.am:
7962 * libs/gst/controller/gst-controller.c:
7963 (on_object_controlled_property_changed), (gst_timed_value_compare),
7964 (gst_timed_value_find),
7965 (gst_controlled_property_set_interpolation_mode),
7966 (gst_controlled_property_new), (gst_controlled_property_free),
7967 (gst_controller_find_controlled_property),
7968 (gst_controller_new_valist), (gst_controller_new),
7969 (gst_controller_remove_properties_valist),
7970 (gst_controller_remove_properties), (gst_controller_set),
7971 (gst_controller_set_from_list), (gst_controller_unset),
7972 (gst_controller_get), (gst_controller_get_all),
7973 (gst_controller_sink_values), (gst_controller_get_value_arrays),
7974 (gst_controller_get_value_array),
7975 (gst_controller_set_interpolation_mode),
7976 (_gst_controller_finalize), (_gst_controller_init),
7977 (_gst_controller_class_init), (gst_controller_get_type):
7978 * libs/gst/controller/gst-controller.h:
7979 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
7980 (g_object_uncontrol_properties), (g_object_get_controller),
7981 (g_object_set_controller), (g_object_sink_values),
7982 (g_object_get_value_arrays), (g_object_get_value_array):
7983 * libs/gst/controller/gst-interpolation.c:
7984 (gst_controlled_property_find_timed_value_node),
7985 (interpolate_none_get), (interpolate_trigger_get),
7986 (interpolate_trigger_get_value_array):
7987 * libs/gst/controller/lib.c: (gst_controller_init):
7988 * pkgconfig/Makefile.am:
7989 * pkgconfig/gstreamer-control-uninstalled.pc.in:
7990 * pkgconfig/gstreamer-control.pc.in:
7991 * testsuite/Makefile.am:
7992 * testsuite/controller/.cvsignore:
7993 * testsuite/controller/Makefile.am:
7994 * testsuite/controller/interpolator.c: (main):
7995 added controller code
7996 removed dparam pc files
7998 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
7999 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8000 (gst_collectpads_stop):
8001 Broadcast the condition when shutting down, to make sure we wake all
8002 threads up. Shut down pads on finalize, for safety.
8004 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
8005 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8006 (gst_base_transform_handle_buffer),
8007 (gst_base_transform_change_state):
8008 Handle PAUSED->READY->PAUSED transition after negotiation
8010 * gst/gstmessage.c: (gst_message_init):
8011 Extra piece of debug for new messages.
8013 2005-08-01 Stefan Kost <ensonic@users.sf.net>
8016 * docs/gst/tmpl/gstbasesrc.sgml:
8017 * docs/gst/tmpl/gstelement.sgml:
8018 * docs/gst/tmpl/gstevent.sgml:
8019 * docs/gst/tmpl/gstfakesrc.sgml:
8020 * docs/gst/tmpl/gstformat.sgml:
8021 * docs/gst/tmpl/gstghostpad.sgml:
8022 * docs/gst/tmpl/gstpad.sgml:
8023 * docs/gst/tmpl/gstquery.sgml:
8024 * docs/gst/tmpl/gststructure.sgml:
8025 * docs/gst/tmpl/gsttaglist.sgml:
8026 * docs/gst/tmpl/gstvalue.sgml:
8027 * docs/libs/gstreamer-libs-docs.sgml:
8028 * docs/libs/gstreamer-libs-sections.txt:
8029 * docs/libs/gstreamer-libs.types:
8030 * libs/gst/Makefile.am:
8031 * libs/gst/control/.cvsignore:
8032 * libs/gst/control/Makefile.am:
8033 * libs/gst/control/control.c:
8034 * libs/gst/control/control.h:
8035 * libs/gst/control/dparam.c:
8036 * libs/gst/control/dparam.h:
8037 * libs/gst/control/dparam_smooth.c:
8038 * libs/gst/control/dparam_smooth.h:
8039 * libs/gst/control/dparamcommon.h:
8040 * libs/gst/control/dparammanager.c:
8041 * libs/gst/control/dparammanager.h:
8042 * libs/gst/control/dplinearinterp.c:
8043 * libs/gst/control/dplinearinterp.h:
8044 * libs/gst/control/unitconvert.c:
8045 * libs/gst/control/unitconvert.h:
8046 * testsuite/Makefile.am:
8047 * testsuite/dynparams/.cvsignore:
8048 * testsuite/dynparams/Makefile.am:
8049 * testsuite/dynparams/dparamstest.c:
8050 * tools/Makefile.am:
8051 * tools/gst-inspect.c: (print_element_info), (main):
8052 * tools/gst-xmlinspect.c: (print_element_info), (main):
8053 deactivate and remove dparams (libgstcontrol)
8055 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8057 * gst/elements/gsttypefindelement.c:
8058 (gst_type_find_element_have_type), (gst_type_find_element_init),
8059 (stop_typefinding), (gst_type_find_element_handle_event),
8060 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8061 * gst/elements/gsttypefindelement.h:
8062 Set caps on all outgoing buffers, not just the first one.
8064 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8066 * gst/elements/gsttypefindelement.c:
8067 (gst_type_find_element_have_type),
8068 (gst_type_find_element_check_set_buffer_caps),
8069 (gst_type_find_element_init), (stop_typefinding),
8070 (gst_type_find_element_handle_event),
8071 (gst_type_find_element_chain), (gst_type_find_element_getrange):
8072 * gst/elements/gsttypefindelement.h:
8073 Set caps on first outgoing buffer when we've found the type.
8075 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
8077 * docs/gst/gstreamer-docs.sgml:
8078 * docs/gst/gstreamer-sections.txt:
8079 * docs/gst/tmpl/gstscheduler.sgml:
8080 * docs/gst/tmpl/gstschedulerfactory.sgml:
8081 Remove some old cruft from docs.
8083 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
8086 Fix inline docs for GstPadLinkReturn.
8088 * gst/gststructure.c: (gst_structure_has_name):
8089 * gst/gststructure.h:
8090 * docs/gst/gstreamer-sections.txt:
8091 New API: gst_structure_has_name().
8093 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
8096 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8097 and _LARGEFILE_SOURCE in config.h as required. Do not
8098 export those flags in our .pc files any longer (#142209).
8100 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8102 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8103 (gst_file_sink_do_seek), (gst_file_sink_event),
8104 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8105 Redo seek/tell calls with large file support in mind; add some
8106 debugging messages; add log message that tells us when large
8107 file support is unavailable or not enabled for some reason.
8109 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8110 Add log message that tells us when large file support
8111 is unavailable or not enabled for some reason.
8113 2005-07-29 Wim Taymans <wim@fluendo.com>
8115 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8116 Added test for removing an element with ghostpad from a bin.
8117 Fixed test as current implementation does the right thing.
8119 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8120 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8121 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8122 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8123 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8124 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8125 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8126 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8127 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8128 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8129 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8130 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8131 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8132 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8133 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8134 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8135 * gst/gstghostpad.h:
8136 Clean up ghostpads, remove properties for internal stuff.
8139 Prepare for switching targets, not all use cases work yet.
8141 2005-07-29 Wim Taymans <wim@fluendo.com>
8143 * docs/design/part-gstghostpad.txt:
8146 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8147 (gst_bin_remove_func):
8148 Unlinking pads while holding the bin LOCK is not a good
8151 * gst/gstpad.c: (gst_pad_class_init),
8152 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8153 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8154 No prob setting template after creating the pad.
8156 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
8158 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8159 (gst_bus_peek), (gst_bus_source_dispatch),
8160 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8161 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8162 gst_bus_poll may be called from other threads. Handle
8163 this nicely by not making poll_data disappear off the
8164 stack once gst_bus_poll returns.
8165 gst_bus_peek now increments the refcount on the returned
8168 2005-07-29 Wim Taymans <wim@fluendo.com>
8170 * docs/design/part-gstghostpad.txt:
8171 Overview of current GhostPad datastructures and use
8172 cases for changing the target.
8174 2005-07-28 Wim Taymans <wim@fluendo.com>
8176 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8177 Added checks for hierarchy consistency whan adding linked
8180 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8181 Added check to test element scheduling without bin/pipeline.
8183 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8184 First add elements to bin, then link.
8186 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8187 (gst_bin_remove_func):
8188 Unlink pads from elements added/removed from bin to maintain
8189 hierarchy consistency.
8191 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8193 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8194 (gst_base_transform_handle_buffer):
8195 * gst/base/gstbasetransform.h:
8196 Remove broken delay_configure (fixes renegotiation of software
8197 scaling pipelines); remove some leftover printf()s.
8199 2005-07-28 Wim Taymans <wim@fluendo.com>
8201 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8202 Added some more tests for wrong hierarchy
8204 * docs/design/part-overview.txt:
8207 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8210 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8211 (gst_element_dispose):
8214 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8215 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8216 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8217 (gst_pad_set_caps), (gst_pad_send_event):
8218 Check for correct hierarchy when linking pads. Moving to
8219 strict requirement for ghostpads when linking elements in
8223 Clean ups. Added WRONG_HIERARCHY return value.
8225 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8227 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8228 Better debug if no transform is possible.
8230 2005-07-27 Wim Taymans <wim@fluendo.com>
8232 * docs/random/wtay/network-transp:
8235 2005-07-27 Wim Taymans <wim@fluendo.com>
8237 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8238 (gst_dp_event_from_packet):
8239 Fix serialization of seek events.
8241 2005-07-27 Wim Taymans <wim@fluendo.com>
8243 * check/gst-libs/gdp.c: (GST_START_TEST):
8244 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8245 Fix compilation and fix event serialization.
8247 2005-07-27 Wim Taymans <wim@fluendo.com>
8250 * docs/design/part-TODO.txt:
8251 * docs/design/part-events.txt:
8254 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8255 (gst_base_sink_event), (gst_base_sink_do_sync),
8256 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8257 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8258 (gst_base_src_do_seek), (gst_base_src_event_handler),
8259 (gst_base_src_loop):
8260 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8261 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8262 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8263 (gst_base_transform_event), (gst_base_transform_handle_buffer),
8264 (gst_base_transform_set_passthrough),
8265 (gst_base_transform_is_passthrough):
8266 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8267 * gst/elements/gstfilesink.c: (gst_file_sink_event):
8273 * gst/gstelement.c: (gst_element_seek):
8275 Update gst_element_seek.
8277 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8278 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8279 (gst_event_new_flush_start), (gst_event_new_flush_stop),
8280 (gst_event_new_eos), (gst_event_new_newsegment),
8281 (gst_event_parse_newsegment), (gst_event_new_tag),
8282 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8283 (gst_event_parse_qos), (gst_event_new_seek),
8284 (gst_event_parse_seek), (gst_event_new_navigation):
8286 Make GstEvent use GstStructure. Add parsing code, make sure the
8287 API is sufficiently generic.
8288 Mark possible directions of events and serialization.
8290 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8291 (_gst_message_copy), (gst_message_new_segment_start),
8292 (gst_message_new_segment_done), (gst_message_new_custom),
8293 (gst_message_parse_segment_start),
8294 (gst_message_parse_segment_done):
8297 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8298 (gst_pad_set_caps), (gst_pad_send_event):
8299 Update for new events.
8300 Catch events sent in wrong directions.
8302 * gst/gstqueue.c: (gst_queue_link_src),
8303 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8304 (gst_queue_handle_src_query):
8309 Remove event code from this file.
8311 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8312 (gst_dp_event_from_packet):
8315 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8317 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8318 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8319 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8320 Make debugging actually useful.
8322 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8324 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8325 (gst_pad_fixate_caps):
8326 Implement default fixation once again, so that gst_pad_fixate()
8327 actually does anything at all. This probably needs to be some
8328 sort of a last resort, and use profile-based fixation first, but
8329 since that doesn't exist yet, this is the best we have. Fixes
8330 visualization in Totem.
8332 2005-07-22 Wim Taymans <wim@fluendo.com>
8334 * docs/design/part-events.txt:
8337 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8338 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8339 (gst_base_sink_activate_pull):
8342 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8343 (gst_fake_src_create):
8344 Fix handoff marshall.
8346 * gst/elements/gstidentity.c: (gst_identity_class_init),
8347 (gst_identity_transform_ip):
8348 We're a real inplace element.
8350 * gst/gstbus.c: (gst_bus_post):
8351 Added some comments.
8353 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8354 * tests/muxing/case1.c: (main):
8355 * tests/sched/dynamic-pipeline.c: (main):
8356 * tests/sched/interrupt1.c: (main):
8357 * tests/sched/interrupt2.c: (main):
8358 * tests/sched/interrupt3.c: (main):
8359 * tests/sched/runxml.c: (main):
8360 * tests/sched/sched-stress.c: (main):
8361 * tests/seeking/seeking1.c: (event_received), (main):
8362 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8364 * tests/threadstate/threadstate3.c: (main):
8365 * tests/threadstate/threadstate4.c: (main):
8366 * tests/threadstate/threadstate5.c: (main):
8369 2005-07-21 Wim Taymans <wim@fluendo.com>
8371 * docs/design/part-seeking.txt:
8372 Some small additions.
8374 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8375 (gst_base_sink_get_times), (gst_base_sink_do_sync),
8376 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8377 * gst/base/gstbasesink.h:
8378 discont values are gint64, handle the math correctly.
8380 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8381 Make the basesrc report error if the source pad is not linked.
8383 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8384 (gst_queue_loop), (gst_queue_handle_src_query),
8385 (gst_queue_src_activate_push):
8386 Make queue collect data even if the srcpad is not linked.
8387 Start pushing out data as soon as it is linked.
8389 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8391 Added gst_flow_get_name() to ease error reporting.
8393 2005-07-20 Wim Taymans <wim@fluendo.com>
8395 * gst/gstmessage.c: (gst_message_new_segment_start),
8396 (gst_message_new_segment_done), (gst_message_parse_segment_start),
8397 (gst_message_parse_segment_done):
8399 Added a bunch of messages for advanced seeking.
8401 * gst/parse/grammar.y:
8402 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8403 (gst_dpman_state_changed):
8404 Fix some new-pad -> pad-added signals
8406 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8408 * docs/manual/appendix-porting.xml:
8409 * docs/pwg/appendix-porting.xml:
8410 Document new-pad/state-change signal renames and the FixedList
8413 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8415 * docs/manual/advanced-autoplugging.xml:
8416 * docs/manual/basics-helloworld.xml:
8417 * docs/manual/basics-pads.xml:
8418 * docs/random/ds/0.9-suggested-changes:
8419 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8424 * gst/gststructure.c: (gst_structure_value_get_generic_type),
8425 (gst_structure_parse_array), (gst_structure_parse_value):
8426 * gst/gstvalue.c: (gst_type_is_fixed),
8427 (gst_value_list_prepend_value), (gst_value_list_append_value),
8428 (gst_value_list_get_size), (gst_value_list_get_value),
8429 (gst_value_transform_array_string), (gst_value_serialize_array),
8430 (gst_value_deserialize_array), (gst_value_intersect_array),
8431 (gst_value_is_fixed), (_gst_value_initialize):
8433 GstElement::new-pad -> pad-added, GstElement::state-change ->
8434 state-changed, GstValueFixedList -> GstValueArray, add format and
8435 flags as their own arguments in gst_element_seek() (should improve
8436 "bindeability"), remove function generators since they don't work
8437 under a whole bunch of compilers (they were deprecated already
8440 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8442 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8443 (_gst_debug_register_funcptr):
8445 Fix illegal cast on some platforms (#309253).
8447 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8449 * gst/gstmessage.c: (gst_message_new_custom):
8451 Add _new_custom, make _new_application a macro to _new_custom.
8453 2005-07-20 Wim Taymans <wim@fluendo.com>
8455 * gst/base/gstbasesrc.c: (gst_base_src_init),
8456 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8457 * gst/base/gstbasesrc.h:
8458 Add a gboolean to decide when to push out a discont.
8460 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8461 (gst_queue_loop), (gst_queue_handle_src_query),
8462 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8463 (gst_queue_set_property), (gst_queue_get_property):
8466 * tests/threadstate/threadstate1.c: (main):
8467 Make a thread test compile and run... very silly..
8470 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8472 * docs/manual/appendix-porting.xml:
8473 Mention removal of libgstgconf-0.9.la and existence of gconf
8476 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8478 * docs/pwg/advanced-clock.xml:
8479 * docs/pwg/appendix-porting.xml:
8480 * docs/pwg/intro-preface.xml:
8481 * docs/pwg/other-base.xml:
8482 * docs/pwg/other-manager.xml:
8483 * docs/pwg/other-nton.xml:
8484 * docs/pwg/other-ntoone.xml:
8485 * docs/pwg/other-oneton.xml:
8487 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8488 demuxer), remove n-to-n (was never written), fix some code examples
8489 and links and update the porting section to include all this.
8491 2005-07-19 Wim Taymans <wim@fluendo.com>
8493 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8494 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8495 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8496 (gst_queue_src_activate_push), (gst_queue_change_state),
8497 (gst_queue_get_property):
8499 Propagate GstFlowReturn more intelligently upstream and output
8500 an ERROR/EOS when streaming stopped due to fatal error.
8502 2005-07-19 Wim Taymans <wim@fluendo.com>
8504 * tools/gst-launch.c: (check_intr), (event_loop), (main):
8505 Don't block forever for the state change to complete, the
8506 pipeline already did with a sensible timeout.
8508 2005-07-19 Wim Taymans <wim@fluendo.com>
8510 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8511 Make sure we never call the create function is we
8514 2005-07-19 Andy Wingo <wingo@pobox.com>
8516 * gst/parse/parse.l: Attempt to solve bug #172815.
8518 2005-07-19 Wim Taymans <wim@fluendo.com>
8520 * docs/design/part-clocks.txt:
8521 * docs/design/part-events.txt:
8522 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8524 Only update the seeking values when we are not
8527 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
8529 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8530 Oops, ignore the result of gst_pad_push_event here.
8532 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
8534 * gst/base/gstbasesrc.c: (gst_base_src_loop),
8535 (gst_base_src_activate_push):
8536 Send discont event from the loop function, as pads
8537 aren't activated yet in the activate_push handler.
8539 * gst/gstbin.c: (bin_bus_handler):
8540 Don't leak element name.
8542 2005-07-18 Andy Wingo <wingo@pobox.com>
8544 * configure.ac: Use AS_LIBTOOL_TAGS.
8546 2005-07-18 Wim Taymans <wim@fluendo.com>
8548 * docs/gst/gstreamer.types:
8549 Remove deleted types.
8551 2005-07-18 Wim Taymans <wim@fluendo.com>
8553 * check/elements/gstfakesrc.c: (GST_START_TEST):
8556 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8557 (init_popt_callback):
8559 * gst/gst_private.h:
8560 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8561 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8564 * gst/gstconfig.h.in:
8565 * gst/gstelement.c: (gst_element_class_init),
8566 (gst_element_set_base_time), (gst_element_get_base_time),
8567 (iterator_fold_with_resync), (gst_element_change_state),
8568 (gst_element_dispose), (gst_element_get_bus):
8570 * gst/gstelementfactory.h:
8571 * gst/gsterror.c: (_gst_core_errors_init):
8574 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8576 * gst/gstinfo.c: (_gst_debug_init):
8577 * gst/gstmessage.c: (_gst_message_copy):
8579 * gst/gstminiobject.h:
8582 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8583 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8586 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8587 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8588 (gst_pipeline_get_last_stream_time):
8589 * gst/gstpipeline.h:
8590 * gst/gstpluginfeature.h:
8592 * gst/gstscheduler.c:
8593 * gst/gstscheduler.h:
8594 * gst/gststructure.h:
8595 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8596 (gst_task_finalize), (gst_task_func), (gst_task_create),
8597 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8598 (gst_task_stop), (gst_task_pause):
8600 * gst/gsttypefind.h:
8602 * gst/registries/gstlibxmlregistry.c: (load_feature),
8603 (gst_xml_registry_load), (gst_xml_registry_save_feature):
8604 * gst/registries/gstxmlregistry.c:
8605 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8606 * gst/schedulers/threadscheduler.c:
8607 * libs/gst/control/dparammanager.h:
8608 * tools/gst-inspect.c: (print_element_list),
8609 (print_plugin_features), (print_element_features):
8610 * tools/gst-xmlinspect.c: (print_element_list),
8611 (print_plugin_info), (main):
8612 Removed plugable schedulers.
8613 Removed Scheduler/Manager from elements.
8614 Removed gsttypes.h, rearranged includes.
8615 Removed dependency pad<->element, element<>pipeline, and
8616 various others, fix includes.
8617 implement gst_pad_get_parent() with gst_object_get_parent()
8618 Make GstTask sefcontained.
8619 Fix _get_state() on GstBin, it did not return ASYNC with a 0
8621 Fix endless loop in iterator_fold_with_resync.
8624 2005-07-18 Wim Taymans <wim@fluendo.com>
8630 2005-07-18 Wim Taymans <wim@fluendo.com>
8635 2005-07-18 Wim Taymans <wim@fluendo.com>
8641 2005-07-18 Wim Taymans <wim@fluendo.com>
8643 * docs/design/part-dynamic.txt:
8644 * docs/design/part-events.txt:
8645 * docs/design/part-seeking.txt:
8646 Some more docs in the works.
8648 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8649 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8650 (gst_base_transform_setcaps), (gst_base_transform_get_size),
8651 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8652 (gst_base_transform_handle_buffer),
8653 (gst_base_transform_sink_activate_push),
8654 (gst_base_transform_src_activate_pull),
8655 (gst_base_transform_set_passthrough),
8656 (gst_base_transform_is_passthrough):
8659 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8662 * gst/gstevent.c: (gst_event_finalize):
8665 * gst/gstutils.c: (gst_element_unlink),
8666 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8667 (gst_pad_proxy_setcaps):
8669 Add _get_parent_element() to get a pads parent as an element.
8671 2005-07-18 Wim Taymans <wim@fluendo.com>
8673 * check/gst/gstbin.c: (GST_START_TEST):
8676 2005-07-18 Wim Taymans <wim@fluendo.com>
8678 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8679 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8680 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8681 (gst_base_sink_event), (gst_base_sink_do_sync),
8682 (gst_base_sink_chain), (gst_base_sink_loop),
8683 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8684 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8686 Fix logic for returning ASYNC when not prerolled.
8688 2005-07-18 Wim Taymans <wim@fluendo.com>
8690 * gst/gstqueue.c: (gst_queue_handle_sink_event):
8691 Fix nasty refcount bug.
8693 2005-07-16 Philippe Khalaf <burger@speedy.org>
8695 * gst/elements/gstfdsrc.c:
8696 * gst/elements/gstfdsrc.h:
8697 * gst/elements/gstelements.c:
8698 * gst/elements/Makefile.am:
8699 Ported fdsrc to 0.9.
8701 2005-07-16 Wim Taymans <wim@fluendo.com>
8703 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8704 (gst_base_sink_do_sync):
8707 2005-07-16 Wim Taymans <wim@fluendo.com>
8709 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8710 (gst_base_sink_event), (gst_base_sink_get_times),
8711 (gst_base_sink_do_sync), (gst_base_sink_change_state):
8712 * gst/base/gstbasesink.h:
8713 Store and use discont values when syncing buffers as described
8716 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8717 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8718 (gst_base_src_activate_push):
8719 Push discont event when starting.
8721 * gst/elements/gstidentity.c: (gst_identity_transform):
8724 * gst/gstbin.c: (gst_bin_change_state):
8725 Small cleanups in base_time distribution.
8727 * gst/gstelement.c: (gst_element_set_base_time),
8728 (gst_element_get_base_time), (gst_element_change_state):
8730 Added methods for the base_time of the element.
8733 * gst/gstpipeline.c: (gst_pipeline_send_event),
8734 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8735 (gst_pipeline_get_last_stream_time):
8736 * gst/gstpipeline.h:
8738 Handle seeking as described in design doc, remove stream_time
8740 Cleanups clock and stream_time selection code. Added accessors
8741 for the stream_time.
8744 2005-07-16 Andy Wingo <wingo@pobox.com>
8746 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8749 2005-07-16 Wim Taymans <wim@fluendo.com>
8751 * check/gst/gstbin.c: (GST_START_TEST):
8752 Make elements silent as the deep_notify refs the
8753 parent, which might make the test fail.
8755 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8756 Don't hold the lock for too long.
8758 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
8760 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8761 Don't unref the caps we passed to gst_caps_make_writable() after
8762 passing them. gst_caps_make_writable() will do that for us.
8764 2005-07-15 Andy Wingo <wingo@pobox.com>
8766 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8769 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
8770 own marshalling function for the handoff signal. Properly type the
8771 buffer as a buffer. Fixes some warnings. Should do a more general
8773 (gst_identity_class_init): Plug into the right marshaller.
8775 2005-07-15 Wim Taymans <wim@fluendo.com>
8777 * docs/design/part-TODO.txt:
8778 * docs/design/part-clocks.txt:
8779 * docs/design/part-element-sink.txt:
8780 * docs/design/part-events.txt:
8781 * docs/design/part-gstpipeline.txt:
8782 Updated docs, mostly DISCONT related.
8784 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
8786 * docs/pwg/building-pads.xml:
8787 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
8789 2005-07-15 Andy Wingo <wingo@pobox.com>
8791 * tools/gst-typefind.c: Update, add copyright block.
8793 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
8794 Normalize and truncate caps before fixation.
8797 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
8798 discards all but the first structure from its argument.
8800 2005-07-15 Wim Taymans <wim@fluendo.com>
8802 * gst/base/gstbasetransform.c: (gst_base_transform_init),
8803 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
8804 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8805 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8806 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
8807 (gst_base_transform_chain), (gst_base_transform_change_state),
8808 (gst_base_transform_set_passthrough),
8809 (gst_base_transform_is_passthrough):
8810 * gst/base/gstbasetransform.h:
8811 Make passthrough work using the bufferpools.
8812 Changed API a bit, subclasses have to write into a buffer
8813 provided by the base class.
8814 More debug info in nego functions.
8816 * gst/elements/gstidentity.c: (gst_identity_init),
8817 (gst_identity_transform):
8818 Port to new base class.
8820 2005-07-15 Wim Taymans <wim@fluendo.com>
8822 * gst/gstmessage.c: (gst_message_new_state_changed):
8823 * tools/gst-launch.c: (event_loop), (main):
8824 Totally dump messages in -launch with the -m option.
8825 Fix message name for State messages,
8827 2005-07-14 Wim Taymans <wim@fluendo.com>
8829 * gst/base/gstbasesrc.c: (gst_base_src_loop):
8830 Post error messages on errors.
8832 2005-07-14 Wim Taymans <wim@fluendo.com>
8834 * gst/gstcaps.c: (gst_caps_do_simplify):
8838 Define error for stream stopped.
8840 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8841 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
8842 Do proper return values.
8844 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8845 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
8846 (gst_pad_get_range):
8847 Better return values.
8850 Reorganise return values, add macro to check for fatal errors.
8852 * gst/gstqueue.c: (gst_queue_chain):
8853 Return proper GstFlowReturn values,
8855 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
8857 * docs/gst/gstreamer-sections.txt:
8858 * docs/gst/gstreamer.types:
8859 * docs/gst/tmpl/gst.sgml:
8860 * docs/gst/tmpl/gstbasesink.sgml:
8861 * docs/gst/tmpl/gstbasesrc.sgml:
8862 * docs/gst/tmpl/gstbasetransform.sgml:
8863 * docs/gst/tmpl/gstbin.sgml:
8864 * docs/gst/tmpl/gstbuffer.sgml:
8865 * docs/gst/tmpl/gstcaps.sgml:
8866 * docs/gst/tmpl/gstclock.sgml:
8867 * docs/gst/tmpl/gstcompat.sgml:
8868 * docs/gst/tmpl/gstconfig.sgml:
8869 * docs/gst/tmpl/gstelement.sgml:
8870 * docs/gst/tmpl/gstelementdetails.sgml:
8871 * docs/gst/tmpl/gstelementfactory.sgml:
8872 * docs/gst/tmpl/gstenumtypes.sgml:
8873 * docs/gst/tmpl/gsterror.sgml:
8874 * docs/gst/tmpl/gstevent.sgml:
8875 * docs/gst/tmpl/gstfakesink.sgml:
8876 * docs/gst/tmpl/gstfakesrc.sgml:
8877 * docs/gst/tmpl/gstfilesink.sgml:
8878 * docs/gst/tmpl/gstfilesrc.sgml:
8879 * docs/gst/tmpl/gstfilter.sgml:
8880 * docs/gst/tmpl/gstformat.sgml:
8881 * docs/gst/tmpl/gstghostpad.sgml:
8882 * docs/gst/tmpl/gstimplementsinterface.sgml:
8883 * docs/gst/tmpl/gstindex.sgml:
8884 * docs/gst/tmpl/gstindexfactory.sgml:
8885 * docs/gst/tmpl/gstinfo.sgml:
8886 * docs/gst/tmpl/gstiterator.sgml:
8887 * docs/gst/tmpl/gstmacros.sgml:
8888 * docs/gst/tmpl/gstmemchunk.sgml:
8889 * docs/gst/tmpl/gstminiobject.sgml:
8890 * docs/gst/tmpl/gstobject.sgml:
8891 * docs/gst/tmpl/gstpad.sgml:
8892 * docs/gst/tmpl/gstpadtemplate.sgml:
8893 * docs/gst/tmpl/gstparse.sgml:
8894 * docs/gst/tmpl/gstpipeline.sgml:
8895 * docs/gst/tmpl/gstplugin.sgml:
8896 * docs/gst/tmpl/gstpluginfeature.sgml:
8897 * docs/gst/tmpl/gstquery.sgml:
8898 * docs/gst/tmpl/gstqueue.sgml:
8899 * docs/gst/tmpl/gstregistry.sgml:
8900 * docs/gst/tmpl/gstregistrypool.sgml:
8901 * docs/gst/tmpl/gstscheduler.sgml:
8902 * docs/gst/tmpl/gstschedulerfactory.sgml:
8903 * docs/gst/tmpl/gststructure.sgml:
8904 * docs/gst/tmpl/gstsystemclock.sgml:
8905 * docs/gst/tmpl/gsttaglist.sgml:
8906 * docs/gst/tmpl/gsttagsetter.sgml:
8907 * docs/gst/tmpl/gsttrace.sgml:
8908 * docs/gst/tmpl/gsttrashstack.sgml:
8909 * docs/gst/tmpl/gsttypefind.sgml:
8910 * docs/gst/tmpl/gsttypefindfactory.sgml:
8911 * docs/gst/tmpl/gsttypes.sgml:
8912 * docs/gst/tmpl/gsturihandler.sgml:
8913 * docs/gst/tmpl/gsturitype.sgml:
8914 * docs/gst/tmpl/gstutils.sgml:
8915 * docs/gst/tmpl/gstvalue.sgml:
8916 * docs/gst/tmpl/gstversion.sgml:
8917 * docs/gst/tmpl/gstxml.sgml:
8918 * docs/libs/tmpl/gstcontrol.sgml:
8919 * docs/libs/tmpl/gstdataprotocol.sgml:
8920 * docs/libs/tmpl/gstdparam.sgml:
8921 * docs/libs/tmpl/gstdplinint.sgml:
8922 * docs/libs/tmpl/gstdpman.sgml:
8923 * docs/libs/tmpl/gstdpsmooth.sgml:
8924 * docs/libs/tmpl/gstgetbits.sgml:
8925 * docs/libs/tmpl/gstunitconvert.sgml:
8926 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
8927 (gst_push_src_base_init), (gst_push_src_class_init),
8928 (gst_push_src_init), (gst_push_src_create):
8929 * gst/base/gstpushsrc.h:
8930 * gst/elements/gstelements.c:
8931 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
8932 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
8933 (gst_fake_sink_init), (gst_fake_sink_set_property),
8934 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
8935 (gst_fake_sink_event), (gst_fake_sink_preroll),
8936 (gst_fake_sink_render), (gst_fake_sink_change_state):
8937 * gst/elements/gstfakesink.h:
8938 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8939 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8940 (gst_fake_src_base_init), (gst_fake_src_class_init),
8941 (gst_fake_src_init), (gst_fake_src_event_handler),
8942 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
8943 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
8944 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
8945 (gst_fake_src_create_buffer), (gst_fake_src_create),
8946 (gst_fake_src_start), (gst_fake_src_stop):
8947 * gst/elements/gstfakesrc.h:
8948 * gst/elements/gstfilesink.c: (_do_init),
8949 (gst_file_sink_base_init), (gst_file_sink_class_init),
8950 (gst_file_sink_init), (gst_file_sink_dispose),
8951 (gst_file_sink_set_location), (gst_file_sink_set_property),
8952 (gst_file_sink_get_property), (gst_file_sink_open_file),
8953 (gst_file_sink_close_file), (gst_file_sink_query),
8954 (gst_file_sink_event), (gst_file_sink_render),
8955 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
8956 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
8957 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
8958 * gst/elements/gstfilesink.h:
8959 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
8960 (gst_file_src_class_init), (gst_file_src_init),
8961 (gst_file_src_finalize), (gst_file_src_set_location),
8962 (gst_file_src_set_property), (gst_file_src_get_property),
8963 (gst_file_src_map_region), (gst_file_src_map_small_region),
8964 (gst_file_src_create_mmap), (gst_file_src_create_read),
8965 (gst_file_src_create), (gst_file_src_is_seekable),
8966 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
8967 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
8968 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
8969 (gst_file_src_uri_handler_init):
8970 * gst/elements/gstfilesrc.h:
8971 more autistic cleanliness in functions/names/defines
8973 2005-07-13 Andy Wingo <wingo@pobox.com>
8975 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
8976 source couldn't negotiate.
8978 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
8982 * gst/gstutils.c (gst_element_link_pads_filtered): New old
8983 function. I am channeling Hades. Put your boots on suckers!!!
8985 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
8987 * testsuite/caps/Makefile.am:
8988 * testsuite/caps/value_compare.c:
8989 * testsuite/caps/value_intersect.c:
8990 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8991 move two testsuite apps over to the check dir
8993 2005-07-12 Wim Taymans <wim@fluendo.com>
8995 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8996 Added more debug info in the negotiate process.
8999 Prepare for segment playback.
9001 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9007 * tools/gst-launch.c: (main):
9008 NULL pipeline on errors.
9010 2005-07-12 Andy Wingo <wingo@pobox.com>
9012 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9013 not it comes from a malloc region. Make sure our copy gets freed.
9015 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9017 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9018 * check/gst/gstmessage.c: (GST_START_TEST):
9019 * check/gst/gststructure.c: (GST_START_TEST),
9020 (gst_structure_suite), (main):
9022 * gst/gstelement.c: (gst_element_message_full):
9023 clean up GError and debug string now that they get copied
9024 * gst/gstmessage.c: (gst_message_new_error),
9025 (gst_message_new_warning), (gst_message_parse_error),
9026 (gst_message_parse_warning):
9027 use GST_TYPE_G_ERROR for structure_new, and take copies of
9028 arguments, so that we don't mess up refcounting
9030 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9032 * check/Makefile.am:
9033 add per-test valgrind targets
9034 * check/gst-libs/gdp.c: (GST_START_TEST),
9035 (gst_data_protocol_suite), (main):
9038 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
9040 * check/Makefile.am:
9041 instate more valgrindable tests
9042 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9043 (GST_START_TEST), (fakesrc_suite):
9044 * check/gst/gstpad.c: (GST_START_TEST):
9045 * check/gst/gststructure.c: (GST_START_TEST):
9047 * docs/gst/tmpl/gstminiobject.sgml:
9048 * gst/gstpad.c: (gst_pad_finalize):
9049 fix the static mutex leak
9051 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9053 * check/Makefile.am:
9054 add two more tests for valgrinding
9055 * check/gst/gstvalue.c: (GST_START_TEST):
9056 test refcount of deserialized buffer, found a leak
9057 * docs/gst/gstreamer-docs.sgml:
9058 * docs/gst/gstreamer-sections.txt:
9059 * docs/gst/gstreamer.types:
9060 * docs/gst/tmpl/gstminiobject.sgml:
9061 add miniobject to docs
9062 * gst/gstminiobject.c:
9064 * gst/gstvalue.c: (gst_value_deserialize_buffer),
9065 (gst_string_unwrap):
9066 fix a hard-to-find invalid write for one of the tests
9067 fix a leak for deserialized buffers
9069 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9071 * docs/pwg/advanced-events.xml:
9072 * docs/pwg/advanced-request.xml:
9073 * docs/pwg/advanced-scheduling.xml:
9074 * docs/pwg/appendix-porting.xml:
9075 * docs/pwg/building-boiler.xml:
9076 * docs/pwg/intro-preface.xml:
9077 * docs/pwg/other-ntoone.xml:
9078 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9079 of example code and explanation for pad activation, loop() and
9080 getrange() functions and a bit more. Remove old comments pointing
9082 * examples/pwg/Makefile.am:
9083 Add loop/getrange examples.
9085 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9088 check for valgrind binary + some fixes
9090 valgrind suppressions for the tests
9091 * check/Makefile.am:
9092 add a valgrind: target that valgrinds the unit tests
9093 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9094 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9095 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9096 * check/gst/gstghostpad.c:
9098 * check/gst/gstdata.c:
9100 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9101 (thread_unref), (gst_mini_object_suite), (main):
9103 * gst/gst.c: (gst_deinit):
9105 add a method to clean up.
9106 * gst/gstsystemclock.c: (gst_system_clock_dispose),
9107 (gst_system_clock_obtain):
9108 allow for disposing the system clock.
9109 * tools/gst-launch.c: (main):
9112 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
9114 * docs/gst/tmpl/gstbasesrc.sgml:
9115 * docs/gst/tmpl/gstfakesrc.sgml:
9116 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9117 (gst_base_src_init), (gst_base_src_set_property),
9118 (gst_base_src_get_property), (gst_base_src_get_range),
9119 (gst_base_src_start):
9120 * gst/base/gstbasesrc.h:
9121 add num-buffers property
9122 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9123 (gst_fakesrc_init), (gst_fakesrc_set_property),
9124 (gst_fakesrc_get_property), (gst_fakesrc_create),
9125 (gst_fakesrc_start):
9126 remove num-buffers property
9128 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9130 * docs/gst/gstreamer-sections.txt:
9131 * docs/gst/tmpl/gstbasesink.sgml:
9132 * docs/gst/tmpl/gstbasesrc.sgml:
9133 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9134 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9135 (gst_base_sink_finalize), (gst_base_sink_set_clock),
9136 (gst_base_sink_set_property), (gst_base_sink_get_property),
9137 (gst_base_sink_handle_object), (gst_base_sink_event),
9138 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9139 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9140 (gst_base_sink_loop), (gst_base_sink_deactivate),
9141 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9142 (gst_base_sink_change_state):
9143 * gst/base/gstbasesink.h:
9144 * gst/base/gstbasesrc.h:
9145 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9146 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9147 (gst_filesink_init):
9148 more macro splitting
9150 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9152 * gst/gstelement.c: (gst_element_get_bus):
9154 * tools/gst-launch.c: (check_intr), (event_loop):
9157 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9159 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9162 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
9164 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9165 (gst_base_src_finalize):
9166 add finalize method and clean up properly
9167 * gst/gstpipeline.c: (gst_pipeline_dispose):
9170 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9172 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9174 add more things to check
9175 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9179 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9181 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9182 (GST_START_TEST), (fakesrc_suite):
9183 * check/gst-libs/gdp.c: (GST_START_TEST):
9184 * check/gst/gst.c: (GST_START_TEST):
9185 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9186 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9187 * check/gst/gstbus.c: (GST_START_TEST):
9188 * check/gst/gstcaps.c: (GST_START_TEST):
9189 * check/gst/gstdata.c: (GST_START_TEST):
9190 * check/gst/gstelement.c: (GST_START_TEST):
9191 * check/gst/gstghostpad.c: (GST_START_TEST):
9192 * check/gst/gstiterator.c: (GST_START_TEST):
9193 * check/gst/gstmessage.c: (GST_START_TEST):
9194 * check/gst/gstobject.c: (GST_START_TEST):
9195 * check/gst/gstpad.c: (GST_START_TEST):
9196 * check/gst/gststructure.c: (GST_START_TEST):
9197 * check/gst/gstsystemclock.c: (GST_START_TEST),
9198 (gst_systemclock_suite):
9199 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9200 * check/gst/gstvalue.c: (GST_START_TEST):
9201 * check/pipelines/cleanup.c: (GST_START_TEST):
9202 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9203 * check/states/sinks.c: (GST_START_TEST):
9204 * check/gstcheck.c: (gst_check_init):
9206 add debugging category
9207 use GST_START_TEST now, so we add a debug line
9209 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
9211 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9212 add test for state change message on a bin
9213 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9215 * gst/gstbin.c: (gst_bin_init):
9216 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9217 * gst/gstelement.c: (gst_element_post_message),
9218 (gst_element_set_state):
9219 * gst/gstelementfactory.c: (gst_element_factory_create):
9220 * gst/gstmessage.c: (gst_message_new):
9221 * gst/gstscheduler.c:
9222 various debugging additions and cleanups
9224 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9226 * check/Makefile.am:
9227 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9229 adding tests for elements
9230 * gst/gstelement.c: (gst_element_dispose):
9232 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9234 * gst/registries/gstlibxmlregistry.c: (load_feature):
9235 plug more leaks. A simple gst_init() now is leakfree, yay.
9237 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9239 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9240 (gst_xml_registry_load):
9241 plug another memleak
9243 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9246 use GST_SET_ERROR_CFLAGS
9248 change to ERROR_CFLAGS
9250 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
9253 make GST_ERROR_CFLAGS overridable and re-enable Werror
9255 add a note about error CFLAGS
9256 * docs/gst/tmpl/gstfakesrc.sgml:
9257 * gst/elements/gstfakesrc.c:
9258 comment out some unused code
9259 * gst/gst.c: (split_and_iterate):
9260 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9264 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9266 * common/Makefile.am:
9267 * common/gtk-doc.mak:
9268 * docs/gst/Makefile.am:
9269 factor out gtk-doc.mak
9271 2005-07-07 Wim Taymans <wim@fluendo.com>
9273 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9274 (gst_thread_scheduler_dispose):
9275 Unlock the STREAM_LOCK completely.
9277 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
9279 * check/Makefile.am:
9280 * check/elements/.cvsignore:
9281 * check/elements/gstfakesrc.c: (chain_func), (event_func),
9282 (START_TEST), (fakesrc_suite), (main):
9283 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9284 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9285 (gst_fakesrc_create), (gst_fakesrc_start):
9286 * gst/elements/gstfakesrc.h:
9287 adding a first element test
9289 2005-07-07 Andy Wingo <wingo@pobox.com>
9291 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9294 2005-07-07 Wim Taymans <wim@fluendo.com>
9300 2005-07-07 Wim Taymans <wim@fluendo.com>
9302 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9303 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9304 Allow subclasses to implement their own negotiation.
9306 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9308 * docs/design/part-gstbin.txt:
9309 * docs/design/part-gstpipeline.txt:
9310 Update design notes to reflect the movement of
9311 responsibility for bus handling from GstPipeline to
9314 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9317 Remove unnecessary queue2/3/4 examples.
9319 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
9321 * examples/Makefile.am:
9322 * examples/helloworld/helloworld.c: (event_loop), (main):
9323 * examples/queue/queue.c: (event_loop), (main):
9324 * examples/queue2/queue2.c: (main):
9325 Update a couple of the examples to work again.
9327 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9328 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9329 Spelling corrections and extra debug.
9331 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9332 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9333 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9335 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9336 (gst_pipeline_change_state):
9337 * gst/gstpipeline.h:
9338 Move the bus handler for children to the GstBin, and create a
9339 separate bus for receiving messages from children to the one the
9340 bus sends 'upwards' on.
9342 2005-07-06 Wim Taymans <wim@fluendo.com>
9345 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9346 (gst_base_sink_handle_object), (gst_base_sink_loop),
9347 (gst_base_sink_change_state):
9348 * gst/base/gstbasesink.h:
9349 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9350 (gst_base_src_init), (gst_base_src_setcaps),
9351 (gst_base_src_getcaps), (gst_base_src_loop),
9352 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9353 (gst_base_src_start), (gst_base_src_change_state):
9354 * gst/base/gstbasesrc.h:
9355 Make basesrc negotiate.
9356 Handle the case where preroll fails in basesink.
9359 2005-07-06 Wim Taymans <wim@fluendo.com>
9361 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9362 Implement the fixate function.
9363 Clean up acceptcaps.
9365 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9367 * docs/pwg/building-filterfactory.xml:
9369 Remove never-written filter-factory chapter; I'll add the various
9370 base classes to part 4 ("other element types") later on.
9372 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9374 * docs/pwg/advanced-negotiation.xml:
9375 * docs/pwg/building-boiler.xml:
9376 * docs/pwg/building-pads.xml:
9378 * examples/pwg/Makefile.am:
9379 Add a chapter on caps negotiation, simplify the original code
9380 samples a bit w.r.t. caps negotiation, add link to the advanced
9381 section. Add a bunch of examples showing different use cases of
9382 different types of caps negotiation. Upstream renegotiation isn't
9383 fully documented yet since nobody knows how that works.
9385 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
9387 * check/gst/gstpad.c:
9389 * gst/gstpad.c: (gst_pad_get_internal_links_default):
9390 if pad has no parent, return NULL as list of internal links
9392 2005-07-05 Andy Wingo <wingo@pobox.com>
9394 * gst/elements/gstfilesrc.c:
9395 * gst/elements/gstfakesrc.c:
9396 * gst/base/gstpushsrc.c:
9397 * gst/base/gstbasesrc.h:
9398 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9400 2005-07-05 Stefan Kost <ensonic@users.sf.net>
9403 better report generation target (lcov needs a patch)
9405 2005-07-05 Andy Wingo <wingo@pobox.com>
9407 * gst/elements, testsuite: Null if we got it...
9409 2005-07-05 Wim Taymans <wim@fluendo.com>
9412 * libs/gst/dataprotocol/Makefile.am:
9413 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9414 * libs/gst/dataprotocol/dataprotocol.h:
9415 * pkgconfig/Makefile.am:
9416 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9417 * pkgconfig/gstreamer-dataprotocol.pc.in:
9418 Ported dataprotol to 0.9.
9419 Added pkgconfig files.
9421 2005-07-05 Andy Wingo <wingo@pobox.com>
9423 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9424 Default to returning TRUE for the case when tranform_caps returns
9425 a fixed caps, like for identity or volume.
9427 * check/gst/gstbus.c (pound_bus_with_messages):
9428 * check/gst/gstmessage.c (START_TEST):
9429 * check/pipelines/simple_launch_lines.c (got_handoff): Application
9432 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9433 logic weaks here: always run transform_caps, trying passthrough
9434 operation only if the original caps intersects with the transform.
9436 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9437 source and sink caps.
9439 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9440 Intersect the peer caps with the pad template before going into
9442 (gst_base_transform_transform_caps): More debugging.
9444 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9447 2005-07-04 Edward Hervey <edward@fluendo.com>
9451 (gst_pad_add_*_probe): now returns the signal id for better wrapping
9454 2005-07-04 Andy Wingo <wingo@pobox.com>
9456 * check/gst/gstpad.c: Only set explicit caps on pads.
9458 2005-07-01 Andy Wingo <wingo@pobox.com>
9460 * tests/network-clock.scm: Commentary update.
9462 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9463 Didn't really make sense, not implementable with basetransform,
9465 (gst_identity_transform): Unref inbuf via make_writable. Feeble
9466 attempt at implementing the sync property, needs an unlock method.
9468 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9469 New func, by default returns the same caps (the identity
9471 (gst_base_transform_getcaps): Uses transform_caps to return
9473 (gst_base_transform_setcaps): Complicated logic to get caps on
9474 both pads, even if they are different, and to call set_caps once
9475 for every time both pads get their caps set.
9476 (gst_base_transform_handle_buffer): Give the ref to the transform
9477 function. Allows in-place modification of the buffer.
9479 * gst/base/gstbasetransform.h (transform_caps): New class method.
9480 Given caps on one side, what can I do on the other.
9481 (set_caps): Take two caps, one for each side of the element.
9484 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9485 caps in place. This is safe because we can check the mutability of
9486 the caps, and a good idea because fixate functions are just called
9487 as a matter of last resort. (Not actually implemented.)
9488 (gst_pad_set_caps): If the caps we're setting is actually the same
9489 as the existing pad caps, just update the pointer without calling
9490 setcaps. Assert that caps is either NULL or fixed, as per the
9493 * gst/gstghostpad.c: Update for fixate changes.
9495 2005-07-02 Andy Wingo <wingo@pobox.com>
9498 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9499 two refcounts makes it immutable, which is enough. Doc more.
9501 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
9503 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9504 Put the mini_object into GValue as a mini_object,
9505 not a gpointer, since that's how we declared
9508 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9510 * examples/pwg/Makefile.am:
9513 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9515 * docs/pwg/building-testapp.xml:
9517 * examples/pwg/Makefile.am:
9520 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9523 * examples/Makefile.am:
9524 * examples/pwg/Makefile.am:
9525 * examples/pwg/extract.pl:
9526 Enable building the PWG examples.
9527 * docs/pwg/advanced-interfaces.xml:
9528 Add URI interface stub.
9529 * docs/pwg/advanced-types.xml:
9530 * docs/pwg/other-autoplugger.xml:
9531 * docs/pwg/appendix-porting.xml:
9533 Add porting guide (mostly stubs), remove autoplugging (see ADM).
9534 * docs/pwg/building-boiler.xml:
9535 * docs/pwg/building-chainfn.xml:
9536 * docs/pwg/building-pads.xml:
9537 * docs/pwg/building-props.xml:
9538 * docs/pwg/building-state.xml:
9539 * docs/pwg/building-testapp.xml:
9540 Update the building-*.xml parts for 0.9 changes. All examples
9541 code blocks compile in examples/pwg/*.
9543 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9545 * docs/manual/advanced-autoplugging.xml:
9546 * docs/manual/appendix-checklist.xml:
9547 * docs/manual/appendix-integration.xml:
9548 * docs/manual/highlevel-components.xml:
9549 Fix playbin/decodebin examples, update docs a bit, mention bus
9550 instead of signals in various places, mention kmplayer and
9551 kaffeine since they have a working GStreamer backend in the KDE
9554 2005-06-30 Wim Taymans <wim@fluendo.com>
9557 * docs/design/draft-ghostpads.txt:
9558 * docs/design/draft-push-pull.txt:
9559 * docs/design/draft-query.txt:
9560 * docs/design/part-TODO.txt:
9561 * docs/design/part-query.txt:
9562 Added CHANGES-0.9 doc, updated status of other docs.
9567 2005-06-30 Wim Taymans <wim@fluendo.com>
9569 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9570 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9571 (gst_base_sink_change_state):
9572 * gst/base/gstbasesink.h:
9573 Some tweaks, only EOS and a buffer complete a preroll.
9575 2005-06-30 Andy Wingo <wingo@pobox.com>
9577 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9578 activate_push down to the internal pad as well.
9580 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
9582 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9584 * gst/gsttaginterface.c:
9585 Some documentation fixes (#307394 and #307397).
9587 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
9589 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9591 * gst/gstvalue.c: (gst_value_intersect_list):
9592 Fix memleak (#309125).
9594 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9596 * docs/manual/advanced-dataaccess.xml:
9597 Fix fakesrc example to compile; doesn't work, bug somewhere...?
9598 * docs/manual/basics-pads.xml:
9599 Add reference for filtered caps to above chapter.
9601 2005-06-30 Wim Taymans <wim@fluendo.com>
9603 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9604 (gst_bin_change_state):
9606 Lame attempt at making the state change function a bit
9609 2005-06-30 Wim Taymans <wim@fluendo.com>
9611 * docs/design/part-clocks.txt:
9612 * docs/design/part-element-sink.txt:
9613 * docs/design/part-events.txt:
9614 * docs/design/part-preroll.txt:
9615 * docs/design/part-states.txt:
9616 Some more tweeks and additions to the docs.
9618 2005-06-30 Wim Taymans <wim@fluendo.com>
9620 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9621 (default_have_data), (gst_pad_class_init), (gst_pad_init),
9622 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9623 (gst_pad_check_pull_range), (gst_pad_get_range),
9624 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9626 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9627 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9628 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9629 (gst_pad_remove_buffer_probe):
9630 Removed atomic operations, use existing LOCK.
9631 Move exception handling out of main code path.
9633 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9635 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9636 (silly_return_true_function), (gst_pad_class_init),
9637 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9638 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9639 (gst_pad_send_event):
9640 Fix accumulator, add default value by using _emitv() instead
9641 of _emit() for signal emission.
9643 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9645 * docs/manual/advanced-dataaccess.xml:
9646 * examples/manual/Makefile.am:
9648 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9651 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
9653 * gst/elements/gstfilesink.c: (gst_filesink_render):
9654 Simplify code so that we don't have to handle short
9655 writes and return GST_FLOW_ERROR if an error occured.
9657 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9659 * docs/gst/gstreamer-docs.sgml:
9662 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9664 * docs/gst/gstreamer-sections.txt:
9665 * docs/gst/tmpl/gstpad.sgml:
9666 * docs/gst/tmpl/gstprobe.sgml:
9668 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9669 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9670 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9671 (gst_pad_push_event), (gst_pad_send_event):
9673 * gst/gstutils.c: (gst_pad_add_data_probe),
9674 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9675 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9676 (gst_pad_remove_buffer_probe):
9678 Remove old probes, add new g-signal-based probes and some utility
9681 2005-06-29 Edward Hervey <edward@fluendo.com>
9683 * gst/gstelementfactory.c:
9686 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9687 the definition to the header file.
9689 2005-06-29 Andy Wingo <wingo@pobox.com>
9691 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9692 plugins from the source directory.
9694 2005-06-29 Wim Taymans <wim@fluendo.com>
9696 * docs/gst/tmpl/gstbuffer.sgml:
9697 * docs/gst/tmpl/gstclock.sgml:
9698 Some fixings for blantently wrong text.
9700 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
9702 * check/Makefile.am:
9703 * gst/gst.c: (add_path_func), (init_pre):
9704 * gst/gstregistry.c: (gst_registry_add_path):
9705 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9706 only scan the GST_PLUGIN_PATH locations, and not add
9709 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
9711 * docs/gst/gstreamer-sections.txt:
9712 * docs/gst/tmpl/gstbasesrc.sgml:
9719 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9721 * docs/manual/advanced-autoplugging.xml:
9722 Fix autoplugging example.
9724 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9726 * docs/manual/advanced-autoplugging.xml:
9727 * docs/manual/mime-world.fig:
9728 Try to get autoplugging working, fix type detection. Fix text
9729 in hello-world image.
9731 2005-06-29 Wim Taymans <wim@fluendo.com>
9733 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9734 (gst_base_sink_change_state):
9738 map SIGNAL and BROADCAST to the right function.
9741 Remove redundant braces.
9743 * gst/gstpad.c: (gst_pad_set_caps):
9744 Don't call setcaps function when reseting caps to NULL.
9746 * gst/gstsystemclock.c: (gst_system_clock_dispose),
9747 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9748 (gst_system_clock_id_unschedule):
9749 Use BROADCAST as this is what we do.
9751 2005-06-29 Wim Taymans <wim@fluendo.com>
9753 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9754 We are actually prerolling before commiting the state
9757 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9759 * docs/manual/advanced-clocks.xml:
9760 * docs/manual/advanced-interfaces.xml:
9761 * docs/manual/advanced-metadata.xml:
9762 * docs/manual/advanced-position.xml:
9763 * docs/manual/advanced-schedulers.xml:
9764 * docs/manual/advanced-threads.xml:
9765 * docs/manual/appendix-porting.xml:
9766 * docs/manual/basics-bins.xml:
9767 * docs/manual/basics-bus.xml:
9768 * docs/manual/basics-elements.xml:
9769 * docs/manual/basics-helloworld.xml:
9770 * docs/manual/basics-pads.xml:
9771 * docs/manual/highlevel-components.xml:
9772 * docs/manual/manual.xml:
9773 * docs/manual/thread.fig:
9774 Update (until threads/scheduling) Application Development Manual;
9775 remove GstThread, add GstBus, add simple porting checklist, add
9776 documentation for tag writing, clocks, make all examples until this
9777 part compile and run.
9778 * examples/manual/Makefile.am:
9779 Update from changes to Application Development Manual; add bus
9780 example, remove thread example.
9782 2005-06-28 Wim Taymans <wim@fluendo.com>
9784 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
9785 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
9786 (gst_bus_source_dispatch):
9787 Add debugging messages.
9788 Make internal methods static.
9789 Handle the case where the bus is flushed in the handler.
9791 * gst/gstelement.c: (gst_element_get_bus):
9792 Fix refcount in _get_bus();
9794 * gst/gstpipeline.c: (gst_pipeline_change_state),
9795 (gst_pipeline_get_clock_func):
9796 Clock refcounting fixes.
9797 Handle the case where preroll timed out more gracefully.
9799 * gst/gstsystemclock.c: (gst_system_clock_dispose):
9800 Clean up the internal thread in dispose. This is needed
9801 for subclasses that actually get disposed.
9803 * gst/schedulers/threadscheduler.c:
9804 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9805 (gst_thread_scheduler_dispose):
9806 Free thread pool in dispose.
9808 2005-06-28 Andy Wingo <wingo@pobox.com>
9810 * tests/network-clock-utils.scm (debug, print-event): New utils.
9812 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
9813 (*packet-loss*): Unified loss probability.
9814 (network-time): Report out-of-band events.
9816 * tests/plot-data: Add support for out-of-band events. Hack it
9817 into this script instead of passing it down the pipe; should fix
9820 2005-06-28 Wim Taymans <wim@fluendo.com>
9822 * docs/gst/gstreamer.types:
9823 * docs/gst/tmpl/gstbasesrc.sgml:
9824 * docs/gst/tmpl/gstpad.sgml:
9827 2005-06-28 Wim Taymans <wim@fluendo.com>
9829 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9830 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
9831 (gst_proxy_pad_do_fixatecaps):
9832 Correctly proxy the check_pull_range function.
9834 2005-06-28 Andy Wingo <wingo@pobox.com>
9836 * tests/network-clock.scm: Removed need for slib.
9838 2005-06-28 Wim Taymans <wim@fluendo.com>
9840 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
9841 (gst_basesink_preroll_queue_flush):
9842 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
9843 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
9844 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9845 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9846 (gst_proxy_pad_set_property):
9849 * gst/gstqueue.c: (gst_queue_init):
9850 The deprecated pad loop function is removed now.
9852 2005-06-28 Andy Wingo <wingo@pobox.com>
9854 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
9855 New parameters, simulate network packet loss.
9857 * tests/network-clock-utils.scm: Initialize the RNG.
9859 2005-06-28 Wim Taymans <wim@fluendo.com>
9861 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
9862 (gst_basesink_event), (gst_basesink_deactivate):
9863 Flushing the preroll queue always needs to unlock the waiters.
9865 2005-06-28 Edward Hervey <edward@fluendo.com>
9867 * gst/gstpipeline.c: (gst_pipeline_send_event):
9868 Wheen a seek was successful on a pipeline, set the stream_time to the
9869 seek offset in order to have a synchronized stream_time.
9871 2005-06-28 Wim Taymans <wim@fluendo.com>
9873 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9874 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9875 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
9876 (gst_proxy_pad_do_fixatecaps):
9877 Call wrapper function instead of just calling the function
9878 pointers. This takes care of any locking and whatmore.
9880 2005-06-28 Wim Taymans <wim@fluendo.com>
9882 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
9883 (gst_pad_pull_range):
9885 CONNECTED -> LINKED.
9887 2005-06-28 Andy Wingo <wingo@pobox.com>
9889 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
9890 source-munging commit!!!
9892 * gst/gstobject.c (gst_object_unref, gst_object_ref)
9893 (gst_object_sink): Take gpointer arguments, not GstObject --
9894 avoids casts. Like GLib.
9896 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
9899 2005-06-27 Andy Wingo <wingo@pobox.com>
9901 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
9904 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
9905 returns a sorted copy of the trace list.
9906 (gst_alloc_trace_print_live): New API, only prints traces with
9907 live objects. Sort the list.
9908 (gst_alloc_trace_print_all): Sort the list.
9909 (gst_alloc_trace_print): Align columns.
9911 * gst/elements/gstttypefindelement.c:
9912 * gst/elements/gsttee.c:
9913 * gst/base/gstbasesrc.c:
9914 * gst/base/gstbasesink.c:
9915 * gst/base/gstbasetransform.c:
9916 * gst/gstqueue.c: Adapt for pad activation changes.
9918 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
9920 (gst_pipeline_dispose): Drop ref on sched.
9922 * gst/gstpad.c (gst_pad_init): Set the default activate func.
9923 (gst_pad_activate_default): Push mode by default.
9924 (pre_activate_switch, post_activate_switch): New stubs, things to
9925 do before and after switching activation modes on pads.
9926 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
9927 the pad's activate function to choose which mode to activate.
9928 Shortcut on deactivation and call the right function directly.
9929 (gst_pad_activate_pull): New API, (de)activates a pad in pull
9931 (gst_pad_activate_push): New API, same for push mode.
9932 (gst_pad_set_activate_function)
9933 (gst_pad_set_activatepull_function)
9934 (gst_pad_set_activatepush_function): Setters for new API.
9936 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
9937 Trace all miniobjects.
9938 (gst_mini_object_make_writable): Unref the arg if we copy, like
9939 gst_caps_make_writable.
9941 * gst/gstmessage.c (_gst_message_initialize): No trace init.
9943 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
9944 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
9945 Adapt for new pad API.
9947 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
9950 * gst/gstelement.c (gst_element_iterate_src_pads)
9951 (gst_element_iterate_sink_pads): New API functions.
9953 * gst/gstelement.c (iterator_fold_with_resync): New utility,
9954 should fold into gstiterator.c in some form.
9955 (gst_element_pads_activate): Simplified via use of fold and
9956 delegation of decisions to gstpad->activate.
9958 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
9961 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
9962 class once in init, like gstmessage. Didn't run into this issue
9963 but it seems correct. Don't initialize a trace, gstminiobject does
9966 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
9967 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
9969 (assert_live_count): New util function, uses alloc traces to check
9972 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
9973 To be modified when unlink drops the internal pad.
9975 2005-06-27 Wim Taymans <wim@fluendo.com>
9977 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
9978 (gst_bin_change_state):
9979 Cleanup the get_state() function a little, make sure it
9980 iterates the same set of elements.
9981 Added stub iterate_state_order().
9983 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
9985 * docs/gst/gstreamer-docs.sgml:
9986 * docs/gst/gstreamer-sections.txt:
9987 * docs/gst/gstreamer.types:
9988 * docs/gst/tmpl/gstbasesink.sgml:
9989 * docs/gst/tmpl/gstbasesrc.sgml:
9990 * docs/gst/tmpl/gstbasetransform.sgml:
9991 * docs/gst/tmpl/gstelement.sgml:
9992 * docs/gst/tmpl/gstiterator.sgml:
9993 * gst/base/gstbasesrc.c:
9994 * gst/base/gstbasesrc.h:
9995 * gst/base/gstbasetransform.h:
9997 * gst/gstiterator.h:
9998 adding basetransform and iterator docs
10000 2005-06-27 Andy Wingo <wingo@pobox.com>
10002 * docs/design/part-activation.txt: Notes on how activation should
10003 work -- not quite implemented yet.
10005 2005-06-25 Wim Taymans <wim@fluendo.com>
10007 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10008 At least get the chain function correct, needs more
10011 2005-06-25 Wim Taymans <wim@fluendo.com>
10013 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10014 (gst_basesink_handle_object), (gst_basesink_event),
10015 (gst_basesink_do_sync), (gst_basesink_handle_event),
10016 (gst_basesink_change_state):
10018 Right, two problems here: ghostpads don't take locks and
10019 glib _rec_mutex_lock_full() with depth==0 still locks.
10020 Catch illegal locking and g_warn them.
10022 2005-06-25 Wim Taymans <wim@fluendo.com>
10024 * check/states/sinks.c: (START_TEST), (gst_object_suite):
10025 Have to check for completion now...
10027 2005-06-25 Wim Taymans <wim@fluendo.com>
10029 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10030 (gst_basesink_handle_object), (gst_basesink_event),
10031 (gst_basesink_do_sync), (gst_basesink_handle_event),
10032 (gst_basesink_change_state):
10034 Unlock STREAM_LOCK whatever the recursion was.
10036 2005-06-25 Wim Taymans <wim@fluendo.com>
10038 * gst/base/gstbasesink.c: (gst_basesink_set_property),
10039 (gst_basesink_preroll_queue_empty),
10040 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10041 (gst_basesink_event), (gst_basesink_do_sync),
10042 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10043 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10044 (gst_basesink_change_state):
10045 Reworked the base sink, handle event and buffer serialisation
10046 correctly and removed possible deadlock.
10047 Handle EOS correctly.
10049 2005-06-25 Wim Taymans <wim@fluendo.com>
10051 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10052 (gst_pipeline_change_state):
10053 * tools/gst-launch.c: (check_intr), (event_loop), (main):
10054 Allow elements to post EOS in the state change function.
10055 Fix up -launch, make it exit the poll loop when the
10056 pipeline actually changed state.
10057 Fix up warning parsing in -launch.
10059 2005-06-25 Wim Taymans <wim@fluendo.com>
10061 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10062 (gst_tee_sink_activate):
10063 Core takes STREAM_LOCK for us now.
10065 2005-06-25 Wim Taymans <wim@fluendo.com>
10067 * gst/gstelement.c: (gst_element_get_state_func),
10068 (gst_element_set_state):
10069 * gst/gstelement.h:
10070 * gst/gstmessage.c: (gst_message_parse_error),
10071 (gst_message_parse_warning):
10072 Keep track of current target state while performing a state
10073 change so that subclasses can do something interesting.
10074 Fix parsing of warning/error messages when GError is NULL.
10076 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
10078 * docs/gst/Makefile.am:
10079 * docs/gst/gstreamer-docs.sgml:
10080 * docs/gst/gstreamer-sections.txt:
10081 * docs/gst/gstreamer.types:
10082 * docs/gst/tmpl/gstbasesink.sgml:
10083 * docs/gst/tmpl/gstbasesrc.sgml:
10084 * docs/gst/tmpl/gstbin.sgml:
10085 * docs/gst/tmpl/gstcompat.sgml:
10086 * docs/gst/tmpl/gstfakesink.sgml:
10087 * docs/gst/tmpl/gstfakesrc.sgml:
10088 * docs/gst/tmpl/gstfilesink.sgml:
10089 * docs/gst/tmpl/gstfilesrc.sgml:
10090 * docs/gst/tmpl/gstindex.sgml:
10091 * docs/manual/appendix-quotes.xml:
10092 * gst/base/gstbasesrc.h:
10093 * gst/elements/gstfakesrc.h:
10094 * gst/gstmessage.h:
10095 start pulling in base classes and elements in our docs
10097 2005-06-24 Stefan Kost <ensonic@users.sf.net>
10099 * docs/gst/Makefile.am:
10100 * docs/libs/Makefile.am:
10101 fixed make distcheck with gtk-doc 1.3
10103 2005-06-23 Wim Taymans <wim@fluendo.com>
10105 * gst/gstelement.c: (gst_element_get_state_func),
10106 (gst_element_set_state), (gst_element_change_state):
10107 When the state did not change, also report NO_PREROLL
10110 2005-06-23 Wim Taymans <wim@fluendo.com>
10112 * gst/gstpad.c: (gst_pad_event_default):
10113 * gst/gstqueue.c: (gst_queue_loop):
10114 No unsafe task pausing please.
10116 2005-06-23 Wim Taymans <wim@fluendo.com>
10118 * gst/schedulers/threadscheduler.c:
10119 (gst_thread_scheduler_task_start),
10120 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10121 Ref the task before pushing it on the threadpool. This
10122 makes sure that we have a ref when the threadfunction is
10125 2005-06-23 Andy Wingo <wingo@pobox.com>
10127 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10128 offset is greater than the file's size.
10130 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
10131 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10132 * gst/gstobject.c (gst_object_class_init): Make the class lock
10133 recursive. Wim won't let me drop deep_notify. Decodebin works
10134 again, whoopdy doo.
10136 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10137 internal pad, and hacks accordingly. Doesn't do it on the target
10138 pad because we change its caps. Probably catches all cases of
10140 (gst_ghost_pad_set_property): Connect to notify::caps as
10143 * tests/network-clock.scm (plot-simulation): Pipe data to the
10144 elite python skript.
10146 * tests/network-clock-utils.scm (define-parameter): New macro,
10147 defines a parameter that can be set via the command line.
10148 (set-parameter!, parse-parameter-arguments): Command line args
10151 * tests/plot-data: Simple matplotlib-based plotter, takes input on
10154 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
10156 * gst/elements/gsttypefindelement.c:
10157 (gst_type_find_element_handle_event):
10158 Don't restart typefinding on a discont.
10159 * gst/gstelement.c: (gst_element_set_state):
10160 Debug spelling fix.
10161 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10162 Allow changing mode of an active pad.
10163 Debug output fixes.
10164 * gst/registries/gstlibxmlregistry.c: (load_feature):
10165 Don't cast a static pad template to a normal pad template.
10167 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
10169 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10170 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10171 remove gst_strtoll completely, since it didn't actually do
10172 anything more than what g_ascii_strtoull already does.
10173 check for range errors when deserializing
10174 do a cast for the unsigned cases; but further fixing needs
10175 a decision on what the interpretation of "(int)" and
10176 deserialization should be for values that fall outside the
10177 type's boundaries (ie, refuse, or interpret as casting)
10179 2005-06-23 Wim Taymans <wim@fluendo.com>
10181 * check/Makefile.am:
10182 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10183 * docs/design/part-live-source.txt:
10184 * docs/design/part-states.txt:
10185 * gst/base/gstbasesrc.c: (gst_basesrc_init),
10186 (gst_basesrc_set_live), (gst_basesrc_is_live),
10187 (gst_basesrc_get_range), (gst_basesrc_activate),
10188 (gst_basesrc_change_state):
10189 * gst/base/gstbasesrc.h:
10190 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10191 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10192 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10193 * gst/gstelement.c: (gst_element_get_state_func),
10194 (gst_element_set_state):
10195 * gst/gstelement.h:
10197 * tools/gst-launch.c: (event_loop), (main):
10198 Added support for live sources and other elements that
10200 Updated design docs, added live-source design doc.
10201 Implemented live source functionality in basesrc
10202 Fix error condition in _bin_get_state()
10203 Implement live source handling in -launch.
10204 Added check for live sources.
10205 Fixed case in GstBin where elements were changed state
10209 2005-06-23 Andy Wingo <wingo@pobox.com>
10211 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10212 borken refcounting.
10214 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10215 gst_caps_replace takes care of this for us.
10217 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10218 gst_pad_set_caps on the target, not just its setcaps() function.
10220 * tests/network-clock.scm:
10221 * tests/network-clock-utils.scm: A network clock simulator.
10222 Something of an algorithmic testbed before doing something in C.
10224 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10226 * check/Makefile.am:
10227 * check/gst/capslist.h:
10228 copy over from 0.8, and add two with bitmasks specified with
10230 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10231 add test to parse everything from capslist.h
10232 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10234 add test for structure deserialization
10235 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10236 add tests for deserialization of strings to int types
10237 * gst/gststructure.c: (gst_structure_nth_field_name):
10238 * gst/gststructure.h:
10239 add a way to get the name of a field referenced by index
10240 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10241 instead of checking if the resulting long long lies between
10242 min and max, we check if the long long would fit into
10243 a number of bytes for the final type.
10244 This fixes cases where a string represents 2^32 - 1, which
10245 when cast to int would be the (valid) -1, but is bigger than
10248 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10250 * gst/parse/grammar.y:
10251 add a log line for type deserialization
10253 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
10255 * check/gst/gstvalue.c: (START_TEST):
10256 * gst/gstvalue.c: (gst_value_deserialize):
10257 return long long, not int, so gint64 deserialization actually
10258 works. Is there any flag that makes the compiler check this ?
10261 2005-06-22 Wim Taymans <wim@fluendo.com>
10264 Added convenience macros for setting buffers in GValue.
10266 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10268 * check/gst/.cvsignore:
10269 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10270 add a test deserializing int64, and comment part out because
10273 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
10275 * check/Makefile.am:
10276 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10277 * testsuite/Makefile.am:
10278 * testsuite/caps/Makefile.am:
10279 * testsuite/caps/value_serialize.c:
10280 * testsuite/test_gst_init.c:
10281 move a value_serialize test over
10283 2005-06-20 Wim Taymans <wim@fluendo.com>
10288 * gst/gstvalue.c: (gst_value_compare_buffer),
10289 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10290 (gst_value_compare_flags), (gst_value_serialize_flags),
10291 (gst_value_deserialize_flags), (_gst_value_initialize):
10292 Fix serialisation of buffers, they are not boxed types anymore
10294 2005-06-20 Wim Taymans <wim@fluendo.com>
10296 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10297 Testcase to show error in buffer-on-caps serialisation.
10299 2005-06-20 Andy Wingo <wingo@pobox.com>
10301 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10302 will be adding to later.
10304 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10305 if its socks fill with rocks.
10306 (gst_system_clock_obtain): Set the name on object construction.
10307 Avoid double-checked locking.
10309 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
10311 * gst/gsturi.c: (gst_element_make_from_uri):
10312 Fix potential endless loop.
10314 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10316 * check/Makefile.am:
10318 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10320 move over from testsuite dir and clean up
10323 * testsuite/Makefile.am:
10324 * testsuite/tags/.cvsignore:
10325 * testsuite/tags/Makefile.am:
10326 * testsuite/tags/merge.c:
10327 remove testsuite/tags
10329 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10331 * docs/gst/gstreamer-sections.txt:
10332 * docs/gst/tmpl/gstenumtypes.sgml:
10333 * win32/gstenumtypes.c:
10334 clean up documentation build a little
10336 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10338 * check/gstcheck.h:
10339 add macros for checking refcounts on objects and caps
10340 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10341 add some more unit tests
10342 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10343 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10344 fix leaked refcounts (I hope :)) so unittest works
10348 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
10350 * configure.ac: back to HEAD
10352 === release 0.9.1 ===
10354 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
10360 2005-06-17 Andy Wingo <wingo@pobox.com>
10362 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10363 assert; it's always possible that the pad gets deactivated in
10364 between the checks in gstpad.c and the implementation. Rely on
10365 finish_preroll() to return a FLUSHING or similar instead of on the
10368 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10369 clock and post an EOS message if we come out of finish_preroll in
10372 2005-06-16 David Schleef <ds@schleef.org>
10374 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10375 (gst_capsfilter_set_property): Allow NULL as possible value
10376 for filter_caps property, indicating GST_CAPS_ANY.
10378 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10380 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10382 * gst/schedulers/Makefile.am:
10384 * gstreamer.spec.in:
10387 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10389 * gstreamer.spec.in:
10392 2005-06-08 Andy Wingo <wingo@pobox.com>
10394 * gst/gstutils.c: RPAD fixes all around.
10395 (gst_element_link_pads): Refcounting fixes.
10397 * tools/gst-inspect.c:
10398 * tools/gst-xmlinspect.c:
10400 * gst/base/gsttypefindhelper.c:
10401 * gst/base/gstbasesink.c:
10402 * gst/gstqueue.c: RPAD fixes.
10404 * gst/gstghostpad.h:
10405 * gst/gstghostpad.c: New ghost pad implementation as full proxy
10406 pads. The tricky thing is they provide both source and sink
10407 interfaces, since they proxy the internal pad for the external
10408 pad, and vice versa. Implement with lower-level ProxyPad objects,
10409 with the interior proxy pad as a child of the exterior ghost pad.
10410 Should write a doc on this.
10412 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10413 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10416 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10417 pads are real pads. No ghost pads in this file. Not documenting
10418 the myriad s/RPAD/PAD/ and REALIZE fixes.
10419 (gst_pad_class_init): Add properties for "direction" and
10420 "template". Both are construct-only, so they can't change during
10421 the life of the pad. Fixes properly deriving from GstPad.
10422 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10423 derived objects, just set properties when creating the objects via
10425 (gst_pad_get_parent): Implement as a function, return NULL if the
10426 parent is not an element.
10427 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10428 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10430 * gst/gstobject.c (gst_object_class_init): Make name a construct
10431 property. Don't set it in the object init.
10433 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10434 with UNKNOWN direction.
10435 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10436 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10437 (gst_element_remove_pad): Remove ghost-pad special cases.
10438 (gst_element_pads_activate): Remove rpad cruft.
10440 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10441 catch the pad's-parent-not-an-element case.
10443 * gst/gst.h: Include gstghostpad.h.
10445 * gst/gst.c (init_post): No more real, ghost pads.
10447 * gst/Makefile.am: Add gstghostpad.[ch].
10449 * check/Makefile.am:
10450 * check/gst/gstbin.c:
10451 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10452 into a bin creates ghost pads, and that the refcounts are right.
10453 Partly moved from gstbin.c.
10455 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10457 * check/gst-libs/.cvsignore:
10458 * check/gst/.cvsignore:
10459 * check/pipelines/.cvsignore:
10461 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10462 (START_TEST), (cleanup_suite), (main):
10463 add some tests related to cleanup after running pipelines
10465 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10467 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10468 add a testsuite for GstBuffer
10470 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
10472 * gst/gstminiobject.h:
10473 add defines for accessing the refcount
10475 2005-06-03 Stefan Kost <ensonic@users.sf.net>
10477 * Makefile.am: added support for html unit test coverage reports
10479 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
10481 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10482 Free existing caps if the capsfilter changes. Add a FIXME about
10483 setting those caps on the pads.
10485 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10486 Before adding a ghost pad to a parent bin, check that there isn't
10487 already one for the element on the bin. Prevents infinite recursion
10488 when using decodebin in parse pipelines. Andy says he'll rewrite the
10489 way this works anyway, so ignore the hack.
10491 2005-06-02 Andy Wingo <wingo@pobox.com>
10493 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10494 file size, pass it on to the type find helper.
10496 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10497 segment_start and segment_end properly according to the seek
10498 method. Segment_end is still a bit flaky because offset can be
10499 negative for CUR and END cases, but it takes -1 as an "unset"
10502 2005-06-02 Wim Taymans <wim@fluendo.com>
10504 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10505 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10506 (gst_basesink_activate):
10507 * gst/base/gstbasesink.h:
10508 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10509 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10510 (gst_pad_query), (gst_pad_start_task):
10512 * gst/gstqueue.c: (gst_queue_bufferalloc),
10513 (gst_queue_handle_sink_event), (gst_queue_chain):
10514 Bufferalloc: return GstFlowReturn to more accuratly report
10515 why allocation failed.
10517 2005-06-02 Wim Taymans <wim@fluendo.com>
10519 * gst/gstpipeline.c: (gst_pipeline_send_event):
10520 Take snapshot of state without blocking.
10522 2005-06-02 Wim Taymans <wim@fluendo.com>
10524 * docs/design/part-TODO.txt:
10525 * docs/design/part-caps.txt:
10526 * docs/design/part-clocks.txt:
10527 * docs/design/part-negotiation.txt:
10528 * docs/design/part-preroll.txt:
10531 2005-05-30 Wim Taymans <wim@fluendo.com>
10533 * gst/elements/gstidentity.c: (gst_identity_event),
10534 (gst_identity_transform), (gst_identity_get_property):
10535 Protect last_message property as it is accessed from
10538 2005-05-30 Wim Taymans <wim@fluendo.com>
10540 * gst/gstelement.c: (gst_element_init),
10541 (gst_element_pads_activate), (gst_element_change_state):
10542 Slicker pad activation code.
10544 2005-05-30 Wim Taymans <wim@fluendo.com>
10547 * gst/gstelement.h:
10548 * gst/gstelementfactory.h:
10550 Move elementfactory methods to separate .h file.
10552 2005-05-30 Wim Taymans <wim@fluendo.com>
10554 * docs/design/part-overview.txt:
10555 * gst/gstsystemclock.h:
10556 Small typo fixes, doc updates.
10558 2005-05-30 Wim Taymans <wim@fluendo.com>
10560 * gst/gst.c: (gst_init_get_popt_table), (init_post),
10561 (init_popt_callback):
10562 Remove cpu-opt flag.
10564 2005-05-30 Wim Taymans <wim@fluendo.com>
10566 * gst/gstbuffer.c: (gst_subbuffer_finalize),
10567 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10569 Avoid typechecking in places where not needed.
10570 Added accessor for malloc_data.
10572 2005-05-30 Wim Taymans <wim@fluendo.com>
10574 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10575 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10576 (gst_pad_configure_sink), (gst_pad_configure_src),
10577 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10578 (gst_pad_start_task):
10579 Propagate errors from _set_caps() in configure_src/sink
10580 functions instead of returning TRUE.
10581 FLUSH events can travel up and downstream
10584 2005-05-30 Wim Taymans <wim@fluendo.com>
10586 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10587 (gst_basesink_activate):
10588 Handle EOS in preroll.
10590 2005-05-30 Wim Taymans <wim@fluendo.com>
10592 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10593 (gst_queue_loop), (gst_queue_handle_src_event):
10594 Remove old pieces of code
10595 Flushing the queue in an upstream event is a very bad idea.
10597 2005-05-26 Andy Wingo <wingo@pobox.com>
10599 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10600 gst_value_set_mini_object so as to add a ref on the object (which
10601 will be removed when the value is unset).
10603 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10604 arg type in ::handoff.
10606 * gst/gstelement.c (gst_element_change_state): Also deactivate
10607 pads in READY->NULL, just in case the element didn't make it to
10608 PAUSED. Wingo tested, Wim approved.
10610 2005-05-26 Wim Taymans <wim@fluendo.com>
10612 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10613 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10614 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10615 A flushing pad cannot be used to alloc_buffer from.
10617 2005-05-26 Wim Taymans <wim@fluendo.com>
10619 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10620 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10621 (gst_bus_source_dispatch), (gst_bus_source_finalize),
10622 (gst_bus_create_watch), (gst_bus_add_watch_full):
10624 Implement a real GSource and use g_main_context_wakeup() to
10625 signal new messages instead of the socketpair.
10627 2005-05-25 Wim Taymans <wim@fluendo.com>
10629 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10630 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10631 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10632 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10633 (gst_pad_send_event), (gst_pad_start_task):
10634 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10635 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10636 (gst_queue_sink_activate), (gst_queue_src_activate),
10637 (gst_queue_change_state):
10639 Fix state changes for non sinks. We now change sinks, then elements
10640 with unconnected srcpads, then the rest.
10641 More efficient queue unlocking in flush and state changes.
10642 Set the pad activate mode even if it does not have an activate
10645 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10647 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10648 Don't go in pull mode for non-seekable sources.
10649 * gst/elements/gsttypefindelement.h:
10650 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10651 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10652 (free_entry), (stop_typefinding),
10653 (gst_type_find_element_handle_event), (find_peek),
10654 (gst_type_find_element_chain), (do_pull_typefind),
10655 (gst_type_find_element_change_state):
10656 Allow typefinding (w/o seeking) in push-mode, simplified version
10657 of what was in 0.8.
10658 * gst/gstutils.c: (gst_buffer_join):
10660 gst_buffer_join() from 0.8.
10662 2005-05-25 Wim Taymans <wim@fluendo.com>
10664 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10665 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10666 (gst_pad_send_event), (gst_pad_start_task):
10667 Disable attempt at mode switching until it is figured out.
10669 2005-05-25 Wim Taymans <wim@fluendo.com>
10671 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10672 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10673 (gst_basesink_finish_preroll), (gst_basesink_chain),
10674 (gst_basesink_loop), (gst_basesink_activate),
10675 (gst_basesink_change_state):
10676 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10677 (gst_basesrc_get_range), (gst_basesrc_loop),
10678 (gst_basesrc_activate):
10679 * gst/elements/gsttee.c: (gst_tee_sink_activate):
10680 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10681 (gst_real_pad_init), (gst_real_pad_set_property),
10682 (gst_real_pad_get_property), (gst_pad_set_active),
10683 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10684 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10685 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10686 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10687 (gst_pad_event_default_dispatch), (gst_pad_event_default),
10688 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10689 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10690 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10691 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10692 (gst_pad_stop_task):
10694 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10695 (gst_queue_loop), (gst_queue_src_activate):
10696 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10697 (gst_task_get_state):
10699 * gst/schedulers/threadscheduler.c:
10700 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10701 Implement gst_pad_pause/start/stop_task(), take STREAM lock
10703 Remove ACTIVE pad flag, use FLUSHING everywhere
10704 Added _pad_chain(), _pad_get_range() to call chain/getrange
10706 Add locks around IS_FLUSHING when reading.
10707 Take STREAM lock in chain(), get_range() functions so plugins
10708 don't need to take it anymore.
10712 2005-05-25 Wim Taymans <wim@fluendo.com>
10714 * tools/gst-launch.c: (event_loop):
10715 Unref message after using its contents instead of
10718 2005-05-24 Wim Taymans <wim@fluendo.com>
10720 * docs/design/draft-ghostpads.txt:
10721 * docs/design/draft-push-pull.txt:
10722 * docs/design/draft-query.txt:
10723 * docs/design/part-overview.txt:
10724 Docs updates, added general overview doc.
10726 2005-05-21 David Schleef <ds@schleef.org>
10728 * docs/gst/tmpl/old/GstBin.sgml:
10729 * docs/gst/tmpl/old/GstBuffer.sgml:
10730 * docs/gst/tmpl/old/GstCaps.sgml:
10731 * docs/gst/tmpl/old/GstClock.sgml:
10732 * docs/gst/tmpl/old/GstCompat.sgml:
10733 * docs/gst/tmpl/old/GstData.sgml:
10734 * docs/gst/tmpl/old/GstElement.sgml:
10735 * docs/gst/tmpl/old/GstEvent.sgml:
10736 * docs/gst/tmpl/old/GstIndex.sgml:
10737 * docs/gst/tmpl/old/GstStructure.sgml:
10738 * docs/gst/tmpl/old/GstTag.sgml:
10739 * docs/gst/tmpl/old/cothreads.sgml:
10740 * docs/gst/tmpl/old/cothreads_compat.sgml:
10741 * docs/gst/tmpl/old/gettext.sgml:
10742 * docs/gst/tmpl/old/gobject2gtk.sgml:
10743 * docs/gst/tmpl/old/grammar.tab.sgml:
10744 * docs/gst/tmpl/old/gst-i18n-app.sgml:
10745 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10746 * docs/gst/tmpl/old/gst_private.sgml:
10747 * docs/gst/tmpl/old/gstaggregator.sgml:
10748 * docs/gst/tmpl/old/gstarch.sgml:
10749 * docs/gst/tmpl/old/gstatomic_impl.sgml:
10750 * docs/gst/tmpl/old/gstbufferstore.sgml:
10751 * docs/gst/tmpl/old/gstdata_private.sgml:
10752 * docs/gst/tmpl/old/gstdisksink.sgml:
10753 * docs/gst/tmpl/old/gstdisksrc.sgml:
10754 * docs/gst/tmpl/old/gstelementfactory.sgml:
10755 * docs/gst/tmpl/old/gstextratypes.sgml:
10756 * docs/gst/tmpl/old/gstfakesink.sgml:
10757 * docs/gst/tmpl/old/gstfakesrc.sgml:
10758 * docs/gst/tmpl/old/gstfdsink.sgml:
10759 * docs/gst/tmpl/old/gstfdsrc.sgml:
10760 * docs/gst/tmpl/old/gstfilesink.sgml:
10761 * docs/gst/tmpl/old/gstfilesrc.sgml:
10762 * docs/gst/tmpl/old/gsthttpsrc.sgml:
10763 * docs/gst/tmpl/old/gstidentity.sgml:
10764 * docs/gst/tmpl/old/gstindexfactory.sgml:
10765 * docs/gst/tmpl/old/gstmarshal.sgml:
10766 * docs/gst/tmpl/old/gstmd5sink.sgml:
10767 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10768 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10769 * docs/gst/tmpl/old/gstpadtemplate.sgml:
10770 * docs/gst/tmpl/old/gstpipefilter.sgml:
10771 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10772 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10773 * docs/gst/tmpl/old/gstshaper.sgml:
10774 * docs/gst/tmpl/old/gstspider.sgml:
10775 * docs/gst/tmpl/old/gstspideridentity.sgml:
10776 * docs/gst/tmpl/old/gststatistics.sgml:
10777 * docs/gst/tmpl/old/gsttee.sgml:
10778 * docs/gst/tmpl/old/gsttimecache.sgml:
10779 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10780 * docs/gst/tmpl/old/gstxmlregistry.sgml:
10781 * docs/gst/tmpl/old/gthread-cothreads.sgml:
10782 * docs/gst/tmpl/old/types.sgml:
10783 I didn't intend to add these or check them in.
10785 2005-05-19 David Schleef <ds@schleef.org>
10787 * configure.ac: Use -no-common everywhere. In a sane world, it
10788 would be the default in libtool, because without it, you can't
10789 build DLLs on Windows.
10790 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
10791 * docs/gst/gstreamer-sections.txt:
10792 * docs/gst/tmpl/gstcpu.sgml:
10793 * docs/gst/tmpl/gstdata.sgml:
10794 * docs/gst/tmpl/gstthread.sgml:
10796 2005-05-19 David Schleef <ds@schleef.org>
10798 * gst/gstminiobject.c: (gst_value_set_mini_object),
10799 (gst_value_take_mini_object), (gst_value_get_mini_object):
10800 * gst/gstminiobject.h: Add GValue set/get functions.
10802 2005-05-19 Wim Taymans <wim@fluendo.com>
10804 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
10805 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
10806 (gst_subbuffer_init), (gst_buffer_is_span_fast):
10808 * gst/gstbus.c: (gst_bus_post):
10809 * gst/gstelement.c: (gst_element_get_random_pad):
10810 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
10811 Make subbufer unref the parent in finalize.
10812 some more debugging info.
10815 2005-05-19 Wim Taymans <wim@fluendo.com>
10817 * gst/base/gstbasesink.c: (gst_basesink_class_init),
10818 (gst_basesink_init), (gst_basesink_finalize),
10819 (gst_basesink_activate), (gst_basesink_change_state):
10820 Don't free preroll queue too early.
10822 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10826 Hi, I'm outdated. Please shoot me.
10828 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10830 * gst/gstpipeline.c: (gst_pipeline_send_event):
10831 Do not access variables after they have been deleted.
10833 2005-05-19 Wim Taymans <wim@fluendo.com>
10835 * tools/gst-inspect.c: (print_plugin_features):
10836 A plugin feature does unfortunatly not use the
10839 2005-05-18 Wim Taymans <wim@fluendo.com>
10841 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
10842 Port _span() functions to new subbuffers.
10844 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10846 * gst/gstbin.c: (gst_bin_add_func):
10847 Fix clock settery in bins when adding kids after the clock has
10850 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10852 * gst/elements/gstidentity.c: (gst_identity_class_init):
10853 Workaround until signals support GstMiniObject.
10855 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
10858 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
10860 2005-05-18 Wim Taymans <wim@fluendo.com>
10862 * gst/base/Makefile.am:
10863 * gst/base/gstadapter.c: (gst_adapter_base_init),
10864 (gst_adapter_class_init), (gst_adapter_init),
10865 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
10866 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
10867 (gst_adapter_flush), (gst_adapter_available),
10868 (gst_adapter_available_fast):
10869 * gst/base/gstadapter.h:
10870 Ported and added adapter to the base classes.
10872 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10875 * gst/gstmessage.c:
10876 Make sure the class is reffed/unreffed once before threads can be
10877 used. Fixes #304551.
10879 2005-05-17 Wim Taymans <wim@fluendo.com>
10881 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
10882 (gst_basesink_chain_unlocked), (gst_basesink_activate):
10883 * gst/gstminiobject.c: (gst_mini_object_get_type),
10884 (gst_mini_object_free):
10885 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
10886 (gst_pad_push), (gst_pad_push_event):
10887 * gst/gstqueue.c: (gst_queue_change_state):
10888 Don't queue buffers in basesink when we are flushing.
10889 Unref buffer when flushing in basesink.
10890 Flush queue when going to READY
10891 Unref buffer when _push() returns an error.
10892 Don't free MiniObject instance when refcount is incremented
10893 in _finalize() so that we can recover objects.
10895 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
10897 * docs/manual/advanced-schedulers.xml:
10898 * docs/manual/appendix-checklist.xml:
10899 * docs/pwg/advanced-clock.xml:
10900 * docs/pwg/advanced-interfaces.xml:
10901 * docs/pwg/advanced-request.xml:
10902 * docs/pwg/advanced-types.xml:
10903 * docs/pwg/intro-preface.xml:
10904 * examples/plugins/example.c: (gst_example_get_type),
10905 (gst_example_class_init), (gst_example_chain),
10906 (gst_example_set_property), (gst_example_get_property),
10907 (gst_example_change_state), (plugin_init):
10908 * examples/plugins/example.h:
10911 2005-05-17 Wim Taymans <wim@fluendo.com>
10913 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
10914 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
10915 * gst/gstqueue.c: (gst_queue_change_state):
10916 Clear queue when going to READY.
10917 Remove IN_SETCAPS flag too.
10919 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
10921 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
10922 Remove implicit cast from gboolean to GstElementStateReturn;
10923 make sure we still return failure in paused => ready case if
10924 the parent class fails to change state and our own stop
10927 2005-05-17 Wim Taymans <wim@fluendo.com>
10929 * tools/gst-launch.c: (event_loop):
10930 Message was unreffed too soon.
10932 2005-05-16 Andy Wingo <wingo@pobox.com>
10934 * gst/gstbin.c (sink_iterator_filter): Err... um...
10936 * check/gst/gstbin.c (test_ghost_pads): New test for the
10937 ghosting-if-elements-not-in-same-bin behavior.
10939 2005-05-16 David Schleef <ds@schleef.org>
10941 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
10942 accessing refcount directly.
10944 2005-05-15 David Schleef <ds@schleef.org>
10946 * check/Makefile.am: remove GstData checks
10947 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
10948 * gst/Makefile.am: add miniobject, remove data
10949 * gst/gst.h: add miniobject, remove data
10950 * gst/gstdata.c: remove
10951 * gst/gstdata.h: remove
10952 * gst/gstdata_private.h: remove
10953 * gst/gsttypes.h: remove GstEvent and GstMessage
10954 * gst/gstelement.c: (gst_element_post_message): fix for API changes
10955 * gst/gstmarshal.list: change BOXED -> OBJECT
10957 Implement GstMiniObject.
10958 * gst/gstminiobject.c:
10959 * gst/gstminiobject.h:
10961 Modify to be subclasses of GstMiniObject.
10962 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
10963 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
10964 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
10965 (gst_subbuffer_get_type), (gst_subbuffer_init),
10966 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
10969 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
10970 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
10971 (_gst_event_copy), (gst_event_new):
10973 * gst/gstmessage.c: (_gst_message_initialize),
10974 (gst_message_get_type), (gst_message_class_init),
10975 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
10976 (gst_message_new), (gst_message_new_error),
10977 (gst_message_new_warning), (gst_message_new_tag),
10978 (gst_message_new_state_changed), (gst_message_new_application):
10979 * gst/gstmessage.h:
10980 * gst/gstprobe.c: (gst_probe_perform),
10981 (gst_probe_dispatcher_dispatch):
10983 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
10984 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
10985 (_gst_query_copy), (gst_query_new):
10987 Update elements for GstData -> GstMiniObject changes
10989 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
10990 (gst_queue_chain), (gst_queue_loop):
10991 * gst/elements/gstbufferstore.c:
10992 (gst_buffer_store_add_buffer_func),
10993 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
10994 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10995 (gst_fakesink_render):
10996 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10997 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
10998 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
10999 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11000 (gst_filesrc_create_read):
11001 * gst/elements/gstidentity.c: (gst_identity_class_init):
11002 * gst/elements/gsttypefindelement.c:
11003 (gst_type_find_element_src_event), (free_entry_buffers),
11004 (gst_type_find_element_handle_event):
11005 * libs/gst/dataprotocol/dataprotocol.c:
11006 (gst_dp_header_from_buffer):
11007 * libs/gst/dataprotocol/dataprotocol.h:
11008 * libs/gst/dataprotocol/dp-private.h:
11010 2005-05-15 David Schleef <ds@schleef.org>
11012 * gst/elements/gstelements.c: Don't include headers that were
11015 2005-05-15 David Schleef <ds@schleef.org>
11017 * gst/elements/Makefile.am: Remove some elements that don't
11018 need to be in the core (or even exist at all).
11019 * gst/elements/gstaggregator.c:
11020 * gst/elements/gstaggregator.h:
11021 * gst/elements/gstmd5sink.c:
11022 * gst/elements/gstmd5sink.h:
11023 * gst/elements/gstmultifilesrc.c:
11024 * gst/elements/gstmultifilesrc.h:
11025 * gst/elements/gstpipefilter.c:
11026 * gst/elements/gstpipefilter.h:
11027 * gst/elements/gstshaper.c:
11028 * gst/elements/gstshaper.h:
11029 * gst/elements/gststatistics.c:
11030 * gst/elements/gststatistics.h:
11031 * po/POTFILES.in: Remove above files.
11033 2005-05-14 Andy Wingo <wingo@pobox.com>
11035 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11036 so as to get the refs right.
11037 (sink_iterator_filter): New function, wraps bin_element_is_sink,
11038 unreffing objects that don't pass the filter.
11040 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11041 gst_element_set_bus.
11042 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11043 normal cases, this will destroy the bus.
11045 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11048 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11051 2005-05-13 Andy Wingo <wingo@pobox.com>
11053 * gst/gstutils.c (gst_element_link_pads): Instead of calling
11054 gst_pad_link, call pad_link_maybe_ghosting,
11055 (pad_link_maybe_ghosting): Links pads, making sure that the
11056 elements being linked are in the same bin.
11057 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11058 Helpers for pad_link_maybe_ghosting.
11060 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11063 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11065 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
11067 * docs/design/part-element-source.txt:
11070 2005-05-12 Wim Taymans <wim@fluendo.com>
11072 * gst/base/gstbasesink.c: (gst_basesink_init),
11073 (gst_basesink_activate):
11074 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11075 (gst_basesrc_is_seekable):
11076 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11077 (bin_element_is_sink), (gst_bin_change_state):
11078 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11079 * gst/gstelement.h:
11080 Identify sinks by their flag to avoid overly complicated
11082 Do state changes even for elements not reachable from the
11084 BaseSink is a sink now :)
11085 Some more debugging info in the basesrc.
11088 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11090 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11091 Implement _query on a bin, similar to _send_event.
11093 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
11095 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11096 Discont event offset format should be GST_FORMAT_BYTES,
11097 not GST_FORMAT_TIME.
11099 2005-05-12 Wim Taymans <wim@fluendo.com>
11101 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11102 Same fix as Ronald's but without the signal.
11104 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11106 * gst/gstutils.c: (gst_element_query_position):
11107 No, an element is not a pad.
11109 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11111 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11112 (gst_bin_get_state):
11113 If a child is removed from a bin while we remove the child from
11114 the bin and while we're retrieving its state, signal this to the
11115 get_state function so we abort the wait (instead of waiting for
11116 a timeout) and can immediately re-iterate over all other elements.
11118 2005-05-12 Wim Taymans <wim@fluendo.com>
11120 * gst/base/Makefile.am:
11121 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11122 (gst_basesrc_start):
11123 * gst/base/gstbasesrc.h:
11124 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11125 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11126 (gst_pushsrc_init), (gst_pushsrc_create):
11127 * gst/base/gstpushsrc.h:
11128 Added is_seekable to BaseSrc
11129 Added simple PushSrc.
11131 2005-05-11 Wim Taymans <wim@fluendo.com>
11133 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11134 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11135 (gst_element_link_pads), (gst_element_query_position),
11136 (gst_element_query_convert), (intersect_caps_func),
11137 (gst_pad_query_position), (gst_pad_query_convert):
11138 Fix refcounting in utils function.
11139 No point in trying to activate a pad when it's added, it could
11140 be added from the state change function and then we deadlock, the
11141 element has to decide what to do.
11143 2005-05-10 Andy Wingo <wingo@pobox.com>
11145 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11146 *all* the arguments.
11148 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11149 stream lock if it's a FLUSH_DONE; normal flushes don't get the
11150 lock (according to the docs -- if this is wrong change the docs).
11152 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11153 flush messages in the NULL state.
11155 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11156 message immediately and return.
11157 (gst_bus_set_flushing): New function. If a bus is flushing, it
11158 flushes out any queued messages and immediately unrefs new
11159 messages. This is so when an element goes to NULL, all of the
11160 unhandled messages coming from it can be freed, and their
11161 references to the element dropped. In other words: message source
11162 ref considered harmful :P
11164 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11165 we're finished with it.
11167 * gst/gstmessage.c (gst_message_new_state_changed):
11169 2005-05-10 Wim Taymans <wim@fluendo.com>
11171 * gst/gstvalue.c: (gst_value_compare_flags),
11172 (gst_value_serialize_flags), (gst_value_deserialize_flags),
11173 (_gst_value_initialize):
11174 Added flags serialize/deserialize/compare code.
11176 2005-05-09 Andy Wingo <wingo@pobox.com>
11178 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11179 Intersect the peer's caps with our caps.
11181 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11183 * gst/base/gsttypefindhelper.c: (helper_find_peek):
11184 * gst/elements/gsttypefindelement.c: (find_peek):
11185 Handle negative offsets better. Fixes decodebin.
11187 2005-05-09 Wim Taymans <wim@fluendo.com>
11189 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11190 (gst_base_transform_event):
11191 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11192 Implement accept_caps.
11193 Fix silly lock/unlock mismatch in base class.
11195 2005-05-09 Wim Taymans <wim@fluendo.com>
11197 * docs/design/draft-push-pull.txt:
11198 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11199 * gst/elements/gstfilesink.c: (gst_filesink_init),
11200 (gst_filesink_query):
11201 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11202 (gst_type_find_handle_src_query), (find_element_get_length):
11203 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11204 * gst/gstelement.h:
11205 * gst/gstmessage.c:
11206 * gst/gstmessage.h:
11207 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11208 (gst_real_pad_get_caps_unlocked),
11209 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11210 (gst_pad_event_default_dispatch), (gst_pad_event_default),
11211 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11212 (gst_real_pad_dispose), (gst_real_pad_finalize),
11213 (gst_pad_load_and_link), (gst_pad_save_thyself),
11214 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11215 (gst_pad_check_pull_range), (gst_pad_pull_range),
11216 (gst_pad_template_get_type), (gst_pad_template_class_init),
11217 (gst_pad_template_init), (gst_pad_template_dispose),
11218 (name_is_valid), (gst_static_pad_template_get),
11219 (gst_pad_template_new), (gst_static_pad_template_get_caps),
11220 (gst_pad_template_get_caps), (gst_pad_set_element_private),
11221 (gst_pad_get_element_private), (gst_pad_start_task),
11222 (gst_pad_pause_task), (gst_pad_stop_task),
11223 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11224 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11225 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11226 (gst_ghost_pad_new):
11228 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11229 (gst_query_new_position), (gst_query_set_position),
11230 (gst_query_parse_position), (gst_query_new_convert),
11231 (gst_query_set_convert), (gst_query_parse_convert):
11233 * gst/gstqueryutils.c:
11234 * gst/gstqueryutils.h:
11235 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11236 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11237 (gst_queue_handle_src_query):
11238 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11239 (gst_element_query_position), (gst_element_query_convert),
11240 (intersect_caps_func), (gst_pad_query_position),
11241 (gst_pad_query_convert):
11243 * tools/gst-inspect.c: (print_pad_info):
11244 * tools/gst-xmlinspect.c: (print_element_info):
11245 Remove old query functions. Ported old code.
11246 Added position/convert helper functions to gstutils.
11247 Reordered gstpad.c code, grouping relevant things.
11248 Remove gst_message_new(), always need to speficy a specific
11252 2005-05-09 Andy Wingo <wingo@pobox.com>
11254 * gst/gstiterator.h: Add some includes.
11256 * gst/gstqueryutils.h: Include more headers.
11259 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11260 some uses of gst_pad_query.
11262 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11263 NULL out parameters.
11264 (gst_query_new_position): New proc, allocates a new position
11267 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11268 gstqueryutils.c to the build.
11270 * gst/gststructure.c (gst_structure_set_valist): Implement with
11271 the generic G_VALUE_COLLECT.
11273 2005-05-08 Edward Hervey <bilboed@bilboed.com>
11275 * gst/Makefile.am: (gst_headers):
11276 Added gstqueryutils.h to the list of headers to install, that was
11277 a 'nachty' move wingo :)
11279 2005-05-06 Andy Wingo <wingo@pobox.com>
11282 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11283 GstData, init a memchunk.
11284 (standard_definitions): Add a few query types, deprecate a few.
11285 (gst_query_get_type): New proc.
11286 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11288 (gst_query_new_application, gst_query_get_structure): New public
11291 * docs/design/draft-query.txt: Removed LINKS from the query types,
11292 because all the rest can be dispatched to other pads -- seemed
11293 ugly to have a query that couldn't be dispatched. internal_links
11294 is fine as a pad method.
11296 * gst/gstpad.h: Add query2 as a pad method, add the new functions
11297 in gstpad.c, but maintain binary compatibility for the moment.
11298 Will fix before 0.9 is out.
11300 * gst/gstqueryutils.c:
11301 * gst/gstqueryutils.h: New files, implement 3 methods for each
11302 query type: parse_query, parse_response, and set. Probably need an
11305 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11307 * gst/elements/gstfilesink.c (gst_filesink_query2):
11308 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11309 query_types, and formats methods.
11311 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11312 (gst_pad_set_query2_function): New functions.
11313 (gst_real_pad_init): Set query2_default as the default query2
11314 function. Basically just dispatches to internally linked pads.
11318 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11319 without using the atomic operations. Only one thread can possibly
11320 be accessing the data at this point. Changed so as to avoid
11321 gst_atomic operations.
11323 2005-05-06 Wim Taymans <wim@fluendo.com>
11325 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11326 Also set caps if we use the fallback buffer alloc.
11328 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
11330 * docs/gst/Makefile.am:
11331 * docs/gst/gstreamer-docs.sgml:
11332 * docs/gst/gstreamer-sections.txt:
11333 * docs/gst/tmpl/gstatomic.sgml:
11334 * docs/gst/tmpl/gstmemchunk.sgml:
11335 * testsuite/elements/struct_i386.h:
11336 * win32/GStreamer.vcproj:
11338 Purge GstAtomic stuff from docs and win32 makefiles as well
11340 2005-05-06 Wim Taymans <wim@fluendo.com>
11342 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11343 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11344 * gst/gstpad.c: (gst_pad_peer_get_caps):
11345 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11346 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11347 (gst_queue_src_activate), (gst_queue_change_state):
11349 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11350 (intersect_caps_func):
11351 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11352 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11353 Some fixes for the peer_get_caps() change.
11355 2005-05-06 Wim Taymans <wim@fluendo.com>
11357 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11358 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11359 (gst_basesink_activate):
11360 Actually do something with error codes returned from the push
11363 2005-05-06 Wim Taymans <wim@fluendo.com>
11365 * docs/design/part-element-sink.txt:
11366 * docs/design/part-element-source.txt:
11367 * gst/base/gstbasesink.c: (gst_basesink_class_init),
11368 (gst_basesink_event), (gst_basesink_activate):
11369 * gst/base/gstbasesink.h:
11370 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11371 (gst_basesrc_activate):
11372 * gst/base/gstbasesrc.h:
11373 * gst/gstelement.c: (gst_element_pads_activate):
11374 Some more documentation.
11375 Fixed scheduling decision in _pads_activate().
11377 2005-05-05 Andy Wingo <wingo@pobox.com>
11379 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11382 2005-05-05 Wim Taymans <wim@fluendo.com>
11384 * gst/base/Makefile.am:
11385 * gst/base/gstbasesink.h:
11386 * gst/base/gstbasesrc.c: (gst_basesrc_init),
11387 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11388 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11389 (gst_collectpads_class_init), (gst_collectpads_init),
11390 (gst_collectpads_finalize), (gst_collectpads_new),
11391 (gst_collectpads_set_function), (gst_collectpads_add_pad),
11392 (find_pad), (gst_collectpads_remove_pad),
11393 (gst_collectpads_is_active), (gst_collectpads_collect),
11394 (gst_collectpads_collect_range), (gst_collectpads_start),
11395 (gst_collectpads_stop), (gst_collectpads_peek),
11396 (gst_collectpads_pop), (gst_collectpads_available),
11397 (gst_collectpads_read), (gst_collectpads_flush),
11398 (gst_collectpads_chain):
11399 * gst/base/gstcollectpads.h:
11400 * gst/elements/Makefile.am:
11401 * gst/elements/gstelements.c:
11402 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11403 (gst_fakesink_get_times), (gst_fakesink_event),
11404 (gst_fakesink_preroll), (gst_fakesink_render):
11405 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11406 (gst_filesink_init), (gst_filesink_set_location),
11407 (gst_filesink_open_file), (gst_filesink_close_file),
11408 (gst_filesink_pad_query), (gst_filesink_event),
11409 (gst_filesink_render), (gst_filesink_change_state):
11410 * gst/elements/gstfilesink.h:
11411 Added object to help in making collect pad based elements.
11413 Make event function in sink baseclass return gboolean.
11415 2005-05-05 Wim Taymans <wim@fluendo.com>
11417 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11418 (gst_bin_get_by_name):
11420 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11421 (gst_clock_finalize):
11422 * gst/gstdata.c: (gst_data_replace):
11424 * gst/gstelement.c: (gst_element_request_pad),
11425 (gst_element_pads_activate):
11426 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11427 (gst_object_unref):
11428 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11429 (gst_pad_set_checkgetrange_function),
11430 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11431 (gst_pad_check_pull_range), (gst_pad_pull_range),
11432 (gst_static_pad_template_get_caps), (gst_pad_start_task),
11433 (gst_pad_pause_task), (gst_pad_stop_task):
11434 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11435 (gst_element_request_pad), (gst_pad_proxy_getcaps):
11436 Fix name lookup in GstBin.
11437 Added _data_replace() function and _buffer_replace()
11438 Use finalize method to clean up clock.
11439 Fix refcounting on request pads.
11440 Fix pad schedule mode error.
11441 Some more object refcounting debug info,
11444 2005-05-04 Andy Wingo <wingo@pobox.com>
11446 * check/Makefile.am:
11447 * docs/gst/tmpl/gstatomic.sgml:
11448 * docs/gst/tmpl/gstplugin.sgml:
11449 * gst/base/gstbasesink.c: (gst_basesink_activate):
11450 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11451 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11452 (gst_basesrc_query), (gst_basesrc_set_property),
11453 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11454 (gst_basesrc_activate):
11455 * gst/base/gstbasesrc.h:
11456 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11457 (gst_base_transform_src_activate):
11458 * gst/elements/gstelements.c:
11459 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11460 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11461 * gst/elements/gsttee.c: (gst_tee_sink_activate):
11462 * gst/elements/gsttypefindelement.c: (find_element_get_length),
11463 (gst_type_find_element_checkgetrange),
11464 (gst_type_find_element_activate):
11465 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11466 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11467 (gst_caps_load_thyself):
11468 * gst/gstelement.c: (gst_element_pads_activate),
11469 (gst_element_save_thyself), (gst_element_restore_thyself):
11470 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11471 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11473 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11474 (gst_xml_parse_file), (gst_xml_parse_memory),
11475 (gst_xml_get_element), (gst_xml_make_element):
11476 * gst/indexers/gstfileindex.c: (gst_file_index_load),
11477 (_file_index_id_save_xml), (gst_file_index_commit):
11478 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11479 (read_enum), (load_pad_template), (load_feature), (load_plugin),
11481 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11482 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11483 * tools/gst-complete.c: (main):
11484 * tools/gst-compprep.c: (main):
11485 * tools/gst-inspect.c: (print_element_properties_info):
11486 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11487 * tools/gst-xmlinspect.c: (print_element_properties):
11490 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
11492 * gst/gstplugin.c: (gst_plugin_check_module),
11493 (gst_plugin_check_file), (gst_plugin_load_file):
11494 apply patch from #172526 to make register work on MacOSX
11496 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11498 * docs/gst/tmpl/gstconfig.sgml:
11499 * gst/gstconfig.h.in:
11500 move documentation for some symbols. Add doc for GST_PTR_FORMAT
11501 * testsuite/debug/printf_extension.c: (main):
11502 Do not use GST_PTR_FORMAT on pointers to types with
11503 sizeof < sizeof(gpointer). Fixes test on 64-bit
11504 * testsuite/elements/property.h:
11505 use correct printf format
11507 2005-05-02 Wim Taymans <wim@fluendo.com>
11509 * docs/design/draft-push-pull.txt:
11510 * docs/design/draft-query.txt:
11511 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11512 (gst_basesrc_start):
11513 Added draft for new query API.
11514 Added draft for better selecting scheduling methods.
11515 Make basesrc ignore length if the subclass does not support
11518 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11521 possible fixes for automake-1.5 - _LIBADD is reserved
11523 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
11525 * docs/faq/Makefile.am:
11526 * docs/manual/Makefile.am:
11527 * docs/manuals.mak:
11528 * docs/pwg/Makefile.am:
11530 possible fixes for automake-1.5
11532 2005-04-28 Wim Taymans <wim@fluendo.com>
11534 * gst/base/gstbasesink.c: (gst_basesink_base_init),
11535 (gst_basesink_pad_getcaps), (gst_basesink_init),
11536 (gst_basesink_do_sync):
11537 * gst/gstclock.c: (gst_clock_entry_new):
11538 * gst/gstevent.c: (gst_event_discont_get_value):
11539 * gst/gstpipeline.c: (pipeline_bus_handler),
11540 (gst_pipeline_change_state):
11541 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11542 Better debugging of clocking info.
11543 Allow NULL values when getting discont values.
11545 2005-04-27 Wim Taymans <wim@fluendo.com>
11547 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11548 * check/gst/gstpad.c: (gst_pad_suite):
11549 Increase timeout for checks.
11551 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11553 * check/Makefile.am:
11554 fix the broken rule for cleanup. Apparently this rule is
11555 only needed on FC2, so maybe this warrants further autotool
11558 2005-04-26 Wim Taymans <wim@fluendo.com>
11560 * gst/gsttrashstack.h:
11561 Ooohh. a nasty one! After having a failed pop() from the stack,
11562 it's possible that the stack is empty. In that case, don't
11563 follow the NULL pointer.
11565 2005-04-25 Wim Taymans <wim@fluendo.com>
11567 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11568 (gst_pad_set_checkgetrange_function),
11569 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11570 (gst_pad_check_pull_range), (gst_pad_pull_range),
11571 (gst_static_pad_template_get_caps), (gst_pad_start_task),
11572 (gst_pad_pause_task), (gst_pad_stop_task):
11573 * gst/gstplugin.c: (gst_plugin_load):
11575 Remove gst_library_load as it does more harm than good with
11576 the new g_module flags.
11577 Revert bogus caps template check in pad linking, pad caps
11578 are important when linking not the template, which is more
11579 general than the current caps.
11581 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11583 * gst/autoplug/.cvsignore:
11584 * gst/autoplug/Makefile.am:
11585 * gst/autoplug/gstsearchfuncs.c:
11586 * gst/autoplug/gstsearchfuncs.h:
11587 * gst/autoplug/gstspider.c:
11588 * gst/autoplug/gstspider.h:
11589 * gst/autoplug/gstspideridentity.c:
11590 * gst/autoplug/gstspideridentity.h:
11591 * gst/autoplug/spidertest.c:
11594 2005-04-25 Wim Taymans <wim@fluendo.com>
11596 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11597 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11598 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11599 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11601 Added stubs for unimplemented functions.
11603 2005-04-24 David Schleef <ds@schleef.org>
11605 * gst/gstpad.h: Disable some unimplemented functions. Wim,
11608 2005-04-24 David Schleef <ds@schleef.org>
11610 Convert everything from GstAtomicInt to g_atomic_int_*, and
11615 * gst/gstatomic_impl.h:
11623 * gst/gstdata_private.h:
11627 * gst/gstmessage.c:
11630 * gst/gststructure.c:
11631 * gst/gststructure.h:
11632 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11635 2005-04-24 David Schleef <ds@schleef.org>
11637 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11638 make the regressions tests work. Remove some code that is no
11640 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11641 Disable warning for pads without templates.
11643 2005-04-24 David Schleef <ds@schleef.org>
11645 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
11646 functions that handle filtered links.
11647 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11649 * gst/gstutils.c: Fix/remove utility functions that handle
11652 * gst/gstvalue.c: Add serialization/deserialization of caps
11653 * gst/parse/grammar.y: Ignore filtered caps when linking. This
11654 requires fixing so that the filter caps notation creates
11655 a capsfilter element and sets the filter_caps property. I
11656 think everyone probably wants to keep the shorthand notation.
11657 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11658 * docs/gst/tmpl/gstpad.sgml:
11660 * gst/elements/gstelements.c: Register capsfilter element.
11661 * gst/Makefile.am: fix spacing
11662 * docs/random/ds/0.9-suggested-changes: random
11664 2005-04-23 David Schleef <ds@schleef.org>
11666 * gst/elements/Makefile.am:
11667 * gst/elements/gstcapsfilter.c: New element that acts like an
11668 identity, but filters caps. Will eventually replace filtered
11669 caps in pad linking.
11670 * gst/gstutils.c: (gst_element_create_all_pads): New function
11671 to create all the ALWAYS pads that are registered with an
11672 element class. This functionality should eventually be
11673 merged in with GstElement initialization.
11675 * testsuite/trigger/README: part of trigger test code that should
11676 have been checked in a long time ago.
11678 2005-04-23 David Schleef <ds@schleef.org>
11680 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
11681 needed with new versions of libtool (nobody will confirm this),
11682 and hard to carry around.
11683 * gst/autoplug/Makefile.am:
11684 * gst/base/Makefile.am:
11685 * gst/elements/Makefile.am:
11686 * gst/indexers/Makefile.am:
11687 * gst/schedulers/Makefile.am:
11688 * libs/gst/bytestream/Makefile.am:
11689 * libs/gst/control/Makefile.am:
11690 * libs/gst/dataprotocol/Makefile.am:
11691 * libs/gst/getbits/Makefile.am:
11693 2005-04-21 Wim Taymans <wim@fluendo.com>
11695 * docs/design/draft-push-pull.txt:
11696 * docs/design/part-MT-refcounting.txt:
11697 * docs/design/part-TODO.txt:
11698 * docs/design/part-caps.txt:
11699 * docs/design/part-events.txt:
11700 * docs/design/part-gstbus.txt:
11701 * docs/design/part-gstpipeline.txt:
11702 * docs/design/part-messages.txt:
11703 * docs/design/part-push-pull.txt:
11704 * docs/design/part-query.txt:
11707 2005-04-21 Wim Taymans <wim@fluendo.com>
11709 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11710 (gst_message_new), (gst_message_new_error),
11711 (gst_message_new_warning), (gst_message_new_tag),
11712 (gst_message_new_state_changed), (gst_message_new_application),
11713 (gst_message_get_structure):
11714 * gst/gstmessage.h:
11715 * gst/gststructure.c: (gst_structure_set_parent_refcount),
11716 (gst_structure_copy_conditional):
11717 Use parent refcount in GstMessage to ensure GstStructure
11719 Cleaned up headers a bit.
11722 2005-04-20 Wim Taymans <wim@fluendo.com>
11724 * gst/base/gstbasesink.c: (gst_basesink_base_init),
11725 (gst_basesink_pad_getcaps), (gst_basesink_init),
11726 (gst_basesink_chain_unlocked):
11727 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11728 (gst_type_find_helper):
11729 * gst/elements/gsttypefindelement.c:
11730 (gst_type_find_element_have_type), (gst_type_find_element_init),
11731 (stop_typefinding), (gst_type_find_element_handle_event),
11732 (find_suggest), (gst_type_find_element_chain),
11733 (gst_type_find_element_checkgetrange),
11734 (gst_type_find_element_getrange), (do_typefind),
11735 (gst_type_find_element_activate):
11736 * gst/gstbuffer.c: (_gst_buffer_sub_free),
11737 (gst_buffer_default_free), (gst_buffer_default_copy),
11738 (gst_buffer_set_caps):
11739 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11740 (gst_caps_replace):
11741 * gst/gstmessage.c: (gst_message_new),
11742 (gst_message_new_state_changed):
11743 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11744 (gst_pad_set_checkgetrange_function),
11745 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11746 (gst_pad_set_caps), (gst_pad_check_pull_range),
11747 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11749 * gst/gsttypefind.c: (gst_type_find_register):
11750 Make gst_caps_replace() work like other _replace() functions.
11751 Use _caps_replace() where possible.
11752 Make sure _message_new() initialises its field.
11753 Add gst_static_pad_template_get_caps()
11756 2005-04-18 Andy Wingo <wingo@pobox.com>
11758 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11759 on the peer, not the pad. I think that was a typo. Pass an extra
11760 arg to see if random access is possible. Activate the pads as
11761 PULL_RANGE if possible.
11763 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11765 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
11766 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11769 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11771 * docs/faq/using.xml:
11772 Add note on gstreamer-properties (#154996).
11774 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11776 * docs/random/bbb/optional-properties:
11777 Some analysis on optional properties.
11779 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11781 * docs/gst/tmpl/gstelementfactory.sgml:
11782 * gst/gstelement.h:
11783 * gst/gstelementfactory.c: (gst_element_factory_init),
11784 (gst_element_factory_cleanup), (gst_element_register),
11785 (__gst_element_factory_add_static_pad_template),
11786 (gst_element_factory_get_static_pad_templates),
11787 (gst_element_factory_can_src_caps),
11788 (gst_element_factory_can_sink_caps):
11789 * gst/registries/Makefile.am:
11790 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
11791 (gst_xml_registry_class_init), (gst_xml_registry_init),
11792 (gst_xml_registry_new), (gst_xml_registry_set_property),
11793 (gst_xml_registry_get_property), (get_time), (make_dir),
11794 (gst_xml_registry_get_perms_func),
11795 (plugin_times_older_than_recurse), (plugin_times_older_than),
11796 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
11797 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
11798 (add_to_char_array), (read_string), (read_uint), (read_enum),
11799 (load_pad_template), (load_feature), (load_plugin), (load_paths),
11800 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
11801 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
11802 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
11803 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
11804 (gst_xml_registry_rebuild):
11805 * gst/registries/gstlibxmlregistry.h:
11806 * tools/gst-compprep.c: (main):
11807 * tools/gst-inspect.c: (print_pad_templates_info):
11808 * tools/gst-xmlinspect.c: (print_element_info):
11809 Use libxml2 for registry parsing, use staticpadtemplates in
11810 elementfactories. Makes gst_init() +/- 10x faster.
11812 2005-04-12 Wim Taymans <wim@fluendo.com>
11814 * gst/base/Makefile.am:
11815 * gst/base/gstbasesink.c: (gst_basesink_base_init),
11816 (gst_basesink_pad_getcaps), (gst_basesink_init),
11817 (gst_basesink_event), (gst_basesink_change_state):
11818 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11819 (gst_basesrc_init), (gst_basesrc_query),
11820 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11821 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11822 (gst_basesrc_check_get_range), (gst_basesrc_loop),
11823 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11824 (gst_basesrc_stop), (gst_basesrc_activate),
11825 (gst_basesrc_change_state):
11826 * gst/base/gsttypefindhelper.c: (helper_find_peek),
11827 (helper_find_suggest), (gst_type_find_helper):
11828 * gst/base/gsttypefindhelper.h:
11829 * gst/elements/Makefile.am:
11830 * gst/elements/gstelements.c:
11831 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11832 (gst_fakesink_get_times), (gst_fakesink_event),
11833 (gst_fakesink_preroll), (gst_fakesink_render):
11834 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11835 (gst_fakesrc_init), (gst_fakesrc_event_handler),
11836 (gst_fakesrc_get_property), (gst_fakesrc_create),
11837 (gst_fakesrc_start), (gst_fakesrc_stop):
11838 * gst/elements/gstfakesrc.h:
11839 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
11840 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11841 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11842 (gst_filesrc_create_read), (gst_filesrc_create),
11843 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
11844 (gst_filesrc_start):
11845 * gst/elements/gsttypefindelement.c:
11846 (gst_type_find_element_have_type), (gst_type_find_element_init),
11847 (start_typefinding), (stop_typefinding), (push_buffer_store),
11848 (gst_type_find_element_handle_event),
11849 (gst_type_find_element_chain),
11850 (gst_type_find_element_checkgetrange),
11851 (gst_type_find_element_getrange), (do_typefind),
11852 (gst_type_find_element_activate),
11853 (gst_type_find_element_change_state):
11854 * gst/elements/gsttypefindelement.h:
11855 * gst/gstpipeline.c: (pipeline_bus_handler):
11856 Added typefind helper.
11857 Small preroll fix in the base sink.
11858 Disable typefind code in basesrc.
11859 Crude port of typefindelement.
11863 2005-04-11 Wim Taymans <wim@fluendo.com>
11865 * check/gst/gstbus.c: (gstbus_suite):
11866 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
11867 * check/gstcheck.h:
11868 Fix up the timeout so that the test does not fail.
11870 2005-04-06 Wim Taymans <wim@fluendo.com>
11873 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11874 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
11875 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
11876 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
11877 (gst_basesrc_check_get_range), (gst_basesrc_loop),
11878 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
11879 (gst_basesrc_stop), (gst_basesrc_activate),
11880 (gst_basesrc_change_state), (basesrc_find_peek),
11881 (basesrc_find_suggest), (gst_basesrc_type_find):
11882 * gst/base/gstbasesrc.h:
11883 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
11884 (gst_filesrc_class_init), (gst_filesrc_init),
11885 (gst_filesrc_finalize), (gst_filesrc_set_location),
11886 (gst_filesrc_set_property), (gst_filesrc_get_property),
11887 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
11888 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
11889 (gst_filesrc_create_read), (gst_filesrc_create),
11890 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
11891 * gst/elements/gstfilesrc.h:
11892 * gst/gstelement.c: (gst_element_get_state_func),
11893 (gst_element_lost_state), (gst_element_pads_activate):
11894 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11895 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11896 (gst_pad_pull_range):
11898 More work on the generic source base class, implement seeking,
11900 Make filesrc extend the base source class.
11901 Added gst_pad_set_checkgetrange_function to GstPad.
11903 2005-04-06 Andy Wingo <wingo@pobox.com>
11905 * pkgconfig/gstreamer-base.pc.in:
11906 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
11908 * pkgconfig/Makefile.am:
11909 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
11911 2005-04-04 Wim Taymans <wim@fluendo.com>
11913 * gst/base/Makefile.am:
11915 * gst/base/gstbasesink.c: (gst_basesink_base_init),
11916 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
11917 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
11918 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
11919 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
11920 (gst_basesrc_base_init), (gst_basesrc_class_init),
11921 (gst_basesrc_init), (gst_basesrc_get_formats),
11922 (gst_basesrc_get_query_types), (gst_basesrc_query),
11923 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
11924 (gst_basesrc_set_property), (gst_basesrc_get_property),
11925 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
11926 (gst_basesrc_loop), (gst_basesrc_activate),
11927 (gst_basesrc_change_state):
11928 * gst/base/gstbasesrc.h:
11929 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
11930 (gst_fakesrc_class_init), (gst_fakesrc_init),
11931 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
11932 (gst_fakesrc_get_property), (gst_fakesrc_create):
11933 * gst/elements/gstfakesrc.h:
11934 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
11935 (gst_filesrc_open_file), (gst_filesrc_loop),
11936 (gst_filesrc_activate), (filesrc_find_peek),
11937 (gst_filesrc_type_find):
11938 Made base source class, make fakesrc extend it.
11939 Add comments to basesink class.
11940 Some filesrc cleanup.
11942 2005-03-31 David Schleef <ds@schleef.org>
11944 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
11945 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
11946 expected to link against libgstreamer.
11947 * gst/base/Makefile.am: link against libgstreamer
11948 * gst/elements/Makefile.am: same
11950 2005-03-31 Andy Wingo <wingo@pobox.com>
11952 * tests/instantiate/Makefile.am:
11953 * tests/instantiate/caps.c: Add test to test speed of caps copy
11956 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
11957 GMemChunk to be fair.
11959 * gst/gsttrashstack.h: Remove warning about using the fallback
11960 trash stack implementation, it's still faster than malloc.
11962 2005-03-30 Andy Wingo <wingo@pobox.com>
11964 * tests/complexity.c: Add a copyright.
11966 2005-03-31 Wim Taymans <wim@fluendo.com>
11968 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
11969 (gst_base_transform_class_init), (gst_base_transform_init),
11970 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11971 (gst_base_transform_get_property),
11972 (gst_base_transform_sink_activate),
11973 (gst_base_transform_src_activate),
11974 (gst_base_transform_change_state):
11975 * gst/base/gstbasetransform.h:
11976 * gst/elements/gstidentity.c: (gst_identity_class_init),
11977 (gst_identity_event), (gst_identity_check_perfect),
11978 (gst_identity_transform), (gst_identity_start),
11979 (gst_identity_stop):
11980 Added start/stop methods to transform base class so subclasses
11981 don't need to deal with state changes even.
11983 2005-03-31 Wim Taymans <wim@fluendo.com>
11985 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
11986 (gst_event_new_discontinuous), (gst_event_discont_get_value):
11988 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11989 (gst_pad_pull_range):
11990 Added rate to the discont event to prepare for variable speed
11991 and reverse playback.
11993 2005-03-29 David Schleef <ds@schleef.org>
11996 * testsuite/trigger/Makefile.am:
11997 * testsuite/trigger/trigger.c: A little example program to show
11998 how trigger-based elements can work.
12000 2005-03-29 Wim Taymans <wim@fluendo.com>
12002 * gst/base/Makefile.am:
12004 * gst/base/gstbasesink.c: (gst_basesink_get_type),
12005 (gst_basesink_base_init), (gst_basesink_class_init),
12006 (gst_basesink_pad_getcaps), (gst_basesink_init),
12007 (gst_basesink_activate), (gst_basesink_change_state):
12008 * gst/base/gstbasesink.h:
12009 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12010 (gst_base_transform_base_init), (gst_base_transform_finalize),
12011 (gst_base_transform_class_init), (gst_base_transform_init),
12012 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12013 (gst_base_transform_event), (gst_base_transform_getrange),
12014 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12015 (gst_base_transform_set_property),
12016 (gst_base_transform_get_property),
12017 (gst_base_transform_sink_activate),
12018 (gst_base_transform_src_activate),
12019 (gst_base_transform_change_state):
12020 * gst/base/gstbasetransform.h:
12021 * gst/elements/gstidentity.c: (gst_identity_finalize),
12022 (gst_identity_class_init), (gst_identity_init),
12023 (gst_identity_event), (gst_identity_check_perfect),
12024 (gst_identity_transform), (gst_identity_set_property),
12025 (gst_identity_get_property), (gst_identity_change_state):
12026 * gst/elements/gstidentity.h:
12027 * gst/gstelement.c: (gst_element_get_state_func),
12028 (gst_element_lost_state), (gst_element_pads_activate):
12029 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12030 (gst_pad_check_pull_range), (gst_pad_pull_range):
12032 Simplify pad activation.
12033 Added function to check if pull_range can be performed.
12034 Error out when pulling inactive or flushing pads.
12035 Removed const from refcounted types as it does not make sense.
12036 Simplify pad templates in basesink
12037 Added base class for simple 1-to-1 transforms.
12038 Make identity subclass the base transform.
12040 2005-03-29 Andy Wingo <wingo@pobox.com>
12042 * docs/libs/gstreamer-libs-overrides.txt:
12043 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12044 really don't understand what's going on, but like whatever. I want
12047 * docs/gst/Makefile.am:
12048 * docs/libs/Makefile.am: Dist the overrides files.
12050 * check/Makefile.am (clean-local): Remove .libs directories.
12052 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12053 elements to EXTRA_DIST, so po/ files are happy.
12055 * po/POTFILES.in: Er, remove it here.
12057 * po/POTFILES: Remove gstspider.c.
12059 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12061 * docs/libs/gstreamer-libs-docs.sgml:
12062 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12065 * tests/complexity.c (main): Set the length of the preroll queue
12066 on the sinks to prevent a lockup.
12068 * libs/gst/dataprotocol/Makefile.am:
12069 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12070 the same as the one in check/gst-libs/gdp.c.
12072 * po/, docs/gst/: Commit automatic changes to docs and po files.
12074 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12075 the versioned libgstbase.
12077 * check/Makefile.am: Depend on an unversioned gst-register, seems
12078 to make autoconf happier.
12080 * gst/base/Makefile.am: Make libgstbase a versioned lib.
12082 2005-03-28 Wim Taymans <wim@fluendo.com>
12085 * docs/design/part-gstelement.txt:
12086 * docs/design/part-negotiation.txt:
12087 * docs/design/part-preroll.txt:
12088 * docs/design/part-scheduling.txt:
12089 * docs/design/part-states.txt:
12091 * gst/base/Makefile.am:
12093 * gst/base/gstbasesink.c: (gst_basesink_get_template),
12094 (gst_basesink_base_init), (gst_basesink_class_init),
12095 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12096 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12097 (gst_basesink_set_pad_functions),
12098 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12099 (gst_basesink_set_property), (gst_basesink_get_property),
12100 (gst_base_sink_get_template), (gst_base_sink_get_caps),
12101 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12102 (gst_basesink_preroll_queue_push),
12103 (gst_basesink_preroll_queue_empty),
12104 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12105 (gst_basesink_event), (gst_basesink_get_times),
12106 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12107 (gst_basesink_chain_unlocked), (gst_basesink_chain),
12108 (gst_basesink_loop), (gst_basesink_activate),
12109 (gst_basesink_change_state):
12110 * gst/base/gstbasesink.h:
12111 * gst/elements/Makefile.am:
12112 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12113 (gst_fakesink_class_init), (gst_fakesink_init),
12114 (gst_fakesink_set_property), (gst_fakesink_get_property),
12115 (gst_fakesink_get_times), (gst_fakesink_event),
12116 (gst_fakesink_preroll), (gst_fakesink_render),
12117 (gst_fakesink_change_state):
12118 * gst/elements/gstfakesink.h:
12119 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12120 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12121 * gst/gstelement.c: (gst_element_add_pad),
12122 (gst_element_get_state_func), (gst_element_abort_state),
12123 (gst_element_commit_state), (gst_element_lost_state),
12124 (gst_element_set_state), (gst_element_pads_activate):
12125 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12126 * gst/gstpipeline.c: (gst_pipeline_send_event),
12127 (gst_pipeline_change_state):
12128 Added state change code.
12129 Added/updated docs.
12130 Added sink base class, make fakesink extend the base class.
12131 Small cleanups in GstPipeline.
12133 2005-03-26 David Schleef <ds@schleef.org>
12135 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
12136 is broken and should be implemented in a different library.
12137 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12138 * gst/gst.h: remove gstcpu.h
12139 * gst/gstcpu.c: remove
12140 * gst/gstcpu.h: remove
12141 * gst/Makefile.am.future: Remove this file. It's ancient.
12143 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12145 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12146 (gst_bin_send_event):
12147 Add default event/set_manager handlers. The set_manager handler
12148 takes care that the manager is distributed over kids that were
12149 already in the bin before the manager was set. The event handler
12150 is a utility virtual function that sends the event over all sinks,
12151 so that gst_element_send_event (bin, event); has the expected
12153 * gst/gstpad.c: (gst_pad_event_default):
12154 Re-install default event handling for discontinuities, so that
12155 seeking works without requiring hacks in applications or extra
12157 * gst/gstpipeline.c: (gst_pipeline_class_init),
12158 (gst_pipeline_send_event):
12159 Half hack, half utility: set a pipeline to PAUSED for seek events,
12160 since that is the only way we can guarantee a/v sync. Means that
12161 you can do gst_element_seek (pipeline, method, pos); on a pipeline
12162 and it "just works".
12164 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12166 * gst/gstpipeline.c: (gst_pipeline_use_clock):
12167 Lock/unlock mismatch.
12169 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
12171 * docs/faq/gst-uninstalled:
12172 add gst-plugins-base
12173 * docs/gst/Makefile.am:
12174 don't error out until docs are fixed
12175 * docs/gst/gstreamer.types:
12178 2005-03-22 Wim Taymans <wim@fluendo.com>
12180 * check/Makefile.am:
12181 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12182 * gst/gststructure.c: (gst_structure_set_valist),
12183 (gst_structure_copy_conditional):
12184 Activated more tests.
12185 Added message test.
12186 Added G_TYPE_POINTER to GstStructure.
12189 2005-03-22 Wim Taymans <wim@fluendo.com>
12191 * docs/design/part-TODO.txt:
12192 * docs/design/part-events.txt:
12193 * docs/design/part-gstbin.txt:
12194 * docs/design/part-gstbus.txt:
12195 * docs/design/part-gstpipeline.txt:
12196 * docs/design/part-messages.txt:
12198 * gst/gstmessage.c:
12201 2005-03-21 Wim Taymans <wim@fluendo.com>
12203 * gst/gstbus.c: (gst_bus_post):
12204 Fix copy-and-paste error.
12206 2005-03-21 Wim Taymans <wim@fluendo.com>
12208 * check/Makefile.am:
12210 * gst/elements/Makefile.am:
12211 * gst/elements/gstelements.c:
12212 * gst/elements/gstfakesink.c: (gst_fakesink_init),
12213 (gst_fakesink_event), (gst_fakesink_chain):
12214 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12215 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12216 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12217 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12218 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12219 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12220 (gst_fakesrc_loop), (gst_fakesrc_activate),
12221 (gst_fakesrc_change_state):
12222 * gst/elements/gstfakesrc.h:
12223 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12224 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12225 (gst_filesrc_open_file), (gst_filesrc_loop),
12226 (gst_filesrc_activate), (gst_filesrc_change_state),
12227 (filesrc_find_peek), (filesrc_find_suggest),
12228 (gst_filesrc_type_find):
12229 * gst/elements/gstidentity.c: (gst_identity_finalize),
12230 (gst_identity_class_init), (gst_identity_init),
12231 (gst_identity_proxy_getcaps), (identity_queue_push),
12232 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12233 (gst_identity_getrange), (gst_identity_chain),
12234 (gst_identity_sink_loop), (gst_identity_src_loop),
12235 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12236 (gst_identity_set_property), (gst_identity_get_property),
12237 (gst_identity_change_state):
12238 * gst/elements/gstidentity.h:
12239 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12240 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12241 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12242 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12243 (gst_tee_sink_activate):
12244 * gst/elements/gsttee.h:
12245 * gst/gst.c: (gst_register_core_elements), (init_post):
12247 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12248 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12249 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12250 (gst_bin_change_state):
12252 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12253 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12254 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12255 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12256 (gst_bus_set_sync_handler), (gst_bus_create_watch),
12257 (bus_watch_callback), (bus_watch_destroy),
12258 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12259 (poll_timeout), (gst_bus_poll):
12263 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12264 (gst_element_post_message), (gst_element_message_full),
12265 (gst_element_get_state_func), (gst_element_get_state),
12266 (gst_element_abort_state), (gst_element_commit_state),
12267 (gst_element_lost_state), (gst_element_set_state),
12268 (gst_element_pads_activate), (gst_element_change_state),
12269 (gst_element_dispose), (gst_element_set_manager_func),
12270 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12271 (gst_element_set_manager), (gst_element_get_manager),
12272 (gst_element_set_bus), (gst_element_get_bus),
12273 (gst_element_set_scheduler), (gst_element_get_scheduler):
12274 * gst/gstelement.h:
12275 * gst/gstevent.c: (gst_event_new_segment_seek),
12276 (gst_event_new_flush):
12278 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12279 (_gst_message_free), (gst_message_get_type), (gst_message_new),
12280 (gst_message_new_eos), (gst_message_new_error),
12281 (gst_message_new_warning), (gst_message_new_tag),
12282 (gst_message_new_state_changed), (gst_message_new_application),
12283 (gst_message_get_structure), (gst_message_parse_tag),
12284 (gst_message_parse_state_changed), (gst_message_parse_error),
12285 (gst_message_parse_warning):
12286 * gst/gstmessage.h:
12287 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12288 (gst_real_pad_set_property), (gst_pad_set_active),
12289 (gst_pad_is_active), (gst_pad_set_blocked_async),
12290 (gst_pad_set_blocked), (gst_pad_is_blocked),
12291 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12292 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12293 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12294 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12295 (gst_pad_link_filtered), (gst_pad_relink_filtered),
12296 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12297 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12298 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12299 (gst_pad_set_caps), (gst_pad_configure_sink),
12300 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12301 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12302 (gst_real_pad_dispose), (gst_real_pad_finalize),
12303 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12304 (gst_pad_event_default_dispatch), (gst_pad_event_default),
12305 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12307 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12308 (pipeline_bus_handler), (gst_pipeline_change_state),
12309 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12310 * gst/gstpipeline.h:
12312 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12313 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12314 (gst_queue_link_src), (gst_queue_bufferalloc),
12315 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12316 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12317 (gst_queue_loop), (gst_queue_handle_src_event),
12318 (gst_queue_handle_src_query), (gst_queue_src_activate),
12319 (gst_queue_change_state):
12321 * gst/gstscheduler.c: (gst_scheduler_init),
12322 (gst_scheduler_dispose), (gst_scheduler_create_task),
12323 (gst_scheduler_factory_create):
12324 * gst/gstscheduler.h:
12325 * gst/gststructure.c: (gst_structure_get_type),
12326 (gst_structure_copy_conditional):
12327 * gst/gststructure.h:
12328 * gst/gsttaginterface.h:
12329 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12330 (gst_task_init), (gst_task_dispose), (gst_task_create),
12331 (gst_task_get_state), (gst_task_start), (gst_task_stop),
12337 * gst/schedulers/Makefile.am:
12338 * gst/schedulers/cothreads_compat.h:
12339 * gst/schedulers/entryscheduler.c:
12340 * gst/schedulers/faircothreads.c:
12341 * gst/schedulers/faircothreads.h:
12342 * gst/schedulers/fairscheduler.c:
12343 * gst/schedulers/gstbasicscheduler.c:
12344 * gst/schedulers/gstoptimalscheduler.c:
12345 * gst/schedulers/gthread-cothreads.h:
12346 * gst/schedulers/threadscheduler.c:
12347 (gst_thread_scheduler_task_get_type),
12348 (gst_thread_scheduler_task_class_init),
12349 (gst_thread_scheduler_task_init),
12350 (gst_thread_scheduler_task_start),
12351 (gst_thread_scheduler_task_stop),
12352 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12353 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12354 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12355 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12357 * libs/gst/Makefile.am:
12358 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12359 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12360 (gst_file_pad_parent_set):
12361 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12362 (gst_dp_event_from_packet):
12363 * tests/complexity.c: (main):
12364 * tests/mass_elements.c: (main):
12365 * testsuite/states/locked.c: (message_received), (main):
12366 * testsuite/states/parent.c: (main):
12367 * tools/gst-inspect.c: (print_element_flag_info),
12368 (print_implementation_info), (print_pad_info):
12369 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12371 * tools/gst-md5sum.c: (event_loop), (main):
12372 * tools/gst-typefind.c: (main):
12373 * tools/gst-xmlinspect.c: (print_element_info):
12375 Added GstBus for mainloop integration.
12376 Added GstMessage for sending notifications on the bus.
12377 Added GstTask as an abstraction for pipeline entry points.
12379 Removed Schedulers.
12380 Simplified GstQueue for multithreaded core.
12381 Made _link threadsafe, removed old capsnego.
12382 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12383 Added pad blocking functions.
12384 Reworked scheduling functions in GstPad to prepare for
12385 scheduling updates soon.
12386 Moved events out of data stream.
12387 Simplified GstEvent types.
12388 Added return values to push/pull.
12389 Removed clocking from GstElement.
12390 Added prototypes for state change function for next merge.
12391 Removed iterate from bins and state change management.
12392 Fixed some elements, disabled others for now.
12393 Fixed -inspect and -launch.
12394 Added check for GstBus.
12396 2005-03-10 Wim Taymans <wim@fluendo.com>
12398 * docs/design/part-MT-refcounting.txt:
12399 * docs/design/part-clocks.txt:
12400 * docs/design/part-gstelement.txt:
12401 * docs/design/part-gstobject.txt:
12402 * docs/design/part-standards.txt:
12403 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12404 (gst_bin_remove_func), (gst_bin_remove):
12408 * testsuite/clock/clock1.c: (main):
12409 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12411 * testsuite/dlopen/loadgst.c: (do_test):
12412 * testsuite/refcounting/bin.c: (add_remove_test1),
12413 (add_remove_test2), (main):
12414 * testsuite/refcounting/element.c: (main):
12415 * testsuite/refcounting/element_pad.c: (main):
12416 * testsuite/refcounting/pad.c: (main):
12417 * tools/gst-launch.c: (sigint_handler_sighandler):
12418 * tools/gst-typefind.c: (main):
12420 Added doc about clock.
12421 removed gst_bin_iterate_recurse_up(), marked methods
12423 Fix more testsuites.
12425 2005-03-09 Wim Taymans <wim@fluendo.com>
12427 * gst/gstpad.c: (gst_pad_get_direction),
12428 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12429 (gst_pad_collect_valist):
12430 * testsuite/bins/interface.c: (main):
12431 * testsuite/caps/audioscale.c: (test_caps):
12432 * testsuite/caps/caps.c: (test1), (test2), (test3):
12433 * testsuite/caps/deserialize.c: (main):
12434 * testsuite/caps/enumcaps.c: (main):
12435 * testsuite/caps/filtercaps.c: (main):
12436 * testsuite/caps/intersect2.c: (main):
12437 * testsuite/caps/random.c: (main):
12438 * testsuite/caps/renegotiate.c: (my_fixate), (main):
12439 * testsuite/caps/sets.c: (check_caps):
12440 * testsuite/caps/simplify.c: (check_caps), (main):
12441 * testsuite/caps/subtract.c: (check_caps):
12442 Fix _pad_get_direction wrt ghostpads.
12443 Fix caps testsuite.
12445 2005-03-09 Wim Taymans <wim@fluendo.com>
12447 * check/Makefile.am:
12448 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12449 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12450 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12451 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12452 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12453 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12454 (gst_bin_remove), (gst_bin_iterate_recurse_up),
12455 (bin_element_is_sink), (gst_bin_iterate_sinks),
12456 (gst_bin_iterate_all_by_interface):
12458 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12459 (gst_element_change_state), (gst_element_dispose),
12460 (gst_element_finalize), (gst_element_set_loop_function):
12461 * gst/gstelement.h:
12462 * gst/gstiterator.c: (find_custom_fold_func):
12463 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12464 (gst_pad_collectv), (gst_pad_collect_valist),
12465 (gst_pad_template_new):
12466 * gst/gstpipeline.c: (gst_pipeline_class_init),
12467 (gst_pipeline_dispose), (gst_pipeline_set_property),
12468 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12469 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12470 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12472 * gst/schedulers/entryscheduler.c:
12473 * gst/schedulers/gstbasicscheduler.c:
12474 (gst_basic_scheduler_cothreaded_chain),
12475 (gst_basic_scheduler_chain_add_element):
12476 * testsuite/bins/interface.c: (main):
12478 Added GstSystemClock test.
12479 Implemented clock distribution code in GstBin.
12480 Implemented iterate sinks method for future use.
12481 Rearranged gstelement.h
12482 Fix GstIterator comparison bug.
12483 Moved some code to GstPipeline, mostly clocking related.
12485 2005-03-09 Wim Taymans <wim@fluendo.com>
12488 * gst/gst_private.h:
12489 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12490 (gst_bin_remove_func), (gst_bin_remove),
12491 (gst_bin_get_by_name_recurse_up):
12492 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12493 (gst_clock_id_compare_func), (gst_clock_id_wait),
12494 (gst_clock_id_wait_async), (gst_clock_init),
12495 (gst_clock_adjust_unlocked), (gst_clock_get_time):
12496 * gst/gstelement.h:
12497 * gst/gstinfo.c: (_gst_debug_init):
12499 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12500 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12502 Bump version number, we're now 0.9.0
12503 Add future debugging category.
12504 Fix NULL _unref() in _get_by_name_recurse_up
12505 Rearrange gstpad.h.
12508 2005-03-08 Wim Taymans <wim@fluendo.com>
12510 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12511 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12512 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12513 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12514 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12515 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12516 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12517 * gst/elements/gstidentity.c: (gst_identity_class_init):
12518 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12519 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12520 * gst/elements/gstshaper.c: (gst_shaper_class_init):
12521 * gst/elements/gststatistics.c: (gst_statistics_class_init):
12522 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12524 * gst/gstelement.c: (gst_element_class_init),
12525 (gst_element_base_class_init), (gst_element_init),
12526 (gst_element_get_random_pad), (gst_element_wait_state_change),
12527 (gst_element_change_state), (gst_element_dispose),
12528 (gst_element_finalize), (gst_element_set_loop_function):
12529 * gst/gstelement.h:
12530 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12531 * gst/gstthread.c: (gst_thread_class_init),
12532 (gst_thread_release_children_locks), (gst_thread_change_state):
12533 * gst/schedulers/gstbasicscheduler.c:
12534 (gst_basic_scheduler_loopfunc_wrapper),
12535 (gst_basic_scheduler_chain_wrapper),
12536 (gst_basic_scheduler_src_wrapper),
12537 (gst_basic_scheduler_remove_element):
12538 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12539 Remove threadsafe properties. Fix elements because GObject
12540 complains when installing a property before declaring a
12541 set/get_property handler.
12542 Rearrange gstelement.h file, use STATE macros for state locks.
12543 Free mutexes in the finalize method instead of dispose.
12545 2005-03-08 Wim Taymans <wim@fluendo.com>
12547 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12548 * gst/gstthread.c: (gst_thread_release_children_locks):
12549 Added parentage check.
12550 Fix build og GstThread again.
12552 2005-03-08 Wim Taymans <wim@fluendo.com>
12554 * docs/design/part-MT-refcounting.txt:
12555 * docs/design/part-conventions.txt:
12556 * docs/design/part-gstobject.txt:
12557 * docs/design/part-relations.txt:
12558 * docs/design/part-standards.txt:
12559 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12560 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12561 (gst_bin_get_by_name), (gst_bin_get_by_interface),
12562 (gst_bin_iterate_all_by_interface):
12565 * gst/gstelement.c: (gst_element_class_init),
12566 (gst_element_change_state), (gst_element_set_loop_function):
12567 * gst/gstelement.h:
12568 * gst/gstiterator.c:
12569 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12570 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12571 (gst_object_dispatch_properties_changed), (gst_object_set_name),
12572 (gst_object_set_parent), (gst_object_unparent),
12573 (gst_object_check_uniqueness):
12575 Docs updates, clean up some headers.
12577 2005-03-07 Wim Taymans <wim@fluendo.com>
12579 * check/.cvsignore:
12580 * check/Makefile.am:
12581 * check/gst-libs/.cvsignore:
12582 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12583 * check/gst/.cvsignore:
12584 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12585 (START_TEST), (gstbus_suite), (main):
12586 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12587 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12588 (gst_data_suite), (main):
12589 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12590 (add_fold_func), (gstiterator_suite), (main):
12591 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12592 (thread_name_object), (thread_name_object_default),
12593 (gst_object_name_compare), (gst_object_suite), (main):
12594 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12595 (gst_pad_suite), (main):
12596 * check/gstcheck.c: (gst_check_log_message_func),
12597 (gst_check_log_critical_func), (gst_check_init):
12598 * check/gstcheck.h:
12599 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12600 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12603 2005-03-07 Wim Taymans <wim@fluendo.com>
12605 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12606 (gst_list_iterator_next), (gst_list_iterator_resync),
12607 (gst_list_iterator_free), (gst_iterator_new_list),
12608 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12609 (gst_iterator_free), (gst_iterator_push), (filter_next),
12610 (filter_resync), (filter_uninit), (filter_free),
12611 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12612 (gst_iterator_foreach), (find_custom_fold_func),
12613 (gst_iterator_find_custom):
12614 * gst/gstiterator.h:
12615 Added missing files.
12617 2005-03-07 Wim Taymans <wim@fluendo.com>
12621 * docs/design/part-MT-refcounting.txt:
12622 * docs/design/part-conventions.txt:
12623 * docs/design/part-gstobject.txt:
12624 * docs/design/part-relations.txt:
12625 * examples/mixer/mixer.c: (main):
12626 * examples/thread/thread.c: (eos), (main):
12628 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12629 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12630 (gst_spider_plug_from_srcpad):
12631 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12632 (gst_spider_identity_change_state),
12633 (gst_spider_identity_sink_loop_type_finding):
12634 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12635 * gst/elements/gstidentity.c: (gst_identity_init):
12636 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12637 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12638 * gst/elements/gsttypefindelement.c: (free_entry):
12641 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12642 (gst_bin_set_clock_func), (gst_bin_auto_clock),
12643 (gst_bin_set_index), (gst_bin_set_element_sched),
12644 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12645 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12646 (gst_bin_iterate_elements), (iterate_child_recurse),
12647 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12648 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12649 (compare_interface), (gst_bin_get_by_interface),
12650 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12652 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12653 (gst_buffer_default_free), (gst_buffer_default_copy),
12654 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12655 (gst_buffer_create_sub):
12657 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12658 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12659 (gst_caps_unref), (gst_static_caps_get),
12660 (gst_caps_remove_and_get_structure), (gst_caps_append),
12661 (gst_caps_append_structure), (gst_caps_remove_structure),
12662 (gst_caps_copy_nth), (gst_caps_set_simple),
12663 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12664 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12665 (gst_caps_structure_intersect_field), (gst_caps_intersect),
12666 (gst_caps_structure_subtract_field), (gst_caps_subtract),
12667 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12668 (gst_caps_structure_figure_out_union),
12669 (gst_caps_switch_structures), (gst_caps_do_simplify),
12670 (gst_caps_replace), (gst_caps_from_string),
12671 (gst_caps_copy_conditional):
12673 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12674 (_gst_clock_id_free), (gst_clock_id_unref),
12675 (gst_clock_id_compare_func), (gst_clock_id_wait),
12676 (gst_clock_id_wait_async), (gst_clock_class_init),
12677 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12678 (gst_clock_get_time), (gst_clock_set_time_adjust),
12679 (gst_clock_set_property), (gst_clock_get_property):
12682 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12683 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12685 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12686 (gst_element_requires_clock), (gst_element_provides_clock),
12687 (gst_element_set_clock), (gst_element_clock_wait),
12688 (gst_element_wait), (gst_element_set_time_delay),
12689 (gst_element_is_indexable), (gst_element_add_pad),
12690 (gst_element_add_ghost_pad), (gst_element_remove_pad),
12691 (pad_compare_name), (gst_element_get_static_pad),
12692 (gst_element_request_pad), (gst_element_get_request_pad),
12693 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12694 (gst_element_class_get_pad_template_list),
12695 (gst_element_class_get_pad_template), (gst_element_error_func),
12696 (gst_element_get_random_pad), (gst_element_get_event_masks),
12697 (gst_element_send_event), (gst_element_seek),
12698 (gst_element_get_query_types), (gst_element_query),
12699 (gst_element_get_formats), (gst_element_convert),
12700 (gst_element_is_locked_state), (gst_element_set_locked_state),
12701 (gst_element_sync_state_with_parent), (gst_element_change_state),
12702 (gst_element_finalize), (gst_element_yield),
12703 (gst_element_interrupt), (gst_element_set_scheduler),
12704 (gst_element_get_scheduler), (gst_element_set_loop_function):
12705 * gst/gstelement.h:
12707 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12708 (gst_format_get_by_nick), (gst_format_get_details),
12709 (gst_format_iterate_definitions):
12711 * gst/gstindex.c: (gst_index_gtype_resolver):
12714 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12715 (gst_mem_chunk_free):
12716 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12717 (gst_object_ref), (gst_object_unref), (gst_object_sink),
12718 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12719 (gst_object_dispatch_properties_changed),
12720 (gst_object_set_name_default), (gst_object_set_name),
12721 (gst_object_get_name), (gst_object_set_name_prefix),
12722 (gst_object_get_name_prefix), (gst_object_set_parent),
12723 (gst_object_get_parent), (gst_object_unparent),
12724 (gst_object_check_uniqueness), (gst_object_save_thyself),
12725 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12726 (gst_object_set_property), (gst_object_get_property),
12727 (gst_object_get_path_string):
12729 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12730 (gst_real_pad_init), (gst_real_pad_get_property),
12731 (gst_pad_custom_new), (gst_pad_get_direction),
12732 (gst_pad_set_active), (gst_pad_is_active),
12733 (gst_pad_set_event_function), (gst_pad_is_linked),
12734 (gst_pad_link_free), (gst_pad_link_intersect),
12735 (gst_pad_link_fixate), (gst_pad_set_caps),
12736 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12737 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12738 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12739 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12740 (gst_pad_get_caps), (gst_pad_peer_get_caps),
12741 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12742 (gst_pad_realize), (gst_pad_get_allowed_caps),
12743 (gst_real_pad_dispose), (gst_real_pad_finalize),
12744 (gst_pad_collectv), (gst_pad_collect_valist),
12745 (gst_pad_template_dispose), (gst_pad_template_new),
12746 (gst_pad_get_internal_links):
12748 * gst/gstpipeline.c: (gst_pipeline_dispose),
12749 (gst_pipeline_change_state):
12750 * gst/gstpipeline.h:
12752 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12753 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12754 * gst/gstpluginfeature.h:
12755 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12756 * gst/gstquery.c: (_gst_query_type_initialize),
12757 (gst_query_type_register), (gst_query_type_get_by_nick),
12758 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12760 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12761 * gst/gstscheduler.c: (gst_scheduler_add_element),
12762 (gst_scheduler_factory_create):
12763 * gst/gststructure.c: (gst_structure_set_parent_refcount),
12764 (gst_structure_free), (gst_structure_set_name),
12765 (gst_structure_id_set_value), (gst_structure_set_value),
12766 (gst_structure_set_valist), (gst_structure_remove_field),
12767 (gst_structure_remove_fields),
12768 (gst_structure_remove_fields_valist),
12769 (gst_structure_remove_all_fields), (gst_structure_foreach),
12770 (gst_structure_map_in_place),
12771 (gst_caps_structure_fixate_field_nearest_int),
12772 (gst_caps_structure_fixate_field_nearest_double):
12773 * gst/gststructure.h:
12774 * gst/gstsystemclock.c: (gst_system_clock_class_init),
12775 (gst_system_clock_init), (gst_system_clock_dispose),
12776 (gst_system_clock_async_thread),
12777 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
12778 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
12779 * gst/gstsystemclock.h:
12780 * gst/gsttag.c: (gst_tag_list_add_value_internal),
12781 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
12782 * gst/gsttaginterface.c:
12783 * gst/gstthread.c: (gst_thread_dispose),
12784 (gst_thread_release_children_locks), (gst_thread_change_state),
12785 (gst_thread_main_loop):
12786 * gst/gsttrashstack.h:
12787 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
12789 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12790 (gst_element_request_pad), (gst_element_get_pad_from_template),
12791 (gst_element_request_compatible_pad),
12792 (gst_element_get_compatible_pad_filtered),
12793 (gst_element_get_compatible_pad), (gst_element_state_get_name),
12794 (gst_element_link_pads_filtered), (gst_element_link_filtered),
12795 (gst_element_link_many), (gst_element_link),
12796 (gst_element_link_pads), (gst_element_unlink_pads),
12797 (gst_element_unlink_many), (gst_element_unlink),
12798 (gst_pad_can_link_filtered), (gst_pad_can_link),
12799 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
12800 (gst_object_default_error), (gst_bin_add_many),
12801 (gst_bin_remove_many), (gst_element_populate_std_props),
12802 (gst_element_class_install_std_props), (gst_buffer_merge),
12803 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
12804 (link_fold_func), (gst_pad_proxy_setcaps):
12806 * gst/gstvalue.c: (gst_value_deserialize_string):
12807 * gst/parse/grammar.y:
12808 * gst/schedulers/gstbasicscheduler.c:
12809 (gst_basic_scheduler_cothreaded_chain),
12810 (gst_basic_scheduler_chain_recursive_add),
12811 (gst_basic_scheduler_pad_link):
12812 * gst/schedulers/gstoptimalscheduler.c:
12813 (get_group_schedule_function),
12814 (gst_opt_scheduler_state_transition),
12815 (gst_opt_scheduler_add_element), (element_get_reachables_func):
12816 * libs/gst/bytestream/bytestream.c:
12817 * libs/gst/dataprotocol/dataprotocol.c:
12818 (gst_dp_header_from_buffer):
12821 * tests/threadstate/threadstate2.c: (eos):
12822 * tools/gst-compprep.c: (main):
12823 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
12824 (print_pad_info), (print_children_info):
12825 * tools/gst-launch.c: (idle_func), (main):
12826 * tools/gst-md5sum.c: (idle_func), (main):
12827 * tools/gst-xmlinspect.c: (print_element_info):
12828 First THREADED backport attempt, focusing on adding locks and
12829 making sure the API is threadsafe. Needs more work. More docs
12832 2005-02-24 Andy Wingo <wingo@pobox.com>
12834 * tests/bench-complexity.scm:
12835 * tests/complexity.gnuplot: New files, good for running complexity
12838 * tests/Makefile.am:
12839 * tests/complexity.c: New test, sets up N elements, at each level
12840 teeing into M streams per element. Eeeenteresting.
12842 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
12843 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
12844 running bench-mass_elements.scm.
12846 * tests/bench-mass_elements.scm: New script, runs mass_elements
12847 for various numbers of identities, outputting the results to a
12848 file. Requires guile 1.6. Just for testing.
12850 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
12852 * gst/schedulers/fairscheduler.c:
12853 compile with debug disabled
12855 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
12858 hunting season on 0.9 is now OPEN